knowledge-api/api/dto/BaseToken.go

57 lines
1.5 KiB
Go

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
}