Browse Source

Merge branch 'dm' of http://8.136.199.33:3000/eta_gn_server/eta_api into dm

xyxie 6 months ago
parent
commit
e1fd1fe3ec

+ 53 - 10
controllers/ai/ai_summary.go

@@ -296,12 +296,39 @@ func (this *AiController) DeleteAiSummaryClassify() {
 	//删除分类
 	if req.AiSummaryClassifyId > 0 && req.AiSummaryId == 0 {
 		//判断是否含有纪要
-		count, err := ai_summary.GetAiSummaryInfoCountByClassifyId(req.AiSummaryClassifyId)
+		childIds := make([]int, 0)
+		classifyAll, err := ai_summary.GetAiSummaryClassifyAll()
 		if err != nil && err.Error() != utils.ErrNoRow() {
-			br.Msg = "删除失败"
-			br.ErrMsg = "判断名称是否已存在失败,Err:" + err.Error()
+			br.Msg = "获取失败"
+			br.ErrMsg = "获取数据失败,Err:" + err.Error()
+			return
+		}
+		classifyAllMap := make(map[int]*ai_summary.AiSummaryClassifyItems)
+		for _, v := range classifyAll {
+			classifyAllMap[v.AiSummaryClassifyId] = v
+		}
+		aiSummaryService.GetSummaryClassifyChildIds(req.AiSummaryClassifyId, classifyAllMap, &childIds)
+		condition := ``
+		pars := make([]interface{}, 0)
+		if len(childIds) > 0 {
+			ids := utils.IntArr2joinString(childIds, ",")
+			condition = ` AND classify_id IN (` + ids + `) `
+		} else {
+			condition = ` AND classify_id = ? `
+			pars = append(pars, req.AiSummaryClassifyId)
+		}
+		count, err := ai_summary.GetSummaryCountByCondition(condition, pars)
+		if err != nil {
+			br.Msg = "查询失败"
+			br.ErrMsg = "判断分类下是否有纪要失败,Err:" + err.Error()
 			return
 		}
+		//count, err := ai_summary.GetAiSummaryInfoCountByClassifyId(req.AiSummaryClassifyId)
+		//if err != nil && err.Error() != utils.ErrNoRow() {
+		//	br.Msg = "删除失败"
+		//	br.ErrMsg = "判断名称是否已存在失败,Err:" + err.Error()
+		//	return
+		//}
 
 		if count > 0 {
 			br.Msg = "该目录下存在纪要,不可删除"
@@ -309,7 +336,8 @@ func (this *AiController) DeleteAiSummaryClassify() {
 			return
 		}
 
-		err = ai_summary.DeleteAiSummaryClassify(req.AiSummaryClassifyId)
+		childIds = append(childIds, req.AiSummaryClassifyId)
+		err = ai_summary.DeleteAiSummaryClassifyByIds(childIds)
 		if err != nil {
 			br.Msg = "删除失败"
 			br.ErrMsg = "删除失败,Err:" + err.Error()
@@ -837,6 +865,18 @@ func (this *AiController) AiSummaryList() {
 	}
 	startSize = paging.StartIndex(currentIndex, pageSize)
 
+	classifyAll, err := ai_summary.GetAiSummaryClassifyAll()
+	if err != nil && err.Error() != utils.ErrNoRow() {
+		br.Msg = "获取失败"
+		br.ErrMsg = "获取数据失败,Err:" + err.Error()
+		return
+	}
+	classifyAllMap := make(map[int]*ai_summary.AiSummaryClassifyItems)
+	for _, v := range classifyAll {
+		classifyAllMap[v.AiSummaryClassifyId] = v
+	}
+
+
 	var condition string
 	var pars []interface{}
 
@@ -871,12 +911,15 @@ func (this *AiController) AiSummaryList() {
 	}
 
 	for i, v := range list {
-		ids, err := ai_summary.GetAiSummaryAllParentByClassifyId(v.ClassifyId)
-		if err != nil {
-			br.Msg = "获取父级信息错误!"
-			br.ErrMsg = "获取父级信息错误,Err:" + err.Error()
-			return
-		}
+		parentIds := make([]int, 0)
+		aiSummaryService.GetSummaryParentIds(v.ClassifyId, classifyAllMap, &parentIds)
+		ids := utils.IntArr2joinString(parentIds,",")
+		//ids, err := ai_summary.GetAiSummaryAllParentByClassifyId(v.ClassifyId)
+		//if err != nil {
+		//	br.Msg = "获取父级信息错误!"
+		//	br.ErrMsg = "获取父级信息错误,Err:" + err.Error()
+		//	return
+		//}
 		list[i].ParentIds = ids
 	}
 	resp := new(ai_summary.AiSummaryListResp)

+ 10 - 0
models/ai_summary/ai_summary.go

@@ -207,3 +207,13 @@ type AiSummaryDetailResp struct {
 	SaDocTitle      string `description:"文档库标题"`
 	SaDocClassifyId int    `description:"文档库分类id"`
 }
+
+func GetSummaryCountByCondition(condition string, pars []interface{}) (count int, err error) {
+	sql := ` SELECT COUNT(1) AS count FROM ai_summary WHERE 1=1 `
+	if condition != "" {
+		sql += condition
+	}
+	err = global.DEFAULT_DmSQL.Raw(sql, pars...).Scan(&count).Error
+
+	return
+}

+ 11 - 0
models/ai_summary/ai_summary_classify.go

@@ -2,6 +2,7 @@ package ai_summary
 
 import (
 	"eta_gn/eta_api/global"
+	"eta_gn/eta_api/utils"
 	"fmt"
 	"github.com/rdlucklib/rdluck_tools/paging"
 	"time"
@@ -471,3 +472,13 @@ func GetAiSummaryClassifyAll() (items []*AiSummaryClassifyItems, err error) {
 	err = global.DEFAULT_DmSQL.Raw(sql).Find(&items).Error
 	return
 }
+
+// delBYids
+func DeleteAiSummaryClassifyByIds(ids []int) (err error) {
+	//o := orm.NewOrm()
+	//sql := ` DELETE FROM ai_summary_classify WHERE ai_summary_classify_id in (?)`
+	//_, err = o.Raw(sql, ids).Exec()
+	sql := ` DELETE FROM ai_summary_classify WHERE ai_summary_classify_id in (`+ utils.GetOrmInReplace(len(ids)) +`)`
+	err = global.DEFAULT_DmSQL.Exec(sql, ids).Error
+	return
+}

+ 3 - 2
models/data_manage/factor_edb_series.go

@@ -17,7 +17,7 @@ const (
 
 // FactorEdbSeries 因子指标系列表
 type FactorEdbSeries struct {
-	FactorEdbSeriesId int       `orm:"column(factor_edb_series_id);pk" gorm:"primaryKey" `
+	FactorEdbSeriesId int       `gorm:"primaryKey;column:factor_edb_series_id;autoIncrement" `
 	SeriesName        string    `description:"系列名称"`
 	EdbInfoType       int       `description:"关联指标类型:0-普通指标;1-预测指标"`
 	CalculateStep     string    `description:"计算步骤-JSON"`
@@ -213,7 +213,8 @@ func (m *FactorEdbSeries) CreateSeriesAndMapping(item *FactorEdbSeries, mappings
 		err = fmt.Errorf("insert series err: %v", e)
 		return
 	}
-	item.FactorEdbSeriesId = seriesId
+	seriesId = item.FactorEdbSeriesId
+	//item.FactorEdbSeriesId = seriesId
 
 	if len(mappings) > 0 {
 		for _, v := range mappings {

+ 20 - 0
services/ai_summary/ai_summary.go

@@ -182,3 +182,23 @@ func SharePrompt(promptId int, adminId int) (err error) {
 	}
 	return
 }
+
+
+func GetSummaryClassifyChildIds(classifyId int, classifymap map[int]*ai_summary.AiSummaryClassifyItems, childIds *[]int) {
+	for _, item := range classifymap {
+		if item.ParentId == classifyId {
+			*childIds = append(*childIds, item.AiSummaryClassifyId)
+			GetSummaryClassifyChildIds(item.AiSummaryClassifyId, classifymap, childIds)
+		}
+	}
+}
+
+func GetSummaryParentIds(classifyId int, classifymap map[int]*ai_summary.AiSummaryClassifyItems, parentIds *[]int) {
+	if item, ok := classifymap[classifyId]; ok {
+		if item.ParentId == 0 {
+			return
+		}
+		*parentIds = append(*parentIds, item.ParentId)
+		GetSummaryParentIds(item.ParentId, classifymap, parentIds)
+	}
+}