Initial commit
This commit is contained in:
@@ -0,0 +1,104 @@
|
||||
package authoritySer
|
||||
|
||||
import (
|
||||
"context"
|
||||
"stat/api/proto"
|
||||
"stat/common/genId"
|
||||
"stat/common/stdLog"
|
||||
"stat/models/authorityMod"
|
||||
"time"
|
||||
)
|
||||
|
||||
// 角色列表
|
||||
func RoleList(ctx context.Context, param proto.RoleListReq) (code stdLog.CodeType, data interface{}, err error) {
|
||||
skip := (param.PageNum - 1) * param.PageSize
|
||||
limit := param.PageSize
|
||||
resp := proto.RoleListRes{
|
||||
Total: 0,
|
||||
List: make([]proto.RoleInfo, 0),
|
||||
}
|
||||
total, auList, err := authorityMod.RoleList(ctx, skip, limit)
|
||||
if err != nil {
|
||||
code = stdLog.Failure
|
||||
return
|
||||
}
|
||||
for _, v := range auList {
|
||||
var tmp = proto.RoleInfo{
|
||||
RoleId: v.Id,
|
||||
Role: v.Role,
|
||||
AuthJson: v.AuthJson,
|
||||
CreatedAt: v.CreatedAt,
|
||||
UpdatedAt: v.UpdatedAt,
|
||||
}
|
||||
resp.List = append(resp.List, tmp)
|
||||
}
|
||||
data = resp
|
||||
resp.Total = total
|
||||
code = stdLog.Success
|
||||
return
|
||||
}
|
||||
|
||||
// 添加角色
|
||||
func AddRole(ctx context.Context, param proto.AddRoleReq) (code stdLog.CodeType, data interface{}, err error) {
|
||||
// 查询是否存在该角色
|
||||
roleInfo, err := authorityMod.GetAuthorityByRole(ctx, *param.Role)
|
||||
if err != nil || roleInfo.Id > 0 {
|
||||
code = stdLog.AuthorityRoleExists
|
||||
return
|
||||
}
|
||||
|
||||
// 获取id
|
||||
roleId := genId.GetNextRoleId()
|
||||
|
||||
now := time.Now()
|
||||
doc := authorityMod.Authority{
|
||||
Id: roleId,
|
||||
Role: *param.Role,
|
||||
AuthJson: *param.AuthJson,
|
||||
CreatedAt: now,
|
||||
UpdatedAt: now,
|
||||
}
|
||||
if err = authorityMod.AddRole(ctx, &doc); err != nil {
|
||||
code = stdLog.Failure
|
||||
return
|
||||
}
|
||||
code = stdLog.Success
|
||||
return
|
||||
}
|
||||
|
||||
// 修改角色
|
||||
func UpdateRole(ctx context.Context, param proto.UpdateRoleReq) (code stdLog.CodeType, data interface{}, err error) {
|
||||
// 查询是否存在该角色
|
||||
if param.Role != nil {
|
||||
roleInfo, err := authorityMod.GetRoleExcludeRole(ctx, *param.RoleId, *param.Role)
|
||||
if err != nil || roleInfo.Id > 0 {
|
||||
code = stdLog.AuthorityRoleExists
|
||||
return code, data, err
|
||||
}
|
||||
}
|
||||
|
||||
now := time.Now()
|
||||
doc := authorityMod.UpdateDoc{
|
||||
Role: param.Role,
|
||||
AuthJson: param.AuthJson,
|
||||
UpdatedAt: &now,
|
||||
}
|
||||
|
||||
if err = authorityMod.UpdateRole(ctx, *param.RoleId, doc); err != nil {
|
||||
code = stdLog.Failure
|
||||
return
|
||||
}
|
||||
|
||||
code = stdLog.Success
|
||||
return
|
||||
}
|
||||
|
||||
// 删除角色
|
||||
func DelRole(ctx context.Context, param proto.DelRoleReq) (code stdLog.CodeType, data interface{}, err error) {
|
||||
if err = authorityMod.DelRoleById(ctx, *param.RoleId); err != nil {
|
||||
code = stdLog.Failure
|
||||
return
|
||||
}
|
||||
code = stdLog.Success
|
||||
return
|
||||
}
|
||||
Reference in New Issue
Block a user