catface_backend_go/app/http/controller/web/animal_controller.go

64 lines
2.3 KiB
Go
Raw Normal View History

2024-10-14 13:49:16 +08:00
package web
import (
"catface/app/global/consts"
"catface/app/global/errcode"
2024-10-14 19:27:46 +08:00
"catface/app/service/animals/curd"
2024-10-14 13:49:16 +08:00
"catface/app/utils/response"
"github.com/gin-gonic/gin"
)
type Animals struct { // INFO 起到一个标记的作用,这样 web.xxx 的时候不同模块就不会命名冲突了。
}
func (a *Animals) List(context *gin.Context) {
// 1. Get Params
attrs := context.GetString(consts.ValidatorPrefix + "attrs")
2024-10-14 19:27:46 +08:00
gender := context.GetString(consts.ValidatorPrefix + "gender")
breed := context.GetString(consts.ValidatorPrefix + "breed")
sterilzation := context.GetString(consts.ValidatorPrefix + "sterilzation")
status := context.GetString(consts.ValidatorPrefix + "status")
2024-10-14 13:49:16 +08:00
num := context.GetFloat64(consts.ValidatorPrefix + "num")
skip := context.GetFloat64(consts.ValidatorPrefix + "skip")
2024-10-23 12:51:41 +08:00
userId := context.GetFloat64(consts.ValidatorPrefix + "user_id")
2024-10-14 13:49:16 +08:00
2024-10-23 12:51:41 +08:00
animals := curd.CreateAnimalsCurdFactory().List(attrs, gender, breed, sterilzation, status, int(num), int(skip), int(userId))
2024-10-14 19:27:46 +08:00
if animals != nil {
2024-10-14 13:49:16 +08:00
response.Success(context, consts.CurdStatusOkMsg, animals)
2024-10-14 19:27:46 +08:00
} else {
response.Fail(context, errcode.AnimalNoFind, errcode.ErrMsg[errcode.AnimalNoFind], "")
2024-10-14 13:49:16 +08:00
}
}
2024-10-16 11:33:32 +08:00
// v0.1
2024-10-14 19:27:46 +08:00
// func (a *Animals) Detail(context *gin.Context) {
// // 1. Get Params
// anmId, err := strconv.Atoi(context.Param("anm_id"))
// // 2. Select & Filter
// var animal model.Animal
// err = variable.GormDbMysql.Table("animals").Model(&animal).Where("id = ?", anmId).Scan(&animal).Error // TIP GORM.First 采取默认的
// if err != nil {
// response.Fail(context, errcode.ErrAnimalSqlFind, errcode.ErrMsg[errcode.ErrAnimalSqlFind], err) // UPDATE consts ?
// } else {
// response.Success(context, consts.CurdStatusOkMsg, animal)
// }
// }
2024-10-14 13:49:16 +08:00
func (a *Animals) Detail(context *gin.Context) {
// 1. Get Params
2024-10-14 19:27:46 +08:00
anmId := context.Param("anm_id")
2024-10-14 13:49:16 +08:00
2024-10-18 20:28:34 +08:00
animal := curd.CreateAnimalsCurdFactory().Detail(anmId)
2024-10-14 19:27:46 +08:00
if animal != nil {
2024-10-14 13:49:16 +08:00
response.Success(context, consts.CurdStatusOkMsg, animal)
2024-10-14 19:27:46 +08:00
} else {
response.Fail(context, errcode.AnimalNoFind, errcode.ErrMsg[errcode.AnimalNoFind], "")
2024-10-14 13:49:16 +08:00
}
}
2024-10-24 15:26:09 +08:00
func (a *Animals) Create(context *gin.Context) {
poi := context.GetStringMap(consts.ValidatorPrefix + "poi")
// TODO 感觉这里就是获取信息之后,然后解析后再存储,方便后续 Model 直接绑定到数据。
_ = poi
}