```
feat(common): 升级 gf 框架版本至 v2.8.0 并优化模型时间字段
- 将 `github.com/gogf/gf/contrib/drivers/pgsql/v2` 和 redis 依赖从 v2.6.3 升级到 v2.8.0
- 使用 `*gtime.Time` 替代标准库 `time.Time` 以支持更灵活的时间处理
- 移除 Model 结构体中 CreateTime、UpdateTime 等字段的默认初始化逻辑
- 注释掉已弃用的 GDBM 函数,推荐使用 DBM
- 在 DBM 中添加 OnConflict("id") 配置以增强写入安全性
- 调整部分代码结构与调用方式以适配新版框架行为
```
This commit is contained in:
@@ -22,8 +22,7 @@ github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
|
||||
github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
|
||||
github.com/go-sourcemap/sourcemap v2.1.3+incompatible h1:W1iEw64niKVGogNgBN3ePyLFfuisuzeidWPMPWmECqU=
|
||||
github.com/go-sourcemap/sourcemap v2.1.3+incompatible/go.mod h1:F8jJfvm2KbVjc5NqelyYJmf/v5J0dwNLS2mL4sNA1Jg=
|
||||
github.com/gogf/gf/v2 v2.8.0 h1:CjxhbMiE7oqf6K8ZtGuKt3dQEwK4vL6LhiI+dI7tJGU=
|
||||
github.com/gogf/gf/v2 v2.8.0/go.mod h1:Qu8nimKt9aupJQcdUL85tWF4Mfxocz97zUt8UC4abVI=
|
||||
|
||||
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
|
||||
github.com/google/pprof v0.0.0-20230207041349-798e818bf904 h1:4/hN5RUoecvl+RmJRE2YxKWtnnQls6rQjjW5oV7qg2U=
|
||||
github.com/google/pprof v0.0.0-20230207041349-798e818bf904/go.mod h1:uglQLonpP8qtYCYyzA+8c/9qtqgA3qsXGYqCPKARAFg=
|
||||
|
||||
@@ -18,6 +18,8 @@ func (s *DoneService) Exec(data model.EnumMilestone, id []uint32, fn func(*model
|
||||
if !ook { //不需要保存
|
||||
return
|
||||
}
|
||||
tt.PlayerID = uint64(s.userid)
|
||||
|
||||
_, err := m.Save(tt)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
|
||||
@@ -54,7 +54,7 @@ func (s *InfoService) Reg(nick string, color uint32) {
|
||||
|
||||
func (s *InfoService) Person(userid uint32) *model.PlayerInfo {
|
||||
|
||||
m := cool.GDBM(s.Model).Where("player_id", userid)
|
||||
m := cool.DBM(s.Model).Where("player_id", userid)
|
||||
var tt model.PlayerEX
|
||||
err := m.Scan(&tt)
|
||||
if err != nil {
|
||||
|
||||
@@ -84,8 +84,6 @@ func (s *LoginService) SetServerID(OnlineID uint16, Port uint16) error {
|
||||
tttt.Port = Port
|
||||
tttt.OnlineID = OnlineID
|
||||
|
||||
//t.Quit(int32(tttt.Port))
|
||||
//m.Data(&model.ServerList{OnlineID: OnlineID, Port: Port}).Where("online_id", OnlineID).Update()
|
||||
m.Save(tttt)
|
||||
return nil
|
||||
|
||||
|
||||
@@ -3,44 +3,41 @@ package service
|
||||
import (
|
||||
"blazing/cool"
|
||||
"blazing/modules/blazing/model"
|
||||
"encoding/json"
|
||||
"time"
|
||||
)
|
||||
|
||||
func Exec[T cool.UserModel, F any](userid uint32, s *cool.Service, processFunc func(F) F) bool {
|
||||
//todo待测试
|
||||
var player T
|
||||
// func Exec[T cool.UserModel, F any](userid uint32, s *cool.Service, processFunc func(F) F) bool {
|
||||
// //todo待测试
|
||||
// var player T
|
||||
|
||||
m1 := cool.DBM(s.Model).Where("player_id", userid)
|
||||
m1.Scan(&player)
|
||||
// 方法2:使用反射获取
|
||||
// 获取反射值对象
|
||||
// m1 := cool.DBM(s.Model).Where("player_id", userid)
|
||||
// m1.Scan(&player)
|
||||
// // 方法2:使用反射获取
|
||||
// // 获取反射值对象
|
||||
|
||||
ttt := player
|
||||
// ttt := player
|
||||
|
||||
//fmt.Println(dataField.Interface().(string))
|
||||
var tt F
|
||||
err := json.Unmarshal([]byte(ttt.GetData()), &tt)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
tt1 := processFunc(tt)
|
||||
tmep, err := json.Marshal(tt1)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
// //fmt.Println(dataField.Interface().(string))
|
||||
// var tt F
|
||||
// err := json.Unmarshal([]byte(ttt.GetData()), &tt)
|
||||
// if err != nil {
|
||||
// panic(err)
|
||||
// }
|
||||
// tt1 := processFunc(tt)
|
||||
// tmep, err := json.Marshal(tt1)
|
||||
// if err != nil {
|
||||
// panic(err)
|
||||
// }
|
||||
|
||||
ttt.SetData(string(tmep))
|
||||
m1.Save(player)
|
||||
return false
|
||||
}
|
||||
// ttt.SetData(string(tmep))
|
||||
// m1.Save(player)
|
||||
// return false
|
||||
// }
|
||||
|
||||
// 获取任务信息
|
||||
func (s *TaskService) Exec(id uint32, t func(*model.TaskEX) bool) {
|
||||
var gg model.TaskEX
|
||||
m1 := cool.GDBM(s.Model).
|
||||
Where("player_id", s.userid).
|
||||
Where("task_id", id)
|
||||
m1 := s.GModel(s.Model).Where("task_id", id)
|
||||
m1.Scan(&gg)
|
||||
tre := t(&gg)
|
||||
if !tre { //不需要更新
|
||||
|
||||
Reference in New Issue
Block a user