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, }, "获取成功") }