Browse Source

fix:商品价格曲线

Roc 10 months ago
parent
commit
61f68748be

+ 211 - 124
controllers/data_manage/future_good/future_good_chart_info.go

@@ -3002,133 +3002,220 @@ func (this *FutureGoodChartInfoController) PreviewBarChartInfo() {
 	br.Data = resp
 }
 
-//
-//修复数据时间戳
+// BaseInfoEdit
+// @Title 编辑图表基础信息接口
+// @Description 编辑图表基础信息接口
+// @Param	request	body data_manage.EditChartInfoBaseReq true "type json string"
+// @Success Ret=200 编辑成功
+// @router /chart_info/base/edit [post]
+func (this *FutureGoodChartInfoController) BaseInfoEdit() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
 
-//func init() {
-//	fmt.Println("start")
-//	edbInfoList,err:=data_manage.GetEdbInfo()
-//	if err!=nil {
-//		fmt.Println("Err:",err.Error())
-//		return
-//	}
-//	startDate:=time.Now().AddDate(-40,0,0).Format(utils.FormatDate)
-//	endDate:=time.Now().Format(utils.FormatDate)
-//	for _,v:=range edbInfoList{
-//		dataList,err:=data_manage.GetEdbDataList(v.Source,v.EdbInfoId,startDate,endDate)
-//		if err!=nil {
-//			fmt.Println("GetEdbDataList Err:",err.Error())
-//			return
-//		}
-//		for _,dv:=range dataList{
-//			dataTime,err:=time.Parse(utils.FormatDate,dv.DataTime)
-//			if err!=nil {
-//				fmt.Println("time.Parse Err:"+err.Error())
-//				return
-//			}
-//			timestamp:=dataTime.UnixNano()/1e6
-//			err=data_manage.ModifyEdbDatadTimestamp(v.Source,dv.EdbDataId,timestamp)
-//			if err!=nil{
-//				fmt.Println("ModifyEdbDatadTimestamp Err:"+err.Error())
-//				return
-//			}
-//			fmt.Println(v.Source,dv.EdbDataId,timestamp)
-//		}
-//	}
-//	//time.Sleep(2*time.Minute)
-//
-//	//startDate:=time.Now().AddDate(-30,0,0).Format(utils.FormatDate)
-//	//endDate:=time.Now().Format(utils.FormatDate)
-//	//dataList,err:=data_manage.GetEdbDataList(1,100099,startDate,endDate)
-//	//if err!=nil {
-//	//	fmt.Println("GetEdbDataList Err:",err.Error())
-//	//	return
-//	//}
-//	//for _,dv:=range dataList{
-//	//	dataTime,err:=time.Parse(utils.FormatDate,dv.DataTime)
-//	//	if err!=nil {
-//	//		fmt.Println("time.Parse Err:"+err.Error())
-//	//		return
-//	//	}
-//	//	timestamp:=dataTime.UnixNano()/1e6
-//	//	err=data_manage.ModifyEdbDatadTimestamp(2,dv.EdbDataId,timestamp)
-//	//	if err!=nil{
-//	//		fmt.Println("ModifyEdbDatadTimestamp Err:"+err.Error())
-//	//		return
-//	//	}
-//	//	fmt.Println(2,dv.EdbDataId,timestamp)
-//	//}
-//
-//	fmt.Println("end")
-//}
+	sysUser := this.SysUser
+	if sysUser == nil {
+		br.Msg = "请登录"
+		br.ErrMsg = "请登录,SysUser Is Empty"
+		br.Ret = 408
+		return
+	}
 
