385 lines
11 KiB
Go
385 lines
11 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"
|
||
)
|
||
|
||
// GetChatroomQrCode 获取群二维码
|
||
func GetChatroomQrCode(ctx *gin.Context) {
|
||
reqModel := new(req.GetChatroomQrCodeModel)
|
||
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 !strings.HasSuffix(reqModel.ChatRoomName, "@chatroom") {
|
||
ctx.JSON(http.StatusOK, vo.NewFail("非法的 ChatRoomId!"))
|
||
return
|
||
}
|
||
|
||
result := service.GetChatroomQrCodeService(queryKey, *reqModel)
|
||
ctx.JSON(http.StatusOK, result)
|
||
}
|
||
|
||
// SetChatroomAnnouncementApi 设置群公告
|
||
func SetChatroomAnnouncementApi(ctx *gin.Context) {
|
||
reqModel := new(req.UpdateChatroomAnnouncementModel)
|
||
|
||
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.SetChatroomAnnouncementService(queryKey, *reqModel)
|
||
ctx.JSON(http.StatusOK, result)
|
||
}
|
||
|
||
// GetChatroomMemberDetailApi 获取群成员详细
|
||
func GetChatroomMemberDetailApi(ctx *gin.Context) {
|
||
reqModel := new(req.GetChatroomMemberDetailModel)
|
||
|
||
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.GetChatroomMemberDetailService(queryKey, *reqModel)
|
||
ctx.JSON(http.StatusOK, result)
|
||
}
|
||
|
||
// GetQuitChatroomApi 退出群聊
|
||
func GetQuitChatroomApi(ctx *gin.Context) {
|
||
reqModel := new(req.GetChatroomMemberDetailModel)
|
||
|
||
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.QuitChatroomService(queryKey, *reqModel)
|
||
ctx.JSON(http.StatusOK, result)
|
||
}
|
||
|
||
// CreateChatRoomApi 创建群请求
|
||
func CreateChatRoomApi(ctx *gin.Context) {
|
||
reqModel := new(req.CreateChatRoomModel)
|
||
|
||
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.CreateChatRoomService(queryKey, *reqModel)
|
||
ctx.JSON(http.StatusOK, result)
|
||
}
|
||
|
||
// InviteChatroomMembersApi 邀请群成员
|
||
func InviteChatroomMembersApi(ctx *gin.Context) {
|
||
reqModel := new(req.InviteChatroomMembersModel)
|
||
|
||
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.InviteChatroomMembersService(queryKey, *reqModel)
|
||
ctx.JSON(http.StatusOK, result)
|
||
}
|
||
|
||
// AddChatRoomMembersApi 添加群成员
|
||
func AddChatRoomMembersApi(ctx *gin.Context) {
|
||
reqModel := new(req.InviteChatroomMembersModel)
|
||
|
||
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.AddChatRoomMemberService(queryKey, *reqModel)
|
||
ctx.JSON(http.StatusOK, result)
|
||
}
|
||
|
||
// ScanIntoUrlGroupApi 扫码入群
|
||
func ScanIntoUrlGroupApi(ctx *gin.Context) {
|
||
reqModel := new(req.ScanIntoUrlGroupModel)
|
||
|
||
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.ScanIntoUrlGroupService(queryKey, *reqModel)
|
||
ctx.JSON(http.StatusOK, result)
|
||
}
|
||
|
||
// SendAddChatRoomMemberApi 添加好友进群
|
||
func SendAddChatRoomMemberApi(ctx *gin.Context) {
|
||
reqModel := new(req.InviteChatroomMembersModel)
|
||
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.AddChatRoomMemberService(queryKey, *reqModel)
|
||
ctx.JSON(http.StatusOK, result)
|
||
}
|
||
|
||
// SendDelDelChatRoomMemberApi 删除群成员
|
||
func SendDelDelChatRoomMemberApi(ctx *gin.Context) {
|
||
reqModel := new(req.InviteChatroomMembersModel)
|
||
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.SendDelDelChatRoomMemberService(queryKey, *reqModel)
|
||
ctx.JSON(http.StatusOK, result)
|
||
}
|
||
|
||
// SendTransferGroupOwnerApi 转让群
|
||
func SendTransferGroupOwnerApi(ctx *gin.Context) {
|
||
reqModel := new(req.TransferGroupOwnerModel)
|
||
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.SendTransferGroupOwnerService(queryKey, *reqModel)
|
||
ctx.JSON(http.StatusOK, result)
|
||
}
|
||
|
||
// ConsentToJoinGroupApi 同意入群
|
||
func ConsentToJoinGroupApi(ctx *gin.Context) {
|
||
reqModel := new(req.ConsentToJoinGroupModel)
|
||
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.ConsentToJoinGroupService(queryKey, *reqModel)
|
||
ctx.JSON(http.StatusOK, result)
|
||
}
|
||
|
||
// SetGetChatRoomInfoDetailApi 获取群公告
|
||
func SetGetChatRoomInfoDetailApi(ctx *gin.Context) {
|
||
reqModel := new(req.GetChatroomMemberDetailModel)
|
||
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.SetGetChatRoomInfoDetailService(queryKey, *reqModel)
|
||
ctx.JSON(http.StatusOK, result)
|
||
}
|
||
|
||
// GetChatRoomInfoApi 获取群详情
|
||
func GetChatRoomInfoApi(ctx *gin.Context) {
|
||
reqModel := new(req.ChatRoomWxIdListModel)
|
||
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.GetChatRoomInfoService(queryKey, *reqModel)
|
||
ctx.JSON(http.StatusOK, result)
|
||
}
|
||
|
||
// MoveToContractApi 获取群聊
|
||
func MoveToContractApi(ctx *gin.Context) {
|
||
reqModel := new(req.MoveContractModel)
|
||
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.MoveToContractService(queryKey, *reqModel)
|
||
ctx.JSON(http.StatusOK, result)
|
||
}
|
||
|
||
// SetChatroomAccessVerifyApi 设置群聊邀请开关
|
||
func SetChatroomAccessVerifyApi(ctx *gin.Context) {
|
||
reqModel := new(req.SetChatroomAccessVerifyModel)
|
||
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.SetChatroomAccessVerifyService(queryKey, *reqModel)
|
||
ctx.JSON(http.StatusOK, result)
|
||
}
|
||
|
||
// AddChatroomAdminApi 添加群管理员
|
||
func AddChatroomAdminApi(ctx *gin.Context) {
|
||
reqModel := new(req.ChatroomMemberModel)
|
||
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.AddChatroomAdminService(queryKey, *reqModel)
|
||
ctx.JSON(http.StatusOK, result)
|
||
}
|
||
|
||
// DelChatroomAdminApi 删除群管理员
|
||
func DelChatroomAdminApi(ctx *gin.Context) {
|
||
reqModel := new(req.ChatroomMemberModel)
|
||
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.DelChatroomAdminService(queryKey, *reqModel)
|
||
ctx.JSON(http.StatusOK, result)
|
||
}
|
||
|
||
// SetChatroomNameApi 设置群昵称
|
||
func SetChatroomNameApi(ctx *gin.Context) {
|
||
reqModel := new(req.ChatroomNameModel)
|
||
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.SetChatroomNameService(queryKey, *reqModel)
|
||
ctx.JSON(http.StatusOK, result)
|
||
}
|
||
|
||
// SetGroupNicknameApi 设置我在本群的昵称
|
||
func SetGroupNicknameApi(ctx *gin.Context) {
|
||
reqModel := new(req.ChatroomNameModel)
|
||
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.SetGroupNicknameService(queryKey, *reqModel)
|
||
ctx.JSON(http.StatusOK, result)
|
||
}
|
||
|
||
// SendPatApi 群拍一拍功能
|
||
func SendPatApi(ctx *gin.Context) {
|
||
reqModel := new(req.SendPatModel)
|
||
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.SendPatService(queryKey, *reqModel)
|
||
ctx.JSON(http.StatusOK, result)
|
||
}
|
||
|
||
// GroupListApi 获取群列表
|
||
func GroupListApi(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.NewSyncHistoryMessageService(queryKey)
|
||
ctx.JSON(http.StatusOK, result)
|
||
}
|