feat(pet): 优化宠物仓库和背包功能的数据库操作

- 使用copier.CopyWithOption替代直接赋值,确保深拷贝操作
- 移除冗余的model导入,简化代码结构
- 重构PetReleaseToWarehouse和PetRetrieveFromWarehouse方法,
  直接调用UPdateFree方法更新宠物状态
- 优化TogglePetBagWarehouse方法中的宠物数据更新逻辑
- 添加
This commit is contained in:
2025-12-31 01:35:20 +08:00
parent b86ab8d5a9
commit be70f50939
4 changed files with 34 additions and 46 deletions

View File

@@ -37,17 +37,23 @@ func (s *PetService) PetCount(flag int) int {
return ret
}
func (s *PetService) UPdateFree(ctime uint32, free uint32) {
func (s *PetService) PetInfo_One_exec(cachetime uint32, t func(*model.PetEX)) {
cool.DBM(s.Model).Where("player_id", s.userid).Where("catch_time", ctime).Data(
m := cool.DBM(s.Model).Where("player_id", s.userid).Where("catch_time", cachetime)
"free", free,
).Update()
}
func (s *PetService) UPdate(t model.PetInfo) {
m := cool.DBM(s.Model).Where("player_id", s.userid).Where("catch_time", t.CatchTime)
var tt model.PetEX
m.Scan(&tt)
if tt.CatchTime == 0 {
return
}
tt.Data.CatchTime = tt.CatchTime
t(&tt)
tt.Data = t
_, err := m.OnConflict("catch_time").Update(tt)
if err != nil {
panic(err)