Browse Source

fix:编辑商品价格曲线接口

Roc 2 years ago
parent
commit
68c65eb41c

+ 86 - 0
controller/chart/chart_common.go

@@ -11,13 +11,16 @@ import (
 	"hongze/hongze_yb/models/response/chart_info"
 	chartEdbMappingModel "hongze/hongze_yb/models/tables/chart_edb_mapping"
 	chartInfoModel "hongze/hongze_yb/models/tables/chart_info"
+	"hongze/hongze_yb/models/tables/chart_info_log"
 	"hongze/hongze_yb/models/tables/yb_my_chart"
 	"hongze/hongze_yb/services/chart"
 	future_goodServ "hongze/hongze_yb/services/chart/future_good"
 	"hongze/hongze_yb/services/user"
 	"hongze/hongze_yb/utils"
+	"io/ioutil"
 	"strconv"
 	"strings"
+	"time"
 )
 
 // CommonChartInfoDetailFromUniqueCode 获取图表详情(通用)
@@ -286,3 +289,86 @@ func RefreshFutureGoodChartInfo(c *gin.Context) {
 
 	response.OkData("刷新成功", "", c)
 }
+
+// FutureGoodChartInfoSave 编辑商品价格图表信息
+// @Tags 图库模块
+// @Summary  编辑图表信息
+// @Description 编辑图表信息
+// @Security ApiKeyAuth
+// @Param Authorization	header string true "Bearer 31a165baebe6dec616b1f8f3207b4273"
+// @Accept  json
+// @Product json
+// @Param data body chartInfoModel.SaveChartInfoReq true "请求参数"
+// @Success 200 {string} string "操作成功"
+// @failure 400 {string} string "操作失败"
+// @Router /my_chart/editChartInfo [post]
+func FutureGoodChartInfoSave(c *gin.Context) {
+	// 参数校验
+	var req chartInfoModel.SaveChartInfoReq
+	if c.ShouldBind(&req) != nil {
+		response.Fail("参数异常", c)
+		return
+	}
+
+	if req.ChartInfoId <= 0 {
+		response.Fail("参数异常", c)
+		return
+	}
+
+	// 操作权限校验
+	userInfo := user.GetInfoByClaims(c)
+	ok, adminInfo, err := user.GetAdminByUserInfo(userInfo)
+	if err != nil {
+		response.Fail("操作人信息有误", c)
+		return
+	}
+	if !ok {
+		response.Fail("非内部人员无权进行操作", c)
+		return
+	}
+
+	// 图表信息校验
+	chartItem, err := chartInfoModel.GetChartInfoById(req.ChartInfoId)
+	if err != nil {
+		if err == utils.ErrNoRow {
+			response.Fail("图表已被删除,请刷新页面!", c)
+			return
+		}
+		response.FailMsg("操作失败", "获取图表信息失败, Err:"+err.Error(), c)
+		return
+	}
+	if chartItem.Source != 2 {
+		response.Fail("该图不是商品价格曲线图", c)
+		return
+	}
+	chartItem.LeftMin = req.LeftMin
+	chartItem.LeftMax = req.LeftMax
+	err = chartItem.Update([]string{"LeftMin", "LeftMax"})
+	if err != nil {
+		response.FailMsg("保存失败", "保存失败,Err:"+err.Error(), c)
+		return
+	}
+
+	// 清除图表缓存
+	cacheKey := utils.HZ_CHART_LIB_DETAIL + chartItem.UniqueCode
+	_ = global.Redis.Del(context.TODO(), cacheKey)
+
+	// 新增操作日志
+	{
+		chartLog := new(chart_info_log.ChartInfoLog)
+		chartLog.ChartName = chartItem.ChartName
+		chartLog.ChartInfoId = req.ChartInfoId
+		chartLog.ChartClassifyId = chartItem.ChartClassifyId
+		chartLog.SysUserId = int(adminInfo.AdminID)
+		chartLog.SysUserRealName = adminInfo.RealName
+		chartLog.UniqueCode = chartItem.UniqueCode
+		chartLog.CreateTime = time.Now()
+		bodyBytes, _ := ioutil.ReadAll(c.Request.Body)
+		chartLog.Content = string(bodyBytes)
+		chartLog.Status = "修改配置项"
+		chartLog.Method = c.Request.URL.String()
+		go chartLog.Create()
+	}
+
+	response.OkData("操作成功", "", c)
+}

+ 2 - 1
models/tables/chart_info/chart_info.go

@@ -30,6 +30,7 @@ type ChartInfo struct {
 	LeftMax         string    `gorm:"column:left_max;type:varchar(30);default:''" json:"leftMax"`                  // 图表左侧最大值
 	RightMin        string    `gorm:"column:right_min;type:varchar(30);default:''" json:"rightMin"`                // 图表右侧最小值
 	RightMax        string    `gorm:"column:right_max;type:varchar(30);default:''" json:"rightMax"`                // 图表右侧最大值
+	Source          int       `gorm:"column:source;type:int(11);default:0" json:"source"`                          //"1:ETA图库;2:商品价格曲线"`
 }
 
 // TableName get sql table name.获取数据库表名
@@ -88,4 +89,4 @@ var ChartInfoColumns = struct {
 	LeftMax:         "left_max",
 	RightMin:        "right_min",
 	RightMax:        "right_max",
-}
+}

+ 8 - 0
models/tables/chart_info/update.go

@@ -0,0 +1,8 @@
+package chart_info
+
+import "hongze/hongze_yb/global"
+
+func (r *ChartInfo) Update(updateCols []string) (err error) {
+	err = global.MYSQL["data"].Model(r).Select(updateCols).Updates(*r).Error
+	return
+}

+ 1 - 0
routers/chart.go

@@ -36,5 +36,6 @@ func initChart(r *gin.Engine) {
 		rGroup.POST("/refreshChartInfo", chart.RefreshChartInfo)
 		rGroup.GET("/getChartBeforeAndNext", chart.GetChartBeforeAndNext)
 		rGroup.POST("/future_good/refreshChartInfo", chart.RefreshFutureGoodChartInfo)
+		rGroup.POST("/future_good/editChartInfo", chart.FutureGoodChartInfoSave)
 	}
 }