123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- package service
- import (
- "dy-admin/internal/pcmserver/bus/model"
- "dy-admin/internal/pcmserver/bus/model/request"
- "dy-admin/internal/pcmserver/global"
- "dy-admin/internal/pcmserver/pkg/code"
- "dy-admin/internal/pcmserver/utils"
- "dy-admin/pkg/rescode"
- "time"
- )
- type CronLogService struct {
- }
- func (s *CronLogService) DeleteCronLog(info request.DeleteCronLogReq) (err error) {
- var (
- startTime, endTime *time.Time
- )
- if info.StartTimeStr != "" {
- startTime, err = utils.ParseSecondTime(info.StartTimeStr)
- if err != nil {
- return rescode.RegisterErrorWithCause(nil, code.ErrCodeMap[code.ErrLeaveParseTimeCode])
- }
- }
- if info.EndTimeStr != "" {
- endTime, err = utils.ParseSecondTime(info.EndTimeStr)
- if err != nil {
- return rescode.RegisterErrorWithCause(nil, code.ErrCodeMap[code.ErrLeaveParseTimeCode])
- }
- }
- db := global.DB.Model(&model.CronLog{})
- if startTime != nil && endTime == nil {
- db = db.Where("exec_time >= ?", startTime).Where("exec_time <= ?", time.Now())
- }
- if endTime != nil && startTime == nil {
- db = db.Where("exec_time >= ?", time.Now()).Where("exec_time <= ?", endTime)
- }
- if startTime != nil && endTime != nil {
- db = db.Where("exec_time >= ?", startTime).Where("exec_time <= ?", endTime)
- }
- if err = db.Delete(&[]model.CronLog{}).Error; err != nil {
- return rescode.RegisterErrorWithCause(err, code.ErrCodeMap[code.ErrDatabaseCode])
- }
- return
- }
- func (s *CronLogService) GetCronLogList(info request.CronLogSearch) (list []model.CronLog, total int64, err error) {
- var limit, offset int
- if info.Page == 0 || info.PageSize == 0 {
- limit = -1
- offset = -1
- } else {
- limit = info.PageSize
- offset = info.PageSize * (info.Page - 1)
- }
- var (
- startTime, endTime *time.Time
- )
- if info.StartTimeStr != "" {
- startTime, err = utils.ParseSecondTime(info.StartTimeStr)
- if err != nil {
- return list, total, rescode.RegisterErrorWithCause(nil, code.ErrCodeMap[code.ErrLeaveParseTimeCode])
- }
- }
- if info.EndTimeStr != "" {
- endTime, err = utils.ParseSecondTime(info.EndTimeStr)
- if err != nil {
- return list, total, rescode.RegisterErrorWithCause(nil, code.ErrCodeMap[code.ErrLeaveParseTimeCode])
- }
- }
- var logModel model.CronLog
- db := global.DB.Model(&logModel)
- if info.CronName != "" {
- db = db.Where("cron_name LIKE ?", "%"+info.CronName+"%")
- }
- if info.JobName != "" {
- db = db.Where("job_name LIKE ?", "%"+info.JobName+"%")
- }
- if startTime != nil && endTime == nil {
- db = db.Where("exec_time >= ?", startTime).Where("exec_time <= ?", time.Now())
- }
- if endTime != nil && startTime == nil {
- db = db.Where("exec_time >= ?", time.Now()).Where("exec_time <= ?", endTime)
- }
- if startTime != nil && endTime != nil {
- db = db.Where("exec_time >= ?", startTime).Where("exec_time <= ?", endTime)
- }
- 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
- }
|