first commit
This commit is contained in:
@@ -0,0 +1,96 @@
|
||||
package service
|
||||
|
||||
import (
|
||||
"strconv"
|
||||
"xiawan/wx/api/req"
|
||||
"xiawan/wx/api/vo"
|
||||
"xiawan/wx/clientsdk/baseinfo"
|
||||
"xiawan/wx/srv/wxface"
|
||||
"xiawan/wx/srv/wxtask"
|
||||
)
|
||||
|
||||
// SearchContactRequestService 搜索好友
|
||||
func SearchContactRequestService(queryKey string, m req.SearchContactRequestModel) 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.SendSearchContactRequest(m.OpCode, m.FromScene, m.SearchScene, m.UserName)
|
||||
if err != nil {
|
||||
return vo.NewFail("SearchContactRequestService err:" + err.Error())
|
||||
}
|
||||
return vo.NewSuccessObj(resp, "")
|
||||
})
|
||||
}
|
||||
|
||||
// 获取好友关系
|
||||
func GetFriendRelationService(queryKey string, m req.GetFriendRelationModel) 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.SendGetFriendRelationRequest(m.UserName)
|
||||
if err != nil {
|
||||
return vo.NewFail("GetFriendRelationService err:" + err.Error())
|
||||
}
|
||||
return vo.NewSuccessObj(resp, "")
|
||||
})
|
||||
}
|
||||
|
||||
// 查联系人详情
|
||||
func GetContactContactService(queryKey string, m req.BatchGetContactModel) 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.SendGetContactRequestForList(m.UserNames, m.RoomWxIDList)
|
||||
if err != nil {
|
||||
return vo.NewFail("SearchContactRequestService err:" + err.Error())
|
||||
}
|
||||
return vo.NewSuccessObj(resp, "")
|
||||
})
|
||||
}
|
||||
|
||||
// StartFriendTaskService 启动好友任务(1:检测僵死粉 2:清理僵死粉)
|
||||
func StartFriendTaskService(queryKey string, taskType int) 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())))
|
||||
}
|
||||
|
||||
// 创建好友任务并执行
|
||||
friendTask := wxtask.NewWXFriendTask(iwxConnect)
|
||||
success := friendTask.StartFriendTask(taskType)
|
||||
if !success {
|
||||
return vo.NewFail("启动任务失败")
|
||||
}
|
||||
return vo.NewSuccessObj(nil, "任务启动成功")
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user