wangfei 6 년 전
부모
커밋
785610eba9
5개의 변경된 파일114개의 추가작업 그리고 63개의 파일을 삭제
  1. 10
    0
      controllers/component.go
  2. 36
    19
      controllers/wechatimg/wechatimt.go
  3. 44
    43
      controllers/wechatmenu/wechatmenu.go
  4. 1
    1
      models/wechatimg/wechatimg.go
  5. 23
    0
      service/wechatimg/wechatimg.go

+ 10
- 0
controllers/component.go 파일 보기

@@ -230,7 +230,17 @@ func (c *WechatController) WxReceive() {
230 230
 			break
231 231
 		case "LICK":
232 232
 			// 点击事件
233
+			// key:=val["EventKey"]
234
+			// keyreplay,err:=c.serv.GetReplayByKey(appid,key)
235
+			// if err!=nil{
236
+			// 	utils.LogError("获取按钮点击key失败: " + err.Error())
237
+			// 	c.ResponseRaw([]byte(""))
238
+			// }
239
+			// if keyreplay!=nil && keyreplay.KeywordsId==""{
240
+			// 	c.ResponseRaw([]byte(""))
241
+			// }
233 242
 
243
+			break
234 244
 		}
235 245
 
236 246
 		break

+ 36
- 19
controllers/wechatimg/wechatimt.go 파일 보기

