diff --git a/api/dao/BaseToken.go b/api/dao/BaseToken.go index 3c01b67..df3435d 100644 --- a/api/dao/BaseToken.go +++ b/api/dao/BaseToken.go @@ -135,6 +135,8 @@ func (r *BaseTokenDao) GetBaseTokenListSearch(req requests.GetTokenList) (m []*m // 构建查询条件 query := global.Db.Model(&model.BaseToken{}) + query = query.Preload("BaseTokenItem") + // 主键id if req.TokenId != "" { query = query.Where("token_id = ?", req.TokenId) diff --git a/api/dto/BaseToken.go b/api/dto/BaseToken.go index 6291939..7546eb8 100644 --- a/api/dto/BaseToken.go +++ b/api/dto/BaseToken.go @@ -7,10 +7,11 @@ import ( // BaseTokenDto 基础数据-飞花令 type BaseTokenDto struct { - TokenId string `json:"token_id"` // 主键id - TokenName string `json:"token_name"` // 名称 - CreatedAt model.LocalTime `json:"created_at"` // 创建时间 - UpdatedAt model.LocalTime `json:"updated_at"` // 修改时间 + TokenId string `json:"token_id"` // 主键id + TokenName string `json:"token_name"` // 名称 + BaseTokenItemCount int `json:"base_token_item_count"` // 明细数量 + CreatedAt model.LocalTime `json:"created_at"` // 创建时间 + UpdatedAt model.LocalTime `json:"updated_at"` // 修改时间 } // GetBaseTokenDto 详情 @@ -37,6 +38,9 @@ func GetBaseTokenListDto(m []*model.BaseToken) []*BaseTokenDto { UpdatedAt: v.UpdatedAt, } + // 加载明细数量 + response = response.LoadTokenItemCount(v.BaseTokenItem) + // 将转换后的结构体添加到新切片中 responses[i] = response } @@ -44,3 +48,9 @@ func GetBaseTokenListDto(m []*model.BaseToken) []*BaseTokenDto { return responses } + +// LoadTokenItemCount 加载明细数量 +func (r *BaseTokenDto) LoadTokenItemCount(m []*model.BaseTokenItem) *BaseTokenDto { + r.BaseTokenItemCount = len(m) + return r +} diff --git a/api/model/BaseToken.go b/api/model/BaseToken.go index 087c49d..4906419 100644 --- a/api/model/BaseToken.go +++ b/api/model/BaseToken.go @@ -11,6 +11,7 @@ type BaseToken struct { TokenId int64 `gorm:"column:token_id;type:bigint(19);primary_key;comment:主键id" json:"token_id"` TokenName string `gorm:"column:token_name;type:varchar(100);comment:名称" json:"token_name"` Model + BaseTokenItem []*BaseTokenItem `gorm:"foreignKey:TokenId;references:token_id" json:"base_token_item"` } func (m *BaseToken) TableName() string {