You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

78 lines
1.9 KiB

package user
import (
"github.com/gin-gonic/gin"
"github.com/siddontang/go-log/log"
"recook/internal/back"
"recook/internal/dbc"
"recook/internal/model/user"
"recook/tools"
"strings"
)
type CustomersListReq struct {
Page uint `json:"page" validate:"numeric"`
Audit string `json:"audit" validate:"omitempty,oneof=wait pass refuse"`
Phone string `json:"phone" validate:"omitempty,max=20"`
Sex string `json:"sex" validate:"omitempty,oneof=unknown male female"` //0未填写 1男 2女
UserLevel string `json:"userLevel" validate:"omitempty"`
RoleLevel string `json:"roleLevel" validate:"omitempty"`
}
//用户审核状态, 1 待审核, 2 通过, 3 拒绝了
var AuditStatus = map[string]int8{
"wait": 1,
"pass": 2,
"refuse": 3,
}
var SexStatus = map[string]uint{
"unknown": 0,
"male": 1,
"female": 2,
}
const PageLimit = 30
// 查询接口
func CustomersList(c *gin.Context) {
defer func() {
if err := recover(); err != nil {
log.Println("查询客户发生错误:", err)
back.Err(c, "发生错误")
return
}
}()
var p CustomersListReq
err := tools.Params(&p, c)
if err != nil {
back.Fail(c, err.Error())
return
}
var where user.Information
where.Audit = AuditStatus[strings.TrimSpace(p.Audit)]
where.Phone = strings.TrimSpace(p.Phone)
where.Gender = SexStatus[strings.TrimSpace(p.Sex)]
//var rid = 0
//// 查找角色
//if strings.TrimSpace(p.UserLevel) != "" && strings.TrimSpace(p.RoleLevel) != "" {
// uLevel, _ := strconv.Atoi(p.UserLevel)
// rLevel, _ := strconv.Atoi(p.RoleLevel)
// rid, err = user_role.GetIdByUserAndRole(int8(uLevel), rLevel)
// if err != nil {
// back.Fail(c, "参数错误")
// return
// }
// where.RoleId = rid
//}
var list []user.Information
dbc.DB.Where(&where).Offset(p.Page - 1).Limit(PageLimit).Find(&list)
// 返回相应数据
back.Suc(c, "操作成功", &list)
return
}