back, but don't link

This commit is contained in:
Havoc412 2024-10-20 16:30:29 +08:00
parent 54ea3f291b
commit 1f88b110bf
4 changed files with 48 additions and 9 deletions

View File

@ -4,6 +4,7 @@ import (
"catface/app/global/consts"
"catface/app/global/variable"
"catface/app/http/validator/core/data_transfer"
"catface/app/model"
"catface/app/service/upload_file"
"catface/app/utils/response"
"path/filepath"
@ -34,10 +35,24 @@ func (e *Encounters) Create(context *gin.Context) {
context.Set(consts.ValidatorPrefix+"avatar_height", avatarHeight)
context.Set(consts.ValidatorPrefix+"avatar_width", int(avatarWidth))
}
// 将 Array 转化为 string 类型
animals_id := data_transfer.GetIntSlice(context, "animals_id")
if res, err := data_transfer.ConvertSliceToString(animals_id); err == nil {
context.Set(consts.ValidatorPrefix+"animals_id", res)
} else {
response.Fail(context, consts.ValidatorParamsCheckFailCode, consts.ValidatorParamsCheckFailMsg, "")
return
}
if res, err := data_transfer.ConvertSliceToString(photos); err == nil {
context.Set(consts.ValidatorPrefix+"photos", res)
} else {
response.Fail(context, consts.ValidatorParamsCheckFailCode, consts.ValidatorParamsCheckFailMsg, "")
return
}
// Real Insert
// if model.CreateEncounterFactory("").InsertDate(context) {
// response.Success(context, consts.CurdStatusOkMsg, "")
// } else {
// response.Fail(context, consts.CurdCreatFailCode, consts.CurdCreatFailMsg+",新增错误", "")
// }
if model.CreateEncounterFactory("").InsertDate(context) {
response.Success(context, consts.CurdStatusOkMsg, "")
} else {
response.Fail(context, consts.CurdCreatFailCode, consts.CurdCreatFailMsg+",新增错误", "")
}
}

View File

@ -5,7 +5,9 @@ import (
"catface/app/global/variable"
"catface/app/http/validator/core/interf"
"encoding/json"
"fmt"
"reflect"
"strings"
"time"
"github.com/gin-gonic/gin"
@ -73,3 +75,15 @@ func GetIntSlice(context *gin.Context, key string) (ss []int) {
context.Set(consts.ValidatorPrefix+key, ss)
return
}
// ConvertSliceToString 是一个泛型函数,可以接受任何类型的切片
func ConvertSliceToString[T any](slice []T) (string, error) {
var strBuilder strings.Builder
for i, v := range slice {
if i > 0 {
strBuilder.WriteString(",")
}
strBuilder.WriteString(fmt.Sprintf("%v", v))
}
return strBuilder.String(), nil
}

View File

@ -15,11 +15,11 @@ func CreateEncounterFactory(sqlType string) *Encounter {
type Encounter struct { // Encounter 或者称为 post指的就是 Human 单次的记录。
BaseModel
// TAG 外键关联
UserId int
UsersModel UsersModel
AnimalsId string `gorm:"size:20"` // TODO 关联对象存在上限
UsersModelId int `gorm:"column:user_id" json:"user_id"`
UsersModel UsersModel
AnimalsId string `gorm:"size:20"` // TODO 关联对象存在上限
Title string `gorm:"size:20"`
Title string `gorm:"size:20;column:title"`
Content string
// Time 从 CreatedAt 中解析

View File

@ -15,3 +15,13 @@ func TestUsers(t *testing.T) {
t.Error(err)
}
}
func TestEncouner(t *testing.T) {
Init()
encounter := model.Encounter{}
err := DB.AutoMigrate(&encounter)
if err != nil {
t.Error(err)
}
}