feat:完善项目

This commit is contained in:
henry
2021-11-12 15:01:49 +08:00
parent a22029f4a3
commit 2a1aa6826c
5 changed files with 38 additions and 29 deletions

View File

@ -7,7 +7,6 @@ import (
"ArmedPolice/app/service"
"ArmedPolice/config"
"ArmedPolice/serve/orm"
"ArmedPolice/utils"
"errors"
"gorm.io/gorm"
"time"
@ -33,12 +32,8 @@ type (
InstanceDetailInfo struct {
ID string `json:"id"`
*model2.SysUser
Roles []*InstanceRoleInfo `json:"roles"`
}
// InstanceRoleInfo 角色信息
InstanceRoleInfo struct {
ID string `json:"id"`
*model.SysUserRoleInfo
TenantID string `json:"tenant_id"`
RoleIDs []string `json:"role_ids"`
}
// InstanceParams 参数信息
InstanceParams struct {
@ -64,7 +59,6 @@ func (c *InstanceParams) roleHandle(tx *gorm.DB, uid uint64) error {
return err
}
roles := make([]*model2.SysUserRole, 0)
obj := make([]string, 0)
mark := make(map[uint64]uint64, 0)
@ -72,8 +66,6 @@ func (c *InstanceParams) roleHandle(tx *gorm.DB, uid uint64) error {
if _, has := mark[v]; has {
continue
}
obj = append(obj, utils.UintToString(v))
roles = append(roles, &model2.SysUserRole{
UID: uid, RoleID: v,
})
@ -129,7 +121,7 @@ func (c *Instance) List(name, mobile string, tenantID uint64, page, pageSize int
}
var count int64
out, err := mSysUser.Users(page, pageSize, &count)
out, err := mSysUser.Users(page, pageSize, &count, where...)
if err != nil {
return nil, err
@ -152,12 +144,14 @@ func (*Instance) Detail(id uint64) (*InstanceDetailInfo, error) {
mSysUser := model.NewSysUser()
mSysUser.ID = id
isExist, err := model2.FirstWhere(mSysUser.SysUser)
isExist, err := model2.FirstField(mSysUser.SysUser, []string{
"id", "tenant_id", "uuid", "account", "name", "avatar", "gender", "mobile",
"email", "remark", "status", "created_at",
})
if err != nil {
return nil, err
} else if !isExist {
return nil, err
return nil, errors.New("操作错误,用户信息不存在或已被删除")
}
mSysUserRole := model.NewSysUserRole()
@ -166,17 +160,18 @@ func (*Instance) Detail(id uint64) (*InstanceDetailInfo, error) {
if roles, err = mSysUserRole.Roles(mSysUser.UUID); err != nil {
return nil, err
}
mModel := &model2.Image{Image: mSysUser.Avatar}
mSysUser.Avatar = mModel.Analysis(config.SystemConfig[config.Domain].(string))
out := &InstanceDetailInfo{
ID: mSysUser.GetEncodeID(),
SysUser: mSysUser.SysUser,
Roles: make([]*InstanceRoleInfo, 0),
ID: mSysUser.GetEncodeID(),
SysUser: mSysUser.SysUser,
TenantID: mSysUser.GetEncodeTenantID(),
RoleIDs: make([]string, 0),
}
for _, v := range roles {
mSysUserRole.ID = v.ID
out.Roles = append(out.Roles, &InstanceRoleInfo{
ID: mSysUserRole.GetEncodeID(),
SysUserRoleInfo: v,
})
out.RoleIDs = append(out.RoleIDs, mSysUserRole.GetEncodeID())
}
return out, nil
}
@ -188,7 +183,7 @@ func (c *Instance) Form(params *InstanceParams) error {
if params.ID > 0 {
mSysUser.ID = params.ID
isExist, err := model2.FirstField(mSysUser.SysUser, []string{"id", "name", "mobile"})
isExist, err := model2.FirstField(mSysUser.SysUser, []string{"id", "uuid", "name", "mobile"})
if err != nil {
return err
@ -206,8 +201,8 @@ func (c *Instance) Form(params *InstanceParams) error {
}
return orm.GetDB().Transaction(func(tx *gorm.DB) error {
if err = model2.Updates(mSysUser.SysUser, map[string]interface{}{
"tenant_id": params.TenantID, "name": params.Name, "mobile": params.Mobile, "avatar": params.Avatar, "gender": params.Gender,
"status": params.Status, "remark": params.Remark, "updated_at": time.Now(),
"tenant_id": params.TenantID, "name": params.Name, "mobile": params.Mobile, "avatar": params.Avatar,
"gender": params.Gender, "status": params.Status, "remark": params.Remark, "updated_at": time.Now(),
}, tx); err != nil {
return err
}