Files
wechat_ipad_pro/api/service/keywordReplyService.go
2026-02-17 13:06:23 +08:00

59 lines
1.4 KiB
Go

package service
import (
"encoding/json"
"xiawan/wx/api/req"
"xiawan/wx/api/vo"
"xiawan/wx/db"
"github.com/gin-gonic/gin"
)
// SetKeywordReplyService 设置关键词回复
func SetKeywordReplyService(queryKey string, m req.SetKeywordReplyModel) vo.DTO {
// 将关键词回复对转换为JSON字符串
pairsJSON, err := json.Marshal(m.Pairs)
if err != nil {
return vo.NewFail("序列化关键词回复对失败")
}
// 更新B002和B002Str
enable := 0
if m.Enable {
enable = 1
}
_, err = db.UpdateCommand(queryKey, "B002", enable, "")
if err != nil {
return vo.NewFail("更新关键词回复状态失败")
}
_, err = db.UpdateCommand(queryKey, "B002Str", 0, string(pairsJSON))
if err != nil {
return vo.NewFail("更新关键词回复配置失败")
}
return vo.NewSuccess(gin.H{}, "设置成功")
}
// GetKeywordReplyService 获取关键词回复配置
func GetKeywordReplyService(queryKey string) vo.DTO {
command, err := db.QueryCommand(queryKey)
if err != nil {
return vo.NewFail("获取关键词回复配置失败")
}
var pairs []req.KeywordReplyPair
if command.B002Str != "" {
err = json.Unmarshal([]byte(command.B002Str), &pairs)
if err != nil {
return vo.NewFail("解析关键词回复配置失败")
}
}
return vo.NewSuccessObj(map[string]interface{}{
"enable": command.B002 == 1,
"pairs": pairs,
}, "获取成功")
}