作者 tangxvhui

添加校验

... ... @@ -88,3 +88,16 @@ func UpdatePositionById(m *Position, col []string, om ...orm.Ormer) (err error)
}
return
}
func ExistPositiontName(parentId int64, dname string) bool {
var (
ok bool
)
o := orm.NewOrm()
ok = o.QueryTable(&Position{}).
Filter("name", dname).
Filter("parent_id", parentId).
Filter("delete_at", 0).
Exist()
return ok
}
... ...
... ... @@ -187,3 +187,16 @@ func GetRoleByPid(pid int64) ([]Role, error) {
}
return roles, err
}
func ExistRoleName(rname string, types int8) bool {
var (
ok bool
)
o := orm.NewOrm()
ok = o.QueryTable(&Role{}).
Filter("name", rname).
Filter("types", types).
Filter("delete_at", 0).
Exist()
return ok
}
... ...
... ... @@ -8,8 +8,11 @@ var errmessge ErrorMap = map[string]string{
"10001": "请先删除该分组下的其他角色",
"10002": "请先删除该角色下的人员",
"10003": "无效角色",
"10004": "角色已存在",
//职位相关
"10011": "该职位已被使用无法删除",
"10012": "超过10级的职位限制,请重新选择",
"10013": "职位已存在",
//安全认证相关
"10021": "账号或密码不正确",
"10022": "账号已被禁用",
... ...
... ... @@ -38,25 +38,11 @@ func DepartmentAdd(param protocol.RequestDepartmentAdd) (protocol.ResponseDepart
r := parentDepart.Relation
rs := strings.Split(r, "/")
if len(rs) >= 10 {
if len(rs) >= 10 { //层级不能超过10级
return returndata, protocol.NewErrWithMessage("10046")
}
}
// for _, v := range param.Managers {
// uc, err := models.GetUserCompanyReal([]int64{v})
// if err != nil {
// e := fmt.Errorf("GetUserCompanyReal([]int64{%d}) err:%s", v, err)
// log.Error(e.Error())
// return returndata, protocol.NewErrWithMessage("1", e)
// }
// if len(uc) > 0 {
// if uc[0].CompanyId != param.CompanyID {
// e := fmt.Errorf("managers err")
// log.Error(e.Error())
// return returndata, protocol.NewErrWithMessage("1", e)
// }
// }
// }
departmentAdd := &models.Department{
CompanyId: param.CompanyID,
Name: param.Name,
... ... @@ -184,6 +170,11 @@ func DepartmentEdit(param protocol.RequestDepartmentEdit) error {
log.Error(e.Error())
return protocol.NewErrWithMessage("1", e)
}
r := newparent.Relation
rs := strings.Split(r, "/")
if len(rs) >= 10 { //层级不能超过10级
return protocol.NewErrWithMessage("10046")
}
}
//更新部门关系数据
err = departmentRelationUpdate(departUpdate, newparent)
... ...
... ... @@ -28,6 +28,11 @@ func PositionAdd(param protocol.RequestPositionAdd) (*protocol.ResponsePositionI
DeleteAt: time.Unix(0, 0),
ParentId: param.ParentID,
}
ok := models.ExistPositiontName(param.ParentID, param.Name)
if ok {
return nil, protocol.NewErrWithMessage("10013")
}
//检查上级
if param.ParentID > 0 {
parentPosition, err = models.GetPositionById(param.ParentID)
if err != nil {
... ... @@ -40,6 +45,11 @@ func PositionAdd(param protocol.RequestPositionAdd) (*protocol.ResponsePositionI
log.Error(e.Error())
return nil, protocol.NewErrWithMessage("1", e)
}
r := parentPosition.Relation
rs := strings.Split(r, "/")
if len(rs) >= 10 { //层级不能超过10级
return nil, protocol.NewErrWithMessage("10012")
}
}
o := orm.NewOrm()
... ... @@ -117,17 +127,23 @@ func PositionEdit(param protocol.RequestPositionEdit) (*protocol.ResponsePositio
log.Error(e.Error())
return nil, protocol.NewErrWithMessage("1")
}
r := parentPosition.Relation
rs := strings.Split(r, "/")
if len(rs) >= 10 { //层级不能超过10级
return nil, protocol.NewErrWithMessage("10012")
}
}
//更新部门关系数据
if positionUpdate.ParentId != param.ParentID {
err = positionRelationUpdate(positionUpdate, parentPosition)
if err != nil {
e := fmt.Errorf("positionRelationUpdate err:%s", err)
log.Error(e.Error())
return nil, protocol.NewErrWithMessage("1", e)
}
}
positioninfo = &protocol.ResponsePositionInfo{
Id: positionUpdate.Id,
Name: positionUpdate.Name,
}
if param.ParentID != 0 {
... ...
... ... @@ -19,11 +19,16 @@ func RoleAdd(param protocol.RequestRoleAdd) (*protocol.ResponseRoleInfo, error)
Types: param.Types,
// Descript: param.Descript,
}
if ok := role.ValidateTypes(); !ok {
e := fmt.Errorf("ValidateTypes err")
log.Error(e.Error())
return nil, protocol.NewErrWithMessage("1", e)
}
ok := models.ExistRoleName(param.Name, param.Types)
if ok {
return nil, protocol.NewErrWithMessage("10004")
}
var (
//parentRole *models.Role
err error
... ... @@ -98,9 +103,15 @@ func RoleEdit(param protocol.RequestRoleEdit) (*protocol.ResponseRoleInfo, error
log.Error(e.Error())
return nil, protocol.NewErrWithMessage("1", e)
}
role.Pid = param.Pid
//role.Descript = param.Descript
if role.Name != param.Name {
ok := models.ExistRoleName(param.Name, param.Types)
if ok {
return nil, protocol.NewErrWithMessage("10004")
}
role.Name = param.Name
}
role.Pid = param.Pid
if _, err = role.ValidatePid(); err != nil {
e := fmt.Errorf("ValidatePid err:%s", err)
log.Error(e.Error())
... ...