|
@@ -88,7 +88,7 @@ func GetLongZhongTargetInfoByExcel() {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-func GetLzProductList()(err error) {
|
|
|
+func GetLzProductList() (err error) {
|
|
|
utils.FileLog.Info("start GetLzProductList")
|
|
|
defer func() {
|
|
|
if err != nil {
|
|
@@ -219,7 +219,7 @@ func GetLzProductList()(err error) {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
-func GetLzProductDetail()(err error) {
|
|
|
+func GetLzProductDetail() (err error) {
|
|
|
utils.FileLog.Info("start GetLzProductDetail")
|
|
|
defer func() {
|
|
|
if err != nil {
|
|
@@ -334,6 +334,139 @@ func GetLzProductDetail()(err error) {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+func GetHistoryLzProductDetail() (err error) {
|
|
|
+ utils.FileLog.Info("start GetHistoryLzProductDetail")
|
|
|
+ var msg string
|
|
|
+ defer func() {
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("Err:" + err.Error())
|
|
|
+ }
|
|
|
+ if msg != "" {
|
|
|
+ fmt.Println("msg:" + msg)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+
|
|
|
+ infoList, err := models.GetLongzhonginfoList()
|
|
|
+ if err != nil {
|
|
|
+ msg = "获取指标列表失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ for ik, iv := range infoList {
|
|
|
+ fmt.Println(ik, iv.SecName)
|
|
|
+ startDate := "2017-01-01"
|
|
|
+ endDate := "2017-12-31"
|
|
|
+ time.Sleep(5 * time.Second)
|
|
|
+ pageSize := 30
|
|
|
+
|
|
|
+ postUrl := `http://info.oilchem.net/cust/interfacenew/getProductUnitDetailNew`
|
|
|
+ username := "hzmd"
|
|
|
+ password := "HZMD2020"
|
|
|
+
|
|
|
+ totalPage := 10
|
|
|
+ for i := 1; i <= totalPage; i++ {
|
|
|
+ fmt.Println("page:", i)
|
|
|
+ timestamp := fmt.Sprintf("%d", time.Now().Unix())
|
|
|
+ token := utils.MD5(username + timestamp + utils.MD5(password))
|
|
|
+
|
|
|
+ param := url.Values{}
|
|
|
+ param.Add("username", username)
|
|
|
+ param.Add("password", password)
|
|
|
+ param.Add("timestamp", timestamp)
|
|
|
+ param.Add("token", token)
|
|
|
+ param.Add("id", strconv.Itoa(iv.Unitid))
|
|
|
+ param.Add("startDate", startDate)
|
|
|
+ param.Add("endDate", endDate)
|
|
|
+ param.Add("pagesize", strconv.Itoa(pageSize))
|
|
|
+ param.Add("page", strconv.Itoa(i))
|
|
|
+ utils.FileLog.Info("%s", param.Encode())
|
|
|
+ body, err := http.Post(postUrl, param.Encode())
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("err:", err.Error())
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ utils.FileLog.Info("%s", string(body))
|
|
|
+ resp := new(models.LzProductInfoDetailResp)
|
|
|
+ err = json.Unmarshal(body, &resp)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("Unmarshal Err:" + err.Error())
|
|
|
+ fmt.Println("body:", string(body))
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ if resp.Code != "1" {
|
|
|
+ fmt.Println("获取信息失败")
|
|
|
+ err = errors.New("Code:" + resp.Code + ";Msg:" + resp.Msg)
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ if i == totalPage && resp.Pagesize >= pageSize {
|
|
|
+ totalPage = totalPage + 5
|
|
|
+ }
|
|
|
+ for k, v := range resp.Data {
|
|
|
+ fmt.Println(k, v.UnitId, v.ProCnName)
|
|
|
+ target, err := models.GetLongzhonginfoByUnitId(v.ProCnName, v.UnitId)
|
|
|
+ if err != nil {
|
|
|
+ if err.Error() != utils.ErrNoRow() {
|
|
|
+ fmt.Println("获取target失败,err:" + err.Error())
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ fmt.Println("err:" + err.Error())
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ if target == nil {
|
|
|
+ fmt.Println("target is empty:"+v.ProCnName, v.UnitId)
|
|
|
+ continue
|
|
|
+ }
|
|
|
+
|
|
|
+ count, err := models.GetLongzhongdataCount(target.LongzhonginfoId, v.DataTime)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("GetLongzhongdataCount Err:" + err.Error())
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ if count > 0 {
|
|
|
+ fmt.Println("数据已存在:", iv.Unitid, iv.SecName, v.UnitValue, v.DataTime)
|
|
|
+
|
|
|
+ lzdetail.CreateTime = time.Now()
|
|
|
+ lzdetail.ModifyTime = time.Now()
|
|
|
+ lzdetail.TradeCode = target.TradeCode
|
|
|
+ lzdetail.LongzhonginfoId = target.LongzhonginfoId
|
|
|
+ lzdetail.Dt = v.DataTime
|
|
|
+ lzdetail.Close = v.UnitValue
|
|
|
+ lzdetail.UnitDesc = v.UnitDesc
|
|
|
+ lzdetail.UpdTime = v.UpdTime
|
|
|
+ err = models.ModifyLongzhongdata(lzdetail)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("ModifyLongzhongdata Err:" + err.Error())
|
|
|
+ return err
|
|
|
+ }*/
|
|
|
+ } else {
|
|
|
+ lzdetail := new(models.Longzhongdata)
|
|
|
+ lzdetail.CreateTime = time.Now()
|
|
|
+ lzdetail.ModifyTime = time.Now()
|
|
|
+ lzdetail.TradeCode = target.TradeCode
|
|
|
+ lzdetail.LongzhonginfoId = target.LongzhonginfoId
|
|
|
+ lzdetail.Dt = v.DataTime
|
|
|
+ lzdetail.Close = v.UnitValue
|
|
|
+ lzdetail.UnitDesc = v.UnitDesc
|
|
|
+ lzdetail.UpdTime = v.UpdTime
|
|
|
+ err = models.AddLongzhongdata(lzdetail)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println("AddLongzhongdata Err:" + err.Error())
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if resp.Pagesize < pageSize || len(resp.Data) == 0 {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+ time.Sleep(2 * time.Second)
|
|
|
+ }
|
|
|
+ fmt.Println("sleep", iv.SecName)
|
|
|
+ time.Sleep(10 * time.Second)
|
|
|
+ }
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
func GetLzPrice() {
|
|
|
fmt.Println("start")
|
|
|
|