|
@@ -0,0 +1,98 @@
|
|
|
+package services
|
|
|
+
|
|
|
+import (
|
|
|
+ "encoding/json"
|
|
|
+ "eta/eta_task/models/data_manage"
|
|
|
+ "eta/eta_task/utils"
|
|
|
+ "fmt"
|
|
|
+ "time"
|
|
|
+)
|
|
|
+
|
|
|
+// ICPI消费指数指标数据同步
|
|
|
+func SyncBaseFromIcpi() (err error) {
|
|
|
+ var startDate string
|
|
|
+ maxDate, err := data_manage.GetBaseFromIcpiIndexMaxDate()
|
|
|
+ if err != nil || maxDate.IsZero() {
|
|
|
+ startDate = time.Now().AddDate(0, 0, -1).Format(utils.FormatDate) + " 00:00:00"
|
|
|
+ } else {
|
|
|
+ startDate = maxDate.AddDate(0, 0, 1).Format(utils.FormatDate) + " 00:00:00"
|
|
|
+ }
|
|
|
+
|
|
|
+ method := `index/list`
|
|
|
+ data := make(map[string]interface{})
|
|
|
+ data["Source"] = utils.DATA_SOURCE_ICPI
|
|
|
+ data["StartDate"] = startDate
|
|
|
+ //data["EndDate"] = endDate
|
|
|
+ result, err := HttpPost("SyncRankingFromIcpi", method, data)
|
|
|
+ utils.FileLog.Info(result)
|
|
|
+ fmt.Println(result)
|
|
|
+
|
|
|
+ respObj := new(data_manage.IcpiIndexResp)
|
|
|
+ err = json.Unmarshal([]byte(result), &respObj)
|
|
|
+ if err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ //获取所有指标信息 某一天的
|
|
|
+ allIndex, err := data_manage.GetBaseFromIcpiIndexAll(startDate)
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ existIndexMap := make(map[int]*data_manage.BaseFromIcpiIndex)
|
|
|
+ for _, v := range allIndex {
|
|
|
+ existIndexMap[v.BaseFromIcpiIndexId] = v
|
|
|
+ }
|
|
|
+
|
|
|
+ icpiObj := new(data_manage.BaseFromIcpiIndex)
|
|
|
+
|
|
|
+ for _, zv := range respObj.Data {
|
|
|
+ if _, ok := existIndexMap[zv.BaseFromIcpiIndexId]; !ok {
|
|
|
+ newID, err := icpiObj.AddBaseFromIcpiIndex(zv)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("insert error:", err)
|
|
|
+ }
|
|
|
+ fmt.Println("insert new indexID:", newID)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return err
|
|
|
+}
|
|
|
+
|
|
|
+// ICPI消费指数-分类
|
|
|
+func SyncBaseFromIcpiClassify() (err error) {
|
|
|
+ data := make(map[string]interface{})
|
|
|
+ data["Source"] = utils.DATA_SOURCE_ICPI
|
|
|
+ method := `classify/list`
|
|
|
+ result, err := HttpPost("SyncBaseFromIcpiClassify", method, data)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("SyncBaseFromIcpiClassify HttpPost Err:", err.Error())
|
|
|
+ }
|
|
|
+ utils.FileLog.Info(result)
|
|
|
+ fmt.Println("SyncBaseFromIcpiClassify result:", result)
|
|
|
+
|
|
|
+ respObj := new(data_manage.IcpiClassifyResp)
|
|
|
+ err = json.Unmarshal([]byte(result), &respObj)
|
|
|
+ if err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ //获取所有分类
|
|
|
+ allClassify, err := data_manage.GetBaseFromIcpiClassifyAll()
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ existIndexMap := make(map[int]*data_manage.BaseFromIcpiClassify)
|
|
|
+ for _, v := range allClassify {
|
|
|
+ existIndexMap[v.BaseFromIcpiClassifyId] = v
|
|
|
+ }
|
|
|
+
|
|
|
+ for _, item := range respObj.Data {
|
|
|
+ if _, ok := existIndexMap[item.BaseFromIcpiClassifyId]; !ok {
|
|
|
+ newID, err := data_manage.AddBaseFromIcpiClassify(item)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("AddBaseFromIcpiClassify error:", err)
|
|
|
+ }
|
|
|
+ fmt.Println("AddBaseFromIcpiClassify new indexID:", newID)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return err
|
|
|
+}
|