```
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful

feat(utils): 添加切片元素计数功能

新增CountSliceElements函数用于统计切片中各元素的出现次数,
返回map[元素]出现次数的映射关系,支持任意可比较类型的切片元素。

fix(config): 调整地图配置模型默认值设置

修改MapPit结构体中的MinLevel和MaxLevel字段设置,
将数据库约束改为非空并设置默认值为1,确保等级范围配置的有效性。

ref
This commit is contained in:
昔念
2026-02-26 22:32:15 +08:00
parent 21ae004979
commit bfafd5789d
4 changed files with 36 additions and 34 deletions

View File

@@ -59,42 +59,27 @@ func (s *ItemService) UPDATE(id uint32, count int) {
}
}
func (s *ItemService) UPDATEM(id []uint32, count int) {
if cool.Config.ServerInfo.IsVip != 0 && count < 0 {
return
}
if len(id)==0 {
return
}
m := s.dbm(s.Model)
ok, err := m.Where("item_id", id).Exist()
if err != nil {
panic(err)
}
if ok {
_, err := s.dbm(s.Model).WhereIn("item_id", id).Increment("item_cnt", count)
if err != nil {
panic(err)
}
// func (s *ItemService) UPDATEM(ids map[uint32]int) {
// if cool.Config.ServerInfo.IsVip != 0 {
} else {
m := s.dbm(s.Model)
data :=g.List{}
for _, v := range id {
data=append(data, g.Map{
"player_id": s.userid,
"item_id": v,
"item_cnt": count,
"is_vip": cool.Config.ServerInfo.IsVip,
})
}
// return
// }
m.Data(data).Insert()
}
// m := s.dbm(s.Model)
// data := g.List{}
// for k, v := range ids {
// data = append(data, g.Map{
// "player_id": s.userid,
// "item_id": k,
// "item_cnt": v,
// "is_vip": cool.Config.ServerInfo.IsVip,
// })
// }
}
// m.Data(data).Insert()
// }
func (s *ItemService) CheakItem(id uint32) int64 {
var ttt model.Item
m := s.dbm(s.Model)