-//修复指标配置数据
-//func init() {
-//	fmt.Println("start")
-//	edbInfo, err := data_manage.GetEdbInfoAll()
-//	fmt.Println(err)
-//	for k, v := range edbInfoAll {
-//		fmt.Println(k, v.EdbInfoId)
-//		item, err := data_manage.GetEdbInfoMaxAndMinInfo(v.Source, v.EdbCode)
-//		fmt.Println(item, err)
-//		err = data_manage.ModifyEdbInfoMaxAndMinInfo(v.EdbInfoId, item)
-//		if err != nil {
-//			fmt.Println("ModifyEdbInfoMaxAndMinInfo Err:" + err.Error())
-//		}
-//	}
-//	fmt.Println("end")
-//}
+	var req request.EditChartInfoBaseReq
+	err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
+	if err != nil {
+		br.Msg = "参数解析异常!"
+		br.ErrMsg = "参数解析失败,Err:" + err.Error()
+		return
+	}
+	req.ChartName = strings.Trim(req.ChartName, " ")
 
-//func init() {
-//	fmt.Println("start")
-//	var yearArr []int
-//	yearArr = append(yearArr, 2021)
-//	yearArr = append(yearArr, 2010)
-//	yearArr = append(yearArr, 2020)
-//	yearArr = append(yearArr, 2017)
-//	yearArr = append(yearArr, 2019)
-//	sort.Sort(sort.Reverse(sort.IntSlice(yearArr)))
-//	fmt.Println(yearArr)
-//	fmt.Println("end")
-//}
+	if req.ChartInfoId <= 0 {
+		br.Msg = "请选择图表"
+		return
+	}
 
-//季度指标数据计算(公历转农历)
-//func init() {
-//	fmt.Println("start AddCalculateQuarter")
-//	list:=make([]*data_manage.EdbDataList,0)
-//	data_manage.AddCalculateQuarterV4(list)
-//	fmt.Println("end AddCalculateQuarter")
-//	//return
-//}
+	chartItem, err := data_manage.GetChartInfoById(req.ChartInfoId)
+	if err != nil {
+		if err.Error() == utils.ErrNoRow() {
+			br.Msg = "图表已被删除,请刷新页面"
+			br.ErrMsg = "图表已被删除,请刷新页面"
+			return
+		}
+		br.Msg = "获取图表信息失败"
+		br.ErrMsg = "获取图表信息失败,Err:" + err.Error()
+		return
+	}
 
-/*
-{
-  "ChartClassifyId": 58,
-  "ChartName": "公历转农历6",
-  "ChartType": 2,
-  "ChartEdbInfoList": [
-    {
-      "ChartColor": "#00f",
-      "ChartStyle": "spline",
-      "ChartWidth": 3,
-      "EdbInfoId": 100466,
-      "EdbInfoType": 1,
-      "IsAxis": 1,
-      "IsOrder": false,
-      "LeadUnit": "",
-      "LeadValue": 0,
-      "MaxData": 0.2943,
-      "MinData": -0.2448
-    }
-  ]
-}
-*/
-//func init() {
-//	fmt.Println("start")
-//	data_manage.AddCalculateQuarter(100466,6,"C2108252836")
-//	fmt.Println("end")
-//}
+	if !utils.InArrayByInt([]int{utils.CHART_SOURCE_FUTURE_GOOD, utils.CHART_SOURCE_FUTURE_GOOD_PROFIT}, chartItem.Source) {
+		br.Msg = "该图不是商品价格/利润曲线图!"
+		br.IsSendEmail = false
+		return
+	}
 
