1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- package service
- import (
- "dy-admin/internal/pcmserver/bus/model"
- "dy-admin/internal/pcmserver/bus/model/request"
- "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 SpecialTimeService struct {
- }
- func (s *SpecialTimeService) CreateSpecialTime(specTime model.SpecialTime) (err error) {
- startDate, err := utils.ParseMinuteTime(specTime.StartTimeStr)
- if err != nil {
- return rescode.RegisterErrorWithCause(nil, code.ErrCodeMap[code.ErrSpecTimeParseTimeCode])
- }
- endDate, err := utils.ParseMinuteTime(specTime.EndTimeStr)
- if err != nil {
- return rescode.RegisterErrorWithCause(nil, code.ErrCodeMap[code.ErrSpecTimeParseTimeCode])
- }
- if startDate.After(*endDate) {
- return rescode.RegisterErrorWithCause(nil, code.ErrCodeMap[code.ErrSpecTimeParseTimeCode])
- }
- specTime.StartTime = startDate
- specTime.EndTime = endDate
- err = global.DB.Create(&specTime).Error
- if err != nil {
- return rescode.RegisterErrorWithCause(err, code.ErrCodeMap[code.ErrDatabaseCode])
- }
- return
- }
- func (s *SpecialTimeService) UpdateSpecialTime(specTime model.SpecialTime) (err error) {
- startDate, err := utils.ParseMinuteTime(specTime.StartTimeStr)
- if err != nil {
- return rescode.RegisterErrorWithCause(nil, code.ErrCodeMap[code.ErrSpecTimeParseTimeCode])
- }
- endDate, err := utils.ParseMinuteTime(specTime.EndTimeStr)
- if err != nil {
- return rescode.RegisterErrorWithCause(nil, code.ErrCodeMap[code.ErrSpecTimeParseTimeCode])
- }
- if startDate.After(*endDate) {
- return rescode.RegisterErrorWithCause(nil, code.ErrCodeMap[code.ErrSpecTimeParseTimeCode])
- }
- specTime.StartTime = startDate
- specTime.EndTime = endDate
- err = global.DB.Updates(&specTime).Error
- if err != nil {
- return rescode.RegisterErrorWithCause(err, code.ErrCodeMap[code.ErrDatabaseCode])
- }
- return
- }
- func (s *SpecialTimeService) UpdateSpecialTimeStatus(id int, status string) (err error) {
- err = global.DB.Model(&model.SpecialTime{}).Where("id = ?", id).Update("work_day", status).Error
- if err != nil {
- return rescode.RegisterErrorWithCause(err, code.ErrCodeMap[code.ErrDatabaseCode])
- }
- return
- }
- func (s *SpecialTimeService) DeleteSpecialTime(id int) (err error) {
- err = global.DB.Delete(&model.SpecialTime{Model: common.Model{ID: id}}).Error
- if err != nil {
- return rescode.RegisterErrorWithCause(err, code.ErrCodeMap[code.ErrDatabaseCode])
- }
- return
- }
- func (s *SpecialTimeService) GetSpecialTimeList(info request.SpecialTimeSearch) (list []model.SpecialTime, total int64, err error) {
- limit := info.PageSize
- offset := info.PageSize * (info.Page - 1)
- db := global.DB.Model(&model.SpecialTime{})
- if info.Name != "" {
- db = db.Where("name LIKE ?", "%"+info.Name+"%")
- }
- if info.WorkDay != "" {
- db = db.Where("work_day = ?", "%"+info.WorkDay+"%")
- }
- err = db.Count(&total).Error
- if err != nil {
- return
- }
- if err = db.Order("id desc").Limit(limit).Offset(offset).Find(&list).Error; err != nil {
- return list, total, rescode.RegisterErrorWithCause(err, code.ErrCodeMap[code.ErrDatabaseCode])
- }
- return
- }
|