package dto import ( "fmt" "knowledge/api/model" ) // BaseTokenDto 基础数据-飞花令 type BaseTokenDto struct { 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 详情 func GetBaseTokenDto(m *model.BaseToken) *BaseTokenDto { return &BaseTokenDto{ TokenId: fmt.Sprintf("%d", m.TokenId), TokenName: m.TokenName, CreatedAt: m.CreatedAt, UpdatedAt: m.UpdatedAt, } } // GetBaseTokenListDto 列表 func GetBaseTokenListDto(m []*model.BaseToken) []*BaseTokenDto { // 处理返回值 responses := make([]*BaseTokenDto, len(m)) if len(m) > 0 { for i, v := range m { response := &BaseTokenDto{ TokenId: fmt.Sprintf("%d", v.TokenId), TokenName: v.TokenName, CreatedAt: v.CreatedAt, UpdatedAt: v.UpdatedAt, } // 加载明细数量 response = response.LoadTokenItemCount(v.BaseTokenItem) // 将转换后的结构体添加到新切片中 responses[i] = response } } return responses } // LoadTokenItemCount 加载明细数量 func (r *BaseTokenDto) LoadTokenItemCount(m []*model.BaseTokenItem) *BaseTokenDto { r.BaseTokenItemCount = len(m) return r }