@@ -0,0 +1,119 @@
|
||||
package chatrobotser
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"91porn-server/common/stderr"
|
||||
"91porn-server/models/commod"
|
||||
"91porn-server/models/v/chatrobotmod"
|
||||
|
||||
"github.com/jinzhu/copier"
|
||||
)
|
||||
|
||||
// 获取机器人配置列表
|
||||
func GetRobotConfList(param chatrobotmod.ReqConfList) (code stderr.Code, data interface{}, err error) {
|
||||
var skip = int64((param.PageNumber - 1) * param.PageSize)
|
||||
var limit = int64(param.PageSize)
|
||||
total, cList, err := chatrobotmod.GetRobotConf(param.Type, skip, limit)
|
||||
if err != nil {
|
||||
code = stderr.Failure
|
||||
return
|
||||
}
|
||||
if cList == nil {
|
||||
data = commod.ListResp{List: []chatrobotmod.ChatRobot{}}
|
||||
} else {
|
||||
list := make([]chatrobotmod.RespList, len(cList))
|
||||
for i, v := range cList {
|
||||
tmp := chatrobotmod.RespList{}
|
||||
if err = copier.Copy(&tmp, &v); err != nil {
|
||||
code = stderr.Failure
|
||||
return
|
||||
}
|
||||
list[i] = tmp
|
||||
}
|
||||
data = commod.ListResp{List: list, Total: total}
|
||||
}
|
||||
code = stderr.Success
|
||||
return
|
||||
}
|
||||
|
||||
// 添加配置
|
||||
func AddRobotConf(param chatrobotmod.ReqAdd) (code stderr.Code, data interface{}, err error) {
|
||||
if code, err = addCheck(param.Type); err != nil || code != stderr.Success {
|
||||
return
|
||||
}
|
||||
switch param.Type {
|
||||
case chatrobotmod.Comment: // 评论机器人
|
||||
return addCmtRobotConf(param.Type, param.ReqAddCmt)
|
||||
default:
|
||||
code = stderr.RobotTypeInvalid
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
func addCheck(rType chatrobotmod.EnumRobotType) (stderr.Code, error) {
|
||||
isExists, err := chatrobotmod.ConfExists(rType)
|
||||
if err != nil {
|
||||
return stderr.Failure, err
|
||||
}
|
||||
if isExists {
|
||||
return stderr.RobotTypeExisted, nil
|
||||
}
|
||||
return stderr.Success, nil
|
||||
}
|
||||
|
||||
// 新增评论机器人配置
|
||||
func addCmtRobotConf(rType chatrobotmod.EnumRobotType, param chatrobotmod.ReqAddCmt) (code stderr.Code, data interface{}, err error) {
|
||||
var now = time.Now()
|
||||
var doc = chatrobotmod.ChatRobot{
|
||||
Type: rType,
|
||||
IsActive: param.IsActive,
|
||||
CreatedAt: now,
|
||||
UpdatedAt: now,
|
||||
CommentRobot: chatrobotmod.CommentRobot{
|
||||
From: param.From,
|
||||
To: param.To,
|
||||
TotalLimit: param.TotalLimit,
|
||||
PureLimit: param.PureLimit,
|
||||
Frequency: param.Frequency,
|
||||
MaxCommentNum: param.MaxCommentNum,
|
||||
MaxFakeLikes: param.MaxFakeLikes,
|
||||
MinFakeLikes: param.MinFakeLikes,
|
||||
MaxFakePlayCount: param.MaxFakePlayCount,
|
||||
MinFakePlayCount: param.MinFakePlayCount,
|
||||
},
|
||||
}
|
||||
if err = chatrobotmod.Insert(doc); err != nil {
|
||||
code = stderr.Failure
|
||||
return
|
||||
}
|
||||
code = stderr.Success
|
||||
return
|
||||
}
|
||||
|
||||
// 更新机器人配置
|
||||
func UpdateRobotConf(param chatrobotmod.ReqUpdate) (code stderr.Code, data interface{}, err error) {
|
||||
switch param.Type {
|
||||
case chatrobotmod.Comment: // 评论机器人
|
||||
return updateCmtRobotConf(param.Type, param.ReqUpdateCmt)
|
||||
default:
|
||||
code = stderr.RobotTypeInvalid
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
// 更新评论机器人配置
|
||||
func updateCmtRobotConf(rType chatrobotmod.EnumRobotType, param chatrobotmod.ReqUpdateCmt) (code stderr.Code, data interface{}, err error) {
|
||||
doc := chatrobotmod.CmtUpdateDoc{}
|
||||
if err = copier.Copy(&doc, ¶m); err != nil {
|
||||
code = stderr.Failure
|
||||
return
|
||||
}
|
||||
doc.UpdatedAt = time.Now()
|
||||
if err = chatrobotmod.UpdateCmtRobotConf(rType, doc); err != nil {
|
||||
code = stderr.Failure
|
||||
return
|
||||
}
|
||||
code = stderr.Success
|
||||
return
|
||||
}
|
||||
Reference in New Issue
Block a user