105 lines
3.5 KiB
Go
105 lines
3.5 KiB
Go
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
|
|
}
|