Browse Source

Merge remote-tracking branch 'origin/master' into debug

Roc 1 year ago
parent
commit
2cb95a6fe8

+ 125 - 1
controllers/base_from_mysteel_chemical.go

@@ -168,8 +168,9 @@ func (this *MySteelChemicalController) HandleMysteelIndex() {
 		this.Data["json"] = br
 		this.ServeJSON()
 	}()
+	body := this.Ctx.Input.RequestBody
 	var req models.HandleMysteelIndexResp
-	err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
+	err := json.Unmarshal(body, &req)
 	if err != nil {
 		br.Msg = "参数解析异常!"
 		br.ErrMsg = "参数解析失败,Err:" + err.Error()
@@ -653,3 +654,126 @@ func (this *MySteelChemicalController) GetIndexDetailByCode() {
 	br.Success = true
 	br.Msg = "获取成功"
 }
+
+// @Title 根据频度获取指标总数量
+// @Description 根据频度获取指标总数量
+// @Success 200 {object} models.HandleMysteelIndexResp
+// @router /getIndexCountByFrequency [post]
+func (this *MySteelChemicalController) GetIndexCountByFrequency() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+	var req models.GetMaxFileIndexReq
+	err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
+	if err != nil {
+		br.Msg = "参数解析异常!"
+		br.ErrMsg = "参数解析失败,Err:" + err.Error()
+		return
+	}
+	var condition string
+	var pars []interface{}
+
+	if req.Frequency != "" {
+		condition += ` AND frequency = ? `
+		pars = append(pars, req.Frequency)
+	}
+
+	if req.EndDate != "" {
+		condition += ` AND end_date < ? `
+		pars = append(pars, req.EndDate)
+	}
+
+	condition += ` AND is_stop = 0 `
+
+	indexObj := new(models.BaseFromMysteelChemicalIndex)
+	// 获取未合并的指标总数量
+	indexTotal, err := indexObj.GetIndexCountByFrequency(condition, pars)
+	if err != nil {
+		return
+	}
+
+	br.Data = indexTotal
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "处理成功"
+}
+
+// GetNoMergeIndexByFrequencyPage
+// @Title 获取未合并的指标列表
+// @Description 获取未合并的指标列表
+// @Success 200 {object} models.HandleMysteelIndexResp
+// @router /getIndexLimitByFrequency [post]
+func (this *MySteelChemicalController) GetIndexLimitByFrequency() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+	var req models.GetNoMergeIndexByFrequencyPageReq
+	err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
+	if err != nil {
+		br.Msg = "参数解析异常!"
+		br.ErrMsg = "参数解析失败,Err:" + err.Error()
+		return
+	}
+
+	indexObj := new(models.BaseFromMysteelChemicalIndex)
+	// 获取未合并的指标总数量
+	indexTotal, err := indexObj.GetIndexLimitByFrequency(req.Frequency, req.Limit)
+	if err != nil {
+		return
+	}
+
+	br.Data = indexTotal
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "处理成功"
+}
+
+// @Title 获取钢联指标分页数据
+// @Description 获取钢联指标分页数据
+// @Success 200 {object} models.HandleMysteelIndexResp
+// @router /getIndexPageByFrequency [post]
+func (this *MySteelChemicalController) GetIndexPageByFrequency() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+	var req models.GetIndexPageByFrequencyPageReq
+	err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
+	if err != nil {
+		br.Msg = "参数解析异常!"
+		br.ErrMsg = "参数解析失败,Err:" + err.Error()
+		return
+	}
+
+	var condition string
+	var pars []interface{}
+
+	if req.Frequency != "" {
+		condition += ` AND frequency = ? `
+		pars = append(pars, req.Frequency)
+	}
+
+	if req.EndDate != "" {
+		condition += ` AND end_date < ? `
+		pars = append(pars, req.EndDate)
+	}
+
+	condition += ` AND is_stop = 0 `
+
+	indexObj := new(models.BaseFromMysteelChemicalIndex)
+	// 获取未合并的指标总数量
+	indexTotal, err := indexObj.GetIndexPageByFrequency(condition, pars, req.StartSize, req.PageSize)
+	if err != nil {
+		return
+	}
+
+	br.Data = indexTotal
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "处理成功"
+}

