|
@@ -216,6 +216,9 @@ func (this *ShanghaiSmmController) RefreshExcel() {
|
|
|
}
|
|
|
updateIndexList := make([]*models.BaseFromSmmIndex, 0)
|
|
|
addDataList := make([]*models.BaseFromSmmData, 0)
|
|
|
+ updateDataList := make([]*models.BaseFromSmmData, 0)
|
|
|
+
|
|
|
+ queryIndexIds := make([]int, 0)
|
|
|
for _, v := range req {
|
|
|
indexCode := strings.Replace(v.IndexCode, " ", "", -1)
|
|
|
indexInfo := ShanghaiSmmCodeToIndexMap[indexCode]
|
|
@@ -228,6 +231,29 @@ func (this *ShanghaiSmmController) RefreshExcel() {
|
|
|
fmt.Printf("指标名称或指标id有误v.IndexName:%s, v.IndexCode:%s", v.IndexName, v.IndexCode)
|
|
|
return
|
|
|
}
|
|
|
+ queryIndexIds = append(queryIndexIds, int(indexInfo.BaseFromSmmIndexId))
|
|
|
+ }
|
|
|
+ list, err := models.GetBaseFromSmmDataByIds(queryIndexIds)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "查询指标数据失败"
|
|
|
+ br.ErrMsg = "查询指标数据失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ dateDataMap := make(map[int]map[string]string)
|
|
|
+ for _, v := range list {
|
|
|
+ dataMap, ok := dateDataMap[v.BaseFromSmmIndexId]
|
|
|
+ if ok {
|
|
|
+ dataMap[v.DataTime] = v.Value
|
|
|
+ } else {
|
|
|
+ dateDataMap[v.BaseFromSmmIndexId] = map[string]string{
|
|
|
+ v.DataTime: v.Value,
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ for _, v := range req {
|
|
|
+ indexCode := strings.Replace(v.IndexCode, " ", "", -1)
|
|
|
+ indexInfo := ShanghaiSmmCodeToIndexMap[indexCode]
|
|
|
+
|
|
|
isAdd := false
|
|
|
indexItem := new(models.BaseFromSmmIndex)
|
|
|
indexItem.BaseFromSmmIndexId = indexInfo.BaseFromSmmIndexId
|
|
@@ -245,21 +271,33 @@ func (this *ShanghaiSmmController) RefreshExcel() {
|
|
|
} else {
|
|
|
indexItem.StartDate = indexInfo.StartDate
|
|
|
}
|
|
|
- // 如果指标index有更新,那么需要添加指标数据
|
|
|
if isAdd {
|
|
|
indexItem.IndexName = v.IndexName
|
|
|
indexItem.ModifyTime = time.Now()
|
|
|
updateIndexList = append(updateIndexList, indexItem)
|
|
|
- for k, dv := range v.Data {
|
|
|
+ }
|
|
|
+ for k, dv := range v.Data {
|
|
|
+ valueStr := strconv.FormatFloat(dv, 'f', -1, 64)
|
|
|
+ valueRaw := dateDataMap[int(indexInfo.BaseFromSmmIndexId)][k]
|
|
|
+ if valueRaw == "" {
|
|
|
dataItem := new(models.BaseFromSmmData)
|
|
|
dataItem.BaseFromSmmIndexId = int(indexInfo.BaseFromSmmIndexId)
|
|
|
dataItem.IndexCode = indexInfo.IndexCode
|
|
|
dataItem.DataTime = k
|
|
|
- dataItem.Value = strconv.FormatFloat(dv, 'f', -1, 64)
|
|
|
+ dataItem.Value = valueStr
|
|
|
dataItem.CreateTime = time.Now()
|
|
|
dataItem.ModifyTime = time.Now()
|
|
|
dataItem.DataTimestamp = time.Now().UnixMilli()
|
|
|
addDataList = append(addDataList, dataItem)
|
|
|
+ } else if valueStr != "" && valueRaw != valueStr {
|
|
|
+ dataItem := new(models.BaseFromSmmData)
|
|
|
+ dataItem.BaseFromSmmIndexId = int(indexInfo.BaseFromSmmIndexId)
|
|
|
+ dataItem.IndexCode = indexInfo.IndexCode
|
|
|
+ dataItem.DataTime = k
|
|
|
+ dataItem.Value = valueStr
|
|
|
+ dataItem.ModifyTime = time.Now()
|
|
|
+ dataItem.DataTimestamp = time.Now().UnixMilli()
|
|
|
+ updateDataList = append(updateDataList, dataItem)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -275,12 +313,22 @@ func (this *ShanghaiSmmController) RefreshExcel() {
|
|
|
for _, v := range updateIndexList {
|
|
|
err = v.UpdateCols([]string{"end_date", "start_date", "modify_time"})
|
|
|
if err != nil {
|
|
|
- br.Msg = "更新指标数据失败"
|
|
|
- br.ErrMsg = "更新指标失败,Err:" + err.Error()
|
|
|
+ br.Msg = "更新指标索引失败"
|
|
|
+ br.ErrMsg = "更新指标索引失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ // 不修改
|
|
|
+ fmt.Println(len(updateDataList))
|
|
|
+ // if len(updateDataList) > 0 {
|
|
|
+ // err = models.UpdateBaseFromSmmDataListByIndexCode(updateDataList)
|
|
|
+ // if err != nil {
|
|
|
+ // br.Msg = "更新指标数据失败"
|
|
|
+ // br.ErrMsg = "更新指标失败,Err:" + err.Error()
|
|
|
+ // return
|
|
|
+ // }
|
|
|
+ // }
|
|
|
br.Ret = 200
|
|
|
br.Success = true
|
|
|
br.Msg = "数据刷新成功"
|