wangfei 6 years ago
parent
commit
bd86bfeb1c
4 changed files with 54 additions and 41 deletions
  1. 0
    0
      controllers/org/org.go
  2. 15
    1
      models/wechat.go
  3. 35
    2
      models/wechat/wechat.go
  4. 4
    38
      service/wechat/wechat.go

+ 0
- 0
controllers/org/org.go View File


+ 15
- 1
models/wechat.go View File

@@ -20,7 +20,21 @@ func InitWechat() {
20 20
 			"authorization_code":       conf.AuthorizationCode,
21 21
 			"appid":                    conf.Appid,
22 22
 		}
23
-		client := utils.WechatInit(cert)
23
+		client := utils.WechatInit(cert, UpdateToken)
24 24
 		utils.AppendWxClient(client)
25 25
 	}
26 26
 }
27
+
28
+// UpdateToken 更新微信token
29
+func UpdateToken(token map[string]string) {
30
+	var conf = model.SysWechatConf{
31
+		Token:        token["token"],
32
+		RefreshToken: token["refreshToken"],
33
+		Appid:        token["appid"],
34
+	}
35
+	sql := `update sys_wechat_conf set token=?,refresh_token=? where appid=?`
36
+	_, err := DBEngine.Exec(sql, conf.Token, conf.RefreshToken, conf.Appid)
37
+	if err != nil {
38
+		utils.LogError("更新微信token失败:", err)
39
+	}
40
+}

+ 35
- 2
models/wechat/wechat.go View File

@@ -29,8 +29,8 @@ func (m *WechatDAO) GetWechatConfByAppID(appid string) (*model.SysWechatConf, er
29 29
 	return &conf, err
30 30
 }
31 31
 
32
-// SaveWechatConf 保存微信配置信息
33
-func (m *WechatDAO) SaveWechatConf(conf *model.SysWechatConf) error {
32
+// AddWechatConf 保存微信配置信息
33
+func (m *WechatDAO) AddWechatConf(conf *model.SysWechatConf) error {
34 34
 	conf.ConfId = utils.GetGUID()
35 35
 	conf.Status = models.STATUS_READY
36 36
 	_, err := m.db.Insert(conf)
@@ -42,3 +42,36 @@ func (m *WechatDAO) UpdateWechatConf(conf model.SysWechatConf, cols []string) er
42 42
 	_, err := m.db.Cols(cols...).Where("conf_id = ?", conf.ConfId).Update(conf)
43 43
 	return err
44 44
 }
45
+
46
+// SaveWechatConf 保存微信配置
47
+func (m *WechatDAO) SaveWechatConf(conf model.SysWechatConf) error {
48
+	wechatConf, err := m.GetWechatConfByAppID(conf.Appid)
49
+	if err != nil {
50
+		utils.LogError("根据appid获取微信配置失败:", err)
51
+		return err
52
+	}
53
+	if wechatConf != nil && wechatConf.ConfId != "" {
54
+		// 修改
55
+		conf.ConfId = wechatConf.ConfId
56
+		var cols = []string{
57
+			"refresh_token",
58
+			"token",
59
+		}
60
+		if conf.AuthorizationInfo != "" {
61
+			cols = append(cols, "authorization_info")
62
+		}
63
+		err := m.UpdateWechatConf(conf, cols)
64
+		if err != nil {
65
+			utils.LogError("修改微信配置失败:", err)
66
+			return err
67
+		}
68
+	} else {
69
+		// 新增
70
+		err := m.AddWechatConf(&conf)
71
+		if err != nil {
72
+			utils.LogError("新增微信配置失败:", err)
73
+			return err
74
+		}
75
+	}
76
+	return nil
77
+}

+ 4
- 38
service/wechat/wechat.go View File

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