正在显示
7 个修改的文件
包含
280 行增加
和
125 行删除
pkg/application/notify/run.go
0 → 100644
| 1 | +package notify | ||
| 2 | + | ||
| 3 | +import "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/domain" | ||
| 4 | + | ||
| 5 | +var TaskSmsNotify *notifySms | ||
| 6 | + | ||
| 7 | +func RunTaskSmsNotify() { | ||
| 8 | + newSmsNotify := notifySms{} | ||
| 9 | + newSmsNotify.regist(notifyStaffAssess{}) | ||
| 10 | + newSmsNotify.regist(notifySummaryEvaluation{}) | ||
| 11 | + | ||
| 12 | + newSmsNotify.runTask() | ||
| 13 | + | ||
| 14 | +} | ||
| 15 | + | ||
| 16 | +// 每日自评短信通知 ,预创建待发送的短信消息 | ||
| 17 | +func AddNotifyStaffAssess(param *domain.StaffAssess) { | ||
| 18 | + newNotify := notifyStaffAssess{} | ||
| 19 | + newSms := newNotify.makeNotify(param) | ||
| 20 | + TaskSmsNotify.addTask(newSms) | ||
| 21 | +} | ||
| 22 | + | ||
| 23 | +// 周期自评短信通知 ,预创建待发送的短信消息 | ||
| 24 | +func AddNotifySummaryEvaluation(param *domain.SummaryEvaluation) { | ||
| 25 | + newNotify := notifySummaryEvaluation{} | ||
| 26 | + newSms := newNotify.makeNotify(param) | ||
| 27 | + TaskSmsNotify.addTask(newSms) | ||
| 28 | +} |
| 1 | package notify | 1 | package notify |
| 2 | 2 | ||
| 3 | +import ( | ||
| 4 | + "fmt" | ||
| 5 | + "time" | ||
| 6 | + | ||
| 7 | + "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/application/factory" | ||
| 8 | + "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/constant" | ||
| 9 | + "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/domain" | ||
| 10 | + "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/infrastructure/serviceGateway" | ||
| 11 | + "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/log" | ||
| 12 | +) | ||
| 13 | + | ||
| 14 | +type notifySendOrNot interface { | ||
| 15 | + from() string | ||
| 16 | + ifSend(index int) (bool, error) | ||
| 17 | +} | ||
| 18 | + | ||
| 3 | // 短信通知 | 19 | // 短信通知 |
| 20 | +type notifySms struct { | ||
| 21 | + newSms chan *domain.LogSms | ||
| 22 | + interval time.Duration | ||
| 23 | + sendOrNot map[string]notifySendOrNot //到点后判断是否真的发送短信消息 | ||
| 24 | +} | ||
| 25 | + | ||
| 26 | +func (notices *notifySms) init() { | ||
| 27 | + notices.newSms = make(chan *domain.LogSms, 50) | ||
| 28 | + notices.interval = 10 * time.Minute | ||
| 29 | + if constant.Env != "prd" { | ||
| 30 | + notices.interval = 1 * time.Minute | ||
| 31 | + } | ||
| 32 | + notices.sendOrNot = map[string]notifySendOrNot{} | ||
| 33 | +} | ||
| 34 | + | ||
| 35 | +func (notices *notifySms) regist(ifsend notifySendOrNot) { | ||
| 36 | + notices.sendOrNot[ifsend.from()] = ifsend | ||
| 37 | +} | ||
| 38 | + | ||
| 39 | +func (notices *notifySms) addTask(task *domain.LogSms) { | ||
| 40 | + notices.newSms <- task | ||
| 41 | +} | ||
| 42 | + | ||
| 43 | +// RunTask 执行短信通知任务 | ||
| 44 | +func (notices *notifySms) runTask() { | ||
| 45 | + notices.init() | ||
| 46 | + timer := time.NewTimer(notices.interval) | ||
| 47 | + for { | ||
| 48 | + select { | ||
| 49 | + case newSms := <-notices.newSms: | ||
| 50 | + err := notices.addNewSms(newSms) | ||
| 51 | + if err != nil { | ||
| 52 | + e := fmt.Sprintf("添加短信通知任务:%+v %s", newSms, err) | ||
| 53 | + log.Logger.Error(e) | ||
| 54 | + } | ||
| 55 | + case <-timer.C: | ||
| 56 | + err := notices.checkSendSms() | ||
| 57 | + if err != nil { | ||
| 58 | + log.Logger.Error("检查发送短信通知任务:" + err.Error()) | ||
| 59 | + } | ||
| 60 | + timer.Reset(notices.interval) // 重置定时 | ||
| 61 | + } | ||
| 62 | + } | ||
| 63 | +} | ||
| 64 | + | ||
| 65 | +func (notices *notifySms) addNewSms(newSms *domain.LogSms) error { | ||
| 66 | + transactionContext, err := factory.CreateTransactionContext(nil) | ||
| 67 | + if err != nil { | ||
| 68 | + return err | ||
| 69 | + } | ||
| 70 | + if err := transactionContext.StartTransaction(); err != nil { | ||
| 71 | + return err | ||
| 72 | + } | ||
| 73 | + defer func() { | ||
| 74 | + _ = transactionContext.RollbackTransaction() | ||
| 75 | + }() | ||
| 76 | + logSmsRepo := factory.CreateLogSmsRepository(map[string]interface{}{"transactionContext": transactionContext}) | ||
| 77 | + err = logSmsRepo.Save(newSms) | ||
| 78 | + if err != nil { | ||
| 79 | + return err | ||
| 80 | + } | ||
| 81 | + if err := transactionContext.CommitTransaction(); err != nil { | ||
| 82 | + return err | ||
| 83 | + } | ||
| 84 | + return nil | ||
| 85 | +} | ||
| 86 | + | ||
| 87 | +func (notices *notifySms) checkSendSms() error { | ||
| 88 | + transactionContext, err := factory.CreateTransactionContext(nil) | ||
| 89 | + if err != nil { | ||
| 90 | + return err | ||
| 91 | + } | ||
| 92 | + if err := transactionContext.StartTransaction(); err != nil { | ||
| 93 | + return err | ||
| 94 | + } | ||
| 95 | + defer func() { | ||
| 96 | + _ = transactionContext.RollbackTransaction() | ||
| 97 | + }() | ||
| 98 | + logSmsRepo := factory.CreateLogSmsRepository(map[string]interface{}{"transactionContext": transactionContext}) | ||
| 99 | + nowTime := time.Now() | ||
| 100 | + nowDay := dayZeroTime(nowTime) | ||
| 101 | + _, logSmsList, err := logSmsRepo.Find(map[string]interface{}{ | ||
| 102 | + "status": string(domain.SmsWait), | ||
| 103 | + "executeAtBegin": nowDay, | ||
| 104 | + "executeAtEnd": nowTime, | ||
| 105 | + }) | ||
| 106 | + if err != nil { | ||
| 107 | + return err | ||
| 108 | + } | ||
| 109 | + | ||
| 110 | + if err := transactionContext.CommitTransaction(); err != nil { | ||
| 111 | + return err | ||
| 112 | + } | ||
| 113 | + for _, v := range logSmsList { | ||
| 114 | + err = notices.sendSms(v) | ||
| 115 | + if err != nil { | ||
| 116 | + e := fmt.Sprintf("发送短信通知:%+v %s", *v, err) | ||
| 117 | + log.Logger.Error(e) | ||
| 118 | + } | ||
| 119 | + } | ||
| 120 | + return nil | ||
| 121 | +} | ||
| 122 | + | ||
| 123 | +func (notices *notifySms) sendSms(param *domain.LogSms) error { | ||
| 124 | + //单开处理 数据保存操作,发一条短信更新一条数据 | ||
| 125 | + transactionContext, err := factory.CreateTransactionContext(nil) | ||
| 126 | + if err != nil { | ||
| 127 | + return err | ||
| 128 | + } | ||
| 129 | + if err := transactionContext.StartTransaction(); err != nil { | ||
| 130 | + return err | ||
| 131 | + } | ||
| 132 | + defer func() { | ||
| 133 | + _ = transactionContext.RollbackTransaction() | ||
| 134 | + }() | ||
| 135 | + logSmsRepo := factory.CreateLogSmsRepository(map[string]interface{}{"transactionContext": transactionContext}) | ||
| 136 | + | ||
| 137 | + sendOk := false | ||
| 138 | + sendOrNot, ok := notices.sendOrNot[param.From] | ||
| 139 | + if ok { | ||
| 140 | + ok, err := sendOrNot.ifSend(param.Index) | ||
| 141 | + if err != nil { | ||
| 142 | + param.Result = err.Error() | ||
| 143 | + | ||
| 144 | + } | ||
| 145 | + sendOk = ok | ||
| 146 | + } else { | ||
| 147 | + sendOk = true | ||
| 148 | + } | ||
| 149 | + if !sendOk { | ||
| 150 | + param.Status = domain.SmsIgnore | ||
| 151 | + } else { | ||
| 152 | + sms := serviceGateway.SmsService{} | ||
| 153 | + err = sms.SendNoticeSms(param.Phone, param.TemplateId, param.Value) | ||
| 154 | + if err != nil { | ||
| 155 | + param.Result = err.Error() | ||
| 156 | + } else { | ||
| 157 | + param.Status = domain.SmsSuccess | ||
| 158 | + } | ||
| 159 | + } | ||
| 160 | + err = logSmsRepo.Save(param) | ||
| 161 | + if err != nil { | ||
| 162 | + return err | ||
| 163 | + } | ||
| 164 | + if err := transactionContext.CommitTransaction(); err != nil { | ||
| 165 | + return err | ||
| 166 | + } | ||
| 167 | + return nil | ||
| 168 | +} | ||
| 169 | + | ||
| 170 | +func dayZeroTime(t time.Time) time.Time { | ||
| 171 | + y, m, d := t.UTC().Date() | ||
| 172 | + t2 := time.Date(y, m, d, 0, 0, 0, 0, time.UTC) | ||
| 173 | + return t2 | ||
| 174 | +} |
| 1 | package notify | 1 | package notify |
| 2 | 2 | ||
| 3 | import ( | 3 | import ( |
| 4 | - "fmt" | ||
| 5 | "time" | 4 | "time" |
| 6 | 5 | ||
| 7 | "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/application/factory" | 6 | "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/application/factory" |
| 8 | - "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/constant" | ||
| 9 | "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/domain" | 7 | "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/domain" |
| 10 | - "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/log" | ||
| 11 | ) | 8 | ) |
| 12 | 9 | ||
| 13 | -// 短信通知 | ||
| 14 | - | ||
| 15 | // 每日自评短信通知 | 10 | // 每日自评短信通知 |
| 16 | -// 条件:每日自评结束前30分钟,且还未完成评估填写 | ||
| 17 | -type NotifyStaffAssess struct { | ||
| 18 | - newSms chan *domain.LogSms | ||
| 19 | - interval time.Duration | ||
| 20 | -} | ||
| 21 | - | ||
| 22 | -func (notices *NotifyStaffAssess) init() { | ||
| 23 | - notices.newSms = make(chan *domain.LogSms, 50) | ||
| 24 | - notices.interval = 10 * time.Minute | ||
| 25 | - if constant.Env != "prd" { | ||
| 26 | - notices.interval = 1 * time.Minute | ||
| 27 | - } | 11 | +type notifyStaffAssess struct { |
| 28 | } | 12 | } |
| 29 | 13 | ||
| 30 | -func (notices *NotifyStaffAssess) From() string { | 14 | +func (notices notifyStaffAssess) from() string { |
| 31 | return "StaffAssess" | 15 | return "StaffAssess" |
| 32 | } | 16 | } |
| 33 | 17 | ||
| 34 | -// AddTask 添加待执行的短信通知任务 | ||
| 35 | -func (notices *NotifyStaffAssess) AddTask(index int, phone string, param map[string]string, executeAt time.Time) { | ||
| 36 | - newSms := &domain.LogSms{ | 18 | +// makeNotify 生成待执行的短信通知内容 |
| 19 | +func (notices notifyStaffAssess) makeNotify(param *domain.StaffAssess) *domain.LogSms { | ||
| 20 | + newSms := domain.LogSms{ | ||
| 37 | Id: 0, | 21 | Id: 0, |
| 38 | - Phone: phone, | 22 | + Phone: param.Executor.Account, |
| 39 | TemplateId: 5475050, | 23 | TemplateId: 5475050, |
| 40 | Template: "您好,#name#,百忙之中不要忘记填写今天的绩效自评反馈哦", | 24 | Template: "您好,#name#,百忙之中不要忘记填写今天的绩效自评反馈哦", |
| 41 | - Value: param, | 25 | + Value: map[string]string{ |
| 26 | + "name": param.Executor.UserName, | ||
| 27 | + }, | ||
| 42 | Result: "", | 28 | Result: "", |
| 43 | Status: domain.SmsWait, | 29 | Status: domain.SmsWait, |
| 44 | - From: notices.From(), | ||
| 45 | - Index: index, | ||
| 46 | - ExecuteAt: executeAt, | 30 | + From: notices.from(), |
| 31 | + Index: param.Id, | ||
| 32 | + // ExecuteAt: executeAt, | ||
| 47 | CreatedAt: time.Now(), | 33 | CreatedAt: time.Now(), |
| 48 | } | 34 | } |
| 49 | - notices.newSms <- newSms | ||
| 50 | -} | ||
| 51 | - | ||
| 52 | -// RunTask 执行短信通知任务 | ||
| 53 | -func (notices *NotifyStaffAssess) RunTask() { | ||
| 54 | - notices.init() | ||
| 55 | - timer := time.NewTimer(notices.interval) | ||
| 56 | - for { | ||
| 57 | - select { | ||
| 58 | - case newSms := <-notices.newSms: | ||
| 59 | - err := notices.addNewSms(newSms) | ||
| 60 | - if err != nil { | ||
| 61 | - e := fmt.Sprintf("添加短信通知任务:%+v %s", newSms, err) | ||
| 62 | - log.Logger.Error(e) | ||
| 63 | - } | ||
| 64 | - case <-timer.C: | ||
| 65 | - err := notices.sendSms() | ||
| 66 | - if err != nil { | ||
| 67 | - log.Logger.Error("发送短信通知任务:" + err.Error()) | ||
| 68 | - } | ||
| 69 | - timer.Reset(notices.interval) // 重置定时 | ||
| 70 | - } | ||
| 71 | - } | 35 | + // 每日自评 结束前30 分钟 |
| 36 | + newSms.ExecuteAt = param.EndTime.Add(-1800 * time.Second) | ||
| 37 | + return &newSms | ||
| 72 | } | 38 | } |
| 73 | 39 | ||
| 74 | -func (notices *NotifyStaffAssess) addNewSms(newSms *domain.LogSms) error { | 40 | +// ifSendSms 确认是否发送通知 |
| 41 | +func (notices notifyStaffAssess) ifSend(index int) (bool, error) { | ||
| 75 | transactionContext, err := factory.CreateTransactionContext(nil) | 42 | transactionContext, err := factory.CreateTransactionContext(nil) |
| 76 | if err != nil { | 43 | if err != nil { |
| 77 | - return err | 44 | + return false, err |
| 78 | } | 45 | } |
| 79 | if err := transactionContext.StartTransaction(); err != nil { | 46 | if err := transactionContext.StartTransaction(); err != nil { |
| 80 | - return err | 47 | + return false, err |
| 81 | } | 48 | } |
| 82 | defer func() { | 49 | defer func() { |
| 83 | _ = transactionContext.RollbackTransaction() | 50 | _ = transactionContext.RollbackTransaction() |
| 84 | }() | 51 | }() |
| 85 | - logSmsRepo := factory.CreateLogSmsRepository(map[string]interface{}{"transactionContext": transactionContext}) | ||
| 86 | - err = logSmsRepo.Save(newSms) | 52 | + staffAssessRepo := factory.CreateStaffAssessRepository(map[string]interface{}{"transactionContext": transactionContext}) |
| 53 | + assessData, err := staffAssessRepo.FindOne(map[string]interface{}{"id": index}) | ||
| 87 | if err != nil { | 54 | if err != nil { |
| 88 | - return err | 55 | + return false, err |
| 89 | } | 56 | } |
| 90 | - if err := transactionContext.CommitTransaction(); err != nil { | ||
| 91 | - return err | ||
| 92 | - } | ||
| 93 | - return nil | ||
| 94 | -} | ||
| 95 | - | ||
| 96 | -func (notices *NotifyStaffAssess) sendSms() error { | ||
| 97 | - transactionContext, err := factory.CreateTransactionContext(nil) | ||
| 98 | - if err != nil { | ||
| 99 | - return err | 57 | + //还未完成评估填写,时发送短信 |
| 58 | + if assessData.Status == domain.StaffAssessUncompleted { | ||
| 59 | + return true, nil | ||
| 100 | } | 60 | } |
| 101 | - if err := transactionContext.StartTransaction(); err != nil { | ||
| 102 | - return err | ||
| 103 | - } | ||
| 104 | - defer func() { | ||
| 105 | - _ = transactionContext.RollbackTransaction() | ||
| 106 | - }() | ||
| 107 | - logSmsRepo := factory.CreateLogSmsRepository(map[string]interface{}{"transactionContext": transactionContext}) | ||
| 108 | - _ = logSmsRepo | ||
| 109 | if err := transactionContext.CommitTransaction(); err != nil { | 61 | if err := transactionContext.CommitTransaction(); err != nil { |
| 110 | - return err | 62 | + return false, err |
| 111 | } | 63 | } |
| 112 | - return nil | 64 | + return false, nil |
| 113 | } | 65 | } |
| 1 | package notify | 1 | package notify |
| 2 | 2 | ||
| 3 | import ( | 3 | import ( |
| 4 | + "time" | ||
| 5 | + | ||
| 4 | "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/application/factory" | 6 | "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/application/factory" |
| 5 | "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/domain" | 7 | "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/domain" |
| 6 | ) | 8 | ) |
| 7 | 9 | ||
| 8 | // 周期评估短信通知 | 10 | // 周期评估短信通知 |
| 9 | // 条件:周期自评结束前4个小时,且还未完成评估填写 | 11 | // 条件:周期自评结束前4个小时,且还未完成评估填写 |
| 10 | -type NotifySummaryEvaluation struct { | ||
| 11 | -} | ||
| 12 | - | ||
| 13 | -func (notices *NotifySummaryEvaluation) Init() *NotifySummaryEvaluation { | ||
| 14 | - return &NotifySummaryEvaluation{} | 12 | +type notifySummaryEvaluation struct { |
| 15 | } | 13 | } |
| 16 | 14 | ||
| 17 | -func (notices *NotifySummaryEvaluation) From() string { | 15 | +func (notices notifySummaryEvaluation) from() string { |
| 18 | return "SummaryEvaluation" | 16 | return "SummaryEvaluation" |
| 19 | } | 17 | } |
| 20 | 18 | ||
| 21 | -// AddTask 添加待执行的短信通知任务 | ||
| 22 | -func (notices *NotifySummaryEvaluation) AddTask(index string, phone string, param map[string]string) error { | ||
| 23 | - | ||
| 24 | - return nil | ||
| 25 | -} | ||
| 26 | - | ||
| 27 | -// RunTask 执行短信通知任务 | ||
| 28 | -func (notice *NotifySummaryEvaluation) RunTask() error { | ||
| 29 | - | ||
| 30 | - return nil | 19 | +// makeNotify 生成待执行的短信通知内容 |
| 20 | +func (notices notifySummaryEvaluation) makeNotify(param *domain.SummaryEvaluation) *domain.LogSms { | ||
| 21 | + newSms := domain.LogSms{ | ||
| 22 | + Id: 0, | ||
| 23 | + Phone: param.Executor.Account, | ||
| 24 | + TemplateId: 5536232, | ||
| 25 | + Template: "您好,#name#,百忙之中不要忘记填写本月综合自评哦", | ||
| 26 | + Value: map[string]string{ | ||
| 27 | + "name": param.Executor.UserName, | ||
| 28 | + }, | ||
| 29 | + Result: "", | ||
| 30 | + Status: domain.SmsWait, | ||
| 31 | + From: notices.from(), | ||
| 32 | + Index: param.Id, | ||
| 33 | + // ExecuteAt: executeAt, | ||
| 34 | + CreatedAt: time.Now(), | ||
| 35 | + } | ||
| 36 | + // 周期自评结束前4个小时, | ||
| 37 | + newSms.ExecuteAt = param.EndTime.Add(-4 * time.Hour) | ||
| 38 | + return &newSms | ||
| 31 | } | 39 | } |
| 32 | 40 | ||
| 33 | -func (notice *NotifySummaryEvaluation) addNewSms(newSms *domain.LogSms) error { | 41 | +// ifSendSms 确认是否发送通知 |
| 42 | +func (notices notifySummaryEvaluation) ifSend(index int) (bool, error) { | ||
| 34 | transactionContext, err := factory.CreateTransactionContext(nil) | 43 | transactionContext, err := factory.CreateTransactionContext(nil) |
| 35 | if err != nil { | 44 | if err != nil { |
| 36 | - return err | 45 | + return false, err |
| 37 | } | 46 | } |
| 38 | if err := transactionContext.StartTransaction(); err != nil { | 47 | if err := transactionContext.StartTransaction(); err != nil { |
| 39 | - return err | 48 | + return false, err |
| 40 | } | 49 | } |
| 41 | defer func() { | 50 | defer func() { |
| 42 | _ = transactionContext.RollbackTransaction() | 51 | _ = transactionContext.RollbackTransaction() |
| 43 | }() | 52 | }() |
| 44 | - logSmsRepo := factory.CreateLogSmsRepository(map[string]interface{}{"transactionContext": transactionContext}) | ||
| 45 | - err = logSmsRepo.Save(newSms) | 53 | + summaryEvaluationRepo := factory.CreateSummaryEvaluationRepository(map[string]interface{}{"transactionContext": transactionContext}) |
| 54 | + summaryEvaluationData, err := summaryEvaluationRepo.FindOne(map[string]interface{}{"id": index}) | ||
| 46 | if err != nil { | 55 | if err != nil { |
| 47 | - return err | 56 | + return false, err |
| 57 | + } | ||
| 58 | + //还未完成评估填写,时发送短信 | ||
| 59 | + if summaryEvaluationData.Status == domain.EvaluationUncompleted { | ||
| 60 | + return true, nil | ||
| 48 | } | 61 | } |
| 49 | if err := transactionContext.CommitTransaction(); err != nil { | 62 | if err := transactionContext.CommitTransaction(); err != nil { |
| 50 | - return err | 63 | + return false, err |
| 51 | } | 64 | } |
| 52 | - return nil | 65 | + return false, nil |
| 53 | } | 66 | } |
| @@ -5,26 +5,24 @@ import "time" | @@ -5,26 +5,24 @@ import "time" | ||
| 5 | //记录 发送的短信消息 | 5 | //记录 发送的短信消息 |
| 6 | 6 | ||
| 7 | type LogSms struct { | 7 | type LogSms struct { |
| 8 | - Id int | ||
| 9 | - Phone string | ||
| 10 | - TemplateId int | ||
| 11 | - Template string | ||
| 12 | - Value map[string]string | ||
| 13 | - Result string | ||
| 14 | - Status SmsStatus | ||
| 15 | - From string //业务来源 | ||
| 16 | - Index int //业务数据索引 | ||
| 17 | - ExecuteAt time.Time | ||
| 18 | - CreatedAt time.Time | 8 | + Id int `json:"id"` |
| 9 | + Phone string `json:"phone"` | ||
| 10 | + TemplateId int `json:"templateId"` | ||
| 11 | + Template string `json:"template"` | ||
| 12 | + Value map[string]string `json:"value"` | ||
| 13 | + Result string `json:"result"` | ||
| 14 | + Status SmsStatus `json:"status"` | ||
| 15 | + From string `json:"from"` //业务来源 | ||
| 16 | + Index int `json:"index"` //业务数据索引 | ||
| 17 | + ExecuteAt time.Time `json:"executeAt"` | ||
| 18 | + CreatedAt time.Time `json:"createdAt"` | ||
| 19 | } | 19 | } |
| 20 | 20 | ||
| 21 | type SmsStatus string | 21 | type SmsStatus string |
| 22 | 22 | ||
| 23 | const ( | 23 | const ( |
| 24 | SmsWait SmsStatus = "wait" //等待执行 | 24 | SmsWait SmsStatus = "wait" //等待执行 |
| 25 | - SmsInit SmsStatus = "init" //正在执行 | ||
| 26 | SmsSuccess SmsStatus = "success" //执行成功 | 25 | SmsSuccess SmsStatus = "success" //执行成功 |
| 27 | - SmsFailed SmsStatus = "failed" //执行失败 | ||
| 28 | SmsIgnore SmsStatus = "ignore" //忽略执行 | 26 | SmsIgnore SmsStatus = "ignore" //忽略执行 |
| 29 | ) | 27 | ) |
| 30 | 28 |
| @@ -63,20 +63,16 @@ func (repo *LogSmsRepository) Find(queryOptions map[string]interface{}) (int, [] | @@ -63,20 +63,16 @@ func (repo *LogSmsRepository) Find(queryOptions map[string]interface{}) (int, [] | ||
| 63 | query.Offset(v) | 63 | query.Offset(v) |
| 64 | } | 64 | } |
| 65 | 65 | ||
| 66 | - if v, ok := queryOptions["form"]; ok { | ||
| 67 | - query.Where("from=?", v) | ||
| 68 | - } | ||
| 69 | - | ||
| 70 | - if v, ok := queryOptions["index"]; ok { | ||
| 71 | - query.Where("index=?", v) | ||
| 72 | - } | ||
| 73 | - | ||
| 74 | if v, ok := queryOptions["status"]; ok { | 66 | if v, ok := queryOptions["status"]; ok { |
| 75 | query.Where("status=?", v) | 67 | query.Where("status=?", v) |
| 76 | } | 68 | } |
| 77 | 69 | ||
| 78 | - if v, ok := queryOptions["executeAt"]; ok { | ||
| 79 | - query.Where("execute_at=?", v) | 70 | + if v, ok := queryOptions["executeAtBegin"]; ok { |
| 71 | + query.Where("execute_at>=?", v) | ||
| 72 | + } | ||
| 73 | + | ||
| 74 | + if v, ok := queryOptions["executeAtEnd"]; ok { | ||
| 75 | + query.Where("execute_at<=?", v) | ||
| 80 | } | 76 | } |
| 81 | 77 | ||
| 82 | count, err := query.SelectAndCount() | 78 | count, err := query.SelectAndCount() |
-
请 注册 或 登录 后发表评论