package wechatmenu import ( "strings" "wechat-conf/controllers" "wechat-conf/models/model" "wechat-conf/service/sysuser" "wechat-conf/service/wechatmenu" "wechat-conf/utils" ) // MenuController 信息 type MenuController struct { dao *wechatmenu.WechatmenuServ sdao *sysuser.SysuserServ controllers.BaseController } // Constructor 初始化 Controller // @Title Constructor // @Description 初始化 Controller, 系统自动调用 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() var code string = err.Error() if err != nil { if strings.Contains(code, "46003") { c.ResponseJSON(menu) } else { c.ResponseError(err) } } c.ResponseJSON(menu) } func (c *MenuController) RefreshMenu() { user := c.Context.Get("user").(*model.SysUser) str := c.GetString("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) } }