فهرست منبع

fix: 顶级部门删除失败

hsun 1 هفته پیش
والد
کامیت
01d43a94a4
2فایلهای تغییر یافته به همراه21 افزوده شده و 17 حذف شده
  1. 3 1
      .gitignore
  2. 18 16
      services/sys_department.go

+ 3 - 1
.gitignore

@@ -7,4 +7,6 @@ go.sum
 scheduler/etalogs/
 scheduler/conf/
 /test/
-*_test.go
+*_test.go
+/logs
+/.idea

+ 18 - 16
services/sys_department.go

@@ -36,24 +36,26 @@ func DeleteSysDepartmentById(sysDepartmentId, level int) (msg string, err error)
 		msg = "营业部不能被删除"
 		return
 	}
-	parentDep, err := models.GetSysDepartmentById(sysDepartment.ParentId)
-	if err != nil {
-		if err.Error() == utils.ErrNoRow() {
-			msg = "父部门不存在"
-			return
-		}
-		return
-	}
-	if parentDep.SysDepartmentName == "营业部" {
-		condition := ` AND seller_department_id=? `
-		count, er := models.GetUserCount(condition, []interface{}{sysDepartment.SysDepartmentId})
-		if er != nil {
-			err = er
+	if sysDepartment.ParentId > 0 {
+		parentDep, err := models.GetSysDepartmentById(sysDepartment.ParentId)
+		if err != nil {
+			if err.Error() == utils.ErrNoRow() {
+				msg = "父部门不存在"
+				return
+			}
 			return
 		}
-		if count > 0 {
-			msg = "该营业部有关联用户,无法删除"
-			return
+		if parentDep.SysDepartmentName == "营业部" {
+			condition := ` AND seller_department_id=? `
+			count, er := models.GetUserCount(condition, []interface{}{sysDepartment.SysDepartmentId})
+			if er != nil {
+				err = er
+				return
+			}
+			if count > 0 {
+				msg = "该营业部有关联用户,无法删除"
+				return
+			}
 		}
 	}
 	sysDepartmentIds := make([]int, 0)