package model import ( "net/http" "time" pasturePb "gitee.com/xuyiping_admin/go_proto/proto/go/backend/cow" operationPb "gitee.com/xuyiping_admin/go_proto/proto/go/backend/operation" ) type SystemUser struct { Id int64 `json:"id"` Name string `json:"name"` NickName string `json:"nick_name"` Mobile string `json:"mobile"` Password string `json:"password"` Avatar string `json:"avatar"` RoleId int64 `json:"role_id"` DeptId int64 `json:"dept_id"` Remarks string `json:"remarks"` Gender pasturePb.Genders_Kind `json:"gender"` IsShow pasturePb.IsShow_Kind `json:"is_show"` IsDelete pasturePb.IsShow_Kind `json:"is_delete"` CreatedAt int64 `json:"created_at"` UpdatedAt int64 `json:"updated_at"` } func (s *SystemUser) TableName() string { return "system_user" } func (s *SystemUser) SystemUserFormat(userRoles []*SystemRole, pastures []*operationPb.UserPasture) *operationPb.UserAuth { roles := make([]*operationPb.UserRole, len(userRoles)) for k, v := range userRoles { roles[k] = &operationPb.UserRole{ Id: int32(v.Id), Name: v.Name, } } return &operationPb.UserAuth{ Code: http.StatusOK, Msg: "ok", Data: &operationPb.UserAuthData{ UserName: s.Name, Roles: roles, Pastures: pastures, }, } } type SystemUserSlice []*SystemUser func (s SystemUserSlice) ToPB(deptList []*SystemDept, roleList []*SystemRole) []*pasturePb.SearchUserRequest { res := make([]*pasturePb.SearchUserRequest, len(s)) for i, v := range s { deptName := "" for _, d := range deptList { if v.DeptId == d.Id { deptName = d.Name break } } roleName := "" for _, r := range roleList { if v.RoleId == r.Id { roleName += r.Name break } } res[i] = &pasturePb.SearchUserRequest{ Id: int32(v.Id), Name: v.Name, Mobile: v.Mobile, NickName: v.NickName, Avatar: v.Avatar, Gender: v.Gender, IsShow: v.IsShow, IsDelete: v.IsDelete, Remarks: v.Remarks, DeptId: int32(v.DeptId), DeptName: deptName, RoleId: int32(v.RoleId), RoleName: roleName, CreatedAtFormat: time.Unix(v.CreatedAt, 0).Format(LayoutTime), UpdatedAtFormat: time.Unix(v.UpdatedAt, 0).Format(LayoutTime), } } return res } func (s *SystemUser) ToPb() *operationPb.AddSystemUser { return &operationPb.AddSystemUser{ Id: int32(s.Id), Name: s.Name, CreatedAt: int32(s.CreatedAt), CreatedAtFormat: time.Unix(s.CreatedAt, 0).Format(LayoutTime), RoleIds: []int32{}, } } func (c SystemUserSlice) ToPB2() []*pasturePb.ConfigOptionsList { res := make([]*pasturePb.ConfigOptionsList, len(c)) for i, d := range c { res[i] = &pasturePb.ConfigOptionsList{ Value: int32(d.Id), Label: d.Name, Disabled: true, } } return res }