正在显示
24 个修改的文件
包含
1320 行增加
和
0 行删除
| 1 | +package command | ||
| 2 | + | ||
| 3 | +import ( | ||
| 4 | + "fmt" | ||
| 5 | + "reflect" | ||
| 6 | + "strings" | ||
| 7 | + | ||
| 8 | + "github.com/beego/beego/v2/core/validation" | ||
| 9 | +) | ||
| 10 | + | ||
| 11 | +type AssginRoleToUsersCommand struct { | ||
| 12 | + // 角色ID | ||
| 13 | + RoleId int64 `cname:"角色ID" json:"roleId,string" valid:"Required"` | ||
| 14 | + // 用户列表 | ||
| 15 | + UserIds []int64 `cname:"用户列表" json:"userIds,omitempty"` | ||
| 16 | +} | ||
| 17 | + | ||
| 18 | +func (assginRoleToUsersCommand *AssginRoleToUsersCommand) Valid(validation *validation.Validation) { | ||
| 19 | + //validation.SetError("CustomValid", "未实现的自定义认证") | ||
| 20 | +} | ||
| 21 | + | ||
| 22 | +func (assginRoleToUsersCommand *AssginRoleToUsersCommand) ValidateCommand() error { | ||
| 23 | + valid := validation.Validation{} | ||
| 24 | + b, err := valid.Valid(assginRoleToUsersCommand) | ||
| 25 | + if err != nil { | ||
| 26 | + return err | ||
| 27 | + } | ||
| 28 | + if !b { | ||
| 29 | + elem := reflect.TypeOf(assginRoleToUsersCommand).Elem() | ||
| 30 | + for _, validErr := range valid.Errors { | ||
| 31 | + field, isExist := elem.FieldByName(validErr.Field) | ||
| 32 | + if isExist { | ||
| 33 | + return fmt.Errorf(strings.Replace(validErr.Message, validErr.Field, field.Tag.Get("cname"), -1)) | ||
| 34 | + } else { | ||
| 35 | + return fmt.Errorf(validErr.Message) | ||
| 36 | + } | ||
| 37 | + } | ||
| 38 | + } | ||
| 39 | + return nil | ||
| 40 | +} |
pkg/application/role/command/create_role.go
0 → 100644
| 1 | +package command | ||
| 2 | + | ||
| 3 | +import ( | ||
| 4 | + "fmt" | ||
| 5 | + "reflect" | ||
| 6 | + "strings" | ||
| 7 | + | ||
| 8 | + "github.com/beego/beego/v2/core/validation" | ||
| 9 | +) | ||
| 10 | + | ||
| 11 | +type CreateRoleCommand struct { | ||
| 12 | + // 角色名称 | ||
| 13 | + RoleName string `cname:"角色名称" json:"roleName" valid:"Required"` | ||
| 14 | + // 描述 | ||
| 15 | + Desc int64 `cname:"描述" json:"desc,string,omitempty"` | ||
| 16 | +} | ||
| 17 | + | ||
| 18 | +func (createRoleCommand *CreateRoleCommand) Valid(validation *validation.Validation) { | ||
| 19 | + //validation.SetError("CustomValid", "未实现的自定义认证") | ||
| 20 | +} | ||
| 21 | + | ||
| 22 | +func (createRoleCommand *CreateRoleCommand) ValidateCommand() error { | ||
| 23 | + valid := validation.Validation{} | ||
| 24 | + b, err := valid.Valid(createRoleCommand) | ||
| 25 | + if err != nil { | ||
| 26 | + return err | ||
| 27 | + } | ||
| 28 | + if !b { | ||
| 29 | + elem := reflect.TypeOf(createRoleCommand).Elem() | ||
| 30 | + for _, validErr := range valid.Errors { | ||
| 31 | + field, isExist := elem.FieldByName(validErr.Field) | ||
| 32 | + if isExist { | ||
| 33 | + return fmt.Errorf(strings.Replace(validErr.Message, validErr.Field, field.Tag.Get("cname"), -1)) | ||
| 34 | + } else { | ||
| 35 | + return fmt.Errorf(validErr.Message) | ||
| 36 | + } | ||
| 37 | + } | ||
| 38 | + } | ||
| 39 | + return nil | ||
| 40 | +} |
pkg/application/role/command/remove_role.go
0 → 100644
| 1 | +package command | ||
| 2 | + | ||
| 3 | +import ( | ||
| 4 | + "fmt" | ||
| 5 | + "reflect" | ||
| 6 | + "strings" | ||
| 7 | + | ||
| 8 | + "github.com/beego/beego/v2/core/validation" | ||
| 9 | +) | ||
| 10 | + | ||
| 11 | +type RemoveRoleCommand struct { | ||
| 12 | + // 角色ID | ||
| 13 | + RoleId int64 `cname:"角色ID" json:"roleId,string" valid:"Required"` | ||
| 14 | +} | ||
| 15 | + | ||
| 16 | +func (removeRoleCommand *RemoveRoleCommand) Valid(validation *validation.Validation) { | ||
| 17 | + //validation.SetError("CustomValid", "未实现的自定义认证") | ||
| 18 | +} | ||
| 19 | + | ||
| 20 | +func (removeRoleCommand *RemoveRoleCommand) ValidateCommand() error { | ||
| 21 | + valid := validation.Validation{} | ||
| 22 | + b, err := valid.Valid(removeRoleCommand) | ||
| 23 | + if err != nil { | ||
| 24 | + return err | ||
| 25 | + } | ||
| 26 | + if !b { | ||
| 27 | + elem := reflect.TypeOf(removeRoleCommand).Elem() | ||
| 28 | + for _, validErr := range valid.Errors { | ||
| 29 | + field, isExist := elem.FieldByName(validErr.Field) | ||
| 30 | + if isExist { | ||
| 31 | + return fmt.Errorf(strings.Replace(validErr.Message, validErr.Field, field.Tag.Get("cname"), -1)) | ||
| 32 | + } else { | ||
| 33 | + return fmt.Errorf(validErr.Message) | ||
| 34 | + } | ||
| 35 | + } | ||
| 36 | + } | ||
| 37 | + return nil | ||
| 38 | +} |
| 1 | +package command | ||
| 2 | + | ||
| 3 | +import ( | ||
| 4 | + "fmt" | ||
| 5 | + "reflect" | ||
| 6 | + "strings" | ||
| 7 | + | ||
| 8 | + "github.com/beego/beego/v2/core/validation" | ||
| 9 | +) | ||
| 10 | + | ||
| 11 | +type UnAssginRoleToUsersCommand struct { | ||
| 12 | + // 角色ID | ||
| 13 | + RoleId int64 `cname:"角色ID" json:"roleId,string" valid:"Required"` | ||
| 14 | + // 用户列表 | ||
| 15 | + UserIds []int64 `cname:"用户列表" json:"userIds,omitempty"` | ||
| 16 | +} | ||
| 17 | + | ||
| 18 | +func (unAssginRoleToUsersCommand *UnAssginRoleToUsersCommand) Valid(validation *validation.Validation) { | ||
| 19 | + //validation.SetError("CustomValid", "未实现的自定义认证") | ||
| 20 | +} | ||
| 21 | + | ||
| 22 | +func (unAssginRoleToUsersCommand *UnAssginRoleToUsersCommand) ValidateCommand() error { | ||
| 23 | + valid := validation.Validation{} | ||
| 24 | + b, err := valid.Valid(unAssginRoleToUsersCommand) | ||
| 25 | + if err != nil { | ||
| 26 | + return err | ||
| 27 | + } | ||
| 28 | + if !b { | ||
| 29 | + elem := reflect.TypeOf(unAssginRoleToUsersCommand).Elem() | ||
| 30 | + for _, validErr := range valid.Errors { | ||
| 31 | + field, isExist := elem.FieldByName(validErr.Field) | ||
| 32 | + if isExist { | ||
| 33 | + return fmt.Errorf(strings.Replace(validErr.Message, validErr.Field, field.Tag.Get("cname"), -1)) | ||
| 34 | + } else { | ||
| 35 | + return fmt.Errorf(validErr.Message) | ||
| 36 | + } | ||
| 37 | + } | ||
| 38 | + } | ||
| 39 | + return nil | ||
| 40 | +} |
pkg/application/role/command/update_role.go
0 → 100644
| 1 | +package command | ||
| 2 | + | ||
| 3 | +import ( | ||
| 4 | + "fmt" | ||
| 5 | + "reflect" | ||
| 6 | + "strings" | ||
| 7 | + | ||
| 8 | + "github.com/beego/beego/v2/core/validation" | ||
| 9 | +) | ||
| 10 | + | ||
| 11 | +type UpdateRoleCommand struct { | ||
| 12 | + // 角色ID | ||
| 13 | + RoleId int64 `cname:"角色ID" json:"roleId,string" valid:"Required"` | ||
| 14 | + // 角色名称 | ||
| 15 | + RoleName string `cname:"角色名称" json:"roleName" valid:"Required"` | ||
| 16 | + // 描述 | ||
| 17 | + Desc int64 `cname:"描述" json:"desc,string,omitempty"` | ||
| 18 | +} | ||
| 19 | + | ||
| 20 | +func (updateRoleCommand *UpdateRoleCommand) Valid(validation *validation.Validation) { | ||
| 21 | + //validation.SetError("CustomValid", "未实现的自定义认证") | ||
| 22 | +} | ||
| 23 | + | ||
| 24 | +func (updateRoleCommand *UpdateRoleCommand) ValidateCommand() error { | ||
| 25 | + valid := validation.Validation{} | ||
| 26 | + b, err := valid.Valid(updateRoleCommand) | ||
| 27 | + if err != nil { | ||
| 28 | + return err | ||
| 29 | + } | ||
| 30 | + if !b { | ||
| 31 | + elem := reflect.TypeOf(updateRoleCommand).Elem() | ||
| 32 | + for _, validErr := range valid.Errors { | ||
| 33 | + field, isExist := elem.FieldByName(validErr.Field) | ||
| 34 | + if isExist { | ||
| 35 | + return fmt.Errorf(strings.Replace(validErr.Message, validErr.Field, field.Tag.Get("cname"), -1)) | ||
| 36 | + } else { | ||
| 37 | + return fmt.Errorf(validErr.Message) | ||
| 38 | + } | ||
| 39 | + } | ||
| 40 | + } | ||
| 41 | + return nil | ||
| 42 | +} |
| 1 | +package command | ||
| 2 | + | ||
| 3 | +import ( | ||
| 4 | + "fmt" | ||
| 5 | + "reflect" | ||
| 6 | + "strings" | ||
| 7 | + | ||
| 8 | + "github.com/beego/beego/v2/core/validation" | ||
| 9 | +) | ||
| 10 | + | ||
| 11 | +type UpdateRoleAccessMenusCommand struct { | ||
| 12 | + // 角色ID | ||
| 13 | + RoleId int64 `cname:"角色ID" json:"roleId,string" valid:"Required"` | ||
| 14 | + // 菜单编号列表 | ||
| 15 | + AccessMenus []int64 `cname:"菜单编号列表" json:"accessMenus,omitempty"` | ||
| 16 | +} | ||
| 17 | + | ||
| 18 | +func (updateRoleAccessMenusCommand *UpdateRoleAccessMenusCommand) Valid(validation *validation.Validation) { | ||
| 19 | + //validation.SetError("CustomValid", "未实现的自定义认证") | ||
| 20 | +} | ||
| 21 | + | ||
| 22 | +func (updateRoleAccessMenusCommand *UpdateRoleAccessMenusCommand) ValidateCommand() error { | ||
| 23 | + valid := validation.Validation{} | ||
| 24 | + b, err := valid.Valid(updateRoleAccessMenusCommand) | ||
| 25 | + if err != nil { | ||
| 26 | + return err | ||
| 27 | + } | ||
| 28 | + if !b { | ||
| 29 | + elem := reflect.TypeOf(updateRoleAccessMenusCommand).Elem() | ||
| 30 | + for _, validErr := range valid.Errors { | ||
| 31 | + field, isExist := elem.FieldByName(validErr.Field) | ||
| 32 | + if isExist { | ||
| 33 | + return fmt.Errorf(strings.Replace(validErr.Message, validErr.Field, field.Tag.Get("cname"), -1)) | ||
| 34 | + } else { | ||
| 35 | + return fmt.Errorf(validErr.Message) | ||
| 36 | + } | ||
| 37 | + } | ||
| 38 | + } | ||
| 39 | + return nil | ||
| 40 | +} |
pkg/application/role/query/get_role.go
0 → 100644
| 1 | +package query | ||
| 2 | + | ||
| 3 | +import ( | ||
| 4 | + "fmt" | ||
| 5 | + "reflect" | ||
| 6 | + "strings" | ||
| 7 | + | ||
| 8 | + "github.com/beego/beego/v2/core/validation" | ||
| 9 | +) | ||
| 10 | + | ||
| 11 | +type GetRoleQuery struct { | ||
| 12 | + // 角色ID | ||
| 13 | + RoleId int64 `cname:"角色ID" json:"roleId,string" valid:"Required"` | ||
| 14 | +} | ||
| 15 | + | ||
| 16 | +func (getRoleQuery *GetRoleQuery) Valid(validation *validation.Validation) { | ||
| 17 | + //validation.SetError("CustomValid", "未实现的自定义认证") | ||
| 18 | +} | ||
| 19 | + | ||
| 20 | +func (getRoleQuery *GetRoleQuery) ValidateQuery() error { | ||
| 21 | + valid := validation.Validation{} | ||
| 22 | + b, err := valid.Valid(getRoleQuery) | ||
| 23 | + if err != nil { | ||
| 24 | + return err | ||
| 25 | + } | ||
| 26 | + if !b { | ||
| 27 | + elem := reflect.TypeOf(getRoleQuery).Elem() | ||
| 28 | + for _, validErr := range valid.Errors { | ||
| 29 | + field, isExist := elem.FieldByName(validErr.Field) | ||
| 30 | + if isExist { | ||
| 31 | + return fmt.Errorf(strings.Replace(validErr.Message, validErr.Field, field.Tag.Get("cname"), -1)) | ||
| 32 | + } else { | ||
| 33 | + return fmt.Errorf(validErr.Message) | ||
| 34 | + } | ||
| 35 | + } | ||
| 36 | + } | ||
| 37 | + return nil | ||
| 38 | +} |
| 1 | +package query | ||
| 2 | + | ||
| 3 | +import ( | ||
| 4 | + "fmt" | ||
| 5 | + "reflect" | ||
| 6 | + "strings" | ||
| 7 | + | ||
| 8 | + "github.com/beego/beego/v2/core/validation" | ||
| 9 | +) | ||
| 10 | + | ||
| 11 | +type GetRoleAccessMenusQuery struct { | ||
| 12 | + // 角色ID | ||
| 13 | + RoleId int64 `cname:"角色ID" json:"roleId,string" valid:"Required"` | ||
| 14 | +} | ||
| 15 | + | ||
| 16 | +func (getRoleAccessMenusQuery *GetRoleAccessMenusQuery) Valid(validation *validation.Validation) { | ||
| 17 | + //validation.SetError("CustomValid", "未实现的自定义认证") | ||
| 18 | +} | ||
| 19 | + | ||
| 20 | +func (getRoleAccessMenusQuery *GetRoleAccessMenusQuery) ValidateQuery() error { | ||
| 21 | + valid := validation.Validation{} | ||
| 22 | + b, err := valid.Valid(getRoleAccessMenusQuery) | ||
| 23 | + if err != nil { | ||
| 24 | + return err | ||
| 25 | + } | ||
| 26 | + if !b { | ||
| 27 | + elem := reflect.TypeOf(getRoleAccessMenusQuery).Elem() | ||
| 28 | + for _, validErr := range valid.Errors { | ||
| 29 | + field, isExist := elem.FieldByName(validErr.Field) | ||
| 30 | + if isExist { | ||
| 31 | + return fmt.Errorf(strings.Replace(validErr.Message, validErr.Field, field.Tag.Get("cname"), -1)) | ||
| 32 | + } else { | ||
| 33 | + return fmt.Errorf(validErr.Message) | ||
| 34 | + } | ||
| 35 | + } | ||
| 36 | + } | ||
| 37 | + return nil | ||
| 38 | +} |
| 1 | +package query | ||
| 2 | + | ||
| 3 | +import ( | ||
| 4 | + "fmt" | ||
| 5 | + "reflect" | ||
| 6 | + "strings" | ||
| 7 | + | ||
| 8 | + "github.com/beego/beego/v2/core/validation" | ||
| 9 | +) | ||
| 10 | + | ||
| 11 | +type GetRoleRelatedUsersQuery struct { | ||
| 12 | + // 角色ID | ||
| 13 | + RoleId int64 `cname:"角色ID" json:"roleId,string" valid:"Required"` | ||
| 14 | + // 组织ID | ||
| 15 | + OrgId int64 `cname:"组织ID" json:"orgId,string,omitempty"` | ||
| 16 | + // 部门编号 | ||
| 17 | + DepartmentId int64 `cname:"部门编号" json:"departmentId,string,omitempty"` | ||
| 18 | +} | ||
| 19 | + | ||
| 20 | +func (getRoleRelatedUsersQuery *GetRoleRelatedUsersQuery) Valid(validation *validation.Validation) { | ||
| 21 | + //validation.SetError("CustomValid", "未实现的自定义认证") | ||
| 22 | +} | ||
| 23 | + | ||
| 24 | +func (getRoleRelatedUsersQuery *GetRoleRelatedUsersQuery) ValidateQuery() error { | ||
| 25 | + valid := validation.Validation{} | ||
| 26 | + b, err := valid.Valid(getRoleRelatedUsersQuery) | ||
| 27 | + if err != nil { | ||
| 28 | + return err | ||
| 29 | + } | ||
| 30 | + if !b { | ||
| 31 | + elem := reflect.TypeOf(getRoleRelatedUsersQuery).Elem() | ||
| 32 | + for _, validErr := range valid.Errors { | ||
| 33 | + field, isExist := elem.FieldByName(validErr.Field) | ||
| 34 | + if isExist { | ||
| 35 | + return fmt.Errorf(strings.Replace(validErr.Message, validErr.Field, field.Tag.Get("cname"), -1)) | ||
| 36 | + } else { | ||
| 37 | + return fmt.Errorf(validErr.Message) | ||
| 38 | + } | ||
| 39 | + } | ||
| 40 | + } | ||
| 41 | + return nil | ||
| 42 | +} |
pkg/application/role/query/list_role.go
0 → 100644
| 1 | +package query | ||
| 2 | + | ||
| 3 | +import ( | ||
| 4 | + "fmt" | ||
| 5 | + "reflect" | ||
| 6 | + "strings" | ||
| 7 | + | ||
| 8 | + "github.com/beego/beego/v2/core/validation" | ||
| 9 | +) | ||
| 10 | + | ||
| 11 | +type ListRoleQuery struct { | ||
| 12 | + // 查询偏离量 | ||
| 13 | + Offset int `cname:"查询偏离量" json:"offset" valid:"Required"` | ||
| 14 | + // 查询限制 | ||
| 15 | + Limit int `cname:"查询限制" json:"limit" valid:"Required"` | ||
| 16 | + // 角色类型 1.普通角色 1024:超级管理员 | ||
| 17 | + RoleType int `cname:"角色类型 1.普通角色 1024:超级管理员" json:"roleType,omitempty"` | ||
| 18 | + // 角色名称 | ||
| 19 | + RoleName string `cname:"角色名称" json:"roleName,omitempty"` | ||
| 20 | + // 组织名称 | ||
| 21 | + OrgName string `cname:"组织名称" json:"orgName,omitempty"` | ||
| 22 | + // 组织ID | ||
| 23 | + OrgId int64 `cname:"组织ID" json:"orgId,string,omitempty"` | ||
| 24 | + // 匹配多个组织 | ||
| 25 | + InOrgIds []int64 `cname:"匹配多个组织" json:"inOrgIds,omitempty"` | ||
| 26 | +} | ||
| 27 | + | ||
| 28 | +func (listRoleQuery *ListRoleQuery) Valid(validation *validation.Validation) { | ||
| 29 | + //validation.SetError("CustomValid", "未实现的自定义认证") | ||
| 30 | +} | ||
| 31 | + | ||
| 32 | +func (listRoleQuery *ListRoleQuery) ValidateQuery() error { | ||
| 33 | + valid := validation.Validation{} | ||
| 34 | + b, err := valid.Valid(listRoleQuery) | ||
| 35 | + if err != nil { | ||
| 36 | + return err | ||
| 37 | + } | ||
| 38 | + if !b { | ||
| 39 | + elem := reflect.TypeOf(listRoleQuery).Elem() | ||
| 40 | + for _, validErr := range valid.Errors { | ||
| 41 | + field, isExist := elem.FieldByName(validErr.Field) | ||
| 42 | + if isExist { | ||
| 43 | + return fmt.Errorf(strings.Replace(validErr.Message, validErr.Field, field.Tag.Get("cname"), -1)) | ||
| 44 | + } else { | ||
| 45 | + return fmt.Errorf(validErr.Message) | ||
| 46 | + } | ||
| 47 | + } | ||
| 48 | + } | ||
| 49 | + return nil | ||
| 50 | +} |
pkg/application/role/service/role.go
0 → 100644
| 1 | +package service | ||
| 2 | + | ||
| 3 | +import ( | ||
| 4 | + "fmt" | ||
| 5 | + "github.com/linmadan/egglib-go/core/application" | ||
| 6 | + "github.com/linmadan/egglib-go/utils/tool_funs" | ||
| 7 | + "gitlab.fjmaimaimai.com/allied-creation/allied-creation-user/pkg/application/factory" | ||
| 8 | + "gitlab.fjmaimaimai.com/allied-creation/allied-creation-user/pkg/application/role/command" | ||
| 9 | + "gitlab.fjmaimaimai.com/allied-creation/allied-creation-user/pkg/application/role/query" | ||
| 10 | + "gitlab.fjmaimaimai.com/allied-creation/allied-creation-user/pkg/domain" | ||
| 11 | +) | ||
| 12 | + | ||
| 13 | +// 角色 | ||
| 14 | +type RoleService struct { | ||
| 15 | +} | ||
| 16 | + | ||
| 17 | +// 分配角色给多个用户 | ||
| 18 | +func (roleService *RoleService) AssginRoleToUsers(assginRoleToUsersCommand *command.AssginRoleToUsersCommand) (interface{}, error) { | ||
| 19 | + if err := assginRoleToUsersCommand.ValidateCommand(); err != nil { | ||
| 20 | + return nil, application.ThrowError(application.ARG_ERROR, err.Error()) | ||
| 21 | + } | ||
| 22 | + transactionContext, err := factory.CreateTransactionContext(nil) | ||
| 23 | + if err != nil { | ||
| 24 | + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 25 | + } | ||
| 26 | + if err := transactionContext.StartTransaction(); err != nil { | ||
| 27 | + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 28 | + } | ||
| 29 | + defer func() { | ||
| 30 | + transactionContext.RollbackTransaction() | ||
| 31 | + }() | ||
| 32 | + if err := transactionContext.CommitTransaction(); err != nil { | ||
| 33 | + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 34 | + } | ||
| 35 | + return nil, nil | ||
| 36 | +} | ||
| 37 | + | ||
| 38 | +// 创建角色 | ||
| 39 | +func (roleService *RoleService) CreateRole(createRoleCommand *command.CreateRoleCommand) (interface{}, error) { | ||
| 40 | + if err := createRoleCommand.ValidateCommand(); err != nil { | ||
| 41 | + return nil, application.ThrowError(application.ARG_ERROR, err.Error()) | ||
| 42 | + } | ||
| 43 | + transactionContext, err := factory.CreateTransactionContext(nil) | ||
| 44 | + if err != nil { | ||
| 45 | + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 46 | + } | ||
| 47 | + if err := transactionContext.StartTransaction(); err != nil { | ||
| 48 | + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 49 | + } | ||
| 50 | + defer func() { | ||
| 51 | + transactionContext.RollbackTransaction() | ||
| 52 | + }() | ||
| 53 | + newRole := &domain.Role{ | ||
| 54 | + RoleName: createRoleCommand.RoleName, | ||
| 55 | + Desc: createRoleCommand.Desc, | ||
| 56 | + } | ||
| 57 | + var roleRepository domain.RoleRepository | ||
| 58 | + if value, err := factory.CreateRoleRepository(map[string]interface{}{ | ||
| 59 | + "transactionContext": transactionContext, | ||
| 60 | + }); err != nil { | ||
| 61 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
| 62 | + } else { | ||
| 63 | + roleRepository = value | ||
| 64 | + } | ||
| 65 | + if role, err := roleRepository.Save(newRole); err != nil { | ||
| 66 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
| 67 | + } else { | ||
| 68 | + if err := transactionContext.CommitTransaction(); err != nil { | ||
| 69 | + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 70 | + } | ||
| 71 | + return role, nil | ||
| 72 | + } | ||
| 73 | +} | ||
| 74 | + | ||
| 75 | +// 返回角色 | ||
| 76 | +func (roleService *RoleService) GetRole(getRoleQuery *query.GetRoleQuery) (interface{}, error) { | ||
| 77 | + if err := getRoleQuery.ValidateQuery(); err != nil { | ||
| 78 | + return nil, application.ThrowError(application.ARG_ERROR, err.Error()) | ||
| 79 | + } | ||
| 80 | + transactionContext, err := factory.CreateTransactionContext(nil) | ||
| 81 | + if err != nil { | ||
| 82 | + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 83 | + } | ||
| 84 | + if err := transactionContext.StartTransaction(); err != nil { | ||
| 85 | + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 86 | + } | ||
| 87 | + defer func() { | ||
| 88 | + transactionContext.RollbackTransaction() | ||
| 89 | + }() | ||
| 90 | + var roleRepository domain.RoleRepository | ||
| 91 | + if value, err := factory.CreateRoleRepository(map[string]interface{}{ | ||
| 92 | + "transactionContext": transactionContext, | ||
| 93 | + }); err != nil { | ||
| 94 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
| 95 | + } else { | ||
| 96 | + roleRepository = value | ||
| 97 | + } | ||
| 98 | + role, err := roleRepository.FindOne(map[string]interface{}{"roleId": getRoleQuery.RoleId}) | ||
| 99 | + if err != nil { | ||
| 100 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
| 101 | + } | ||
| 102 | + if role == nil { | ||
| 103 | + return nil, application.ThrowError(application.RES_NO_FIND_ERROR, fmt.Sprintf("%s", string(getRoleQuery.RoleId))) | ||
| 104 | + } else { | ||
| 105 | + if err := transactionContext.CommitTransaction(); err != nil { | ||
| 106 | + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 107 | + } | ||
| 108 | + return role, nil | ||
| 109 | + } | ||
| 110 | +} | ||
| 111 | + | ||
| 112 | +// 获取角色菜单 | ||
| 113 | +func (roleService *RoleService) GetRoleAccessMenus(getRoleAccessMenusQuery *query.GetRoleAccessMenusQuery) (interface{}, error) { | ||
| 114 | + if err := getRoleAccessMenusQuery.ValidateQuery(); err != nil { | ||
| 115 | + return nil, application.ThrowError(application.ARG_ERROR, err.Error()) | ||
| 116 | + } | ||
| 117 | + transactionContext, err := factory.CreateTransactionContext(nil) | ||
| 118 | + if err != nil { | ||
| 119 | + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 120 | + } | ||
| 121 | + if err := transactionContext.StartTransaction(); err != nil { | ||
| 122 | + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 123 | + } | ||
| 124 | + defer func() { | ||
| 125 | + transactionContext.RollbackTransaction() | ||
| 126 | + }() | ||
| 127 | + if err := transactionContext.CommitTransaction(); err != nil { | ||
| 128 | + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 129 | + } | ||
| 130 | + return nil, nil | ||
| 131 | +} | ||
| 132 | + | ||
| 133 | +// 获取角色相关联的用户 | ||
| 134 | +func (roleService *RoleService) GetRoleRelatedUsers(getRoleRelatedUsersQuery *query.GetRoleRelatedUsersQuery) (interface{}, error) { | ||
| 135 | + if err := getRoleRelatedUsersQuery.ValidateQuery(); err != nil { | ||
| 136 | + return nil, application.ThrowError(application.ARG_ERROR, err.Error()) | ||
| 137 | + } | ||
| 138 | + transactionContext, err := factory.CreateTransactionContext(nil) | ||
| 139 | + if err != nil { | ||
| 140 | + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 141 | + } | ||
| 142 | + if err := transactionContext.StartTransaction(); err != nil { | ||
| 143 | + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 144 | + } | ||
| 145 | + defer func() { | ||
| 146 | + transactionContext.RollbackTransaction() | ||
| 147 | + }() | ||
| 148 | + if err := transactionContext.CommitTransaction(); err != nil { | ||
| 149 | + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 150 | + } | ||
| 151 | + return nil, nil | ||
| 152 | +} | ||
| 153 | + | ||
| 154 | +// 返回角色列表 | ||
| 155 | +func (roleService *RoleService) ListRole(listRoleQuery *query.ListRoleQuery) (interface{}, error) { | ||
| 156 | + if err := listRoleQuery.ValidateQuery(); err != nil { | ||
| 157 | + return nil, application.ThrowError(application.ARG_ERROR, err.Error()) | ||
| 158 | + } | ||
| 159 | + transactionContext, err := factory.CreateTransactionContext(nil) | ||
| 160 | + if err != nil { | ||
| 161 | + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 162 | + } | ||
| 163 | + if err := transactionContext.StartTransaction(); err != nil { | ||
| 164 | + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 165 | + } | ||
| 166 | + defer func() { | ||
| 167 | + transactionContext.RollbackTransaction() | ||
| 168 | + }() | ||
| 169 | + var roleRepository domain.RoleRepository | ||
| 170 | + if value, err := factory.CreateRoleRepository(map[string]interface{}{ | ||
| 171 | + "transactionContext": transactionContext, | ||
| 172 | + }); err != nil { | ||
| 173 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
| 174 | + } else { | ||
| 175 | + roleRepository = value | ||
| 176 | + } | ||
| 177 | + if count, roles, err := roleRepository.Find(tool_funs.SimpleStructToMap(listRoleQuery)); err != nil { | ||
| 178 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
| 179 | + } else { | ||
| 180 | + if err := transactionContext.CommitTransaction(); err != nil { | ||
| 181 | + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 182 | + } | ||
| 183 | + return map[string]interface{}{ | ||
| 184 | + "count": count, | ||
| 185 | + "roles": roles, | ||
| 186 | + }, nil | ||
| 187 | + } | ||
| 188 | +} | ||
| 189 | + | ||
| 190 | +// 移除角色 | ||
| 191 | +func (roleService *RoleService) RemoveRole(removeRoleCommand *command.RemoveRoleCommand) (interface{}, error) { | ||
| 192 | + if err := removeRoleCommand.ValidateCommand(); err != nil { | ||
| 193 | + return nil, application.ThrowError(application.ARG_ERROR, err.Error()) | ||
| 194 | + } | ||
| 195 | + transactionContext, err := factory.CreateTransactionContext(nil) | ||
| 196 | + if err != nil { | ||
| 197 | + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 198 | + } | ||
| 199 | + if err := transactionContext.StartTransaction(); err != nil { | ||
| 200 | + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 201 | + } | ||
| 202 | + defer func() { | ||
| 203 | + transactionContext.RollbackTransaction() | ||
| 204 | + }() | ||
| 205 | + var roleRepository domain.RoleRepository | ||
| 206 | + if value, err := factory.CreateRoleRepository(map[string]interface{}{ | ||
| 207 | + "transactionContext": transactionContext, | ||
| 208 | + }); err != nil { | ||
| 209 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
| 210 | + } else { | ||
| 211 | + roleRepository = value | ||
| 212 | + } | ||
| 213 | + role, err := roleRepository.FindOne(map[string]interface{}{"roleId": removeRoleCommand.RoleId}) | ||
| 214 | + if err != nil { | ||
| 215 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
| 216 | + } | ||
| 217 | + if role == nil { | ||
| 218 | + return nil, application.ThrowError(application.RES_NO_FIND_ERROR, fmt.Sprintf("%s", string(removeRoleCommand.RoleId))) | ||
| 219 | + } | ||
| 220 | + if role, err := roleRepository.Remove(role); err != nil { | ||
| 221 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
| 222 | + } else { | ||
| 223 | + if err := transactionContext.CommitTransaction(); err != nil { | ||
| 224 | + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 225 | + } | ||
| 226 | + return role, nil | ||
| 227 | + } | ||
| 228 | +} | ||
| 229 | + | ||
| 230 | +// 取消用户分配的角色 | ||
| 231 | +func (roleService *RoleService) UnAssginRoleToUsers(unAssginRoleToUsersCommand *command.UnAssginRoleToUsersCommand) (interface{}, error) { | ||
| 232 | + if err := unAssginRoleToUsersCommand.ValidateCommand(); err != nil { | ||
| 233 | + return nil, application.ThrowError(application.ARG_ERROR, err.Error()) | ||
| 234 | + } | ||
| 235 | + transactionContext, err := factory.CreateTransactionContext(nil) | ||
| 236 | + if err != nil { | ||
| 237 | + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 238 | + } | ||
| 239 | + if err := transactionContext.StartTransaction(); err != nil { | ||
| 240 | + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 241 | + } | ||
| 242 | + defer func() { | ||
| 243 | + transactionContext.RollbackTransaction() | ||
| 244 | + }() | ||
| 245 | + if err := transactionContext.CommitTransaction(); err != nil { | ||
| 246 | + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 247 | + } | ||
| 248 | + return nil, nil | ||
| 249 | +} | ||
| 250 | + | ||
| 251 | +// 更新角色 | ||
| 252 | +func (roleService *RoleService) UpdateRole(updateRoleCommand *command.UpdateRoleCommand) (interface{}, error) { | ||
| 253 | + if err := updateRoleCommand.ValidateCommand(); err != nil { | ||
| 254 | + return nil, application.ThrowError(application.ARG_ERROR, err.Error()) | ||
| 255 | + } | ||
| 256 | + transactionContext, err := factory.CreateTransactionContext(nil) | ||
| 257 | + if err != nil { | ||
| 258 | + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 259 | + } | ||
| 260 | + if err := transactionContext.StartTransaction(); err != nil { | ||
| 261 | + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 262 | + } | ||
| 263 | + defer func() { | ||
| 264 | + transactionContext.RollbackTransaction() | ||
| 265 | + }() | ||
| 266 | + var roleRepository domain.RoleRepository | ||
| 267 | + if value, err := factory.CreateRoleRepository(map[string]interface{}{ | ||
| 268 | + "transactionContext": transactionContext, | ||
| 269 | + }); err != nil { | ||
| 270 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
| 271 | + } else { | ||
| 272 | + roleRepository = value | ||
| 273 | + } | ||
| 274 | + role, err := roleRepository.FindOne(map[string]interface{}{"roleId": updateRoleCommand.RoleId}) | ||
| 275 | + if err != nil { | ||
| 276 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
| 277 | + } | ||
| 278 | + if role == nil { | ||
| 279 | + return nil, application.ThrowError(application.RES_NO_FIND_ERROR, fmt.Sprintf("%s", string(updateRoleCommand.RoleId))) | ||
| 280 | + } | ||
| 281 | + if err := role.Update(tool_funs.SimpleStructToMap(updateRoleCommand)); err != nil { | ||
| 282 | + return nil, application.ThrowError(application.BUSINESS_ERROR, err.Error()) | ||
| 283 | + } | ||
| 284 | + if role, err := roleRepository.Save(role); err != nil { | ||
| 285 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
| 286 | + } else { | ||
| 287 | + if err := transactionContext.CommitTransaction(); err != nil { | ||
| 288 | + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 289 | + } | ||
| 290 | + return role, nil | ||
| 291 | + } | ||
| 292 | +} | ||
| 293 | + | ||
| 294 | +// 设置角色菜单 | ||
| 295 | +func (roleService *RoleService) UpdateRoleAccessMenus(updateRoleAccessMenusCommand *command.UpdateRoleAccessMenusCommand) (interface{}, error) { | ||
| 296 | + if err := updateRoleAccessMenusCommand.ValidateCommand(); err != nil { | ||
| 297 | + return nil, application.ThrowError(application.ARG_ERROR, err.Error()) | ||
| 298 | + } | ||
| 299 | + transactionContext, err := factory.CreateTransactionContext(nil) | ||
| 300 | + if err != nil { | ||
| 301 | + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 302 | + } | ||
| 303 | + if err := transactionContext.StartTransaction(); err != nil { | ||
| 304 | + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 305 | + } | ||
| 306 | + defer func() { | ||
| 307 | + transactionContext.RollbackTransaction() | ||
| 308 | + }() | ||
| 309 | + if err := transactionContext.CommitTransaction(); err != nil { | ||
| 310 | + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
| 311 | + } | ||
| 312 | + return nil, nil | ||
| 313 | +} | ||
| 314 | + | ||
| 315 | +func NewRoleService(options map[string]interface{}) *RoleService { | ||
| 316 | + newRoleService := &RoleService{} | ||
| 317 | + return newRoleService | ||
| 318 | +} |
| 1 | +package controllers | ||
| 2 | + | ||
| 3 | +import ( | ||
| 4 | + "github.com/linmadan/egglib-go/web/beego" | ||
| 5 | + "gitlab.fjmaimaimai.com/allied-creation/allied-creation-user/pkg/application/role/command" | ||
| 6 | + "gitlab.fjmaimaimai.com/allied-creation/allied-creation-user/pkg/application/role/query" | ||
| 7 | + "gitlab.fjmaimaimai.com/allied-creation/allied-creation-user/pkg/application/role/service" | ||
| 8 | +) | ||
| 9 | + | ||
| 10 | +type RoleController struct { | ||
| 11 | + beego.BaseController | ||
| 12 | +} | ||
| 13 | + | ||
| 14 | +func (controller *RoleController) CreateRole() { | ||
| 15 | + roleService := service.NewRoleService(nil) | ||
| 16 | + createRoleCommand := &command.CreateRoleCommand{} | ||
| 17 | + controller.Unmarshal(createRoleCommand) | ||
| 18 | + data, err := roleService.CreateRole(createRoleCommand) | ||
| 19 | + controller.Response(data, err) | ||
| 20 | +} | ||
| 21 | + | ||
| 22 | +func (controller *RoleController) UpdateRole() { | ||
| 23 | + roleService := service.NewRoleService(nil) | ||
| 24 | + updateRoleCommand := &command.UpdateRoleCommand{} | ||
| 25 | + controller.Unmarshal(updateRoleCommand) | ||
| 26 | + roleId, _ := controller.GetInt64(":roleId") | ||
| 27 | + updateRoleCommand.RoleId = roleId | ||
| 28 | + data, err := roleService.UpdateRole(updateRoleCommand) | ||
| 29 | + controller.Response(data, err) | ||
| 30 | +} | ||
| 31 | + | ||
| 32 | +func (controller *RoleController) GetRole() { | ||
| 33 | + roleService := service.NewRoleService(nil) | ||
| 34 | + getRoleQuery := &query.GetRoleQuery{} | ||
| 35 | + roleId, _ := controller.GetInt64(":roleId") | ||
| 36 | + getRoleQuery.RoleId = roleId | ||
| 37 | + data, err := roleService.GetRole(getRoleQuery) | ||
| 38 | + controller.Response(data, err) | ||
| 39 | +} | ||
| 40 | + | ||
| 41 | +func (controller *RoleController) RemoveRole() { | ||
| 42 | + roleService := service.NewRoleService(nil) | ||
| 43 | + removeRoleCommand := &command.RemoveRoleCommand{} | ||
| 44 | + controller.Unmarshal(removeRoleCommand) | ||
| 45 | + roleId, _ := controller.GetInt64(":roleId") | ||
| 46 | + removeRoleCommand.RoleId = roleId | ||
| 47 | + data, err := roleService.RemoveRole(removeRoleCommand) | ||
| 48 | + controller.Response(data, err) | ||
| 49 | +} | ||
| 50 | + | ||
| 51 | +func (controller *RoleController) ListRole() { | ||
| 52 | + roleService := service.NewRoleService(nil) | ||
| 53 | + listRoleQuery := &query.ListRoleQuery{} | ||
| 54 | + data, err := roleService.ListRole(listRoleQuery) | ||
| 55 | + controller.Response(data, err) | ||
| 56 | +} | ||
| 57 | + | ||
| 58 | +func (controller *RoleController) GetRoleRelatedUsers() { | ||
| 59 | + roleService := service.NewRoleService(nil) | ||
| 60 | + getRoleRelatedUsersQuery := &query.GetRoleRelatedUsersQuery{} | ||
| 61 | + roleId, _ := controller.GetInt64(":roleId") | ||
| 62 | + getRoleRelatedUsersQuery.RoleId = roleId | ||
| 63 | + orgId, _ := controller.GetInt64("orgId") | ||
| 64 | + getRoleRelatedUsersQuery.OrgId = orgId | ||
| 65 | + departmentId, _ := controller.GetInt64("departmentId") | ||
| 66 | + getRoleRelatedUsersQuery.DepartmentId = departmentId | ||
| 67 | + data, err := roleService.GetRoleRelatedUsers(getRoleRelatedUsersQuery) | ||
| 68 | + controller.Response(data, err) | ||
| 69 | +} | ||
| 70 | + | ||
| 71 | +func (controller *RoleController) GetRoleAccessMenus() { | ||
| 72 | + roleService := service.NewRoleService(nil) | ||
| 73 | + getRoleAccessMenusQuery := &query.GetRoleAccessMenusQuery{} | ||
| 74 | + roleId, _ := controller.GetInt64(":roleId") | ||
| 75 | + getRoleAccessMenusQuery.RoleId = roleId | ||
| 76 | + data, err := roleService.GetRoleAccessMenus(getRoleAccessMenusQuery) | ||
| 77 | + controller.Response(data, err) | ||
| 78 | +} | ||
| 79 | + | ||
| 80 | +func (controller *RoleController) UpdateRoleAccessMenus() { | ||
| 81 | + roleService := service.NewRoleService(nil) | ||
| 82 | + updateRoleAccessMenusCommand := &command.UpdateRoleAccessMenusCommand{} | ||
| 83 | + controller.Unmarshal(updateRoleAccessMenusCommand) | ||
| 84 | + roleId, _ := controller.GetInt64(":roleId") | ||
| 85 | + updateRoleAccessMenusCommand.RoleId = roleId | ||
| 86 | + data, err := roleService.UpdateRoleAccessMenus(updateRoleAccessMenusCommand) | ||
| 87 | + controller.Response(data, err) | ||
| 88 | +} | ||
| 89 | + | ||
| 90 | +func (controller *RoleController) AssginRoleToUsers() { | ||
| 91 | + roleService := service.NewRoleService(nil) | ||
| 92 | + assginRoleToUsersCommand := &command.AssginRoleToUsersCommand{} | ||
| 93 | + controller.Unmarshal(assginRoleToUsersCommand) | ||
| 94 | + data, err := roleService.AssginRoleToUsers(assginRoleToUsersCommand) | ||
| 95 | + controller.Response(data, err) | ||
| 96 | +} | ||
| 97 | + | ||
| 98 | +func (controller *RoleController) UnAssginRoleToUsers() { | ||
| 99 | + roleService := service.NewRoleService(nil) | ||
| 100 | + unAssginRoleToUsersCommand := &command.UnAssginRoleToUsersCommand{} | ||
| 101 | + controller.Unmarshal(unAssginRoleToUsersCommand) | ||
| 102 | + data, err := roleService.UnAssginRoleToUsers(unAssginRoleToUsersCommand) | ||
| 103 | + controller.Response(data, err) | ||
| 104 | +} |
pkg/port/beego/routers/role_router.go
0 → 100644
| 1 | +package routers | ||
| 2 | + | ||
| 3 | +import ( | ||
| 4 | + "github.com/beego/beego/v2/server/web" | ||
| 5 | + "gitlab.fjmaimaimai.com/allied-creation/allied-creation-user/pkg/port/beego/controllers" | ||
| 6 | +) | ||
| 7 | + | ||
| 8 | +func init() { | ||
| 9 | + web.Router("/role/", &controllers.RoleController{}, "Post:CreateRole") | ||
| 10 | + web.Router("/role/:roleId", &controllers.RoleController{}, "Put:UpdateRole") | ||
| 11 | + web.Router("/role/:roleId", &controllers.RoleController{}, "Get:GetRole") | ||
| 12 | + web.Router("/role/:roleId", &controllers.RoleController{}, "Delete:RemoveRole") | ||
| 13 | + web.Router("/role/search", &controllers.RoleController{}, "Post:ListRole") | ||
| 14 | + web.Router("/role/:roleId/related-user", &controllers.RoleController{}, "Get:GetRoleRelatedUsers") | ||
| 15 | + web.Router("/role/:roleId/access-menus", &controllers.RoleController{}, "Get:GetRoleAccessMenus") | ||
| 16 | + web.Router("/role/:roleId/access-menus", &controllers.RoleController{}, "Put:UpdateRoleAccessMenus") | ||
| 17 | + web.Router("/role/assign", &controllers.RoleController{}, "Post:AssginRoleToUsers") | ||
| 18 | + web.Router("/role/unassign", &controllers.RoleController{}, "Post:UnAssginRoleToUsers") | ||
| 19 | +} |
| 1 | +package role | ||
| 2 | + | ||
| 3 | +import ( | ||
| 4 | + "github.com/go-pg/pg/v10" | ||
| 5 | + "net/http" | ||
| 6 | + | ||
| 7 | + "github.com/gavv/httpexpect" | ||
| 8 | + . "github.com/onsi/ginkgo" | ||
| 9 | + . "github.com/onsi/gomega" | ||
| 10 | + pG "gitlab.fjmaimaimai.com/allied-creation/allied-creation-user/pkg/infrastructure/pg" | ||
| 11 | +) | ||
| 12 | + | ||
| 13 | +var _ = Describe("分配角色给多个用户", func() { | ||
| 14 | + var roleId int64 | ||
| 15 | + BeforeEach(func() { | ||
| 16 | + _, err := pG.DB.QueryOne( | ||
| 17 | + pg.Scan(&roleId), | ||
| 18 | + "INSERT INTO roles (role_id, company_id, org_id, role_type, role_name, access_menus, desc, ext, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?) RETURNING role_id", | ||
| 19 | + "testRoleId", "testCompanyId", "testOrgId", "testRoleType", "testRoleName", "testAccessMenus", "testDesc", "testExt", "testCreatedAt", "testUpdatedAt") | ||
| 20 | + Expect(err).NotTo(HaveOccurred()) | ||
| 21 | + }) | ||
| 22 | + Describe("分配角色给多个用户", func() { | ||
| 23 | + Context("", func() { | ||
| 24 | + It("", func() { | ||
| 25 | + httpExpect := httpexpect.New(GinkgoT(), server.URL) | ||
| 26 | + body := map[string]interface{}{ | ||
| 27 | + "roleId": "int64", | ||
| 28 | + "userIds": "array", | ||
| 29 | + } | ||
| 30 | + httpExpect.POST("/role/assign"). | ||
| 31 | + WithJSON(body). | ||
| 32 | + Expect(). | ||
| 33 | + Status(http.StatusOK). | ||
| 34 | + JSON(). | ||
| 35 | + Object(). | ||
| 36 | + ContainsKey("code").ValueEqual("code", 0). | ||
| 37 | + ContainsKey("msg").ValueEqual("msg", "ok"). | ||
| 38 | + ContainsKey("data").Value("data").Object() | ||
| 39 | + }) | ||
| 40 | + }) | ||
| 41 | + }) | ||
| 42 | + AfterEach(func() { | ||
| 43 | + _, err := pG.DB.Exec("DELETE FROM roles WHERE true") | ||
| 44 | + Expect(err).NotTo(HaveOccurred()) | ||
| 45 | + }) | ||
| 46 | +}) |
| 1 | +package role | ||
| 2 | + | ||
| 3 | +import ( | ||
| 4 | + "net/http" | ||
| 5 | + | ||
| 6 | + "github.com/gavv/httpexpect" | ||
| 7 | + . "github.com/onsi/ginkgo" | ||
| 8 | + . "github.com/onsi/gomega" | ||
| 9 | + pG "gitlab.fjmaimaimai.com/allied-creation/allied-creation-user/pkg/infrastructure/pg" | ||
| 10 | +) | ||
| 11 | + | ||
| 12 | +var _ = Describe("创建角色", func() { | ||
| 13 | + Describe("提交数据创建角色", func() { | ||
| 14 | + Context("提交正确的新角色 (base)数据", func() { | ||
| 15 | + It("返回角色 (base)数据", func() { | ||
| 16 | + httpExpect := httpexpect.New(GinkgoT(), server.URL) | ||
| 17 | + body := map[string]interface{}{ | ||
| 18 | + "roleName": "string", | ||
| 19 | + "desc": "int64", | ||
| 20 | + } | ||
| 21 | + httpExpect.POST("/role/"). | ||
| 22 | + WithJSON(body). | ||
| 23 | + Expect(). | ||
| 24 | + Status(http.StatusOK). | ||
| 25 | + JSON(). | ||
| 26 | + Object(). | ||
| 27 | + ContainsKey("code").ValueEqual("code", 0). | ||
| 28 | + ContainsKey("msg").ValueEqual("msg", "ok"). | ||
| 29 | + ContainsKey("data").Value("data").Object(). | ||
| 30 | + ContainsKey("roleId").ValueNotEqual("roleId", BeZero()) | ||
| 31 | + }) | ||
| 32 | + }) | ||
| 33 | + }) | ||
| 34 | + AfterEach(func() { | ||
| 35 | + _, err := pG.DB.Exec("DELETE FROM roles WHERE true") | ||
| 36 | + Expect(err).NotTo(HaveOccurred()) | ||
| 37 | + }) | ||
| 38 | +}) |
| 1 | +package role | ||
| 2 | + | ||
| 3 | +import ( | ||
| 4 | + "github.com/go-pg/pg/v10" | ||
| 5 | + "net/http" | ||
| 6 | + | ||
| 7 | + "github.com/gavv/httpexpect" | ||
| 8 | + . "github.com/onsi/ginkgo" | ||
| 9 | + . "github.com/onsi/gomega" | ||
| 10 | + pG "gitlab.fjmaimaimai.com/allied-creation/allied-creation-user/pkg/infrastructure/pg" | ||
| 11 | +) | ||
| 12 | + | ||
| 13 | +var _ = Describe("获取角色菜单", func() { | ||
| 14 | + var roleId int64 | ||
| 15 | + BeforeEach(func() { | ||
| 16 | + _, err := pG.DB.QueryOne( | ||
| 17 | + pg.Scan(&roleId), | ||
| 18 | + "INSERT INTO roles (role_id, company_id, org_id, role_type, role_name, access_menus, desc, ext, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?) RETURNING role_id", | ||
| 19 | + "testRoleId", "testCompanyId", "testOrgId", "testRoleType", "testRoleName", "testAccessMenus", "testDesc", "testExt", "testCreatedAt", "testUpdatedAt") | ||
| 20 | + Expect(err).NotTo(HaveOccurred()) | ||
| 21 | + }) | ||
| 22 | + Describe("获取角色菜单", func() { | ||
| 23 | + Context("", func() { | ||
| 24 | + It("", func() { | ||
| 25 | + httpExpect := httpexpect.New(GinkgoT(), server.URL) | ||
| 26 | + httpExpect.GET("/role/{roleId}/access-menus"). | ||
| 27 | + Expect(). | ||
| 28 | + Status(http.StatusOK). | ||
| 29 | + JSON(). | ||
| 30 | + Object(). | ||
| 31 | + ContainsKey("code").ValueEqual("code", 0). | ||
| 32 | + ContainsKey("msg").ValueEqual("msg", "ok"). | ||
| 33 | + ContainsKey("data").Value("data").Object() | ||
| 34 | + }) | ||
| 35 | + }) | ||
| 36 | + }) | ||
| 37 | + AfterEach(func() { | ||
| 38 | + _, err := pG.DB.Exec("DELETE FROM roles WHERE true") | ||
| 39 | + Expect(err).NotTo(HaveOccurred()) | ||
| 40 | + }) | ||
| 41 | +}) |
| 1 | +package role | ||
| 2 | + | ||
| 3 | +import ( | ||
| 4 | + "github.com/go-pg/pg/v10" | ||
| 5 | + "net/http" | ||
| 6 | + | ||
| 7 | + "github.com/gavv/httpexpect" | ||
| 8 | + . "github.com/onsi/ginkgo" | ||
| 9 | + . "github.com/onsi/gomega" | ||
| 10 | + pG "gitlab.fjmaimaimai.com/allied-creation/allied-creation-user/pkg/infrastructure/pg" | ||
| 11 | +) | ||
| 12 | + | ||
| 13 | +var _ = Describe("获取角色相关联的用户", func() { | ||
| 14 | + var roleId int64 | ||
| 15 | + BeforeEach(func() { | ||
| 16 | + _, err := pG.DB.QueryOne( | ||
| 17 | + pg.Scan(&roleId), | ||
| 18 | + "INSERT INTO roles (role_id, company_id, org_id, role_type, role_name, access_menus, desc, ext, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?) RETURNING role_id", | ||
| 19 | + "testRoleId", "testCompanyId", "testOrgId", "testRoleType", "testRoleName", "testAccessMenus", "testDesc", "testExt", "testCreatedAt", "testUpdatedAt") | ||
| 20 | + Expect(err).NotTo(HaveOccurred()) | ||
| 21 | + }) | ||
| 22 | + Describe("获取角色相关联的用户", func() { | ||
| 23 | + Context("", func() { | ||
| 24 | + It("", func() { | ||
| 25 | + httpExpect := httpexpect.New(GinkgoT(), server.URL) | ||
| 26 | + httpExpect.GET("/role/{roleId}/related-user"). | ||
| 27 | + WithQuery("orgId", "int64"). | ||
| 28 | + WithQuery("departmentId", "int64"). | ||
| 29 | + Expect(). | ||
| 30 | + Status(http.StatusOK). | ||
| 31 | + JSON(). | ||
| 32 | + Object(). | ||
| 33 | + ContainsKey("code").ValueEqual("code", 0). | ||
| 34 | + ContainsKey("msg").ValueEqual("msg", "ok"). | ||
| 35 | + ContainsKey("data").Value("data").Object() | ||
| 36 | + }) | ||
| 37 | + }) | ||
| 38 | + }) | ||
| 39 | + AfterEach(func() { | ||
| 40 | + _, err := pG.DB.Exec("DELETE FROM roles WHERE true") | ||
| 41 | + Expect(err).NotTo(HaveOccurred()) | ||
| 42 | + }) | ||
| 43 | +}) |
test/integration/beego/role/get_role_test.go
0 → 100644
| 1 | +package role | ||
| 2 | + | ||
| 3 | +import ( | ||
| 4 | + "github.com/go-pg/pg/v10" | ||
| 5 | + "net/http" | ||
| 6 | + | ||
| 7 | + "github.com/gavv/httpexpect" | ||
| 8 | + . "github.com/onsi/ginkgo" | ||
| 9 | + . "github.com/onsi/gomega" | ||
| 10 | + pG "gitlab.fjmaimaimai.com/allied-creation/allied-creation-user/pkg/infrastructure/pg" | ||
| 11 | +) | ||
| 12 | + | ||
| 13 | +var _ = Describe("返回角色", func() { | ||
| 14 | + var roleId int64 | ||
| 15 | + BeforeEach(func() { | ||
| 16 | + _, err := pG.DB.QueryOne( | ||
| 17 | + pg.Scan(&roleId), | ||
| 18 | + "INSERT INTO roles (role_id, company_id, org_id, role_type, role_name, access_menus, desc, ext, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?) RETURNING role_id", | ||
| 19 | + "testRoleId", "testCompanyId", "testOrgId", "testRoleType", "testRoleName", "testAccessMenus", "testDesc", "testExt", "testCreatedAt", "testUpdatedAt") | ||
| 20 | + Expect(err).NotTo(HaveOccurred()) | ||
| 21 | + }) | ||
| 22 | + Describe("根据roleId参数返回角色 (base)", func() { | ||
| 23 | + Context("传入有效的roleId", func() { | ||
| 24 | + It("返回角色 (base)数据", func() { | ||
| 25 | + httpExpect := httpexpect.New(GinkgoT(), server.URL) | ||
| 26 | + httpExpect.GET("/role/{roleId}"). | ||
| 27 | + Expect(). | ||
| 28 | + Status(http.StatusOK). | ||
| 29 | + JSON(). | ||
| 30 | + Object(). | ||
| 31 | + ContainsKey("code").ValueEqual("code", 0). | ||
| 32 | + ContainsKey("msg").ValueEqual("msg", "ok"). | ||
| 33 | + ContainsKey("data").Value("data").Object() | ||
| 34 | + }) | ||
| 35 | + }) | ||
| 36 | + }) | ||
| 37 | + AfterEach(func() { | ||
| 38 | + _, err := pG.DB.Exec("DELETE FROM roles WHERE true") | ||
| 39 | + Expect(err).NotTo(HaveOccurred()) | ||
| 40 | + }) | ||
| 41 | +}) |
| 1 | +package role | ||
| 2 | + | ||
| 3 | +import ( | ||
| 4 | + "github.com/go-pg/pg/v10" | ||
| 5 | + "net/http" | ||
| 6 | + | ||
| 7 | + "github.com/gavv/httpexpect" | ||
| 8 | + . "github.com/onsi/ginkgo" | ||
| 9 | + . "github.com/onsi/gomega" | ||
| 10 | + pG "gitlab.fjmaimaimai.com/allied-creation/allied-creation-user/pkg/infrastructure/pg" | ||
| 11 | +) | ||
| 12 | + | ||
| 13 | +var _ = Describe("返回角色列表", func() { | ||
| 14 | + var roleId int64 | ||
| 15 | + BeforeEach(func() { | ||
| 16 | + _, err := pG.DB.QueryOne( | ||
| 17 | + pg.Scan(&roleId), | ||
| 18 | + "INSERT INTO roles (role_id, company_id, org_id, role_type, role_name, access_menus, desc, ext, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?) RETURNING role_id", | ||
| 19 | + "testRoleId", "testCompanyId", "testOrgId", "testRoleType", "testRoleName", "testAccessMenus", "testDesc", "testExt", "testCreatedAt", "testUpdatedAt") | ||
| 20 | + Expect(err).NotTo(HaveOccurred()) | ||
| 21 | + }) | ||
| 22 | + Describe("根据参数返回角色 (base)列表", func() { | ||
| 23 | + Context("传入有效的参数", func() { | ||
| 24 | + It("返回角色 (base)数据列表", func() { | ||
| 25 | + httpExpect := httpexpect.New(GinkgoT(), server.URL) | ||
| 26 | + body := map[string]interface{}{ | ||
| 27 | + "offset": "int", | ||
| 28 | + "limit": "int", | ||
| 29 | + "roleType": "int", | ||
| 30 | + "roleName": "string", | ||
| 31 | + "orgName": "string", | ||
| 32 | + "orgId": "int64", | ||
| 33 | + "inOrgIds": "array", | ||
| 34 | + } | ||
| 35 | + httpExpect.POST("/role/search"). | ||
| 36 | + WithJSON(body). | ||
| 37 | + Expect(). | ||
| 38 | + Status(http.StatusOK). | ||
| 39 | + JSON(). | ||
| 40 | + Object(). | ||
| 41 | + ContainsKey("code").ValueEqual("code", 0). | ||
| 42 | + ContainsKey("msg").ValueEqual("msg", "ok"). | ||
| 43 | + ContainsKey("data").Value("data").Object(). | ||
| 44 | + ContainsKey("count").ValueEqual("count", 1). | ||
| 45 | + ContainsKey("roles").Value("roles").Array() | ||
| 46 | + }) | ||
| 47 | + }) | ||
| 48 | + }) | ||
| 49 | + AfterEach(func() { | ||
| 50 | + _, err := pG.DB.Exec("DELETE FROM roles WHERE true") | ||
| 51 | + Expect(err).NotTo(HaveOccurred()) | ||
| 52 | + }) | ||
| 53 | +}) |
| 1 | +package role | ||
| 2 | + | ||
| 3 | +import ( | ||
| 4 | + "github.com/go-pg/pg/v10" | ||
| 5 | + "net/http" | ||
| 6 | + | ||
| 7 | + "github.com/gavv/httpexpect" | ||
| 8 | + . "github.com/onsi/ginkgo" | ||
| 9 | + . "github.com/onsi/gomega" | ||
| 10 | + pG "gitlab.fjmaimaimai.com/allied-creation/allied-creation-user/pkg/infrastructure/pg" | ||
| 11 | +) | ||
| 12 | + | ||
| 13 | +var _ = Describe("移除角色", func() { | ||
| 14 | + var roleId int64 | ||
| 15 | + BeforeEach(func() { | ||
| 16 | + _, err := pG.DB.QueryOne( | ||
| 17 | + pg.Scan(&roleId), | ||
| 18 | + "INSERT INTO roles (role_id, company_id, org_id, role_type, role_name, access_menus, desc, ext, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?) RETURNING role_id", | ||
| 19 | + "testRoleId", "testCompanyId", "testOrgId", "testRoleType", "testRoleName", "testAccessMenus", "testDesc", "testExt", "testCreatedAt", "testUpdatedAt") | ||
| 20 | + Expect(err).NotTo(HaveOccurred()) | ||
| 21 | + }) | ||
| 22 | + Describe("根据参数移除角色", func() { | ||
| 23 | + Context("传入有效的roleId", func() { | ||
| 24 | + It("返回被移除角色 (base)的数据", func() { | ||
| 25 | + httpExpect := httpexpect.New(GinkgoT(), server.URL) | ||
| 26 | + httpExpect.DELETE("/role/{roleId}"). | ||
| 27 | + Expect(). | ||
| 28 | + Status(http.StatusOK). | ||
| 29 | + JSON(). | ||
| 30 | + Object(). | ||
| 31 | + ContainsKey("code").ValueEqual("code", 0). | ||
| 32 | + ContainsKey("msg").ValueEqual("msg", "ok"). | ||
| 33 | + ContainsKey("data").Value("data").Object() | ||
| 34 | + }) | ||
| 35 | + }) | ||
| 36 | + }) | ||
| 37 | + AfterEach(func() { | ||
| 38 | + _, err := pG.DB.Exec("DELETE FROM roles WHERE true") | ||
| 39 | + Expect(err).NotTo(HaveOccurred()) | ||
| 40 | + }) | ||
| 41 | +}) |
| 1 | +package role | ||
| 2 | + | ||
| 3 | +import ( | ||
| 4 | + "net/http" | ||
| 5 | + "net/http/httptest" | ||
| 6 | + "testing" | ||
| 7 | + | ||
| 8 | + "github.com/beego/beego/v2/server/web" | ||
| 9 | + . "github.com/onsi/ginkgo" | ||
| 10 | + . "github.com/onsi/gomega" | ||
| 11 | + _ "gitlab.fjmaimaimai.com/allied-creation/allied-creation-user/pkg/infrastructure/pg" | ||
| 12 | + _ "gitlab.fjmaimaimai.com/allied-creation/allied-creation-user/pkg/port/beego" | ||
| 13 | +) | ||
| 14 | + | ||
| 15 | +func TestRole(t *testing.T) { | ||
| 16 | + RegisterFailHandler(Fail) | ||
| 17 | + RunSpecs(t, "Beego Port Role Correlations Test Case Suite") | ||
| 18 | +} | ||
| 19 | + | ||
| 20 | +var handler http.Handler | ||
| 21 | +var server *httptest.Server | ||
| 22 | + | ||
| 23 | +var _ = BeforeSuite(func() { | ||
| 24 | + handler = web.BeeApp.Handlers | ||
| 25 | + server = httptest.NewServer(handler) | ||
| 26 | +}) | ||
| 27 | + | ||
| 28 | +var _ = AfterSuite(func() { | ||
| 29 | + server.Close() | ||
| 30 | +}) |
| 1 | +package role | ||
| 2 | + | ||
| 3 | +import ( | ||
| 4 | + "github.com/go-pg/pg/v10" | ||
| 5 | + "net/http" | ||
| 6 | + | ||
| 7 | + "github.com/gavv/httpexpect" | ||
| 8 | + . "github.com/onsi/ginkgo" | ||
| 9 | + . "github.com/onsi/gomega" | ||
| 10 | + pG "gitlab.fjmaimaimai.com/allied-creation/allied-creation-user/pkg/infrastructure/pg" | ||
| 11 | +) | ||
| 12 | + | ||
| 13 | +var _ = Describe("取消用户分配的角色", func() { | ||
| 14 | + var roleId int64 | ||
| 15 | + BeforeEach(func() { | ||
| 16 | + _, err := pG.DB.QueryOne( | ||
| 17 | + pg.Scan(&roleId), | ||
| 18 | + "INSERT INTO roles (role_id, company_id, org_id, role_type, role_name, access_menus, desc, ext, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?) RETURNING role_id", | ||
| 19 | + "testRoleId", "testCompanyId", "testOrgId", "testRoleType", "testRoleName", "testAccessMenus", "testDesc", "testExt", "testCreatedAt", "testUpdatedAt") | ||
| 20 | + Expect(err).NotTo(HaveOccurred()) | ||
| 21 | + }) | ||
| 22 | + Describe("取消用户分配的角色", func() { | ||
| 23 | + Context("", func() { | ||
| 24 | + It("", func() { | ||
| 25 | + httpExpect := httpexpect.New(GinkgoT(), server.URL) | ||
| 26 | + body := map[string]interface{}{ | ||
| 27 | + "roleId": "int64", | ||
| 28 | + "userIds": "array", | ||
| 29 | + } | ||
| 30 | + httpExpect.POST("/role/unassign"). | ||
| 31 | + WithJSON(body). | ||
| 32 | + Expect(). | ||
| 33 | + Status(http.StatusOK). | ||
| 34 | + JSON(). | ||
| 35 | + Object(). | ||
| 36 | + ContainsKey("code").ValueEqual("code", 0). | ||
| 37 | + ContainsKey("msg").ValueEqual("msg", "ok"). | ||
| 38 | + ContainsKey("data").Value("data").Object() | ||
| 39 | + }) | ||
| 40 | + }) | ||
| 41 | + }) | ||
| 42 | + AfterEach(func() { | ||
| 43 | + _, err := pG.DB.Exec("DELETE FROM roles WHERE true") | ||
| 44 | + Expect(err).NotTo(HaveOccurred()) | ||
| 45 | + }) | ||
| 46 | +}) |
| 1 | +package role | ||
| 2 | + | ||
| 3 | +import ( | ||
| 4 | + "github.com/go-pg/pg/v10" | ||
| 5 | + "net/http" | ||
| 6 | + | ||
| 7 | + "github.com/gavv/httpexpect" | ||
| 8 | + . "github.com/onsi/ginkgo" | ||
| 9 | + . "github.com/onsi/gomega" | ||
| 10 | + pG "gitlab.fjmaimaimai.com/allied-creation/allied-creation-user/pkg/infrastructure/pg" | ||
| 11 | +) | ||
| 12 | + | ||
| 13 | +var _ = Describe("设置角色菜单", func() { | ||
| 14 | + var roleId int64 | ||
| 15 | + BeforeEach(func() { | ||
| 16 | + _, err := pG.DB.QueryOne( | ||
| 17 | + pg.Scan(&roleId), | ||
| 18 | + "INSERT INTO roles (role_id, company_id, org_id, role_type, role_name, access_menus, desc, ext, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?) RETURNING role_id", | ||
| 19 | + "testRoleId", "testCompanyId", "testOrgId", "testRoleType", "testRoleName", "testAccessMenus", "testDesc", "testExt", "testCreatedAt", "testUpdatedAt") | ||
| 20 | + Expect(err).NotTo(HaveOccurred()) | ||
| 21 | + }) | ||
| 22 | + Describe("设置角色菜单", func() { | ||
| 23 | + Context("", func() { | ||
| 24 | + It("", func() { | ||
| 25 | + httpExpect := httpexpect.New(GinkgoT(), server.URL) | ||
| 26 | + body := map[string]interface{}{ | ||
| 27 | + "accessMenus": "array", | ||
| 28 | + } | ||
| 29 | + httpExpect.PUT("/role/{roleId}/access-menus"). | ||
| 30 | + WithJSON(body). | ||
| 31 | + Expect(). | ||
| 32 | + Status(http.StatusOK). | ||
| 33 | + JSON(). | ||
| 34 | + Object(). | ||
| 35 | + ContainsKey("code").ValueEqual("code", 0). | ||
| 36 | + ContainsKey("msg").ValueEqual("msg", "ok"). | ||
| 37 | + ContainsKey("data").Value("data").Object() | ||
| 38 | + }) | ||
| 39 | + }) | ||
| 40 | + }) | ||
| 41 | + AfterEach(func() { | ||
| 42 | + _, err := pG.DB.Exec("DELETE FROM roles WHERE true") | ||
| 43 | + Expect(err).NotTo(HaveOccurred()) | ||
| 44 | + }) | ||
| 45 | +}) |
| 1 | +package role | ||
| 2 | + | ||
| 3 | +import ( | ||
| 4 | + "github.com/go-pg/pg/v10" | ||
| 5 | + "net/http" | ||
| 6 | + | ||
| 7 | + "github.com/gavv/httpexpect" | ||
| 8 | + . "github.com/onsi/ginkgo" | ||
| 9 | + . "github.com/onsi/gomega" | ||
| 10 | + pG "gitlab.fjmaimaimai.com/allied-creation/allied-creation-user/pkg/infrastructure/pg" | ||
| 11 | +) | ||
| 12 | + | ||
| 13 | +var _ = Describe("更新角色", func() { | ||
| 14 | + var roleId int64 | ||
| 15 | + BeforeEach(func() { | ||
| 16 | + _, err := pG.DB.QueryOne( | ||
| 17 | + pg.Scan(&roleId), | ||
| 18 | + "INSERT INTO roles (role_id, company_id, org_id, role_type, role_name, access_menus, desc, ext, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?) RETURNING role_id", | ||
| 19 | + "testRoleId", "testCompanyId", "testOrgId", "testRoleType", "testRoleName", "testAccessMenus", "testDesc", "testExt", "testCreatedAt", "testUpdatedAt") | ||
| 20 | + Expect(err).NotTo(HaveOccurred()) | ||
| 21 | + }) | ||
| 22 | + Describe("提交数据更新角色", func() { | ||
| 23 | + Context("提交正确的角色 (base)数据", func() { | ||
| 24 | + It("返回更新后的角色 (base)数据", func() { | ||
| 25 | + httpExpect := httpexpect.New(GinkgoT(), server.URL) | ||
| 26 | + body := map[string]interface{}{ | ||
| 27 | + "roleName": "string", | ||
| 28 | + "desc": "int64", | ||
| 29 | + } | ||
| 30 | + httpExpect.PUT("/role/{roleId}"). | ||
| 31 | + WithJSON(body). | ||
| 32 | + Expect(). | ||
| 33 | + Status(http.StatusOK). | ||
| 34 | + JSON(). | ||
| 35 | + Object(). | ||
| 36 | + ContainsKey("code").ValueEqual("code", 0). | ||
| 37 | + ContainsKey("msg").ValueEqual("msg", "ok"). | ||
| 38 | + ContainsKey("data").Value("data").Object(). | ||
| 39 | + ContainsKey("roleId").ValueEqual("roleId", roleId) | ||
| 40 | + }) | ||
| 41 | + }) | ||
| 42 | + }) | ||
| 43 | + AfterEach(func() { | ||
| 44 | + _, err := pG.DB.Exec("DELETE FROM roles WHERE true") | ||
| 45 | + Expect(err).NotTo(HaveOccurred()) | ||
| 46 | + }) | ||
| 47 | +}) |
-
请 注册 或 登录 后发表评论