package service import ( "github.com/google/uuid" "strconv" "xiawan/wx/api/req" "xiawan/wx/api/vo" "xiawan/wx/clientsdk/baseinfo" "xiawan/wx/srv/wxface" ) // GetFinderSearchService 视频号搜索 func GetFinderSearchService(queryKey string, req req.FinderSearchModel) vo.DTO { return checkExIdPerformNoCreateConnect(queryKey, func(iwxConnect wxface.IWXConnect, newIWXConnect bool) vo.DTO { wxAccount := iwxConnect.GetWXAccount() loginState := wxAccount.GetLoginState() //判断在线情况 if loginState == baseinfo.MMLoginStateNoLogin { return vo.NewFail("该账号需要重新登录!loginState == MMLoginStateNoLogin ") } else if !iwxConnect.CheckOnLineStatus() { return vo.NewFail("账号离线,自动上线失败!loginState == " + strconv.Itoa(int(wxAccount.GetLoginState()))) } // 获取请求管理器 reqInvoker := iwxConnect.GetWXReqInvoker() // 同步收藏 resp, err := reqInvoker.SendGetFinderSearchRequest(req.Index, req.Userver, req.UserKey, uuid.New().String()) if err != nil { return vo.NewFail("GetFinderSearchService!err :" + err.Error()) } return vo.NewSuccessObj(resp, "") }) } // 视频号中心 func FinderUserPrepareService(queryKey string, req req.FinderUserPrepareModel) vo.DTO { return checkExIdPerformNoCreateConnect(queryKey, func(iwxConnect wxface.IWXConnect, newIWXConnect bool) vo.DTO { wxAccount := iwxConnect.GetWXAccount() loginState := wxAccount.GetLoginState() //判断在线情况 if loginState == baseinfo.MMLoginStateNoLogin { return vo.NewFail("该账号需要重新登录!loginState == MMLoginStateNoLogin ") } else if !iwxConnect.CheckOnLineStatus() { return vo.NewFail("账号离线,自动上线失败!loginState == " + strconv.Itoa(int(wxAccount.GetLoginState()))) } // 获取请求管理器 reqInvoker := iwxConnect.GetWXReqInvoker() // 同步收藏 resp, err := reqInvoker.SendFinderUserPrepareRequest(req.Userver) if err != nil { return vo.NewFail("FinderUserPrepareService!err :" + err.Error()) } return vo.NewSuccessObj(resp, "") }) } // 视频号关注取消 func FinderFollowService(queryKey string, req req.FinderFollowModel) vo.DTO { return checkExIdPerformNoCreateConnect(queryKey, func(iwxConnect wxface.IWXConnect, newIWXConnect bool) vo.DTO { wxAccount := iwxConnect.GetWXAccount() loginState := wxAccount.GetLoginState() //判断在线情况 if loginState == baseinfo.MMLoginStateNoLogin { return vo.NewFail("该账号需要重新登录!loginState == MMLoginStateNoLogin ") } else if !iwxConnect.CheckOnLineStatus() { return vo.NewFail("账号离线,自动上线失败!loginState == " + strconv.Itoa(int(wxAccount.GetLoginState()))) } // 获取请求管理器 reqInvoker := iwxConnect.GetWXReqInvoker() resp, err := reqInvoker.SendFinderFollowRequest(req.FinderUserName, req.OpType, req.RefObjectId, req.Cook, req.Userver, req.PosterUsername) if err != nil { return vo.NewFail("FinderUserPrepareService!err :" + err.Error()) } return vo.NewSuccessObj(resp, "") }) }