From c627fc911217db643bec5114cfecf88c2396e7c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=96=8C?= <259278618@qq.com> Date: Mon, 17 Aug 2026 13:46:35 +0800 Subject: [PATCH] 1 --- server/data/slogan.db | Bin 204800 -> 204800 bytes server/data/slogan_cps.db | Bin 73728 -> 73728 bytes server/styleagent/dao/avatar_model_dao.go | 48 ++++++++++++------ .../styleagent/model/dto/avatar_model_dto.go | 9 ++-- .../styleagent/model/entity/avatar_model.go | 4 -- .../service/avatar_model_service.go | 5 +- 6 files changed, 37 insertions(+), 29 deletions(-) diff --git a/server/data/slogan.db b/server/data/slogan.db index 59ee46d008a31fde4cf362126454e278ba15c288..4f26c45956047a6a240284af55e932dd892850f8 100644 GIT binary patch delta 266 zcmZoTz|(MmXM(gKD+2?A5fF<4u_6%LPt-AHWo6Jyd$loTkv#_w8$StsDgSjoy5N<~-kgLYkq7C7;*8;iHTrF%+t}&3idGm$W-i(v~aR#vPb}+qe Rj(XJ|^@?$O)GMZCrT`DfP09cO delta 158 zcmZoTz|(MmXM(gK0}vPiu_zEL0ckDq2RPM*iQ2PneCusM$H598+loQ=%Q9dFw^-ZF0Qc*|5_1OPoIEIR-I diff --git a/server/data/slogan_cps.db b/server/data/slogan_cps.db index 35ba48387ed63ed7758c7aeb9509fecdeea5c6ff..b9c280e8074a1da5f7d895744873ea9e384d1cbb 100644 GIT binary patch delta 177 zcmZoTz|wGlWr8&0!ih4@j0-m=nA)=$$+0loGflq3CdtJ3WAiq9zYENY94XV;1sF~F zI8Sm;;SA@L;JC}NkRxTYqJR_!vsH7&Erw7U~nnQS2%_Y+XxftPkjhc%mPyC_{(`wvYH1#2)9xGVq_WzQMjBEhF CjWOK- delta 58 zcmV-A0LA}+zyyH61dtm6l#v`m0hF;|H9rO{9s~nF0+ZYZ83F;LjV8( diff --git a/server/styleagent/dao/avatar_model_dao.go b/server/styleagent/dao/avatar_model_dao.go index 1eb7fbb..b13549c 100644 --- a/server/styleagent/dao/avatar_model_dao.go +++ b/server/styleagent/dao/avatar_model_dao.go @@ -17,29 +17,47 @@ type avatarModelDao struct{} func init() { ctx := context.Background() _, err := g.DB().Exec(ctx, `CREATE TABLE IF NOT EXISTS `+consts.TableNameAvatarModel+` ( - id INTEGER PRIMARY KEY AUTOINCREMENT, - user_id INTEGER NOT NULL UNIQUE, - face_template_id INTEGER NOT NULL DEFAULT 0, - body_template_id INTEGER NOT NULL DEFAULT 0, - skin_tone_index INTEGER NOT NULL DEFAULT 0, - face_texture_url TEXT NOT NULL DEFAULT '', - glb_url TEXT NOT NULL DEFAULT '', - build_status TEXT NOT NULL DEFAULT 'pending', - error TEXT NOT NULL DEFAULT '', - params_snapshot TEXT NOT NULL DEFAULT '', - created_at DATETIME DEFAULT (datetime('now','localtime')), - updated_at DATETIME DEFAULT (datetime('now','localtime')) + id INTEGER PRIMARY KEY AUTOINCREMENT, + user_id INTEGER NOT NULL UNIQUE, + glb_url TEXT NOT NULL DEFAULT '', + build_status TEXT NOT NULL DEFAULT 'pending', + error TEXT NOT NULL DEFAULT '', + params_snapshot TEXT NOT NULL DEFAULT '', + created_at DATETIME DEFAULT (datetime('now','localtime')), + updated_at DATETIME DEFAULT (datetime('now','localtime')) )`) if err != nil { g.Log().Warningf(ctx, "create avatar_model table failed: %v", err) } + // 迁移:移除已废弃列(模板/肤色/纹理从未写入,frames_url 已从代码删除) + for _, col := range []string{"face_template_id", "body_template_id", "skin_tone_index", "face_texture_url", "frames_url"} { + if !avatarColumnExists(ctx, consts.TableNameAvatarModel, col) { + continue + } + if _, err := g.DB().Exec(ctx, "ALTER TABLE "+consts.TableNameAvatarModel+" DROP COLUMN "+col); err != nil { + g.Log().Warningf(ctx, "drop avatar_model column %s failed: %v", col, err) + } + } +} + +func avatarColumnExists(ctx context.Context, table, column string) bool { + rows, err := g.DB().Ctx(ctx).Query(ctx, "PRAGMA table_info("+table+")") + if err != nil { + g.Log().Warningf(ctx, "query avatar_model columns failed: %v", err) + return false + } + for _, r := range rows { + if r["name"].String() == column { + return true + } + } + return false } func (d *avatarModelDao) Insert(ctx context.Context, data *entity.AvatarModel) (int64, error) { r, err := g.DB().Exec(ctx, - "INSERT INTO "+consts.TableNameAvatarModel+" (user_id, face_template_id, body_template_id, skin_tone_index, face_texture_url, glb_url, build_status, error, params_snapshot, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, datetime('now','localtime'), datetime('now','localtime'))", - data.UserId, data.FaceTemplateId, data.BodyTemplateId, data.SkinToneIndex, - data.FaceTextureUrl, data.GlbUrl, data.BuildStatus, data.Error, data.ParamsSnapshot) + "INSERT INTO "+consts.TableNameAvatarModel+" (user_id, glb_url, build_status, error, params_snapshot, created_at, updated_at) VALUES (?, ?, ?, ?, ?, datetime('now','localtime'), datetime('now','localtime'))", + data.UserId, data.GlbUrl, data.BuildStatus, data.Error, data.ParamsSnapshot) if err != nil { return 0, err } diff --git a/server/styleagent/model/dto/avatar_model_dto.go b/server/styleagent/model/dto/avatar_model_dto.go index 150a7aa..3f11c84 100644 --- a/server/styleagent/model/dto/avatar_model_dto.go +++ b/server/styleagent/model/dto/avatar_model_dto.go @@ -18,10 +18,7 @@ type AvatarGetReq struct { } type AvatarGetRes struct { - FaceTemplateId int `json:"face_template_id"` - BodyTemplateId int `json:"body_template_id"` - SkinToneIndex int `json:"skin_tone_index"` - GlbUrl string `json:"glb_url"` - BuildStatus string `json:"build_status"` - Error string `json:"error"` + GlbUrl string `json:"glb_url"` + BuildStatus string `json:"build_status"` + Error string `json:"error"` } diff --git a/server/styleagent/model/entity/avatar_model.go b/server/styleagent/model/entity/avatar_model.go index 8e7ea82..36eaffc 100644 --- a/server/styleagent/model/entity/avatar_model.go +++ b/server/styleagent/model/entity/avatar_model.go @@ -5,10 +5,6 @@ import "github.com/gogf/gf/v2/os/gtime" type AvatarModel struct { Id int64 `orm:"id" json:"id"` UserId int64 `orm:"user_id" json:"user_id"` - FaceTemplateId int `orm:"face_template_id" json:"face_template_id"` - BodyTemplateId int `orm:"body_template_id" json:"body_template_id"` - SkinToneIndex int `orm:"skin_tone_index" json:"skin_tone_index"` - FaceTextureUrl string `orm:"face_texture_url" json:"face_texture_url"` GlbUrl string `orm:"glb_url" json:"glb_url"` BuildStatus string `orm:"build_status" json:"build_status"` Error string `orm:"error" json:"error"` diff --git a/server/styleagent/service/avatar_model_service.go b/server/styleagent/service/avatar_model_service.go index a651e6c..ef116a8 100644 --- a/server/styleagent/service/avatar_model_service.go +++ b/server/styleagent/service/avatar_model_service.go @@ -66,7 +66,6 @@ func (s *avatarService) Build(ctx context.Context, userId int64) (*dto.AvatarBui return avatarBuildOutcome{id: existing.Id}, nil } if err := dao.AvatarModel.Update(ctx, existing.Id, map[string]any{ - "face_template_id": 0, "body_template_id": 0, "skin_tone_index": 0, "glb_url": "", "build_status": consts.AvatarBuildProcessing, "error": "", "params_snapshot": snapshot, @@ -201,9 +200,7 @@ func (s *avatarService) Get(ctx context.Context, userId int64) (*dto.AvatarGetRe return &dto.AvatarGetRes{}, nil } return &dto.AvatarGetRes{ - FaceTemplateId: a.FaceTemplateId, BodyTemplateId: a.BodyTemplateId, - SkinToneIndex: a.SkinToneIndex, GlbUrl: a.GlbUrl, - BuildStatus: a.BuildStatus, Error: a.Error, + GlbUrl: a.GlbUrl, BuildStatus: a.BuildStatus, Error: a.Error, }, nil }