prepare for animal mode

This commit is contained in:
Havoc412 2024-11-07 00:11:37 +08:00
parent 1247e39a2e
commit 33ef39c849
4 changed files with 21 additions and 8 deletions

View File

@ -72,4 +72,7 @@ const (
CaptchaCheckOkMsg string = "验证码校验通过"
CaptchaCheckFailCode int = -400355
CaptchaCheckFailMsg string = "验证码校验失败"
// TAG animal/ 接口模式
AnimalPreferMode string = "prefer"
)

View File

@ -31,14 +31,24 @@ func (a *Animals) List(context *gin.Context) {
skip := context.GetFloat64(consts.ValidatorPrefix + "skip")
userId := context.GetFloat64(consts.ValidatorPrefix + "user_id")
animals := curd.CreateAnimalsCurdFactory().List(attrs, gender, breed, sterilization, status, department, int(num), int(skip), int(userId))
if animals != nil {
response.Success(context, consts.CurdStatusOkMsg, animals)
} else {
response.Fail(context, errcode.AnimalNoFind, errcode.ErrMsg[errcode.AnimalNoFind], "")
mode := context.GetString(consts.ValidatorPrefix + "mode")
if mode == consts.AnimalPreferMode {
preferList(context)
} else { // 其余都是 默认模式。
animals := curd.CreateAnimalsCurdFactory().List(attrs, gender, breed, sterilization, status, department, int(num), int(skip), int(userId))
if animals != nil {
response.Success(context, consts.CurdStatusOkMsg, animals)
} else {
response.Fail(context, errcode.AnimalNoFind, errcode.ErrMsg[errcode.AnimalNoFind], "")
}
}
}
func preferList(context *gin.Context) {
// TODO 先去考虑一下前端筛选的实现方式。
}
// v0.1
// func (a *Animals) Detail(context *gin.Context) {
// // 1. Get Params

View File

@ -19,10 +19,12 @@ type List struct {
Num int `form:"num" json:"num"`
Skip int `form:"skip" json:"skip"`
UserId int `form:"user_id" json:"user_id"`
Mode string `form:"mode" json:"mode"` // INFO 控制 animal_ctl 的查询模式。 // default: 简单调用 List 函数 || prefer: 优先返回和用户关联度更高的目标。
}
func (l List) CheckParams(context *gin.Context) {
if err := context.ShouldBind(&l); err != nil { // INFO 这一条是必要的,看来对数据的解析页在其中。
if err := context.ShouldBind(&l); err != nil {
// 将表单参数验证器出现的错误直接交给错误翻译器统一处理即可
response.ValidatorError(context, err)
return

View File

@ -3,12 +3,10 @@ package routers
import (
"catface/app/global/consts"
"catface/app/global/variable"
// "catface/app/http/controller/captcha" // 验证码组件
// "catface/app/http/middleware/authorization"
"catface/app/http/middleware/cors"
validatorFactory "catface/app/http/validator/core/factory"
// TODO validatorFactory "catface/app/http/validator/core/factory"
"catface/app/utils/gin_release"
"net/http"