|
@@ -510,7 +510,12 @@ func (this *FutureGoodChartInfoController) ChartInfoAdd() {
|
|
|
return
|
|
|
}
|
|
|
mapList := make([]*data_manage.ChartEdbMapping, 0)
|
|
|
+ hasAddMap := make(map[int]struct{})
|
|
|
for _, v := range barChartConfReq.EdbInfoIdList {
|
|
|
+ if _, ok := hasAddMap[v.EdbInfoId]; ok {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ hasAddMap[v.EdbInfoId] = struct{}{}
|
|
|
mapItem := new(data_manage.ChartEdbMapping)
|
|
|
mapItem.ChartInfoId = int(newId)
|
|
|
mapItem.EdbInfoId = v.EdbInfoId
|
|
@@ -1699,7 +1704,7 @@ func GetChartInfoDetailFromUniqueCode(chartInfo *data_manage.ChartInfoView, isCa
|
|
|
errMsg = "商品价格曲线图表异常"
|
|
|
return
|
|
|
}
|
|
|
- baseEdbInfo := edbList[0] //现货指标
|
|
|
+ baseEdbInfo := baseEdbInfoMapping //现货指标
|
|
|
|
|
|
for _, v := range edbList {
|
|
|
if v.IsNullData {
|
|
@@ -2965,14 +2970,34 @@ func (this *FutureGoodChartInfoController) PreviewBarChartInfo() {
|
|
|
}
|
|
|
chartInfo := new(data_manage.ChartInfoView)
|
|
|
|
|
|
- var edbInfoMapping, futureGoodEdbInfoMapping *data_manage.ChartEdbInfoMapping
|
|
|
+ var futureGoodEdbInfoMapping *data_manage.ChartEdbInfoMapping
|
|
|
edbInfoMappingList := make([]*data_manage.ChartEdbInfoMapping, 0)
|
|
|
+ edbIds := make([]int, 0)
|
|
|
+ goodEdbIds := make([]int, 0)
|
|
|
for _, v := range req.EdbInfoIdList {
|
|
|
if v.Source == utils.CHART_SOURCE_DEFAULT {
|
|
|
- edbInfoMapping, err = data_manage.GetChartEdbMappingByEdbInfoId(v.EdbInfoId)
|
|
|
- if err != nil {
|
|
|
+ edbIds = append(edbIds, v.EdbInfoId)
|
|
|
+ } else if v.Source == utils.CHART_SOURCE_FUTURE_GOOD {
|
|
|
+ goodEdbIds = append(goodEdbIds, v.EdbInfoId)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ edbInfoMappingListTmp, err := data_manage.GetChartEdbMappingListByEdbInfoIdList(edbIds)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取图表,指标信息失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ edbInfoMappingListMap := make(map[int]*data_manage.ChartEdbInfoMapping)
|
|
|
+ for _, v := range edbInfoMappingListTmp {
|
|
|
+ edbInfoMappingListMap[v.EdbInfoId] = v
|
|
|
+ }
|
|
|
+
|
|
|
+ for _, v := range req.EdbInfoIdList {
|
|
|
+ if v.Source == utils.CHART_SOURCE_DEFAULT {
|
|
|
+ edbInfoMapping, ok := edbInfoMappingListMap[v.EdbInfoId]
|
|
|
+ if !ok {
|
|
|
br.Msg = "获取失败"
|
|
|
- br.ErrMsg = "获取图表,指标信息失败,Err:" + err.Error()
|
|
|
+ br.ErrMsg = "获取图表,指标信息失败 "
|
|
|
return
|
|
|
}
|
|
|
edbInfoMappingList = append(edbInfoMappingList, edbInfoMapping)
|
|
@@ -3076,7 +3101,7 @@ func (this *FutureGoodChartInfoController) BaseInfoEdit() {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- var req request.EditChartInfoBaseReq
|
|
|
+ var req data_manage.EditFutureGoodChartInfoBaseReq
|
|
|
err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
|
|
|
if err != nil {
|
|
|
br.Msg = "参数解析异常!"
|
|
@@ -3116,19 +3141,22 @@ func (this *FutureGoodChartInfoController) BaseInfoEdit() {
|
|
|
// return
|
|
|
//}
|
|
|
|
|
|
- edbInfoMapping, err := data_manage.GetEtaEdbChartEdbMapping(chartItem.ChartInfoId)
|
|
|
+ edbInfoMappingList, err := data_manage.GetEtaEdbChartEdbMappingList(req.ChartInfoId)
|
|
|
if err != nil {
|
|
|
- br.Msg = "修改失败"
|
|
|
- br.ErrMsg = "获取图表现货价格指标信息失败,指标信息失败,Err:" + err.Error()
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取图表,指标信息失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
-
|
|
|
+ edbIds := make([]int, 0)
|
|
|
+ for _, edbInfoMapping := range edbInfoMappingList {
|
|
|
+ edbIds = append(edbIds, edbInfoMapping.EdbInfoId)
|
|
|
+ }
|
|
|
//校验指标信息是否存在
|
|
|
- edbInfo, err := data_manage.GetEdbInfoById(edbInfoMapping.EdbInfoId)
|
|
|
+ edbInfoList, err := data_manage.GetEdbInfoByIdList(edbIds)
|
|
|
if err != nil {
|
|
|
if err.Error() == utils.ErrNoRow() {
|
|
|
br.Msg = "图表不存在!"
|
|
|
- br.ErrMsg = "图表指标不存在,ChartInfoId:" + strconv.Itoa(edbInfoMapping.EdbInfoId)
|
|
|
+ br.ErrMsg = "图表指标不存在,ChartInfoId:" + strconv.Itoa(req.ChartInfoId)
|
|
|
return
|
|
|
} else {
|
|
|
br.Msg = "获取图表信息失败!"
|
|
@@ -3136,10 +3164,53 @@ func (this *FutureGoodChartInfoController) BaseInfoEdit() {
|
|
|
return
|
|
|
}
|
|
|
}
|
|
|
- if edbInfo == nil {
|
|
|
- br.Msg = "指标不存在!"
|
|
|
- br.ErrMsg = "指标不存在,ChartInfoId:" + strconv.Itoa(edbInfoMapping.EdbInfoId)
|
|
|
- return
|
|
|
+ edbInfoListMap := make(map[int]*data_manage.EdbInfo)
|
|
|
+ for _, v := range edbInfoList {
|
|
|
+ edbInfoListMap[v.EdbInfoId] = v
|
|
|
+ }
|
|
|
+ var edbCondition string
|
|
|
+ var edbPars []interface{}
|
|
|
+ for _, v := range req.ChartEdbInfoList {
|
|
|
+ _, ok := edbInfoListMap[v.EdbInfoId]
|
|
|
+ if !ok {
|
|
|
+ br.Msg = "指标不存在!"
|
|
|
+ br.ErrMsg = "指标不存在,ChartInfoId:" + strconv.Itoa(v.EdbInfoId)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ //校验指标名称是否已存在
|
|
|
+ //判断指标名称是否重复
|
|
|
+ if v.EdbName != "" {
|
|
|
+ edbCondition = ""
|
|
|
+ edbPars = make([]interface{}, 0)
|
|
|
+
|
|
|
+ edbCondition += " AND edb_info_id<>? "
|
|
|
+ edbPars = append(edbPars, v.EdbInfoId)
|
|
|
+
|
|
|
+ switch this.Lang {
|
|
|
+ case utils.EnLangVersion:
|
|
|
+ edbCondition += " AND edb_name_en =? "
|
|
|
+ default:
|
|
|
+ edbCondition += " AND edb_name =? "
|
|
|
+ }
|
|
|
+
|
|
|
+ edbPars = append(edbPars, v.EdbName)
|
|
|
+
|
|
|
+ edbExist, e := data_manage.GetEdbInfoByCondition(edbCondition, edbPars)
|
|
|
+ if e != nil {
|
|
|
+ if e.Error() != utils.ErrNoRow() {
|
|
|
+ br.Msg = "判断英文指标名称是否存在失败"
|
|
|
+ br.ErrMsg = "判断英文指标名称是否存在失败,Err:" + e.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if e == nil && edbExist.EdbInfoId > 0 {
|
|
|
+ br.Msg = edbExist.EdbName + ":" + v.EdbName + "指标名称已存在"
|
|
|
+ br.ErrMsg = "指标名称已存在,请重新填写"
|
|
|
+ br.IsSendEmail = false
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
if req.ChartName != "" {
|
|
@@ -3173,7 +3244,59 @@ func (this *FutureGoodChartInfoController) BaseInfoEdit() {
|
|
|
|
|
|
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 len(req.XDataList) > 0 {
|
|
|
+ // 处理横轴名称
|
|
|
+ // 商品价格曲线图的一些配置
|
|
|
+ var barConfig data_manage.FutureGoodBarChartInfoReq
|
|
|
+ if chartItem.BarConfig == `` {
|
|
|
+ br.Msg = "商品价格曲线图未配置"
|
|
|
+ br.ErrMsg = "商品价格曲线图未配置"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ err = json.Unmarshal([]byte(chartItem.BarConfig), &barConfig)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "商品价格曲线图配置异常"
|
|
|
+ br.ErrMsg = "商品价格曲线图配置异常"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ xDataList := barConfig.XDataList
|
|
|
+ length := len(xDataList)
|
|
|
+ switch this.Lang {
|
|
|
+ case utils.EnLangVersion:
|
|
|
+ for k, v := range req.XDataList {
|
|
|
+ v = strings.TrimPrefix(v, " ")
|
|
|
+ if v != `` {
|
|
|
+ if length-1 >= k {
|
|
|
+ xDataList[k].NameEn = v
|
|
|
+ } else {
|
|
|
+ tmp := data_manage.XData{Name: v, NameEn: v}
|
|
|
+ xDataList = append(xDataList, tmp)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ default:
|
|
|
+ for k, v := range req.XDataList {
|
|
|
+ v = strings.TrimPrefix(v, " ")
|
|
|
+ if v != `` {
|
|
|
+ if length-1 >= k {
|
|
|
+ xDataList[k].Name = v
|
|
|
+ } else {
|
|
|
+ tmp := data_manage.XData{Name: v, NameEn: v}
|
|
|
+ xDataList = append(xDataList, tmp)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ barConfig.XDataList = xDataList
|
|
|
+ barConfigByte, e := json.Marshal(barConfig)
|
|
|
+ if e != nil {
|
|
|
+ br.Msg = "商品价格曲线图配置异常"
|
|
|
+ br.ErrMsg = "商品价格曲线图配置异常 Err:" + e.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ chartItem.BarConfig = string(barConfigByte)
|
|
|
+ }
|
|
|
+ err = data_manage.EditBaseFutureGoodChartInfoAndEdbEnInfo(chartItem, &req, this.Lang)
|
|
|
if req.FutureGoodName != `` {
|
|
|
futureGoodEdbInfoMapping, err := data_manage.GetFutureGoodEdbChartEdbMapping(chartItem.ChartInfoId)
|
|
|
if err != nil {
|
|
@@ -3185,7 +3308,7 @@ func (this *FutureGoodChartInfoController) BaseInfoEdit() {
|
|
|
if err != nil {
|
|
|
if err.Error() == utils.ErrNoRow() {
|
|
|
br.Msg = "图表不存在!"
|
|
|
- br.ErrMsg = "图表指标不存在,ChartInfoId:" + strconv.Itoa(edbInfoMapping.EdbInfoId)
|
|
|
+ br.ErrMsg = "图表指标不存在,futureGoodEdbInfo:" + strconv.Itoa(futureGoodEdbInfo.FutureGoodEdbInfoId)
|
|
|
return
|
|
|
} else {
|
|
|
br.Msg = "获取图表信息失败!"
|
|
@@ -3195,7 +3318,7 @@ func (this *FutureGoodChartInfoController) BaseInfoEdit() {
|
|
|
}
|
|
|
if futureGoodEdbInfo == nil {
|
|
|
br.Msg = "期货商品指标不存在!"
|
|
|
- br.ErrMsg = "期货商品指标不存在,ChartInfoId:" + strconv.Itoa(edbInfoMapping.EdbInfoId)
|
|
|
+ br.ErrMsg = "期货商品指标不存在,futureGoodEdbInfo:" + strconv.Itoa(futureGoodEdbInfo.FutureGoodEdbInfoId)
|
|
|
return
|
|
|
}
|
|
|
|
|
@@ -3224,7 +3347,59 @@ func (this *FutureGoodChartInfoController) BaseInfoEdit() {
|
|
|
}
|
|
|
}
|
|
|
case utils.CHART_SOURCE_FUTURE_GOOD_PROFIT:
|
|
|
- err = data_manage.EditBaseFutureGoodProfitChartInfoAndEdbEnInfo(chartItem, req.ChartName, edbInfo.EdbInfoId, req.EdbName, req.Unit, req.ProfitName, this.Lang)
|
|
|
+ if len(req.XDataList) > 0 {
|
|
|
+ // 处理横轴名称
|
|
|
+ // 商品价格曲线图的一些配置
|
|
|
+ var barConfig request.ChartInfoReq
|
|
|
+ if chartItem.ExtraConfig == `` {
|
|
|
+ br.Msg = "商品价格曲线图未配置"
|
|
|
+ br.ErrMsg = "商品价格曲线图未配置"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ err = json.Unmarshal([]byte(chartItem.ExtraConfig), &barConfig)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "商品价格曲线图配置异常"
|
|
|
+ br.ErrMsg = "商品价格曲线图配置异常"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ xDataList := barConfig.XDataList
|
|
|
+ length := len(xDataList)
|
|
|
+ switch this.Lang {
|
|
|
+ case utils.EnLangVersion:
|
|
|
+ for k, v := range req.XDataList {
|
|
|
+ v = strings.TrimPrefix(v, " ")
|
|
|
+ if v != `` {
|
|
|
+ if length-1 >= k {
|
|
|
+ xDataList[k].NameEn = v
|
|
|
+ } else {
|
|
|
+ tmp := data_manage.XData{Name: v, NameEn: v}
|
|
|
+ xDataList = append(xDataList, tmp)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ default:
|
|
|
+ for k, v := range req.XDataList {
|
|
|
+ v = strings.TrimPrefix(v, " ")
|
|
|
+ if v != `` {
|
|
|
+ if length-1 >= k {
|
|
|
+ xDataList[k].Name = v
|
|
|
+ } else {
|
|
|
+ tmp := data_manage.XData{Name: v, NameEn: v}
|
|
|
+ xDataList = append(xDataList, tmp)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ barConfig.XDataList = xDataList
|
|
|
+ barConfigByte, e := json.Marshal(barConfig)
|
|
|
+ if e != nil {
|
|
|
+ br.Msg = "商品价格曲线图配置异常"
|
|
|
+ br.ErrMsg = "商品价格曲线图配置异常 Err:" + e.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ chartItem.ExtraConfig = string(barConfigByte)
|
|
|
+ }
|
|
|
+ err = data_manage.EditBaseFutureGoodProfitChartInfoAndEdbEnInfo(chartItem, &req, this.Lang)
|
|
|
default:
|
|
|
br.Msg = "错误的图表类型"
|
|
|
br.ErrMsg = "错误的图表类型"
|
|
@@ -3243,7 +3418,9 @@ func (this *FutureGoodChartInfoController) BaseInfoEdit() {
|
|
|
go data.EsAddOrEditMyChartInfoByChartInfoId(chartItem.ChartInfoId)
|
|
|
|
|
|
//指标 修改es信息
|
|
|
- go data.AddOrEditEdbInfoToEs(edbInfo.EdbInfoId)
|
|
|
+ for _, v := range edbIds {
|
|
|
+ go data.AddOrEditEdbInfoToEs(v)
|
|
|
+ }
|
|
|
|
|
|
//新增操作日志
|
|
|
{
|