|
@@ -1,6 +1,7 @@
|
|
|
package sandbox
|
|
|
|
|
|
import (
|
|
|
+ sql2 "database/sql"
|
|
|
"eta/eta_api/global"
|
|
|
"eta/eta_api/models/system"
|
|
|
"eta/eta_api/utils"
|
|
@@ -244,7 +245,7 @@ func GetSandboxClassify(sandboxClassifyId int) (sandbox_classify_id string, err
|
|
|
var sql string
|
|
|
var pars []interface{}
|
|
|
if utils.DbDriverName == utils.DbDriverByDm {
|
|
|
- sql = `WITH RECURSIVE classify_tree (sandbox_classify_id, level) AS (
|
|
|
+ sql = `WITH RECURSIVE classify_tree (sandbox_classify_id, level) AS (
|
|
|
-- 获取指定分类
|
|
|
SELECT sandbox_classify_id, 1 as level
|
|
|
FROM sandbox_classify
|
|
@@ -261,7 +262,7 @@ func GetSandboxClassify(sandboxClassifyId int) (sandbox_classify_id string, err
|
|
|
SELECT LISTAGG(sandbox_classify_id, ',') WITHIN GROUP (ORDER BY level, sandbox_classify_id) AS sandbox_classify_id
|
|
|
FROM classify_tree`
|
|
|
pars = append(pars, sandboxClassifyId)
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
sql = `SELECT GROUP_CONCAT(t.sandbox_classify_id) AS sandbox_classify_id FROM (
|
|
|
SELECT a.sandbox_classify_id FROM sandbox_classify AS a
|
|
|
WHERE a.sandbox_classify_id=?
|
|
@@ -276,7 +277,7 @@ WHERE
|
|
|
parent_id IN ( SELECT sandbox_classify_id FROM sandbox_classify WHERE parent_id = ? )
|
|
|
)AS t`
|
|
|
pars = append(pars, sandboxClassifyId, sandboxClassifyId, sandboxClassifyId)
|
|
|
- }
|
|
|
+ }
|
|
|
err = o.Raw(sql, pars...).Scan(&sandbox_classify_id).Error
|
|
|
return
|
|
|
}
|
|
@@ -350,7 +351,7 @@ func GetSandboxAllParentByClassifyId(sandboxClassifyId int) (ids string, err err
|
|
|
)
|
|
|
SELECT LISTAGG(sandbox_classify_id, ',') WITHIN GROUP (ORDER BY sandbox_classify_id) AS ids
|
|
|
FROM classify_tree`
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
sql = `SELECT
|
|
|
GROUP_CONCAT(DISTINCT m.sandbox_classify_id ORDER BY m.level) AS ids
|
|
|
FROM
|
|
@@ -383,8 +384,13 @@ FROM classify_tree`
|
|
|
WHERE
|
|
|
sandbox_classify_id = vm._id `
|
|
|
}
|
|
|
-
|
|
|
- err = o.Raw(sql, sandboxClassifyId).Scan(&ids).Error
|
|
|
+
|
|
|
+ var idStrNull sql2.NullString
|
|
|
+
|
|
|
+ err = o.Raw(sql, sandboxClassifyId).Scan(&idStrNull).Error
|
|
|
+ if err == nil && idStrNull.Valid {
|
|
|
+ ids = idStrNull.String
|
|
|
+ }
|
|
|
return
|
|
|
}
|
|
|
|