68 lines
1.8 KiB
Go
68 lines
1.8 KiB
Go
package dto
|
||
|
||
import (
|
||
"fmt"
|
||
"vote-admin-api/api/model"
|
||
)
|
||
|
||
// UserDto 用户表
|
||
type UserDto struct {
|
||
UserId string `json:"user_id"` // 用户id
|
||
UserStatus int `json:"user_status"` // 状态(1:正常 2:禁用)
|
||
OpenId string `json:"open_id"` // 用户微信标识
|
||
AppIden string `json:"app_iden"` // app唯一标识
|
||
LoginAt *model.LocalTime `json:"login_at"` // 登陆时间
|
||
LoginIp string `json:"login_ip"` // 登陆ip
|
||
CreatedAt model.LocalTime `json:"created_at"` // 创建时间
|
||
UpdatedAt model.LocalTime `json:"updated_at"` // 更新时间
|
||
}
|
||
|
||
// UserVoteDto 用户投票记录
|
||
type UserVoteDto struct {
|
||
Id string `json:"id"` // 图文/视频标识
|
||
AppIden string `json:"app_iden"` // app唯一标识
|
||
OpenId string `json:"open_id"` // open_id
|
||
Title string `json:"title"` // 标题
|
||
VotedAt string `json:"voted_at"` // 投票时间
|
||
}
|
||
|
||
// GetUserListDto 列表
|
||
func GetUserListDto(m []*model.User) []*UserDto {
|
||
// 处理返回值
|
||
responses := make([]*UserDto, len(m))
|
||
|
||
if len(m) > 0 {
|
||
for i, v := range m {
|
||
response := &UserDto{
|
||
UserId: fmt.Sprintf("%d", v.UserId),
|
||
UserStatus: v.UserStatus,
|
||
OpenId: v.OpenId,
|
||
AppIden: v.AppIden,
|
||
LoginAt: v.LoginAt,
|
||
LoginIp: v.LoginIp,
|
||
CreatedAt: v.CreatedAt,
|
||
UpdatedAt: v.UpdatedAt,
|
||
}
|
||
|
||
// 将转换后的结构体添加到新切片中
|
||
responses[i] = response
|
||
}
|
||
}
|
||
|
||
return responses
|
||
}
|
||
|
||
// GetUserDto 详情-问题
|
||
func GetUserDto(m *model.User) *UserDto {
|
||
return &UserDto{
|
||
UserId: fmt.Sprintf("%d", m.UserId),
|
||
UserStatus: m.UserStatus,
|
||
OpenId: m.OpenId,
|
||
AppIden: m.AppIden,
|
||
LoginAt: m.LoginAt,
|
||
LoginIp: m.LoginIp,
|
||
CreatedAt: m.CreatedAt,
|
||
UpdatedAt: m.UpdatedAt,
|
||
}
|
||
}
|