package logic import ( "errors" "github.com/fonchain_enterprise/micro-account/api/accountFiee" "github.com/fonchain_enterprise/micro-account/pkg/common/utils" "github.com/fonchain_enterprise/micro-account/pkg/dao" "github.com/fonchain_enterprise/micro-account/pkg/model" "github.com/jinzhu/copier" ) type ChatAutoReplyRulerLogic struct{} // 创建自动回复规则 func (ChatAutoReplyRulerLogic) CreateChatAutoReplyRuler(data *accountFiee.ChatAutoReplyRulerData) (resp *accountFiee.CreateChatAutoReplyRulerResp, err error) { resp = &accountFiee.CreateChatAutoReplyRulerResp{ Data: &accountFiee.ChatAutoReplyRulerData{}, Msg: "创建成功", } var modelData = model.ChatAutoReplyRuler{} if err = copier.CopyWithOption(&modelData, data, utils.CopierProtoOptions); err != nil { resp.Msg = "数据转换失败" return } err = dao.ChatAutoReplyRulerDao.CreateChatAutoReplyRuler(&modelData) if err != nil { resp.Msg = "创建失败" return } if err = copier.CopyWithOption(resp.Data, &modelData, utils.CopierProtoOptions); err != nil { resp.Msg = "创建失败." return } return } // 删除自动回复规则 func (ChatAutoReplyRulerLogic) DeleteChatAutoReplyRulers(req *accountFiee.DeleteChatAutoReplyRulerRequest) (resp *accountFiee.CommonMsg, err error) { err = dao.ChatAutoReplyRulerDao.DeleteChatAutoReplyRulers(req.Id, req.Ids) return } // 更新自动回复规则 func (ChatAutoReplyRulerLogic) UpdateChatAutoReplyRuler(data *accountFiee.ChatAutoReplyRulerData) (resp *accountFiee.CommonMsg, err error) { resp = new(accountFiee.CommonMsg) if data.ID == 0 { resp.Msg = "ID不能为空" err = errors.New(resp.Msg) return } var modelData = model.ChatAutoReplyRuler{} if err = copier.CopyWithOption(&modelData, data, utils.CopierProtoOptions); err != nil { return } err = dao.ChatAutoReplyRulerDao.UpdateChatAutoReplyRuler(&modelData) return } // 覆盖自动回复规则 func (ChatAutoReplyRulerLogic) SaveChatAutoReplyRuler(data *accountFiee.ChatAutoReplyRulerData) (resp *accountFiee.CommonMsg, err error) { resp = new(accountFiee.CommonMsg) if data.ID == 0 { resp.Msg = "ID不能为空" err = errors.New(resp.Msg) return } var modelData = model.ChatAutoReplyRuler{} if err = copier.CopyWithOption(&modelData, data, utils.CopierProtoOptions); err != nil { return } err = dao.ChatAutoReplyRulerDao.SaveChatAutoReplyRuler(&modelData) return } // 使用id查询自动回复规则 func (ChatAutoReplyRulerLogic) GetChatAutoReplyRulerById(req *accountFiee.GetChatAutoReplyRulerByIdRequest) (data *accountFiee.ChatAutoReplyRulerData, err error) { data = &accountFiee.ChatAutoReplyRulerData{} modelData, err := dao.ChatAutoReplyRulerDao.GetChatAutoReplyRulerById(int(req.Id)) if err != nil { return nil, err } if err = copier.CopyWithOption(&data, &modelData, utils.CopierProtoOptions); err != nil { return nil, err } return } // 批量查询自动回复规则 func (ChatAutoReplyRulerLogic) GetChatAutoReplyRulerList(req *accountFiee.GetChatAutoReplyRulerListRequest) (resp *accountFiee.GetChatAutoReplyRulerListResp, err error) { resp = &accountFiee.GetChatAutoReplyRulerListResp{ List: []*accountFiee.ChatAutoReplyRulerData{}, Page: req.Page, PageSize: req.PageSize, } var data = []model.ChatAutoReplyRuler{} data, resp.Total, err = dao.ChatAutoReplyRulerDao.GetChatAutoReplyRulerList(req) if err != nil { return } if err = copier.CopyWithOption(&resp.List, &data, utils.CopierProtoOptions); err != nil { return } return }