作者 tangxvhui

添加校验

@@ -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 //更新部门关系数据
122 - err = positionRelationUpdate(positionUpdate, parentPosition)  
123 - if err != nil {  
124 - e := fmt.Errorf("positionRelationUpdate err:%s", err)  
125 - log.Error(e.Error())  
126 - return nil, protocol.NewErrWithMessage("1", e) 137 + if positionUpdate.ParentId != param.ParentID {
  138 + err = positionRelationUpdate(positionUpdate, parentPosition)
  139 + if err != nil {
  140 + e := fmt.Errorf("positionRelationUpdate err:%s", err)
  141 + log.Error(e.Error())
  142 + return nil, protocol.NewErrWithMessage("1", e)
  143 + }
127 } 144 }
128 positioninfo = &protocol.ResponsePositionInfo{ 145 positioninfo = &protocol.ResponsePositionInfo{
129 - Id: positionUpdate.Id,  
130 - 146 + Id: positionUpdate.Id,
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 }
  106 + if role.Name != param.Name {
  107 + ok := models.ExistRoleName(param.Name, param.Types)
  108 + if ok {
  109 + return nil, protocol.NewErrWithMessage("10004")
  110 + }
  111 + role.Name = param.Name
  112 + }
  113 +
101 role.Pid = param.Pid 114 role.Pid = param.Pid
102 - //role.Descript = param.Descript  
103 - role.Name = param.Name  
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())