瀏覽代碼

ai预测模型图可加入我的图库

hsun 5 天之前
父節點
當前提交
c3980d0847
共有 3 個文件被更改,包括 78 次插入4 次删除
  1. 21 2
      controllers/data_manage/chart_common.go
  2. 45 0
      controllers/data_manage/chart_info.go
  3. 12 2
      services/ai_predict_model_index.go

+ 21 - 2
controllers/data_manage/chart_common.go

@@ -183,7 +183,7 @@ func (this *ChartInfoController) CommonChartInfoDetailFromUniqueCode() {
 		br.Msg = "获取成功"
 		br.Data = resp
 	case utils.CHART_SOURCE_AI_PREDICT_MODEL_DAILY, utils.CHART_SOURCE_AI_PREDICT_MODEL_MONTHLY:
-		resp, isOk, msg, errMsg := GetAiPredictChartInfoDetailFromUniqueCode(chartInfo, isCache)
+		resp, isOk, msg, errMsg := GetAiPredictChartInfoDetailFromUniqueCode(chartInfo, isCache, sysUser.AdminId)
 		if !isOk {
 			if strings.Contains(errMsg, utils.ErrNoRow()) {
 				endInfoList := make([]*data_manage.ChartEdbInfoMapping, 0)
@@ -314,7 +314,7 @@ func (this *ChartInfoController) GeneralChartToken() {
 }
 
 // GetAiPredictChartInfoDetailFromUniqueCode 根据编码获取AI预测模型图表详情
-func GetAiPredictChartInfoDetailFromUniqueCode(chartInfo *data_manage.ChartInfoView, isCache bool) (resp *data_manage.ChartInfoDetailFromUniqueCodeResp, isOk bool, msg, errMsg string) {
+func GetAiPredictChartInfoDetailFromUniqueCode(chartInfo *data_manage.ChartInfoView, isCache bool, adminId int) (resp *data_manage.ChartInfoDetailFromUniqueCodeResp, isOk bool, msg, errMsg string) {
 	var err error
 	msg = "获取成功"
 	defer func() {
@@ -324,6 +324,25 @@ func GetAiPredictChartInfoDetailFromUniqueCode(chartInfo *data_manage.ChartInfoV
 			errMsg = fmt.Sprintf(tips)
 			utils.FileLog.Info(tips)
 		}
+		// 判断是否加入我的图库
+		if isOk {
+			var myChartCondition string
+			var myChartPars []interface{}
+			myChartCondition += ` AND a.admin_id = ? AND a.chart_info_id = ?`
+			myChartPars = append(myChartPars, adminId, chartInfo.ChartInfoId)
+
+			myChartList, err := data_manage.GetMyChartByCondition(myChartCondition, myChartPars)
+			if err != nil && err.Error() != utils.ErrNoRow() {
+				msg = "获取失败"
+				errMsg = "获取我的图表信息失败,GetMyChartByCondition,Err:" + err.Error()
+				return
+			}
+			if myChartList != nil && len(myChartList) > 0 && resp != nil && resp.ChartInfo != nil {
+				resp.ChartInfo.IsAdd = true
+				resp.ChartInfo.MyChartId = myChartList[0].MyChartId
+				resp.ChartInfo.MyChartClassifyId = myChartList[0].MyChartClassifyId
+			}
+		}
 	}()
 	if chartInfo == nil {
 		err = fmt.Errorf("图表信息不存在")

+ 45 - 0
controllers/data_manage/chart_info.go

@@ -574,6 +574,51 @@ func (this *ChartInfoController) ChartInfoBaseEdit() {
 		return
 	}
 
+	// AI预测模型图仅修改名称即可
+	if chartItem.Source == utils.CHART_SOURCE_AI_PREDICT_MODEL_DAILY || chartItem.Source == utils.CHART_SOURCE_AI_PREDICT_MODEL_MONTHLY {
+		if req.ChartName == "" {
+			br.Msg = "请输入图表名称"
+			return
+		}
+
+		// 校验重名
+		var cond string
+		var pars []interface{}
+		cond += " AND chart_info_id <> ? "
+		pars = append(pars, req.ChartInfoId)
+		switch this.Lang {
+		case utils.EnLangVersion:
+			cond += " AND chart_name_en = ? "
+		default:
+			cond += " AND chart_name = ? "
+		}
+		pars = append(pars, req.ChartName)
+		exists, e := data_manage.GetChartInfoByCondition(cond, pars)
+		if e != nil && e.Error() != utils.ErrNoRow() {
+			br.Msg = "操作失败"
+			br.ErrMsg = fmt.Sprintf("获取同名图表失败, %v", e)
+			return
+		}
+		if exists != nil && exists.ChartInfoId > 0 {
+			br.Msg = "图表名称已存在"
+			return
+		}
+		chartItem.ChartName = req.ChartName
+		chartItem.ModifyTime = time.Now().Local()
+		updateCols := []string{"ChartName", "ModifyTime"}
+		if e := chartItem.Update(updateCols); e != nil {
+			br.Msg = "操作失败"
+			br.ErrMsg = fmt.Sprintf("更新图表名称失败, %v", e)
+			return
+		}
+
+		br.Ret = 200
+		br.Success = true
+		br.Msg = "编辑成功"
+		br.IsAddLog = true
+		return
+	}
+
 	// 判断是否有传入对应的指标配置
 	noEdbInfoType := []int{10}
 	if len(req.ChartEdbInfoList) <= 0 && !utils.InArrayByInt(noEdbInfoType, chartItem.ChartType) {

+ 12 - 2
services/ai_predict_model_index.go

@@ -67,6 +67,13 @@ func GetAiPredictChartDetailByData(indexItem *aiPredictModel.AiPredictModelIndex
 		chartView.ChartNameEn = chartInfo.ChartNameEn
 		chartView.Source = chartInfo.Source
 		chartView.ChartImage = chartInfo.ChartImage
+		chartView.HaveOperaAuth = true
+		chartView.UniqueCode = chartInfo.UniqueCode
+		chartView.ChartSource = "AI预测模型"
+		chartView.ChartSourceEn = "AI预测模型"
+		chartView.SysUserId = chartInfo.SysUserId
+		chartView.SysUserRealName = chartInfo.SysUserRealName
+		chartView.Button.IsEdit = true
 	} else {
 		chartView.ChartName = indexItem.IndexName
 		chartView.ChartNameEn = indexItem.IndexName
@@ -80,8 +87,6 @@ func GetAiPredictChartDetailByData(indexItem *aiPredictModel.AiPredictModelIndex
 	chartView.ChartThemeStyle = chartTheme.Config
 	chartView.ChartThemeId = chartTheme.ChartThemeId
 
-	chartView.ChartName = indexItem.IndexName
-	chartView.ChartNameEn = indexItem.IndexName
 	chartView.DateType = 3
 	chartView.Calendar = "公历"
 	chartView.ChartSource = "AI预测模型"
@@ -217,5 +222,10 @@ func GetAiPredictChartDetailByData(indexItem *aiPredictModel.AiPredictModelIndex
 
 	resp.ChartInfo = chartView
 	resp.EdbInfoList = edbList
+	// 此处返回标的ID,我的图表-编辑按钮需要通过标的ID跳至标的编辑页=_=!
+	type dataResp struct {
+		AiPredictModelIndexId int
+	}
+	resp.DataResp = &dataResp{AiPredictModelIndexId: indexItem.AiPredictModelIndexId}
 	return
 }