package index import ( "fmt" "github.com/gin-gonic/gin" "github.com/gin-gonic/gin/binding" "eta/eta_menu_sync/controller/resp" "eta/eta_menu_sync/logic" "eta/eta_menu_sync/models" "eta/eta_menu_sync/models/request" "eta/eta_menu_sync/services" "eta/eta_menu_sync/utils" ) // WechatController 接口 type WechatController struct { } // SyncHelper 同步小助手 func (s *WechatController) SyncHelper(c *gin.Context) { fmt.Println(c.Request.Body) var req request.SyncHelperReq if err := c.ShouldBindBodyWith(&req, binding.JSON); err != nil { fmt.Println("bind err:", err) resp.Fail("参数有误", c) return } if req.WechatId == `` { resp.Fail("微信小助手标识未提交", c) return } wechatHelperObj := models.WechatHelper{} wechatHelperInfo, err := wechatHelperObj.GetByWechatId(req.WechatId) if err != nil { if err == utils.ErrNoRow { resp.Fail("找不到该小助手", c) } else { resp.FailMsg("获取小助手信息失败", "获取小助手信息失败"+err.Error(), c) } return } result, _, err := services.GetAllGroup(wechatHelperInfo.ServerUrl, wechatHelperInfo.WechatId) if err != nil { resp.FailMsg("获取小助手的群信息失败", "获取小助手的群信息失败:"+err.Error(), c) return } if result.Code != 200 { resp.Fail("获取小助手的群信息失败:"+result.Msg, c) return } // 群同步 err = logic.SyncWxGroup(result.Result, wechatHelperInfo) if err != nil { resp.FailMsg("同步微信群失败", "同步微信群失败:"+err.Error(), c) return } resp.OkData("同步成功", "ok", c) return }