-//func init() {
-//	data.AddAllChartInfo()
-//}
+	//图表操作权限
+	//ok := data.CheckOpChartPermission(sysUser, chartItem.SysUserId)
+	//if !ok {
+	//	br.Msg = "没有该图表的操作权限"
+	//	br.ErrMsg = "没有该图表的操作权限"
+	//	return
+	//}
+
+	edbInfoMapping, err := data_manage.GetEtaEdbChartEdbMapping(chartItem.ChartInfoId)
+	if err != nil {
+		br.Msg = "修改失败"
+		br.ErrMsg = "获取图表现货价格指标信息失败,指标信息失败,Err:" + err.Error()
+		return
+	}
+
+	//校验指标信息是否存在
+	edbInfo, err := data_manage.GetEdbInfoById(edbInfoMapping.EdbInfoId)
+	if err != nil {
+		if err.Error() == utils.ErrNoRow() {
+			br.Msg = "图表不存在!"
+			br.ErrMsg = "图表指标不存在,ChartInfoId:" + strconv.Itoa(edbInfoMapping.EdbInfoId)
+			return
+		} else {
+			br.Msg = "获取图表信息失败!"
+			br.ErrMsg = "获取图表的指标信息失败,Err:" + err.Error()
+			return
+		}
+	}
+	if edbInfo == nil {
+		br.Msg = "指标不存在!"
+		br.ErrMsg = "指标不存在,ChartInfoId:" + strconv.Itoa(edbInfoMapping.EdbInfoId)
+		return
+	}
+
+	if req.ChartName != "" {
+		var condition string
+		var pars []interface{}
+		condition += " AND chart_info_id<>? "
+		pars = append(pars, req.ChartInfoId)
+
+		switch this.Lang {
+		case utils.EnLangVersion:
+			condition += " AND chart_name_en = ? "
+		default:
+			condition += " AND chart_name = ? "
+		}
+		pars = append(pars, req.ChartName)
+
+		existItem, err := data_manage.GetChartInfoByCondition(condition, pars)
+		if err != nil {
+			if err.Error() != utils.ErrNoRow() {
+				br.Msg = "判断英文图表名称是否存在失败"
+				br.ErrMsg = "判断英文图表名称是否存在失败,Err:" + err.Error()
+				return
+			}
+		}
+
+		if err == nil && existItem.ChartInfoId > 0 {
+			br.Msg = existItem.ChartName + ":" + req.ChartName + "图表名称已存在"
+			return
+		}
+	}
+
+	switch chartItem.Source {
+	case utils.CHART_SOURCE_FUTURE_GOOD:
+		err = data_manage.EditBaseFutureGoodChartInfoAndEdbEnInfo(chartItem, req.ChartName, edbInfo.EdbInfoId, req.EdbName, req.Unit, this.Lang)
+		if req.FutureGoodName != `` {
+			futureGoodEdbInfoMapping, err := data_manage.GetFutureGoodEdbChartEdbMapping(chartItem.ChartInfoId)
+			if err != nil {
+				br.Msg = "修改失败"
+				br.ErrMsg = "获取图表现货价格指标信息失败,指标信息失败,Err:" + err.Error()
+				return
+			}
+			futureGoodEdbInfo, err := future_good.GetFutureGoodEdbInfo(futureGoodEdbInfoMapping.EdbInfoId)
+			if err != nil {
+				if err.Error() == utils.ErrNoRow() {
+					br.Msg = "图表不存在!"
+					br.ErrMsg = "图表指标不存在,ChartInfoId:" + strconv.Itoa(edbInfoMapping.EdbInfoId)
+					return
+				} else {
+					br.Msg = "获取图表信息失败!"
+					br.ErrMsg = "获取图表的指标信息失败,Err:" + err.Error()
+					return
+				}
+			}
+			if futureGoodEdbInfo == nil {
+				br.Msg = "期货商品指标不存在!"
+				br.ErrMsg = "期货商品指标不存在,ChartInfoId:" + strconv.Itoa(edbInfoMapping.EdbInfoId)
+				return
+			}
+
+			list, _ := future_good.GetFutureGoodEdbInfoListByParentId(futureGoodEdbInfo.FutureGoodEdbInfoId)
+			for _, v := range list {
+				switch this.Lang {
+				case utils.EnLangVersion:
+					if v.FutureGoodEdbNameEn == `` {
+						v.FutureGoodEdbNameEn = strings.TrimPrefix(req.FutureGoodName, " ")
+						v.FutureGoodEdbNameEn = strings.TrimSuffix(req.FutureGoodName, " ")
+					} else {
+						v.FutureGoodEdbNameEn = strings.TrimPrefix(strings.Replace(v.FutureGoodEdbNameEn, v.FutureGoodEdbNameEn, req.FutureGoodName, -1), " ")
+						v.FutureGoodEdbNameEn = strings.TrimSuffix(req.FutureGoodName, " ")
+					}
+					v.Update([]string{"FutureGoodEdbNameEn"})
+				default:
+					if v.FutureGoodEdbName == `` {
+						v.FutureGoodEdbName = strings.TrimPrefix(req.FutureGoodName, " ")
+						v.FutureGoodEdbName = strings.TrimSuffix(req.FutureGoodName, " ")
+					} else {
+						v.FutureGoodEdbName = strings.TrimPrefix(strings.Replace(v.FutureGoodEdbName, v.FutureGoodEdbName, req.FutureGoodName, -1), " ")
+						v.FutureGoodEdbName = strings.TrimSuffix(req.FutureGoodName, " ")
+					}
+					v.Update([]string{"FutureGoodEdbName"})
+				}
+			}
+		}
+	case utils.CHART_SOURCE_FUTURE_GOOD_PROFIT:
+		err = data_manage.EditBaseFutureGoodProfitChartInfoAndEdbEnInfo(chartItem, req.ChartName, edbInfo.EdbInfoId, req.EdbName, req.Unit, req.ProfitName, this.Lang)
+	default:
+		br.Msg = "错误的图表类型"
+		br.ErrMsg = "错误的图表类型"
+		br.IsSendEmail = false
+		return
+	}
+
+	if err != nil {
+		br.Msg = "保存失败"
+		br.ErrMsg = "保存失败,Err:" + err.Error()
+		return
+	}
+	//添加es数据
+	go data.EsAddOrEditChartInfo(chartItem.ChartInfoId)
+	//修改my eta es数据
+	go data.EsAddOrEditMyChartInfoByChartInfoId(chartItem.ChartInfoId)
+
+	//指标 修改es信息
+	go data.AddOrEditEdbInfoToEs(edbInfo.EdbInfoId)
+
+	//新增操作日志
+	{
+		chartLog := new(data_manage.ChartInfoLog)
+		chartLog.ChartName = chartItem.ChartName
+		chartLog.ChartInfoId = req.ChartInfoId
+		chartLog.ChartClassifyId = chartItem.ChartClassifyId
+		chartLog.SysUserId = sysUser.AdminId
+		chartLog.SysUserRealName = sysUser.RealName
+		chartLog.UniqueCode = chartItem.UniqueCode
+		chartLog.CreateTime = time.Now()
+		chartLog.Content = string(this.Ctx.Input.RequestBody)
+		chartLog.Status = "编辑商品价格图表基础信息"
+		chartLog.Method = this.Ctx.Input.URL()
+		go data_manage.AddChartInfoLog(chartLog)
+	}
+
+	//清除缓存
+	if utils.Re == nil && utils.Rc != nil {
+		utils.Rc.Delete(utils.HZ_CHART_LIB_DETAIL + chartItem.UniqueCode) //图表分享链接缓存
+		utils.Rc.Delete(data.GetChartInfoDataKey(req.ChartInfoId))
+	}
+
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "编辑成功"
+	br.IsAddLog = true
+}

