正在显示
6 个修改的文件
包含
66 行增加
和
19 行删除
| @@ -88,3 +88,16 @@ func UpdatePositionById(m *Position, col []string, om ...orm.Ormer) (err error) | @@ -88,3 +88,16 @@ func UpdatePositionById(m *Position, col []string, om ...orm.Ormer) (err error) | ||
| 88 | } | 88 | } |
| 89 | return | 89 | return |
| 90 | } | 90 | } |
| 91 | + | ||
| 92 | +func ExistPositiontName(parentId int64, dname string) bool { | ||
| 93 | + var ( | ||
| 94 | + ok bool | ||
| 95 | + ) | ||
| 96 | + o := orm.NewOrm() | ||
| 97 | + ok = o.QueryTable(&Position{}). | ||
| 98 | + Filter("name", dname). | ||
| 99 | + Filter("parent_id", parentId). | ||
| 100 | + Filter("delete_at", 0). | ||
| 101 | + Exist() | ||
| 102 | + return ok | ||
| 103 | +} |
| @@ -187,3 +187,16 @@ func GetRoleByPid(pid int64) ([]Role, error) { | @@ -187,3 +187,16 @@ func GetRoleByPid(pid int64) ([]Role, error) { | ||
| 187 | } | 187 | } |
| 188 | return roles, err | 188 | return roles, err |
| 189 | } | 189 | } |
| 190 | + | ||
| 191 | +func ExistRoleName(rname string, types int8) bool { | ||
| 192 | + var ( | ||
| 193 | + ok bool | ||
| 194 | + ) | ||
| 195 | + o := orm.NewOrm() | ||
| 196 | + ok = o.QueryTable(&Role{}). | ||
| 197 | + Filter("name", rname). | ||
| 198 | + Filter("types", types). | ||
| 199 | + Filter("delete_at", 0). | ||
| 200 | + Exist() | ||
| 201 | + return ok | ||
| 202 | +} |
| @@ -8,8 +8,11 @@ var errmessge ErrorMap = map[string]string{ | @@ -8,8 +8,11 @@ var errmessge ErrorMap = map[string]string{ | ||
| 8 | "10001": "请先删除该分组下的其他角色", | 8 | "10001": "请先删除该分组下的其他角色", |
| 9 | "10002": "请先删除该角色下的人员", | 9 | "10002": "请先删除该角色下的人员", |
| 10 | "10003": "无效角色", | 10 | "10003": "无效角色", |
| 11 | + "10004": "角色已存在", | ||
| 11 | //职位相关 | 12 | //职位相关 |
| 12 | "10011": "该职位已被使用无法删除", | 13 | "10011": "该职位已被使用无法删除", |
| 14 | + "10012": "超过10级的职位限制,请重新选择", | ||
| 15 | + "10013": "职位已存在", | ||
| 13 | //安全认证相关 | 16 | //安全认证相关 |
| 14 | "10021": "账号或密码不正确", | 17 | "10021": "账号或密码不正确", |
| 15 | "10022": "账号已被禁用", | 18 | "10022": "账号已被禁用", |
| @@ -38,25 +38,11 @@ func DepartmentAdd(param protocol.RequestDepartmentAdd) (protocol.ResponseDepart | @@ -38,25 +38,11 @@ func DepartmentAdd(param protocol.RequestDepartmentAdd) (protocol.ResponseDepart | ||
| 38 | 38 | ||
| 39 | r := parentDepart.Relation | 39 | r := parentDepart.Relation |
| 40 | rs := strings.Split(r, "/") | 40 | rs := strings.Split(r, "/") |
| 41 | - if len(rs) >= 10 { | 41 | + if len(rs) >= 10 { //层级不能超过10级 |
| 42 | return returndata, protocol.NewErrWithMessage("10046") | 42 | return returndata, protocol.NewErrWithMessage("10046") |
| 43 | } | 43 | } |
| 44 | } | 44 | } |
| 45 | - // for _, v := range param.Managers { | ||
| 46 | - // uc, err := models.GetUserCompanyReal([]int64{v}) | ||
| 47 | - // if err != nil { | ||
| 48 | - // e := fmt.Errorf("GetUserCompanyReal([]int64{%d}) err:%s", v, err) | ||
| 49 | - // log.Error(e.Error()) | ||
| 50 | - // return returndata, protocol.NewErrWithMessage("1", e) | ||
| 51 | - // } | ||
| 52 | - // if len(uc) > 0 { | ||
| 53 | - // if uc[0].CompanyId != param.CompanyID { | ||
| 54 | - // e := fmt.Errorf("managers err") | ||
| 55 | - // log.Error(e.Error()) | ||
| 56 | - // return returndata, protocol.NewErrWithMessage("1", e) | ||
| 57 | - // } | ||
| 58 | - // } | ||
| 59 | - // } | 45 | + |
| 60 | departmentAdd := &models.Department{ | 46 | departmentAdd := &models.Department{ |
| 61 | CompanyId: param.CompanyID, | 47 | CompanyId: param.CompanyID, |
| 62 | Name: param.Name, | 48 | Name: param.Name, |
| @@ -184,6 +170,11 @@ func DepartmentEdit(param protocol.RequestDepartmentEdit) error { | @@ -184,6 +170,11 @@ func DepartmentEdit(param protocol.RequestDepartmentEdit) error { | ||
| 184 | log.Error(e.Error()) | 170 | log.Error(e.Error()) |
| 185 | return protocol.NewErrWithMessage("1", e) | 171 | return protocol.NewErrWithMessage("1", e) |
| 186 | } | 172 | } |
| 173 | + r := newparent.Relation | ||
| 174 | + rs := strings.Split(r, "/") | ||
| 175 | + if len(rs) >= 10 { //层级不能超过10级 | ||
| 176 | + return protocol.NewErrWithMessage("10046") | ||
| 177 | + } | ||
| 187 | } | 178 | } |
| 188 | //更新部门关系数据 | 179 | //更新部门关系数据 |
| 189 | err = departmentRelationUpdate(departUpdate, newparent) | 180 | err = departmentRelationUpdate(departUpdate, newparent) |
| @@ -28,6 +28,11 @@ func PositionAdd(param protocol.RequestPositionAdd) (*protocol.ResponsePositionI | @@ -28,6 +28,11 @@ func PositionAdd(param protocol.RequestPositionAdd) (*protocol.ResponsePositionI | ||
| 28 | DeleteAt: time.Unix(0, 0), | 28 | DeleteAt: time.Unix(0, 0), |
| 29 | ParentId: param.ParentID, | 29 | ParentId: param.ParentID, |
| 30 | } | 30 | } |
| 31 | + ok := models.ExistPositiontName(param.ParentID, param.Name) | ||
| 32 | + if ok { | ||
| 33 | + return nil, protocol.NewErrWithMessage("10013") | ||
| 34 | + } | ||
| 35 | + //检查上级 | ||
| 31 | if param.ParentID > 0 { | 36 | if param.ParentID > 0 { |
| 32 | parentPosition, err = models.GetPositionById(param.ParentID) | 37 | parentPosition, err = models.GetPositionById(param.ParentID) |
| 33 | if err != nil { | 38 | if err != nil { |
| @@ -40,6 +45,11 @@ func PositionAdd(param protocol.RequestPositionAdd) (*protocol.ResponsePositionI | @@ -40,6 +45,11 @@ func PositionAdd(param protocol.RequestPositionAdd) (*protocol.ResponsePositionI | ||
| 40 | log.Error(e.Error()) | 45 | log.Error(e.Error()) |
| 41 | return nil, protocol.NewErrWithMessage("1", e) | 46 | return nil, protocol.NewErrWithMessage("1", e) |
| 42 | } | 47 | } |
| 48 | + r := parentPosition.Relation | ||
| 49 | + rs := strings.Split(r, "/") | ||
| 50 | + if len(rs) >= 10 { //层级不能超过10级 | ||
| 51 | + return nil, protocol.NewErrWithMessage("10012") | ||
| 52 | + } | ||
| 43 | } | 53 | } |
| 44 | 54 | ||
| 45 | o := orm.NewOrm() | 55 | o := orm.NewOrm() |
| @@ -117,17 +127,23 @@ func PositionEdit(param protocol.RequestPositionEdit) (*protocol.ResponsePositio | @@ -117,17 +127,23 @@ func PositionEdit(param protocol.RequestPositionEdit) (*protocol.ResponsePositio | ||
| 117 | log.Error(e.Error()) | 127 | log.Error(e.Error()) |
| 118 | return nil, protocol.NewErrWithMessage("1") | 128 | return nil, protocol.NewErrWithMessage("1") |
| 119 | } | 129 | } |
| 130 | + r := parentPosition.Relation | ||
| 131 | + rs := strings.Split(r, "/") | ||
| 132 | + if len(rs) >= 10 { //层级不能超过10级 | ||
| 133 | + return nil, protocol.NewErrWithMessage("10012") | ||
| 134 | + } | ||
| 120 | } | 135 | } |
| 121 | //更新部门关系数据 | 136 | //更新部门关系数据 |
| 137 | + if positionUpdate.ParentId != param.ParentID { | ||
| 122 | err = positionRelationUpdate(positionUpdate, parentPosition) | 138 | err = positionRelationUpdate(positionUpdate, parentPosition) |
| 123 | if err != nil { | 139 | if err != nil { |
| 124 | e := fmt.Errorf("positionRelationUpdate err:%s", err) | 140 | e := fmt.Errorf("positionRelationUpdate err:%s", err) |
| 125 | log.Error(e.Error()) | 141 | log.Error(e.Error()) |
| 126 | return nil, protocol.NewErrWithMessage("1", e) | 142 | return nil, protocol.NewErrWithMessage("1", e) |
| 127 | } | 143 | } |
| 144 | + } | ||
| 128 | positioninfo = &protocol.ResponsePositionInfo{ | 145 | positioninfo = &protocol.ResponsePositionInfo{ |
| 129 | Id: positionUpdate.Id, | 146 | Id: positionUpdate.Id, |
| 130 | - | ||
| 131 | Name: positionUpdate.Name, | 147 | Name: positionUpdate.Name, |
| 132 | } | 148 | } |
| 133 | if param.ParentID != 0 { | 149 | if param.ParentID != 0 { |
| @@ -19,11 +19,16 @@ func RoleAdd(param protocol.RequestRoleAdd) (*protocol.ResponseRoleInfo, error) | @@ -19,11 +19,16 @@ func RoleAdd(param protocol.RequestRoleAdd) (*protocol.ResponseRoleInfo, error) | ||
| 19 | Types: param.Types, | 19 | Types: param.Types, |
| 20 | // Descript: param.Descript, | 20 | // Descript: param.Descript, |
| 21 | } | 21 | } |
| 22 | + | ||
| 22 | if ok := role.ValidateTypes(); !ok { | 23 | if ok := role.ValidateTypes(); !ok { |
| 23 | e := fmt.Errorf("ValidateTypes err") | 24 | e := fmt.Errorf("ValidateTypes err") |
| 24 | log.Error(e.Error()) | 25 | log.Error(e.Error()) |
| 25 | return nil, protocol.NewErrWithMessage("1", e) | 26 | return nil, protocol.NewErrWithMessage("1", e) |
| 26 | } | 27 | } |
| 28 | + ok := models.ExistRoleName(param.Name, param.Types) | ||
| 29 | + if ok { | ||
| 30 | + return nil, protocol.NewErrWithMessage("10004") | ||
| 31 | + } | ||
| 27 | var ( | 32 | var ( |
| 28 | //parentRole *models.Role | 33 | //parentRole *models.Role |
| 29 | err error | 34 | err error |
| @@ -98,9 +103,15 @@ func RoleEdit(param protocol.RequestRoleEdit) (*protocol.ResponseRoleInfo, error | @@ -98,9 +103,15 @@ func RoleEdit(param protocol.RequestRoleEdit) (*protocol.ResponseRoleInfo, error | ||
| 98 | log.Error(e.Error()) | 103 | log.Error(e.Error()) |
| 99 | return nil, protocol.NewErrWithMessage("1", e) | 104 | return nil, protocol.NewErrWithMessage("1", e) |
| 100 | } | 105 | } |
| 101 | - role.Pid = param.Pid | ||
| 102 | - //role.Descript = param.Descript | 106 | + if role.Name != param.Name { |
| 107 | + ok := models.ExistRoleName(param.Name, param.Types) | ||
| 108 | + if ok { | ||
| 109 | + return nil, protocol.NewErrWithMessage("10004") | ||
| 110 | + } | ||
| 103 | role.Name = param.Name | 111 | role.Name = param.Name |
| 112 | + } | ||
| 113 | + | ||
| 114 | + role.Pid = param.Pid | ||
| 104 | if _, err = role.ValidatePid(); err != nil { | 115 | if _, err = role.ValidatePid(); err != nil { |
| 105 | e := fmt.Errorf("ValidatePid err:%s", err) | 116 | e := fmt.Errorf("ValidatePid err:%s", err) |
| 106 | log.Error(e.Error()) | 117 | log.Error(e.Error()) |
-
请 注册 或 登录 后发表评论