123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- 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
- }
|