|
@@ -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
|
|
|
+}
|