12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- package service
- import (
- "context"
- "encoding/json"
- "errors"
- "fmt"
- "go-common/app/job/main/aegis/model"
- )
- //ERROR
- var (
- ErrMangaNoIndex = errors.New("漫画无图")
- )
- type baseResourceAddHandler struct {
- *Service
- }
- type mangaResourceAddHandler struct {
- baseResourceAddHandler
- }
- type baseResourceUpdateHandler struct {
- *Service
- }
- type baseResourceCancelHandler struct {
- *Service
- }
- func (h baseResourceAddHandler) CheckMessage(msg json.RawMessage) (addObj interface{}, err error) {
- return h.checkRscAddMsg(msg)
- }
- func (h baseResourceAddHandler) HandleMessage(c context.Context, addObj interface{}) error {
- return h.writeRscAdd(c, addObj.(*model.AddOption))
- }
- //漫画的,校验是否有图
- func (h mangaResourceAddHandler) CheckMessage(msg json.RawMessage) (addObj interface{}, err error) {
- if addObj, err = h.baseResourceAddHandler.CheckMessage(msg); err != nil {
- return
- }
- addopt := addObj.(*model.AddOption)
- metas := make(map[string]interface{})
- if err = json.Unmarshal([]byte(addopt.MetaData), &metas); err != nil {
- return
- }
- if index, ok := metas["index"]; !ok || len(fmt.Sprint(index)) == 0 {
- return nil, ErrMangaNoIndex
- }
- return
- }
- func (h mangaResourceAddHandler) HandleMessage(c context.Context, addObj interface{}) error {
- return h.baseResourceAddHandler.HandleMessage(c, addObj.(*model.AddOption))
- }
- func (h baseResourceUpdateHandler) CheckMessage(msg json.RawMessage) (updateObj interface{}, err error) {
- return h.checkRscUpdateMsg(msg)
- }
- func (h baseResourceUpdateHandler) HandleMessage(c context.Context, updateObj interface{}) error {
- return h.writeRscUpdate(c, updateObj.(*model.UpdateOption))
- }
- func (h baseResourceCancelHandler) CheckMessage(msg json.RawMessage) (cancelObj interface{}, err error) {
- return h.checkRscCancelMsg(msg)
- }
- func (h baseResourceCancelHandler) HandleMessage(c context.Context, cancelObj interface{}) error {
- return h.writeRscCancel(c, cancelObj.(*model.CancelOption))
- }
|