123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- package service
- import (
- "dy-admin/internal/pcmserver/bus/model"
- "dy-admin/internal/pcmserver/common"
- "dy-admin/internal/pcmserver/global"
- "dy-admin/internal/pcmserver/pkg/code"
- "dy-admin/internal/pcmserver/utils"
- "dy-admin/pkg/rescode"
- )
- type WorkTimeService struct {
- }
- func (s *WorkTimeService) CreateWorkTime(workTime model.WorkTime) (err error) {
- startTime, err := utils.ParseTime(workTime.StartTimeStr)
- if err != nil {
- return rescode.RegisterErrorWithCause(nil, code.ErrCodeMap[code.ErrWorkTimeParseTimeCode])
- }
- endTime, err := utils.ParseTime(workTime.EndTimeStr)
- if err != nil {
- return rescode.RegisterErrorWithCause(nil, code.ErrCodeMap[code.ErrWorkTimeParseTimeCode])
- }
- if startTime.After(*endTime) {
- return rescode.RegisterErrorWithCause(nil, code.ErrCodeMap[code.ErrWorkTimeStartGTEndCode])
- }
- workTime.StartTime = startTime
- workTime.EndTime = endTime
- err = global.DB.Create(&workTime).Error
- if err != nil {
- return rescode.RegisterErrorWithCause(err, code.ErrCodeMap[code.ErrDatabaseCode])
- }
- return
- }
- func (s *WorkTimeService) UpdateWorkTime(workTime model.WorkTime) (err error) {
- if workTime.StartTimeStr != "" {
- startTime, err := utils.ParseTime(workTime.StartTimeStr)
- if err != nil {
- return rescode.RegisterErrorWithCause(nil, code.ErrCodeMap[code.ErrWorkTimeParseTimeCode])
- }
- workTime.StartTime = startTime
- }
- if workTime.EndTimeStr != "" {
- endTime, err := utils.ParseTime(workTime.EndTimeStr)
- if err != nil {
- return rescode.RegisterErrorWithCause(nil, code.ErrCodeMap[code.ErrWorkTimeParseTimeCode])
- }
- workTime.EndTime = endTime
- }
- if workTime.StartTime.After(*workTime.EndTime) {
- return rescode.RegisterErrorWithCause(nil, code.ErrCodeMap[code.ErrWorkTimeStartGTEndCode])
- }
- err = global.DB.Updates(workTime).Error
- if err != nil {
- return
- }
- return
- }
- func (s *WorkTimeService) UpdateWorkTimeStatus(id int, status string) (err error) {
- err = global.DB.Model(&model.WorkTime{}).Where("id = ?", id).Update("work_day", status).Error
- if err != nil {
- return rescode.RegisterErrorWithCause(err, code.ErrCodeMap[code.ErrDatabaseCode])
- }
- return
- }
- func (s *WorkTimeService) DeleteWorkTime(id int) (err error) {
- err = global.DB.Delete(&model.WorkTime{Model: common.Model{ID: id}}).Error
- if err != nil {
- return rescode.RegisterErrorWithCause(err, code.ErrCodeMap[code.ErrDatabaseCode])
- }
- return
- }
- func (s *WorkTimeService) GetWorkTimeList() (list []model.WorkTime, err error) {
- if err = global.DB.Order("sort asc").Find(&list).Error; err != nil {
- return list, rescode.RegisterErrorWithCause(err, code.ErrCodeMap[code.ErrDatabaseCode])
- }
- return
- }
|