package wechat import ( "wechat-conf/models/model" "wechat-conf/models/wechat" "wechat-conf/utils" ) // WechatServ 用户 type WechatServ struct { ctx *utils.Context dao *wechat.WechatDAO } // NewWechatServ 初始化 func NewWechatServ(ctx *utils.Context) *WechatServ { return &WechatServ{ ctx: ctx, dao: wechat.NewWechatDAO(ctx), } } // SaveWechatConf 保存微信配置 func (s *WechatServ) SaveWechatConf(conf model.SysWechatConf) error { wechatConf, err := s.dao.GetWechatConfByAppID(conf.Appid) if err != nil { utils.LogError("根据appid获取微信配置失败:", err) return err } if wechatConf != nil && wechatConf.ConfId != "" { // 修改 conf.ConfId = wechatConf.ConfId var cols = []string{ "refresh_token", "token", } if conf.AuthorizationInfo != "" { cols = append(cols, "authorization_info") } err := s.dao.UpdateWechatConf(conf, cols) if err != nil { utils.LogError("修改微信配置失败:", err) return err } } else { // 新增 err := s.dao.SaveWechatConf(&conf) if err != nil { utils.LogError("新增微信配置失败:", err) return err } } return nil } // UpdateToken 更新微信token func (s *WechatServ) UpdateToken(token map[string]string) { var conf = model.SysWechatConf{ Token: token["token"], RefreshToken: token["refreshToken"], Appid: token["appid"], } err := s.SaveWechatConf(conf) if err != nil { utils.LogError("更新微信token失败:", err) } }