+ 56 - 0
models/base_from_mysteel_chemical.go

@@ -222,6 +222,7 @@ type BaseFromMysteelChemicalIndex struct {
 	UpdateDate                        string    `description:"更新日期"`
 	CreateTime                        time.Time `description:"创建时间"`
 	ModifyTime                        time.Time `description:"修改时间"`
+	IsStop                            int       `description:"是否停更:1:停更,0:未停更"`
 }
 
 // GetIndexRefreshAllByMergeFile 根据合并文件去分组查询需要刷新的文件
@@ -272,6 +273,7 @@ func (m *BaseFromMysteelChemicalIndex) GetNoMergeIndexByFrequencyCount(frequency
 // GetMaxFileIndexReq 获取最大文件数请求
 type GetMaxFileIndexReq struct {
 	Frequency string
+	EndDate   string
 }
 
 // GetMaxFileIndex 获取最大文件的
@@ -448,3 +450,57 @@ type AddMysteelIndexResp struct {
 type GetIndexDetailReq struct {
 	IndexCode string `description:"指标编码"`
 }
+
+// GetIndexCountByFrequency 获取未合并的指标总数量
+func (m *BaseFromMysteelChemicalIndex) GetIndexCountByFrequency(condition string, pars []interface{}) (total int64, err error) {
+	o := orm.NewOrm()
+
+	sql := `SELECT count(1) AS total FROM base_from_mysteel_chemical_index WHERE 1=1  `
+	if condition != "" {
+		sql += condition
+	}
+	err = o.Raw(sql, pars).QueryRow(&total)
+
+	return
+}
+
+// GetNoMergeIndexByFrequencyPage 获取未合并的指标列表
+func (m *BaseFromMysteelChemicalIndex) GetIndexLimitByFrequency(frequency string, limit int) (items []*BaseFromMysteelChemicalIndex, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT * FROM base_from_mysteel_chemical_index WHERE frequency=? limit ? `
+	_, err = o.Raw(sql, frequency, limit).QueryRows(&items)
+	return
+}
+
+type GetIndexPageByFrequencyPageReq struct {
+	Frequency string
+	EndDate   string
+	StartSize int
+	PageSize  int
+}
+
+// GetNoMergeIndexByFrequencyPage 获取未合并的指标列表
+func (m *BaseFromMysteelChemicalIndex) GetIndexPageByFrequency(condition string, pars []interface{}, startSize, pageSize int) (items []*BaseFromMysteelChemicalIndex, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT * FROM base_from_mysteel_chemical_index WHERE 1=1 `
+	if condition != "" {
+		sql += condition
+	}
+	sql += ` LIMIT ?,?  `
+	_, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items)
+	return
+}
+
+func (d *BaseFromMysteelChemicalData) GetMysteelIndexInfoMaxAndMinInfo(indexCode string) (item *EdbInfoMaxAndMinInfo, err error) {
+	o := orm.NewOrm()
+	sql := ` SELECT MIN(data_time) AS min_date,MAX(data_time) AS max_date,MIN(value) AS min_value,MAX(value) AS max_value FROM base_from_mysteel_chemical_data WHERE index_code=? `
+	err = o.Raw(sql, indexCode).QueryRow(&item)
+	return
+}
+
+func (d *BaseFromMysteelChemicalData) ModifyMysteelIndexMaxAndMinInfo(indexCode string, item *EdbInfoMaxAndMinInfo) (err error) {
+	o := orm.NewOrm()
+	sql := ` UPDATE base_from_mysteel_chemical_index SET start_date=?,end_date=?,modify_time=NOW() WHERE index_code=? `
+	_, err = o.Raw(sql, item.MinDate, item.MaxDate, indexCode).Exec()
+	return
+}

+ 27 - 0
routers/commentsRouter.go

@@ -403,6 +403,15 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["eta/eta_index_lib/controllers:MySteelChemicalController"] = append(beego.GlobalControllerRouter["eta/eta_index_lib/controllers:MySteelChemicalController"],
+        beego.ControllerComments{
+            Method: "GetIndexCountByFrequency",
+            Router: `/getIndexCountByFrequency`,
+            AllowHTTPMethods: []string{"post"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["eta/eta_index_lib/controllers:MySteelChemicalController"] = append(beego.GlobalControllerRouter["eta/eta_index_lib/controllers:MySteelChemicalController"],
         beego.ControllerComments{
             Method: "GetIndexCountByMergeFilePath",
@@ -421,6 +430,24 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["eta/eta_index_lib/controllers:MySteelChemicalController"] = append(beego.GlobalControllerRouter["eta/eta_index_lib/controllers:MySteelChemicalController"],
+        beego.ControllerComments{
+            Method: "GetIndexLimitByFrequency",
+            Router: `/getIndexLimitByFrequency`,
+            AllowHTTPMethods: []string{"post"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
+    beego.GlobalControllerRouter["eta/eta_index_lib/controllers:MySteelChemicalController"] = append(beego.GlobalControllerRouter["eta/eta_index_lib/controllers:MySteelChemicalController"],
+        beego.ControllerComments{
+            Method: "GetIndexPageByFrequency",
+            Router: `/getIndexPageByFrequency`,
+            AllowHTTPMethods: []string{"post"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["eta/eta_index_lib/controllers:MySteelChemicalController"] = append(beego.GlobalControllerRouter["eta/eta_index_lib/controllers:MySteelChemicalController"],
         beego.ControllerComments{
             Method: "GetIndexRefreshMethanolByMergeFile",

+ 1 - 1
services/alarm_msg/alarm_msg.go

@@ -25,5 +25,5 @@ func SendAlarmMsg(msgBody string, level int) {
 		utils.FileLog.Info("SendAlarmMsg json.Marshal Err:" + err.Error())
 		return
 	}
-	http.Post(utils.AlarmMsgUrl, string(param))
+	http.Post(utils.AlarmMsgUrl, string(param), "application/json")
 }

+ 17 - 0
services/base_from_mysteel_chemical.go

@@ -83,6 +83,13 @@ func handleIndex(indexItem *models.HandleMysteelIndex) (err error) {
 		indexObj.Frequency = indexItem.Frequency
 		indexObj.ModifyTime = time.Now()
 		indexId = item.BaseFromMysteelChemicalIndexId
+
+		var isStop int
+		if strings.Contains(indexItem.IndexName, "停") {
+			isStop = 1
+		}
+		indexObj.IsStop = isStop
+
 		//修改数据
 		updateColsArr := make([]string, 0)
 		updateColsArr = append(updateColsArr, "index_name")
@@ -93,6 +100,7 @@ func handleIndex(indexItem *models.HandleMysteelIndex) (err error) {
 		updateColsArr = append(updateColsArr, "end_date")
 		updateColsArr = append(updateColsArr, "describe")
 		updateColsArr = append(updateColsArr, "end_date")
+		updateColsArr = append(updateColsArr, "is_stop")
 		updateColsArr = append(updateColsArr, "modify_time")
 
 		e := indexObj.Update(updateColsArr)
@@ -157,6 +165,15 @@ func handleIndex(indexItem *models.HandleMysteelIndex) (err error) {
 		}
 	}
 
+	//修改最大最小日期
+	mysteelIndexMaxItem, err := dataObj.GetMysteelIndexInfoMaxAndMinInfo(indexItem.IndexCode)
+	if err == nil && mysteelIndexMaxItem != nil {
+		e := dataObj.ModifyMysteelIndexMaxAndMinInfo(indexItem.IndexCode, mysteelIndexMaxItem)
+		if e != nil {
+			fmt.Println("ModifyMysteelIndexMaxAndMinInfo Err:" + e.Error())
+		}
+	}
+	
 	// 同步刷新图库钢联的指标
 	go func() {
 		var indexErr error