| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 | package modelimport (	"fmt"	operationPb "gitee.com/xuyiping_admin/go_proto/proto/go/backend/operation"	"net/http"	"strconv"	"strings"	"time")type SystemUser struct {	Id           int64                   `json:"id"`	Name         string                  `json:"name"`	EmployeeName string                  `json:"employee_name"`	Phone        string                  `json:"phone"`	Password     string                  `json:"password"`	RoleIds      string                  `json:"role_ids"`	CreateUser   string                  `json:"create_user"`	IsShow       operationPb.IsShow_Kind `json:"is_show"`	IsDelete     operationPb.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,			Phone:        s.Phone,			EmployeeName: s.EmployeeName,			Roles:        roles,			Pastures:     pastures,		},	}}func (s *SystemUser) SystemUserRoleFormat(req *operationPb.AddSystemUser) {	roleIds := ""	for _, role := range req.Roles {		roleIds += fmt.Sprintf("%d,", role.Id)	}	if roleIds != "" {		s.RoleIds = strings.TrimRight(roleIds, ",")	}}func (s *SystemUser) SystemUserRoleToSlice() []int {	roleIds := make([]int, 0)	if s.RoleIds != "" {		roleIdsStr := strings.Split(s.RoleIds, ",")		for _, v := range roleIdsStr {			roleIdsInt, _ := strconv.Atoi(v)			roleIds = append(roleIds, roleIdsInt)		}	}	return roleIds}type SystemUserSlice []*SystemUserfunc (s SystemUserSlice) ToPB(roleList []*SystemRole) []*operationPb.AddSystemUser {	res := make([]*operationPb.AddSystemUser, len(s))	for i, v := range s {		res[i] = &operationPb.AddSystemUser{			Id:              int32(v.Id),			Name:            v.Name,			Phone:           v.Phone,			EmployeeName:    v.EmployeeName,			CreateUser:      v.CreateUser,			IsShow:          v.IsShow,			CreatedAt:       int32(v.CreatedAt),			CreatedAtFormat: time.Unix(v.CreatedAt, 0).Format(LayoutTime),			RoleName:        strings.TrimRight(v.UserRoleFormat(roleList), ","),		}	}	return res}func (s *SystemUser) UserRoleFormat(roleList []*SystemRole) string {	ids := strings.Split(s.RoleIds, ",")	roleListName := ""	for _, id := range ids {		for _, r := range roleList {			if fmt.Sprintf("%d", r.Id) != id {				continue			}			roleListName += fmt.Sprintf("%s,", r.Name)		}	}	return roleListName}func (s *SystemUser) ToPb() *operationPb.AddSystemUser {	roles := make([]int32, 0)	roleIds := strings.Split(s.RoleIds, ",")	for _, roleId := range roleIds {		id, _ := strconv.Atoi(roleId)		roles = append(roles, int32(id))	}	return &operationPb.AddSystemUser{		Id:              int32(s.Id),		Name:            s.Name,		Phone:           s.Phone,		CreateUser:      s.CreateUser,		EmployeeName:    s.EmployeeName,		IsShow:          s.IsShow,		CreatedAt:       int32(s.CreatedAt),		CreatedAtFormat: time.Unix(s.CreatedAt, 0).Format(LayoutTime),		RoleIds:         roles,	}}
 |