@@ -36,7 +36,6 @@ func (c *WechatImgController) GetWechatImgCount() {
36 36
 	if err != nil {
37 37
 		c.ResponseError(err)
38 38
 	}
39
-	// appid := c.GetString(":appid")
40 39
 	wxclient, err := utils.Component.GetWxClient(appid)
41 40
 	if err != nil {
42 41
 		utils.LogError("获取微信信息失败: " + err.Error())
@@ -52,29 +51,47 @@ func (c *WechatImgController) GetWechatImgCount() {
52 51
 	c.ResponseJSON(count[matype+"_count"])
53 52
 }
54 53
 
54
+// func (c *WechatImgController) GetWechatImgList() {
55
+// 	user := c.Context.Get("user").(*model.SysUser)
56
+// 	appid, err := c.sdao.GetAppIdByOrgId(user.OrgId)
57
+// 	if err != nil {
58
+// 		c.ResponseError(err)
59
+// 	}
60
+// 	// appid := c.GetString(":appid")
61
+// 	wxclient, err := utils.Component.GetWxClient(appid)
62
+// 	if err != nil {
63
+// 		utils.LogError("获取微信信息失败: " + err.Error())
64
+// 		c.ResponseError(err)
65
+// 	}
66
+
67
+// 	// total, err := c.dao.GetWechatImgCount()
68
+// 	// if err != nil {
69
+// 	// 	utils.LogError("获取微信信息失败: " + err.Error())
70
+// 	// 	c.ResponseError(err)
71
+// 	// }
72
+
73
+// 	var data = map[string]string{}
74
+// 	data["offset"] = "0"
75
+// 	data["type"] = c.GetString(":type")
76
+// 	data["count"] = "10"
77
+
78
+// 	wechatImgs, err := wxclient.GetMaterialList(data)
79
+// 	if err != nil {
80
+// 		utils.LogError("获取微信详情失败: " + err.Error())
81
+// 		c.ResponseError(err)
82
+// 	}
83
+// 	c.ResponseJSON(wechatImgs)
84
+// }
85
+
55 86
 func (c *WechatImgController) GetWechatImgList() {
56 87
 	user := c.Context.Get("user").(*model.SysUser)
57
-	appid, err := c.sdao.GetAppIdByOrgId(user.OrgId)
58
-	if err != nil {
59
-		c.ResponseError(err)
60
-	}
61
-	// appid := c.GetString(":appid")
62
-	wxclient, err := utils.Component.GetWxClient(appid)
88
+	page, _ := c.GetInt("page")
89
+	pageSize, _ := c.GetInt("pagesize")
90
+	list, err := c.dao.GetWechatImgList(user.OrgId, page, pageSize)
63 91
 	if err != nil {
64
-		utils.LogError("获取微信信息失败: " + err.Error())
65
-		c.ResponseError(err)
66
-	}
67
-	var data = map[string]string{}
68
-	data["offset"] = "0"
69
-	data["type"] = c.GetString(":type")
70
-	data["count"] = "10"
71
-
72
-	wechatImgs, err := wxclient.GetMaterialList(data)
73
-	if err != nil {
74
-		utils.LogError("获取微信详情失败: " + err.Error())
75 92
 		c.ResponseError(err)
76 93
 	}
77
-	c.ResponseJSON(wechatImgs)
94
+	c.ResponseJSON(list)
78 95
 }
79 96
 
80 97
 func (c *WechatImgController) SyncWechatImg() {

+ 44
- 43
controllers/wechatmenu/wechatmenu.go 파일 보기

@@ -34,27 +34,27 @@ type Wehchatmenu struct {
34 34
 	WechatJson string
35 35
 }
36 36
 type WechatMenuDetailSub struct {
37
-	Name     string
38
-	Type     string
37
+	Name     string `json:"name"`
38
+	Type     string `json:"type"`
39 39
 	Value    string `json:"value,omitempty"`
40 40
 	Url      string `json:"url,omitempty"`
41 41
 	Media_Id string `json:"media_id,omitempty"`
42 42
 	Key      string `json:"key,omitempty"`
43 43
 }
44 44
 type WechatMenuDetail struct {
45
-	Name       string
46
-	Type       string
47
-	Value      string `json:"value,omitempty"`
48
-	Url        string `json:"url,omitempty"`
49
-	Media_Id   string `json:"media_id,omitempty"`
50
-	Key        string `json:"key,omitempty"`
51
-	Sub_Button []WechatMenuDetailSub
45
+	Name       string                `json:"name"`
46
+	Type       string                `json:"type"`
47
+	Value      string                `json:"value,omitempty"`
48
+	Url        string                `json:"url,omitempty"`
49
+	Media_Id   string                `json:"media_id,omitempty"`
50
+	Key        string                `json:"key,omitempty"`
51
+	Sub_Button []WechatMenuDetailSub `json:"sub_button"`
52 52
 }
53 53
 type WechatMenu struct {
54
-	Button []WechatMenuDetail
54
+	Button []WechatMenuDetail `json:"button"`
55 55
 }
56
-type Wechat struct {
57
-	Menu WechatMenu
56
+type WechatMenus struct {
57
+	Menu WechatMenu `json:"menu"`
58 58
 }
59 59
 
60 60
 func (c *MenuController) GetMenuList() {
@@ -68,33 +68,38 @@ func (c *MenuController) GetMenuList() {
68 68
 		c.ResponseError(err)
69 69
 	}
70 70
 	menu, err := client.GetMenu()
71
-
72
-	wechatmenu := menu["button"].([]WechatMenuDetail)
73
-	beego.Error("___________wechatmenulist____________")
74
-	beego.Error(wechatmenu)
75
-	beego.Error("_________________________________")
71
+	beego.Error(menu)
76 72
 	var keyList []*model.TaWechatKeyValue
77
-	for i := 0; i < len(wechatmenu); i++ {
78
-		if wechatmenu[i].Type == "click" {
79
-			key, err := c.kdao.GetValueByKey(wechatmenu[i].Key)
80
-			if err != nil {
81
-				c.ResponseError(err)
73
+	if menu != nil {
74
+		menus := menu["menu"].(map[string]interface{})
75
+		wechatmenu := menus["button"].([]interface{})
76
+		for i := 0; i < len(wechatmenu); i++ {
77
+			m := wechatmenu[i].(map[string]interface{})
78
+			if m["type"] != nil {
79
+				if m["type"].(string) == "click" {
80
+					key, err := c.kdao.GetValueByKey(m["key"].(string))
81
+					if err != nil {
82
+						c.ResponseError(err)
83
+					}
84
+					keyList = append(keyList, key)
85
+				}
82 86
 			}
83
-			keyList = append(keyList, key)
84
-		}
85
-		for j := 0; j < len(wechatmenu[i].Sub_Button); j++ {
86
-			if wechatmenu[i].Sub_Button[j].Type == "click" {
87
-				key, err := c.kdao.GetValueByKey(wechatmenu[i].Key)
88
-				if err != nil {
89
-					c.ResponseError(err)
87
+			if m["sub_button"] != nil {
88
+				subbuttons := m["sub_button"].([]interface{})
89
+				for j := 0; j < len(subbuttons); j++ {
90
+					subb := subbuttons[j].(map[string]interface{})
91
+					if subb["type"].(string) == "click" {
92
+						key, err := c.kdao.GetValueByKey(subb["key"].(string))
93
+						if err != nil {
94
+							c.ResponseError(err)
95
+						}
96
+						keyList = append(keyList, key)
97
+					}
90 98
 				}
91
-				keyList = append(keyList, key)
92 99
 			}
93 100
 		}
94 101
 	}
95
-	beego.Error("___________keylist____________")
96
-	beego.Error(keyList)
97
-	beego.Error("_________________________________")
102
+
98 103
 	if err != nil {
99 104
 		var code string = err.Error()
100 105
 		if strings.Contains(code, "46003") {
@@ -116,19 +121,14 @@ func (c *MenuController) RefreshMenu() {
116 121
 		c.ResponseError(err)
117 122
 	}
118 123
 	str := wechatJson.WechatJson
119
-	beego.Error("____________str___________")
120
-	beego.Error(str)
121
-	beego.Error("__________________________")
122
-	var menu Wechat
124
+	var menu WechatMenus
123 125
 	err := json.Unmarshal([]byte(str), &menu)
124 126
 	//var data []byte = []byte(str)
125 127
 	if err != nil {
126 128
 		c.ResponseError(err)
127 129
 	}
128 130
 	wechatmenu := menu.Menu.Button
129
-	beego.Error("___________wechatmenu____________")
130 131
 	beego.Error(wechatmenu)
131
-	beego.Error("_________________________________")
132 132
 	for i := 0; i < len(wechatmenu); i++ {
133 133
 		if wechatmenu[i].Type == "text" {
134 134
 			wechatmenu[i].Type = "click"
@@ -159,14 +159,14 @@ func (c *MenuController) RefreshMenu() {
159 159
 			}
160 160
 		}
161 161
 	}
162
-	beego.Error("___________wechatmenuData____________")
163 162
 	beego.Error(wechatmenu)
164
-	beego.Error("_________________________________")
165
-	menuData, err := json.Marshal(wechatmenu)
163
+	var upwechat WechatMenu
164
+	upwechat.Button = wechatmenu
165
+	menuData, err := json.Marshal(upwechat)
166 166
 	if err != nil {
167 167
 		c.ResponseError(err)
168 168
 	}
169
-
169
+	beego.Error(string(menuData))
170 170
 	err = c.dao.UpdateWechatMenu(string(menuData), user.OrgId)
171 171
 	if err != nil {
172 172
 		c.ResponseError(err)
@@ -183,4 +183,5 @@ func (c *MenuController) RefreshMenu() {
183 183
 	if err != nil {
184 184
 		c.ResponseError(err)
185 185
 	}
186
+	c.ResponseJSON("操作成功!")
186 187
 }

+ 1
- 1
models/wechatimg/wechatimg.go 파일 보기

@@ -31,7 +31,7 @@ func (m *WechatImgDAO) GetWechatImgList(orgId string, page, pagesize int) ([]mod
31 31
 	err := m.db.Sql(sql).Find(&img)
32 32
 	return img, err
33 33
 }
34
-func (m *WechatImgDAO) GetWechatImgListCount(orgId string, page, pagesize int) (int, error) {
34
+func (m *WechatImgDAO) GetWechatImgListCount(orgId string) (int, error) {
35 35
 	var img []model.TaWechatImg
36 36
 	sql := `SELECT * FROM ta_wechat_img WHERE status > ` + strconv.Itoa(models.STATUS_DEL) + `
37 37
 	and org_id = '` + orgId + `'`

+ 23
- 0
service/wechatimg/wechatimg.go 파일 보기

@@ -6,6 +6,7 @@ import (
6 6
 	"wechat-conf/models"
7 7
 	"wechat-conf/models/model"
8 8
 	"wechat-conf/models/wechatimg"
9
+	"wechat-conf/service"
9 10
 	"wechat-conf/utils"
10 11
 
11 12
 	"github.com/astaxie/beego"
@@ -72,3 +73,25 @@ func (s *WechatImgServ) DeleteImg(mediaId string) error {
72 73
 	}
73 74
 	return nil
74 75
 }
76
+
77
+func (s *WechatImgServ) GetWechatImgList(orgId string, page, pageSize int) (map[string]interface{}, error) {
78
+	if pageSize == 0 {
79
+		pageSize = service.PAGENUM
80
+	}
81
+	list, err := s.dao.GetWechatImgList(orgId, page, pageSize)
82
+	if err != nil {
83
+		utils.LogError("获取微信资源列表失败: " + err.Error())
84
+		return nil, errors.New("获取微信资源列表失败")
85
+	}
86
+	total, err := s.dao.GetWechatImgListCount(orgId)
87
+	if err != nil {
88
+		utils.LogError("获取微信资源列表失败: " + err.Error())
89
+		return nil, errors.New("获取微信资源列表失败")
90
+	}
91
+	return map[string]interface{}{
92
+		"list":     list,
93
+		"pageSize": pageSize,
94
+		"pagenum":  total,
95
+		"page":     page,
96
+	}, nil
97
+}