|
|
@@ -7,10 +7,12 @@ import (
|
|
|
"fmt"
|
|
|
"fohow.com/apps"
|
|
|
"fohow.com/apps/models/express_model"
|
|
|
+ "fohow.com/cache"
|
|
|
"io/ioutil"
|
|
|
"net/http"
|
|
|
"net/url"
|
|
|
"strings"
|
|
|
+ "time"
|
|
|
)
|
|
|
|
|
|
func (self *ToolController) GetExpressCompany() {
|
|
|
@@ -61,7 +63,9 @@ func (self *ToolController) GetExpressCompany() {
|
|
|
|
|
|
//获取物流信息
|
|
|
func (self *ToolController) GetExpressInfo() {
|
|
|
-
|
|
|
+ type Ret struct {
|
|
|
+ Resp map[string]interface{} `json:"resp"`
|
|
|
+ }
|
|
|
expressNo := self.GetString("express_no")
|
|
|
expressCode := self.GetString("express_code")
|
|
|
sign := self.GetString("sign")
|
|
|
@@ -87,22 +91,22 @@ func (self *ToolController) GetExpressInfo() {
|
|
|
param.Set("key", express_model.JUHE_KEY) //应用APPKEY(应用详细页查询)
|
|
|
param.Set("dtype", "json") //返回数据的格式,xml或json,默认json
|
|
|
var netReturn map[string]interface{}
|
|
|
-
|
|
|
- //发送请求
|
|
|
- data, err := Get(juheURL, param)
|
|
|
- if err != nil {
|
|
|
- fmt.Errorf("请求失败,错误信息:\r\n%v", err)
|
|
|
- } else {
|
|
|
- json.Unmarshal(data, &netReturn)
|
|
|
- /* if netReturn["error_code"].(float64) == 0 {
|
|
|
- //fmt.Printf("接口返回result字段是:\r\n%v", netReturn["result"])
|
|
|
- }*/
|
|
|
- }
|
|
|
- type Ret struct {
|
|
|
- Ret map[string]interface{} `json:"resp"`
|
|
|
+ //将数据存入cache
|
|
|
+ k := fmt.Sprintf("express.GetExpressInfo(%s)", expressNo)
|
|
|
+ ret, ok := cache.Cache.Get(k).(*Ret)
|
|
|
+ if !ok {
|
|
|
+ ret = &Ret{}
|
|
|
+ //发送请求
|
|
|
+ data, err := Get(juheURL, param)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Errorf("请求失败,错误信息:\r\n%v", err)
|
|
|
+ } else {
|
|
|
+ json.Unmarshal(data, &netReturn)
|
|
|
+ }
|
|
|
+ ret.Resp = netReturn
|
|
|
+ cache.Cache.Put(k, ret, 10*time.Minute)
|
|
|
}
|
|
|
-
|
|
|
- self.Data["json"] = &Ret{Ret: netReturn}
|
|
|
+ self.Data["json"] = ret
|
|
|
self.ServeJSON()
|
|
|
}
|
|
|
|