Przeglądaj źródła

fix:手工指标指标的取值四舍五入

Roc 2 lat temu
rodzic
commit
0687d0532c
1 zmienionych plików z 12 dodań i 1 usunięć
  1. 12 1
      models/base_from_manual.go

+ 12 - 1
models/base_from_manual.go

@@ -3,6 +3,7 @@ package models
 import (
 	"fmt"
 	"github.com/beego/beego/v2/client/orm"
+	"github.com/shopspring/decimal"
 	"hongze/hongze_edb_lib/utils"
 	"strconv"
 	"strings"
@@ -54,6 +55,12 @@ func AddEdbDataFromManual(edbCode string) (err error) {
 			item := manualDataList[i]
 			eDate := item.Dt
 			sValue := item.Close
+			tmpDecimal, err := decimal.NewFromString(sValue)
+			if err != nil {
+				return err
+			}
+			sValue = tmpDecimal.Round(4).String()
+
 			dataTime, err := time.Parse(utils.FormatDate, eDate)
 			if err != nil {
 				return err
@@ -130,6 +137,11 @@ func RefreshEdbDataFromManual(edbInfoId int, edbCode, startDate string) (err err
 		if findItem, ok := existMap[v.Dt]; !ok {
 			eDate := item.Dt
 			sValue := item.Close
+			tmpDecimal, err := decimal.NewFromString(sValue)
+			if err != nil {
+				return err
+			}
+			sValue = tmpDecimal.Round(4).String()
 
 			dataTime, err := time.Parse(utils.FormatDate, eDate)
 			if err != nil {
@@ -137,7 +149,6 @@ func RefreshEdbDataFromManual(edbInfoId int, edbCode, startDate string) (err err
 			}
 			timestamp := dataTime.UnixNano() / 1e6
 			timeStr := fmt.Sprintf("%d", timestamp)
-
 			addSql += GetAddSql(edbInfoIdStr, edbCode, eDate, timeStr, sValue)
 			isAdd = true
 		} else {