108 lines
3.1 KiB
Go
108 lines
3.1 KiB
Go
package serializer
|
|
|
|
import (
|
|
"github.com/fonchain_enterprise/micro-account/api/account"
|
|
"github.com/fonchain_enterprise/micro-account/pkg/common/utils"
|
|
"github.com/fonchain_enterprise/micro-account/pkg/model"
|
|
)
|
|
|
|
type User struct {
|
|
ID uint `json:"id"`
|
|
Account string `json:"account"`
|
|
NickName string `json:"nickName"`
|
|
Type int `json:"type"`
|
|
TelNum string `json:"telNum"`
|
|
Status string `json:"status"`
|
|
Avatar string `json:"avatar"`
|
|
CreateAt int64 `json:"createAt"`
|
|
RealNameID uint `json:"realNameId"`
|
|
RealName string `json:"realName"`
|
|
IDNum string `json:"idNum"`
|
|
}
|
|
|
|
// BuildUser 序列化用户
|
|
func BuildUser(user *model.User) *account.AccountInfo {
|
|
|
|
var realName = ""
|
|
var IdNum = ""
|
|
var videos []*account.TrainVideo
|
|
|
|
//if user.RealName != nil {
|
|
// realName = user.RealName.Name
|
|
// IdNum, _ = user.RealName.GetIDNum(user)
|
|
//}
|
|
|
|
//extend := &account.Extend{
|
|
// JumpTo: user.Extend.JumpTo,
|
|
// Lang: user.Extend.Lang,
|
|
// CanScan: user.Extend.CanScan,
|
|
// ResolutionRatio: user.Extend.ResolutionRatio,
|
|
//}
|
|
//
|
|
//if user.InvitationCode == "" {
|
|
// user.InvitationCode, _ = SynInvitationCode(user.ID)
|
|
//}
|
|
|
|
return &account.AccountInfo{
|
|
ID: uint64(user.ID),
|
|
TelNum: user.TelNum,
|
|
Status: int32(user.Status),
|
|
//Avatar: user.AvatarURL(),
|
|
CreateAt: user.CreatedAt.Format("2006-01-02 15:04:05"),
|
|
RealName: realName,
|
|
Domain: *user.Domain,
|
|
IDNum: IdNum,
|
|
TrainVideos: videos,
|
|
UpdatedAt: user.UpdatedAt.Format("2006-01-02 15:04:05"),
|
|
}
|
|
}
|
|
func BuildUsers(items []*model.User) (users []*account.AccountInfo) {
|
|
for _, item := range items {
|
|
user := BuildUser(item)
|
|
users = append(users, user)
|
|
}
|
|
return users
|
|
}
|
|
func BuildUserList(user []*model.User) []*account.UserListInfo {
|
|
if len(user) == 0 {
|
|
return []*account.UserListInfo{}
|
|
}
|
|
var userList []*account.UserListInfo
|
|
for _, i := range user {
|
|
userList = append(userList, &account.UserListInfo{
|
|
Id: uint64(i.ID),
|
|
Status: int32(i.Status),
|
|
Name: i.RealName.Name,
|
|
Sex: int32(i.RealName.Sex),
|
|
Nationality: i.RealName.Nationality,
|
|
DocumentType: int32(i.RealName.DocumentType),
|
|
CertificatePicture: i.RealName.CertificatePicture,
|
|
Validity: i.RealName.Validity,
|
|
PlaceOfResidence: i.RealName.PlaceOfResidence,
|
|
GroupPhoto: i.RealName.GroupPhoto,
|
|
Attachment: i.RealName.Attachment,
|
|
RegistrationTime: i.RegistrationTime,
|
|
AuditTime: i.AuditTime,
|
|
SubNum: i.SubNum,
|
|
NotPassRemarks: i.NotPassRemarks,
|
|
TelNum: i.TelNum,
|
|
})
|
|
}
|
|
return userList
|
|
}
|
|
func SynInvitationCode(userId uint) (string, error) {
|
|
|
|
//保存实名信息
|
|
var user *model.User
|
|
|
|
if err := model.DB.Model(&model.User{}).First(&user, userId).Error; err != nil {
|
|
return "", err
|
|
}
|
|
|
|
invitationCode := utils.DecimalToAny(int(userId))
|
|
|
|
updateMap := map[string]interface{}{"invitation_code": invitationCode}
|
|
return invitationCode, model.DB.Model(&model.User{}).Where(&model.User{ID: userId}).Updates(updateMap).Error
|
|
|
|
}
|