ソースを参照

Merge branch 'hotfix/edb_classify_move_0409' into debug

hsun 4 日 前
コミット
4ed79e7166

+ 7 - 0
models/data_manage/base_from_ths_hf_classify.go

@@ -289,3 +289,10 @@ func UpdateThsHfClassifyChildByParentClassifyId(classifyIds []int, rootId int, l
 	err = o.Exec(sql, pars...).Error
 	return
 }
+
+// GetThsHfClassifyByParentIdAndName 根据父级ID和名称获取分类
+func GetThsHfClassifyByParentIdAndName(parentId int, classifyName string, classifyId int) (item *BaseFromThsHfClassify, err error) {
+	sql := `SELECT * FROM base_from_ths_hf_classify WHERE parent_id = ? AND classify_name = ? AND base_from_ths_hf_classify_id <> ? LIMIT 1`
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, parentId, classifyName, classifyId).First(&item).Error
+	return
+}

+ 8 - 10
models/data_manage/edb_classify.go

@@ -166,7 +166,7 @@ func GetEdbInfoCountByClassifyId(classifyId int) (count int, err error) {
 				WHERE classify_id = ?
 			)`
 		pars = append(pars, classifyId, classifyId)
-	}else{
+	} else {
 		sql = ` SELECT COUNT(1) AS count FROM edb_info AS a
 		WHERE a.classify_id IN(
 		SELECT t.classify_id FROM 
@@ -181,7 +181,7 @@ func GetEdbInfoCountByClassifyId(classifyId int) (count int, err error) {
 		) `
 		pars = append(pars, classifyId)
 	}
-	
+
 	//err = o.Raw(sql, classifyId).QueryRow(&count)
 	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).Scan(&count).Error
 	return
@@ -417,7 +417,7 @@ func GetClassifyCountByClassifyId(classifyId int) (count int, err error) {
 		) AS t
 		WHERE t.classify_id <> ?`
 		pars = append(pars, classifyId, classifyId, classifyId)
-	}else{
+	} else {
 		sql = ` SELECT COUNT(1) AS count FROM (
 			SELECT rd.*
 			FROM (SELECT * FROM edb_classify WHERE parent_id IS NOT NULL) rd,
@@ -429,7 +429,7 @@ func GetClassifyCountByClassifyId(classifyId int) (count int, err error) {
 			WHERE t.classify_id<>? `
 		pars = append(pars, classifyId, classifyId)
 	}
-		
+
 	//err = o.Raw(sql, classifyId, classifyId).QueryRow(&count)
 	err = global.DbMap[utils.DbNameIndex].Raw(sql, pars...).Scan(&count).Error
 	return
@@ -655,7 +655,7 @@ func FixPredictEdbClassify() {
 
 func GetEdbClassify(classifyId int) (classifyIds string, err error) {
 	//o := orm.NewOrmUsingDB("data")
-	sql :=fmt.Sprintf( `SELECT %s AS classify_ids FROM (
+	sql := fmt.Sprintf(`SELECT %s AS classify_ids FROM (
 			SELECT a.classify_id FROM edb_classify AS a 
 			WHERE a.classify_id=?
 			UNION ALL
@@ -731,11 +731,9 @@ where classify_id IN (` + utils.GetOrmInReplace(len(classifyIds)) + `)`
 }
 
 // GetEdbClassifyByParentIdAndName 根据父级ID和名称获取分类
-func GetEdbClassifyByParentIdAndName(parentId int, classifyName string, classifyId int) (item *EdbClassify, err error) {
-	//o := orm.NewOrmUsingDB("data")
-	sql := `SELECT * FROM edb_classify WHERE parent_id = ? AND classify_name = ? AND classify_id <> ? LIMIT 1`
-	//err = o.Raw(sql, parentId, classifyName, classifyId).QueryRow(&item)
-	err = global.DbMap[utils.DbNameIndex].Raw(sql, parentId, classifyName, classifyId).First(&item).Error
+func GetEdbClassifyByParentIdAndName(parentId int, classifyName string, classifyId, classifyType int) (item *EdbClassify, err error) {
+	sql := `SELECT * FROM edb_classify WHERE parent_id = ? AND classify_name = ? AND classify_id <> ? AND classify_type = ? LIMIT 1`
+	err = global.DbMap[utils.DbNameIndex].Raw(sql, parentId, classifyName, classifyId, classifyType).First(&item).Error
 	return
 }
 

+ 2 - 2
services/data/base_from_ths_hf_classify.go

@@ -85,13 +85,13 @@ func ThsHfMoveClassify(req data_manage.BaseFromThsHfClassifyMoveReq, sysUser *sy
 			return
 		}
 		// 如果是移动目录, 那么校验一下父级目录下是否有重名目录
-		exists, e := data_manage.GetEdbClassifyByParentIdAndName(parentClassifyId, edbClassifyInfo.ClassifyName, classifyId)
+		exists, e := data_manage.GetThsHfClassifyByParentIdAndName(parentClassifyId, edbClassifyInfo.ClassifyName, classifyId)
 		if e != nil && !utils.IsErrNoRow(e) {
 			errMsg = "移动失败"
 			err = fmt.Errorf("获取父级分类下的同名分类失败, Err: %s", e.Error())
 			return
 		}
-		if exists != nil && exists.ClassifyId > 0 {
+		if exists != nil && exists.BaseFromThsHfClassifyId > 0 {
 			errMsg = "移动失败,分类名称已存在"
 			return
 		}

+ 2 - 2
services/data/edb_classify.go

@@ -1108,13 +1108,13 @@ func MoveEdbClassify(req data_manage.MoveEdbClassifyReq, sysUser *system.Admin,
 			return
 		}
 		// 如果是移动目录, 那么校验一下父级目录下是否有重名目录
-		exists, e := data_manage.GetEdbClassifyByParentIdAndName(parentClassifyId, edbClassifyInfo.ClassifyName, classifyId)
+		exists, e := data_manage.GetEdbClassifyByParentIdAndName(parentClassifyId, edbClassifyInfo.ClassifyName, classifyId, int(classifyType))
 		if e != nil && !utils.IsErrNoRow(e) {
 			errMsg = "移动失败"
 			err = fmt.Errorf("获取父级分类下的同名分类失败, Err: %s", e.Error())
 			return
 		}
-		if exists != nil && exists.ClassifyId>0{
+		if exists != nil && exists.ClassifyId > 0 {
 			errMsg = "移动失败,分类名称已存在"
 			return
 		}