231 lines
6.4 KiB
Go
231 lines
6.4 KiB
Go
package controller
|
|
|
|
import (
|
|
"net/http"
|
|
"strings"
|
|
"xiawan/wx/api/req"
|
|
"xiawan/wx/api/service"
|
|
"xiawan/wx/api/vo"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
// GetContactListApi 获取全部联系人
|
|
func GetContactListApi(ctx *gin.Context) {
|
|
reqModel := new(req.GetContactListModel)
|
|
queryKey, isExist := ctx.GetQuery("key")
|
|
if !isExist || strings.Trim(queryKey, "") == "" || strings.Trim(queryKey, "") == "null" {
|
|
//确保每次都有Key
|
|
ctx.JSON(http.StatusOK, vo.NewFailUUId(""))
|
|
return
|
|
}
|
|
if !validateData(ctx, &reqModel) {
|
|
return
|
|
}
|
|
result := service.GetContactListService(queryKey, *reqModel)
|
|
ctx.JSON(http.StatusOK, result)
|
|
}
|
|
|
|
// GetFriendListApi 获取好友列表
|
|
func GetFriendListApi(ctx *gin.Context) {
|
|
queryKey, isExist := ctx.GetQuery("key")
|
|
if !isExist || strings.Trim(queryKey, "") == "" || strings.Trim(queryKey, "") == "null" {
|
|
//确保每次都有Key
|
|
ctx.JSON(http.StatusOK, vo.NewFailUUId(""))
|
|
return
|
|
}
|
|
|
|
result := service.GetFriendListService(queryKey)
|
|
ctx.JSON(http.StatusOK, result)
|
|
}
|
|
|
|
// GetGroupListApi 获取保存的群聊列表
|
|
func GetGroupListApi(ctx *gin.Context) {
|
|
queryKey, isExist := ctx.GetQuery("key")
|
|
if !isExist || strings.Trim(queryKey, "") == "" || strings.Trim(queryKey, "") == "null" {
|
|
//确保每次都有Key
|
|
ctx.JSON(http.StatusOK, vo.NewFailUUId(""))
|
|
return
|
|
}
|
|
|
|
result := service.GetGroupListService(queryKey)
|
|
ctx.JSON(http.StatusOK, result)
|
|
}
|
|
|
|
// GetGHListApi 获取关注的公众号列表
|
|
func GetGHListApi(ctx *gin.Context) {
|
|
queryKey, isExist := ctx.GetQuery("key")
|
|
if !isExist || strings.Trim(queryKey, "") == "" || strings.Trim(queryKey, "") == "null" {
|
|
//确保每次都有Key
|
|
ctx.JSON(http.StatusOK, vo.NewFailUUId(""))
|
|
return
|
|
}
|
|
|
|
result := service.GetGHListService(queryKey)
|
|
ctx.JSON(http.StatusOK, result)
|
|
}
|
|
|
|
// FollowGHApi 关注公众号
|
|
func FollowGHApi(ctx *gin.Context) {
|
|
|
|
reqModel := new(req.FollowGHModel)
|
|
queryKey, isExist := ctx.GetQuery("key")
|
|
if !isExist || strings.Trim(queryKey, "") == "" || strings.Trim(queryKey, "") == "null" {
|
|
//确保每次都有Key
|
|
ctx.JSON(http.StatusOK, vo.NewFailUUId(""))
|
|
return
|
|
}
|
|
|
|
if !validateData(ctx, &reqModel) {
|
|
return
|
|
}
|
|
|
|
result := service.FollowGHService(queryKey, *reqModel)
|
|
ctx.JSON(http.StatusOK, result)
|
|
}
|
|
|
|
// UploadMContactApi 上传手机通讯录好友
|
|
func UploadMContactApi(ctx *gin.Context) {
|
|
reqModel := new(req.UploadMContactModel)
|
|
queryKey, isExist := ctx.GetQuery("key")
|
|
if !isExist || strings.Trim(queryKey, "") == "" || strings.Trim(queryKey, "") == "null" {
|
|
//确保每次都有Key
|
|
ctx.JSON(http.StatusOK, vo.NewFailUUId(""))
|
|
return
|
|
}
|
|
|
|
if !validateData(ctx, &reqModel) {
|
|
return
|
|
}
|
|
|
|
result := service.UploadMContactService(queryKey, *reqModel)
|
|
ctx.JSON(http.StatusOK, result)
|
|
}
|
|
|
|
// GetMFriendApi 获取手机通讯录好友
|
|
func GetMFriendApi(ctx *gin.Context) {
|
|
queryKey, isExist := ctx.GetQuery("key")
|
|
if !isExist || strings.Trim(queryKey, "") == "" || strings.Trim(queryKey, "") == "null" {
|
|
//确保每次都有Key
|
|
ctx.JSON(http.StatusOK, vo.NewFailUUId(""))
|
|
return
|
|
}
|
|
|
|
result := service.GetMFriendService(queryKey)
|
|
ctx.JSON(http.StatusOK, result)
|
|
}
|
|
|
|
// GetContactContactApi 获取联系人详情
|
|
func GetContactContactApi(ctx *gin.Context) {
|
|
reqModel := new(req.BatchGetContactModel)
|
|
queryKey, isExist := ctx.GetQuery("key")
|
|
if !isExist || strings.Trim(queryKey, "") == "" || strings.Trim(queryKey, "") == "null" {
|
|
//确保每次都有Key
|
|
ctx.JSON(http.StatusOK, vo.NewFailUUId(""))
|
|
return
|
|
}
|
|
if !validateData(ctx, &reqModel) {
|
|
return
|
|
}
|
|
result := service.GetContactContactService(queryKey, *reqModel)
|
|
ctx.JSON(http.StatusOK, result)
|
|
}
|
|
|
|
// GetFriendRelationApi 获取好友关系
|
|
func GetFriendRelationApi(ctx *gin.Context) {
|
|
reqModel := new(req.GetFriendRelationModel)
|
|
queryKey, isExist := ctx.GetQuery("key")
|
|
if !isExist || strings.Trim(queryKey, "") == "" || strings.Trim(queryKey, "") == "null" {
|
|
//确保每次都有Key
|
|
ctx.JSON(http.StatusOK, vo.NewFailUUId(""))
|
|
return
|
|
}
|
|
if !validateData(ctx, &reqModel) {
|
|
return
|
|
}
|
|
result := service.GetFriendRelationService(queryKey, *reqModel)
|
|
ctx.JSON(http.StatusOK, result)
|
|
}
|
|
|
|
// SearchContactRequestApi 搜索联系人
|
|
func SearchContactRequestApi(ctx *gin.Context) {
|
|
reqModel := new(req.SearchContactRequestModel)
|
|
queryKey, isExist := ctx.GetQuery("key")
|
|
if !isExist || strings.Trim(queryKey, "") == "" || strings.Trim(queryKey, "") == "null" {
|
|
//确保每次都有Key
|
|
ctx.JSON(http.StatusOK, vo.NewFailUUId(""))
|
|
return
|
|
}
|
|
|
|
if !validateData(ctx, &reqModel) {
|
|
return
|
|
}
|
|
|
|
result := service.SearchContactRequestService(queryKey, *reqModel)
|
|
ctx.JSON(http.StatusOK, result)
|
|
}
|
|
|
|
// VerifyUserRequestApi 验证好友/添加好友
|
|
func VerifyUserRequestApi(ctx *gin.Context) {
|
|
reqModel := new(req.VerifyUserRequestModel)
|
|
queryKey, isExist := ctx.GetQuery("key")
|
|
if !isExist || strings.Trim(queryKey, "") == "" || strings.Trim(queryKey, "") == "null" {
|
|
//确保每次都有Key
|
|
ctx.JSON(http.StatusOK, vo.NewFailUUId(""))
|
|
return
|
|
}
|
|
|
|
if !validateData(ctx, &reqModel) {
|
|
return
|
|
}
|
|
|
|
result := service.VerifyUserRequestService(queryKey, *reqModel)
|
|
ctx.JSON(http.StatusOK, result)
|
|
}
|
|
|
|
// AgreeAddApi 同意好友请求
|
|
func AgreeAddApi(ctx *gin.Context) {
|
|
reqModel := new(req.VerifyUserRequestModel)
|
|
queryKey, isExist := ctx.GetQuery("key")
|
|
if !isExist || strings.Trim(queryKey, "") == "" || strings.Trim(queryKey, "") == "null" {
|
|
//确保每次都有Key
|
|
ctx.JSON(http.StatusOK, vo.NewFailUUId(""))
|
|
return
|
|
}
|
|
|
|
if !validateData(ctx, &reqModel) {
|
|
return
|
|
}
|
|
if reqModel.Scene == 0 {
|
|
reqModel.Scene = 0x06
|
|
}
|
|
result := service.VerifyUserRequestService(queryKey, *reqModel)
|
|
ctx.JSON(http.StatusOK, result)
|
|
}
|
|
|
|
// DetectDeadFans 检测僵死粉
|
|
func DetectDeadFans(ctx *gin.Context) {
|
|
queryKey, isExist := ctx.GetQuery("key")
|
|
if !isExist || strings.Trim(queryKey, "") == "" || strings.Trim(queryKey, "") == "null" {
|
|
//确保每次都有Key
|
|
ctx.JSON(http.StatusOK, vo.NewFailUUId(""))
|
|
return
|
|
}
|
|
|
|
result := service.StartFriendTaskService(queryKey, 1) // 1表示检测僵死粉任务
|
|
ctx.JSON(http.StatusOK, result)
|
|
}
|
|
|
|
// CleanDeadFans 清理僵死粉
|
|
func CleanDeadFans(ctx *gin.Context) {
|
|
queryKey, isExist := ctx.GetQuery("key")
|
|
if !isExist || strings.Trim(queryKey, "") == "" || strings.Trim(queryKey, "") == "null" {
|
|
//确保每次都有Key
|
|
ctx.JSON(http.StatusOK, vo.NewFailUUId(""))
|
|
return
|
|
}
|
|
|
|
result := service.StartFriendTaskService(queryKey, 2) // 2表示清理僵死粉任务
|
|
ctx.JSON(http.StatusOK, result)
|
|
}
|