1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- package wechatmenu
-
- import (
- "strings"
- "wechat-conf/controllers"
- "wechat-conf/models/model"
- "wechat-conf/service/sysuser"
- "wechat-conf/service/wechatmenu"
- "wechat-conf/utils"
- )
-
-
- type MenuController struct {
- dao *wechatmenu.WechatmenuServ
- sdao *sysuser.SysuserServ
- controllers.BaseController
- }
-
-
-
-
- func (c *MenuController) Constructor() {
- c.dao = wechatmenu.NewWechatmenuServ(c.Context)
- c.sdao = sysuser.NewSysuserServ(c.Context)
- }
-
- func (c *MenuController) GetMenuList() {
- user := c.Context.Get("user").(*model.SysUser)
- appId, err := c.sdao.GetAppIdByOrgId(user.OrgId)
- if err != nil {
- c.ResponseError(err)
- }
- client, err := utils.Component.GetWxClient(appId)
- if err != nil {
- c.ResponseError(err)
- }
- menu, err := client.GetMenu()
- if err != nil {
- var code string = err.Error()
- if strings.Contains(code, "46003") {
- c.ResponseJSON(menu)
- } else {
- c.ResponseError(err)
- }
- }
- c.ResponseJSON(menu)
- }
-
- type Wehchatmenu struct {
- WechatJson string
- }
-
- func (c *MenuController) RefreshMenu() {
- user := c.Context.Get("user").(*model.SysUser)
- wechatJson := Wehchatmenu{}
- if err := c.ParseForm(&wechatJson); err != nil {
- c.ResponseError(err)
- }
- str := wechatJson.WechatJson
- var data []byte = []byte(str)
- err := c.dao.UpdateWechatMenu(str, user.OrgId)
- if err != nil {
- c.ResponseError(err)
- }
- appId, err := c.sdao.GetAppIdByOrgId(user.OrgId)
- if err != nil {
- c.ResponseError(err)
- }
- client, err := utils.Component.GetWxClient(appId)
- if err != nil {
- c.ResponseError(err)
- }
- err = client.RefreshMenu(data)
- if err != nil {
- c.ResponseError(err)
- }
- }
|