12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- package service
- import (
- "encoding/json"
- "gadmin/config"
- "gadmin/internal/admin/consts"
- "gadmin/internal/admin/forms"
- "gadmin/internal/gorm/query"
- "gadmin/utility/player"
- "gadmin/utility/serializer"
- "github.com/gin-gonic/gin"
- "sort"
- )
- var PlayerMaterial = new(sPlayerMaterial)
- type sPlayerMaterial struct{}
- func (s *sPlayerMaterial) Equipments(ctx *gin.Context, req forms.PlayerEquipmentsReq) serializer.Response {
- DB, err := player.GetDBByUserId(req.PlayerId)
- if err != nil {
- return serializer.Err(consts.CodeParamErr, "GetDBByUserId err", err)
- }
- var (
- q = query.Use(config.GDBGroup[DB]).PlayerMaterial
- m = q.WithContext(ctx).Select(q.Equipments).Where(q.Playerid.Eq(req.PlayerId))
- equipments string
- dropEquipmentMap map[string]*forms.DropEquipment
- dropEquipmentList forms.DropEquipmentList
- models forms.PlayerEquipmentsRes
- )
- if err = m.Scan(&equipments); err != nil {
- return serializer.Err(
- consts.CodeParamErr,
- "查询出错 lists",
- err,
- )
- }
- if equipments == "" {
- models.List = nil
- return serializer.Suc(models)
- }
- err = json.Unmarshal([]byte(equipments), &dropEquipmentMap)
- if err != nil {
- return serializer.Err(
- consts.CodeParamErr,
- "转换出错",
- err,
- )
- }
- for _, v := range dropEquipmentMap {
- dropEquipmentList = append(dropEquipmentList, *v)
- }
- sort.Sort(dropEquipmentList)
- models.List = dropEquipmentList
- return serializer.Suc(models)
- }
|