wechat.go 1.5KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. package wechat
  2. import (
  3. "wechat-conf/models/model"
  4. "wechat-conf/models/wechat"
  5. "wechat-conf/utils"
  6. )
  7. // WechatServ 用户
  8. type WechatServ struct {
  9. ctx *utils.Context
  10. dao *wechat.WechatDAO
  11. }
  12. // NewWechatServ 初始化
  13. func NewWechatServ(ctx *utils.Context) *WechatServ {
  14. return &WechatServ{
  15. ctx: ctx,
  16. dao: wechat.NewWechatDAO(ctx),
  17. }
  18. }
  19. // SaveWechatConf 保存微信配置
  20. func (s *WechatServ) SaveWechatConf(conf model.SysWechatConf) error {
  21. wechatConf, err := s.dao.GetWechatConfByAppID(conf.Appid)
  22. if err != nil {
  23. utils.LogError("根据appid获取微信配置失败:", err)
  24. return err
  25. }
  26. if wechatConf != nil && wechatConf.ConfId != "" {
  27. // 修改
  28. conf.ConfId = wechatConf.ConfId
  29. var cols = []string{
  30. "refresh_token",
  31. "token",
  32. }
  33. if conf.AuthorizationInfo != "" {
  34. cols = append(cols, "authorization_info")
  35. }
  36. err := s.dao.UpdateWechatConf(conf, cols)
  37. if err != nil {
  38. utils.LogError("修改微信配置失败:", err)
  39. return err
  40. }
  41. } else {
  42. // 新增
  43. err := s.dao.SaveWechatConf(&conf)
  44. if err != nil {
  45. utils.LogError("新增微信配置失败:", err)
  46. return err
  47. }
  48. }
  49. return nil
  50. }
  51. // UpdateToken 更新微信token
  52. func (s *WechatServ) UpdateToken(token map[string]string) {
  53. var conf = model.SysWechatConf{
  54. Token: token["token"],
  55. RefreshToken: token["refreshToken"],
  56. Appid: token["appid"],
  57. }
  58. err := s.SaveWechatConf(conf)
  59. if err != nil {
  60. utils.LogError("更新微信token失败:", err)
  61. }
  62. }