+ 18 - 13
controllers/data_manage/future_good/future_good_edb_info.go

@@ -42,7 +42,7 @@ func (this *FutureGoodEdbInfoController) FutureGoodEdbInfoList() {
 	keyword := this.GetString("Keyword")
 	if keyword != `` {
 		condition += ` AND ( future_good_edb_name like ? or future_good_edb_name_en like ?  or future_good_edb_code like ? ) `
-		pars = utils.GetLikeKeywordPars(pars, keyword, 2)
+		pars = utils.GetLikeKeywordPars(pars, keyword, 3)
 	}
 
 	// @Param   RegionType   query   string  false       "交易所来源,海外还是国内"
@@ -230,13 +230,15 @@ func (this *FutureGoodEdbInfoController) FutureGoodEdbInfoGroupList() {
 
 	resp := []future_good2.FutureGoodEdbInfoGroupListResp{
 		{
-			FutureGoodEdbInfoId:   0,
-			FutureGoodEdbInfoName: "国内交易所",
-			Child:                 make([]future_good2.FutureGoodEdbInfoGroupListResp, 0),
+			FutureGoodEdbInfoId:     0,
+			FutureGoodEdbInfoName:   "国内交易所",
+			FutureGoodEdbInfoNameEn: "Domestic",
+			Child:                   make([]future_good2.FutureGoodEdbInfoGroupListResp, 0),
 		}, {
-			FutureGoodEdbInfoId:   0,
-			FutureGoodEdbInfoName: "海外交易所",
-			Child:                 make([]future_good2.FutureGoodEdbInfoGroupListResp, 0),
+			FutureGoodEdbInfoId:     0,
+			FutureGoodEdbInfoName:   "海外交易所",
+			FutureGoodEdbInfoNameEn: "Global",
+			Child:                   make([]future_good2.FutureGoodEdbInfoGroupListResp, 0),
 		},
 	}
 	groupMap := make(map[string]int)
@@ -252,12 +254,14 @@ func (this *FutureGoodEdbInfoController) FutureGoodEdbInfoGroupList() {
 		if !ok {
 			tmpKey = len(child)
 			tmpList = future_good2.FutureGoodEdbInfoGroupListResp{
-				FutureGoodEdbInfoId:   tmpKey,
-				FutureGoodEdbInfoName: v.Exchange,
+				FutureGoodEdbInfoId:     tmpKey,
+				FutureGoodEdbInfoName:   v.Exchange,
+				FutureGoodEdbInfoNameEn: v.ExchangeEn,
 				Child: []future_good2.FutureGoodEdbInfoGroupListResp{
 					{
-						FutureGoodEdbInfoId:   v.FutureGoodEdbInfoId,
-						FutureGoodEdbInfoName: v.FutureGoodEdbName,
+						FutureGoodEdbInfoId:     v.FutureGoodEdbInfoId,
+						FutureGoodEdbInfoName:   v.FutureGoodEdbName,
+						FutureGoodEdbInfoNameEn: v.FutureGoodEdbNameEn,
 						//Child:                 make([]future_good.FutureGoodEdbInfoGroupListResp, 0),
 					},
 				},
@@ -267,8 +271,9 @@ func (this *FutureGoodEdbInfoController) FutureGoodEdbInfoGroupList() {
 		} else {
 			tmpList = child[tmpKey]
 			tmpList.Child = append(tmpList.Child, future_good2.FutureGoodEdbInfoGroupListResp{
-				FutureGoodEdbInfoId:   v.FutureGoodEdbInfoId,
-				FutureGoodEdbInfoName: v.FutureGoodEdbName,
+				FutureGoodEdbInfoId:     v.FutureGoodEdbInfoId,
+				FutureGoodEdbInfoName:   v.FutureGoodEdbName,
+				FutureGoodEdbInfoNameEn: v.FutureGoodEdbNameEn,
 				//Child:                 make([]future_good.FutureGoodEdbInfoGroupListResp, 0),
 			})
 			child[tmpKey] = tmpList

+ 1 - 0
models/data_manage/future_good/future_good_edb_info.go

@@ -14,6 +14,7 @@ type FutureGoodEdbInfo struct {
 	ParentId            int       `description:"上级期货id"`
 	RegionType          string    `description:"交易所来源,海外还是国内"`
 	Exchange            string    `description:"所属交易所"`
+	ExchangeEn          string    `description:"所属交易所(英文名称)"`
 	FutureGoodEdbType   int       `description:"指标类型,1:年月是固定的合约;2:只有M+N期的合约,未固定年月"`
 	DateSourceId        int       `description:"画图时,日期来源的指标id"`
 	Year                int       `description:"所属年份"`

+ 11 - 0
models/data_manage/future_good/request/future_good_chart.go

@@ -110,3 +110,14 @@ type SectionScatterEdbItemReq struct {
 	YDateValue int    `description:"Y轴的日期N天的值"`
 	IsShow     bool   `description:"是否展示"`
 }
+
+// EditChartInfoBaseReq
+// @Description: 修改商品图表的基础信息
+type EditChartInfoBaseReq struct {
+	ChartInfoId    int    `description:"图表ID"`
+	ChartName      string `description:"图表名称(根据当前语言版本不同而不同)"`
+	EdbName        string `description:"指标名称(根据当前语言版本不同而不同)"`
+	Unit           string `description:"指标单位(根据当前语言版本不同而不同)"`
+	ProfitName     string `description:"利润名称(根据当前语言版本不同而不同)"`
+	FutureGoodName string `description:"期货合约名称(根据当前语言版本不同而不同)"`
+}

+ 166 - 0
models/data_manage/future_good_chart_info.go

@@ -1,8 +1,10 @@
 package data_manage
 
 import (
+	"eta/eta_api/utils"
 	"fmt"
 	"github.com/beego/beego/v2/client/orm"
+	"time"
 )
 
 // EditFutureGoodChartEnInfoAndEdbEnInfo 更改商品价格曲线英文信息
@@ -54,6 +56,95 @@ func EditFutureGoodChartEnInfoAndEdbEnInfo(chartInfoId int, chartNameEn string,
 	return
 }
 
+// EditBaseFutureGoodChartInfoAndEdbEnInfo
+// @Description:  编辑期货商品基础的图表信息及指标信息
+// @author: Roc
+// @datetime 2024-04-23 13:58:23
+// @param chartInfo ChartInfo
+// @param chartName string
+// @param edbInfoId int
+// @param edbName string
+// @param edbUnit string
+// @param lang string
+// @return err error
+func EditBaseFutureGoodChartInfoAndEdbEnInfo(chartInfo *ChartInfo, chartName string, edbInfoId int, edbName, edbUnit, lang string) (err error) {
+	o := orm.NewOrmUsingDB("data")
+	to, err := o.Begin()
+	if err != nil {
+		return
+	}
+	defer func() {
+		if err != nil {
+			_ = to.Rollback()
+		} else {
+			_ = to.Commit()
+		}
+	}()
+
+	// 修改图表信息
+	updateChartCols := make([]string, 0)
+	switch lang {
+	case utils.EnLangVersion:
+		chartInfo.ChartNameEn = chartName
+		updateChartCols = append(updateChartCols, "ChartNameEn")
+	default:
+		chartInfo.ChartName = chartName
+		updateChartCols = append(updateChartCols, "ChartName")
+	}
+	chartInfo.ModifyTime = time.Now()
+	updateChartCols = append(updateChartCols, "ModifyTime")
+	_, err = to.Update(chartInfo, updateChartCols...)
+	if err != nil {
+		fmt.Println("UPDATE  chart_info Err:", err.Error())
+		return err
+	}
+
+	var count int
+	csql := `SELECT COUNT(1) AS count FROM chart_edb_mapping WHERE chart_info_id=? AND edb_info_id=? AND source = 1 `
+	err = to.Raw(csql, chartInfo.ChartInfoId, edbInfoId).QueryRow(&count)
+	if err != nil {
+		fmt.Println("QueryRow Err:", err.Error())
+		return err
+	}
+	if count > 0 {
+		msql := ` UPDATE edb_info SET modify_time = NOW()  `
+		pars := make([]interface{}, 0)
+		switch lang {
+		case utils.EnLangVersion:
+			if edbName != `` {
+				msql += ` ,edb_name_en = ? `
+				pars = append(pars, edbName)
+			}
+
+			if edbUnit != `` {
+				msql += ` ,unit_en = ? `
+				pars = append(pars, edbUnit)
+			}
+
+		default:
+
+			if edbName != `` {
+				msql += ` ,edb_name = ? `
+				pars = append(pars, edbName)
+			}
+
+			if edbUnit != `` {
+				msql += ` ,unit = ? `
+				pars = append(pars, edbUnit)
+			}
+		}
+		msql += ` WHERE edb_info_id = ? `
+		pars = append(pars, edbInfoId)
+		_, err = to.Raw(msql, pars...).Exec()
+		if err != nil {
+			fmt.Println("edb_info Err:" + err.Error())
+			return err
+		}
+	}
+
+	return
+}
+
 // EditFutureGoodProfitChartEnInfoAndEdbEnInfo 更改商品利润曲线英文信息
 func EditFutureGoodProfitChartEnInfoAndEdbEnInfo(chartInfoId int, chartNameEn string, edbInfoId int, edbNameEn, edbUnitEn, profitNameEn string) (err error) {
 	o := orm.NewOrmUsingDB("data")
@@ -101,3 +192,78 @@ func EditFutureGoodProfitChartEnInfoAndEdbEnInfo(chartInfoId int, chartNameEn st
 
 	return
 }
+
+// EditBaseFutureGoodProfitChartInfoAndEdbEnInfo
+// @Description: 更改商品利润曲线基础信息
+// @author: Roc
+// @datetime 2024-04-23 14:36:45
+// @param chartInfo *ChartInfo
+// @param chartName string
+// @param edbInfoId int
+// @param edbName string
+// @param edbUnit string
+// @param profitName string
+// @param lang string
+// @return err error
+func EditBaseFutureGoodProfitChartInfoAndEdbEnInfo(chartInfo *ChartInfo, chartName string, edbInfoId int, edbName, edbUnit, profitName, lang string) (err error) {
+	o := orm.NewOrmUsingDB("data")
+	to, err := o.Begin()
+	if err != nil {
+		return
+	}
+	defer func() {
+		if err != nil {
+			_ = to.Rollback()
+		} else {
+			_ = to.Commit()
+		}
+	}()
+
+	// 修改图表信息
+	updateChartCols := make([]string, 0)
+	switch lang {
+	case utils.EnLangVersion:
+		chartInfo.ChartNameEn = chartName
+		updateChartCols = append(updateChartCols, "ChartNameEn")
+	default:
+		chartInfo.ChartName = chartName
+		updateChartCols = append(updateChartCols, "ChartName")
+	}
+	chartInfo.ModifyTime = time.Now()
+	updateChartCols = append(updateChartCols, "ModifyTime")
+	_, err = to.Update(chartInfo, updateChartCols...)
+	if err != nil {
+		fmt.Println("UPDATE  chart_info Err:", err.Error())
+		return err
+	}
+
+	// 更改指标英文信息
+	var sql string
+	switch lang {
+	case utils.EnLangVersion:
+		sql = ` UPDATE  edb_info SET edb_name_en = ?,unit_en = ?,modify_time = NOW() WHERE edb_info_id = ? `
+	default:
+		sql = ` UPDATE  edb_info SET edb_name = ?,unit = ?,modify_time = NOW() WHERE edb_info_id = ? `
+	}
+	_, err = to.Raw(sql, edbName, edbUnit, edbInfoId).Exec()
+	if err != nil {
+		fmt.Println("edb_info Err:" + err.Error())
+		return
+	}
+
+	// 更改指标英文信息
+
+	switch lang {
+	case utils.EnLangVersion:
+		sql = ` UPDATE  chart_info_future_good_profit SET profit_name_en = ?,modify_time = NOW() WHERE chart_info_id = ? `
+	default:
+		sql = ` UPDATE  chart_info_future_good_profit SET profit_name = ?,modify_time = NOW() WHERE chart_info_id = ? `
+	}
+	_, err = to.Raw(sql, profitName, chartInfo.ChartInfoId).Exec()
+	if err != nil {
+		fmt.Println("chart_info_future_good_profit Err:" + err.Error())
+		return
+	}
+
+	return
+}

+ 9 - 0
routers/commentsRouter.go

@@ -1087,6 +1087,15 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage/future_good:FutureGoodChartInfoController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage/future_good:FutureGoodChartInfoController"],
+        beego.ControllerComments{
+            Method: "BaseInfoEdit",
+            Router: `/chart_info/base/edit`,
+            AllowHTTPMethods: []string{"post"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage/future_good:FutureGoodChartInfoController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage/future_good:FutureGoodChartInfoController"],
         beego.ControllerComments{
             Method: "ChartInfoBase64Upload",