44 lines
917 B
Go
44 lines
917 B
Go
package app
|
|
|
|
import (
|
|
"github.com/gin-gonic/gin"
|
|
"go-wechat/service"
|
|
"net/http"
|
|
)
|
|
|
|
type getGroupUser struct {
|
|
GroupId string `json:"groupId" form:"groupId" binding:"required"` // 群Id
|
|
}
|
|
|
|
// GetGroupUsers
|
|
// @description: 获取群成员列表
|
|
// @param ctx
|
|
func GetGroupUsers(ctx *gin.Context) {
|
|
var p getGroupUser
|
|
if err := ctx.ShouldBind(&p); err != nil {
|
|
ctx.String(http.StatusBadRequest, "参数错误")
|
|
return
|
|
}
|
|
// 查询数据
|
|
records, err := service.GetGroupUsersByGroupId(p.GroupId)
|
|
if err != nil {
|
|
ctx.String(http.StatusInternalServerError, "查询失败: %s", err.Error())
|
|
return
|
|
}
|
|
|
|
result := map[string]any{
|
|
"records": records,
|
|
}
|
|
// 循环数据,统计健在成员
|
|
var isOkCount int
|
|
for _, record := range records {
|
|
if record.IsMember {
|
|
isOkCount++
|
|
}
|
|
}
|
|
result["isOkCount"] = isOkCount
|
|
|
|
// 暂时先就这样写着,跑通了再改
|
|
ctx.JSON(http.StatusOK, result)
|
|
}
|