|
@@ -71,18 +71,60 @@ func AddEdbDataFromCoal(edbCode string) (err error) {
|
|
|
existMap := make(map[string]string)
|
|
|
for _, sv := range coalBaseDataAll {
|
|
|
eDate := sv.DataTime
|
|
|
- dataTime, err := time.Parse(utils.FormatDate, eDate)
|
|
|
- if err != nil {
|
|
|
- fmt.Println("time.Parse Err:" + eDate)
|
|
|
- return err
|
|
|
+ var timeStr string
|
|
|
+ var dataTime time.Time
|
|
|
+ var sDataTime string
|
|
|
+ var timestamp int64
|
|
|
+ if suffix == "firm_index"{
|
|
|
+ syear := eDate[:4]
|
|
|
+ year,_ := strconv.Atoi(syear)
|
|
|
+ smonth := eDate[7:]
|
|
|
+ smonth = strings.Split(smonth, "月份")[0]
|
|
|
+ month,_ :=strconv.Atoi(smonth)
|
|
|
+ var day int
|
|
|
+ if strings.Contains(eDate,"上旬"){
|
|
|
+ day = 15
|
|
|
+ currentLocation := time.Now().Location()
|
|
|
+ dataTime = time.Date(year, time.Month(month), day,0,0,0,0,currentLocation)
|
|
|
+ sDataTime = dataTime.Format(utils.FormatDate)
|
|
|
+ timestamp = dataTime.UnixNano() / 1e6
|
|
|
+ timeStr = fmt.Sprintf("%d", timestamp)
|
|
|
+ } else if strings.Contains(eDate,"中旬") {
|
|
|
+ day = 25
|
|
|
+ currentLocation := time.Now().Location()
|
|
|
+ dataTime = time.Date(year, time.Month(month), day,0,0,0,0,currentLocation)
|
|
|
+ sDataTime = dataTime.Format(utils.FormatDate)
|
|
|
+ timestamp = dataTime.UnixNano() / 1e6
|
|
|
+ timeStr = fmt.Sprintf("%d", timestamp)
|
|
|
+ }else {
|
|
|
+ currentLocation := time.Now().Location()
|
|
|
+ firstOfMonth := time.Date(year, time.Month(month),1,0,0,0,0,currentLocation)
|
|
|
+ dataTime = firstOfMonth.AddDate(0,1,-1)
|
|
|
+ sDataTime = dataTime.Format(utils.FormatDate)
|
|
|
+ timestamp = dataTime.UnixNano() / 1e6
|
|
|
+ timeStr = fmt.Sprintf("%d", timestamp)
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ sDataTime = eDate
|
|
|
+ dataTime, err = time.Parse(utils.FormatDate, eDate)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("time.Parse Err:" + eDate)
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ timestamp = dataTime.UnixNano() / 1e6
|
|
|
+ timeStr = fmt.Sprintf("%d", timestamp)
|
|
|
}
|
|
|
- timestamp := dataTime.UnixNano() / 1e6
|
|
|
- timeStr := fmt.Sprintf("%d", timestamp)
|
|
|
- if _, ok := existMap[eDate]; !ok {
|
|
|
- addSql += GetAddSql("0", edbCode, eDate, timeStr, sv.DealValue)
|
|
|
+
|
|
|
+ value := strings.Replace(sv.DealValue,"%","",-1)
|
|
|
+ if _, ok := existMap[sDataTime]; !ok {
|
|
|
+ addSql += GetAddSql("0", edbCode, sDataTime, timeStr, value)
|
|
|
+ fmt.Println("edbCode:", edbCode)
|
|
|
+ fmt.Println("sDataTime:", sDataTime)
|
|
|
+ fmt.Println("timeStr:", timeStr)
|
|
|
+ fmt.Println("value:", value)
|
|
|
isAdd = true
|
|
|
}
|
|
|
- existMap[eDate] = sv.DealValue
|
|
|
+ existMap[eDate] = value
|
|
|
}
|
|
|
if isAdd {
|
|
|
addSql = strings.TrimRight(addSql, ",")
|
|
@@ -153,23 +195,60 @@ func RefreshEdbDataFromCoal(edbInfoId int, edbCode, startDate string) (err error
|
|
|
var isAdd bool
|
|
|
for _, v := range glDataList {
|
|
|
var value string
|
|
|
- value = v.DealValue
|
|
|
+ value = strings.Replace(v.DealValue,"%","",-1)
|
|
|
item := v
|
|
|
itemValue := value
|
|
|
if _, ok := existMap[v.DataTime]; !ok {
|
|
|
eDate := item.DataTime
|
|
|
- sValue := itemValue
|
|
|
- if sValue != "" {
|
|
|
- dataTime, err := time.Parse(utils.FormatDate, eDate)
|
|
|
+ var timeStr string
|
|
|
+ var dataTime time.Time
|
|
|
+ var sDataTime string
|
|
|
+ var timestamp int64
|
|
|
+ if suffix == "firm_index"{
|
|
|
+ syear := eDate[:4]
|
|
|
+ year,_ := strconv.Atoi(syear)
|
|
|
+ smonth := eDate[7:]
|
|
|
+ smonth = strings.Split(smonth, "月份")[0]
|
|
|
+ month,_ :=strconv.Atoi(smonth)
|
|
|
+ var day int
|
|
|
+ if strings.Contains(eDate,"上旬"){
|
|
|
+ day = 15
|
|
|
+ currentLocation := time.Now().Location()
|
|
|
+ dataTime = time.Date(year, time.Month(month), day,0,0,0,0,currentLocation)
|
|
|
+ sDataTime = dataTime.Format(utils.FormatDate)
|
|
|
+ timestamp = dataTime.UnixNano() / 1e6
|
|
|
+ timeStr = fmt.Sprintf("%d", timestamp)
|
|
|
+ } else if strings.Contains(eDate,"中旬") {
|
|
|
+ day = 25
|
|
|
+ currentLocation := time.Now().Location()
|
|
|
+ dataTime = time.Date(year, time.Month(month), day,0,0,0,0,currentLocation)
|
|
|
+ sDataTime = dataTime.Format(utils.FormatDate)
|
|
|
+ timestamp = dataTime.UnixNano() / 1e6
|
|
|
+ timeStr = fmt.Sprintf("%d", timestamp)
|
|
|
+ }else {
|
|
|
+ currentLocation := time.Now().Location()
|
|
|
+ firstOfMonth := time.Date(year, time.Month(month),1,0,0,0,0,currentLocation)
|
|
|
+ dataTime = firstOfMonth.AddDate(0,1,-1)
|
|
|
+ sDataTime = dataTime.Format(utils.FormatDate)
|
|
|
+ timestamp = dataTime.UnixNano() / 1e6
|
|
|
+ timeStr = fmt.Sprintf("%d", timestamp)
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ sDataTime = eDate
|
|
|
+ dataTime, err = time.Parse(utils.FormatDate, eDate)
|
|
|
if err != nil {
|
|
|
+ fmt.Println("time.Parse Err:" + eDate)
|
|
|
return err
|
|
|
}
|
|
|
- timestamp := dataTime.UnixNano() / 1e6
|
|
|
- timeStr := fmt.Sprintf("%d", timestamp)
|
|
|
+ timestamp = dataTime.UnixNano() / 1e6
|
|
|
+ timeStr = fmt.Sprintf("%d", timestamp)
|
|
|
+ }
|
|
|
+ sValue := itemValue
|
|
|
+ if sValue != "" {
|
|
|
saveValue := sValue
|
|
|
|
|
|
if findItem, ok := existMap[eDate]; !ok {
|
|
|
- addSql += GetAddSql(edbInfoIdStr, edbCode, eDate, timeStr, saveValue)
|
|
|
+ addSql += GetAddSql(edbInfoIdStr, edbCode, sDataTime, timeStr, saveValue)
|
|
|
isAdd = true
|
|
|
} else {
|
|
|
if findItem != nil && utils.SubFloatToString(findItem.Value, 30) != sValue {
|