78 lines
2.8 KiB
Go
78 lines
2.8 KiB
Go
|
|
package service
|
|||
|
|
|
|||
|
|
import (
|
|||
|
|
"strconv"
|
|||
|
|
"xiawan/wx/api/req"
|
|||
|
|
"xiawan/wx/api/vo"
|
|||
|
|
"xiawan/wx/clientsdk/baseinfo"
|
|||
|
|
"xiawan/wx/db"
|
|||
|
|
"xiawan/wx/srv/wxface"
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
// GetMyQrCodeService 获取个人二维码
|
|||
|
|
func GetMyQrCodeService(queryKey string, m req.GetQrCodeModel) 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()
|
|||
|
|
wxid := wxAccount.GetUserInfo().WxId
|
|||
|
|
resp, err := reqInvoker.SendGetQrCodeRequest(wxid, m.Style)
|
|||
|
|
if err != nil {
|
|||
|
|
return vo.NewFail("GetQrCodeService err:" + err.Error())
|
|||
|
|
}
|
|||
|
|
return vo.NewSuccessObj(resp, "")
|
|||
|
|
})
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// 查看附近的人
|
|||
|
|
func GetPeopleNearbyService(queryKey string, m req.PeopleNearbyModel) 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.SendGetPeopleNearbyResultRequest(m.Longitude, m.Latitude)
|
|||
|
|
if err != nil {
|
|||
|
|
return vo.NewFail("GetPeopleNearbyService!" + err.Error())
|
|||
|
|
}
|
|||
|
|
return vo.NewSuccessObj(resp, "")
|
|||
|
|
})
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// 修改指令状态
|
|||
|
|
func UpdateCmdStatusService(queryKey string, m req.ModifyCmdStatusModelNew) vo.DTO {
|
|||
|
|
return checkExIdPerformNoCreateConnect(queryKey, func(wxConn wxface.IWXConnect, newIWXConnect bool) vo.DTO {
|
|||
|
|
wxAccount := wxConn.GetWXAccount()
|
|||
|
|
cache := wxConn.GetWXCache()
|
|||
|
|
loginState := wxAccount.GetLoginState()
|
|||
|
|
|
|||
|
|
//判断在线情况
|
|||
|
|
if !wxConn.CheckOnLineStatus() {
|
|||
|
|
return vo.NewFail("你已退出登录")
|
|||
|
|
|
|||
|
|
} else if loginState == baseinfo.MMLoginStateNoLogin {
|
|||
|
|
return vo.NewFail("该账号需要重新登录!loginState == MMLoginStateNoLogin ")
|
|||
|
|
}
|
|||
|
|
db.UpdateCommand(queryKey, m.Key, m.Value, m.ValueStr)
|
|||
|
|
query, err := db.QueryCommand(queryKey)
|
|||
|
|
if err != nil {
|
|||
|
|
return vo.NewFail("操作失败!")
|
|||
|
|
}
|
|||
|
|
cache.SendUsageByText()
|
|||
|
|
return vo.NewSuccessObj(query, "操作成功!")
|
|||
|
|
})
|
|||
|
|
}
|