123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- package service
- import (
- "context"
- "go-common/app/job/main/aegis/model"
- "go-common/library/queue/databus"
- "go-common/library/xstr"
- )
- type baseTaskHandler struct {
- *Service
- }
- type dynamicTaskHandler struct {
- baseTaskHandler
- }
- func (h baseTaskHandler) CheckMessage(msg *databus.Message) (taskObj interface{}, err error) {
- return h.checkTaskMsg(msg)
- }
- func (h baseTaskHandler) HandleMessage(c context.Context, taskObj interface{}) error {
- return h.writeTaskToDB(c, taskObj.(*model.Task))
- }
- func (h dynamicTaskHandler) CheckMessage(msg *databus.Message) (taskObj interface{}, err error) {
- var c = context.Background()
- if taskObj, err = h.baseTaskHandler.CheckMessage(msg); err != nil {
- return
- }
- //补充mid相关信息
- task := taskObj.(*model.Task)
- res, err := h.dao.Resource(c, task.RID)
- if err != nil || res == nil {
- return nil, ErrTaskResourceInvalid
- }
- task.MID = res.MID
- if task.MID > 0 {
- groupids, _ := h.dao.UpSpecial(c, task.MID)
- task.Group = xstr.JoinInts(groupids)
- task.Fans, _ = h.dao.FansCount(c, task.MID)
- }
- taskObj = task
- return
- }
- func (h dynamicTaskHandler) HandleMessage(c context.Context, obj interface{}) error {
- return h.baseTaskHandler.HandleMessage(c, obj.(*model.Task))
- }
|