1
This commit is contained in:
@@ -90,8 +90,11 @@ func (c *DeliveryHandler) OnWaybillExcept(msg *mtpsapi.CallbackOrderExceptionMsg
|
||||
func (c *DeliveryHandler) onWaybillMsg(msg *mtpsapi.CallbackOrderMsg) (retVal *mtpsapi.CallbackResponse) {
|
||||
order, goodsOrder := c.callbackMsg2Waybill(msg)
|
||||
//查不到订单可能就是果园的订单
|
||||
if goodsOrder == nil && beego.BConfig.RunMode != "jxgy" {
|
||||
c.pushToGy(msg)
|
||||
if goodsOrder == nil && beego.BConfig.RunMode == model.ServerTypeVegetable {
|
||||
c.pushToGy(msg, model.ServerTypeFruits)
|
||||
return mtpsapi.SuccessResponse
|
||||
} else if goodsOrder == nil && beego.BConfig.RunMode == model.ServerTypeFruits {
|
||||
c.pushToGy(msg, model.ServerTypePet)
|
||||
return mtpsapi.SuccessResponse
|
||||
}
|
||||
// 多次取消,送达,只处理第一次
|
||||
@@ -195,7 +198,7 @@ func pushMTPSToTiktok(msgStatus int, order *model.Waybill, lng, lat, vendorOrgCo
|
||||
}
|
||||
}
|
||||
|
||||
func (c *DeliveryHandler) pushToGy(msg *mtpsapi.CallbackOrderMsg) {
|
||||
func (c *DeliveryHandler) pushToGy(msg *mtpsapi.CallbackOrderMsg, serverType string) {
|
||||
cl := http.Client{}
|
||||
params := make(map[string]interface{})
|
||||
params["mt_peisong_id"] = msg.MtPeisongID
|
||||
@@ -211,10 +214,22 @@ func (c *DeliveryHandler) pushToGy(msg *mtpsapi.CallbackOrderMsg) {
|
||||
urls := utils.Map2URLValues(params)
|
||||
sign := signParams(urls)
|
||||
params["sign"] = sign
|
||||
request, err := http.NewRequest(http.MethodPost, "http://callback-jxgy.jxc4.com/mtps/status", strings.NewReader(utils.Map2URLValues(params).Encode()))
|
||||
if err != nil {
|
||||
return
|
||||
|
||||
var request *http.Request
|
||||
var err error
|
||||
switch serverType {
|
||||
case model.ServerTypeFruits:
|
||||
request, err = http.NewRequest(http.MethodPost, "http://callback-jxgy.jxc4.com/mtps/status", strings.NewReader(utils.Map2URLValues(params).Encode()))
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
case model.ServerTypePet:
|
||||
request, err = http.NewRequest(http.MethodPost, "http://callback-jxpet.jxc4.com/mtps/status", strings.NewReader(utils.Map2URLValues(params).Encode()))
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
request.Header.Set("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8")
|
||||
cl.Do(request)
|
||||
}
|
||||
|
||||
@@ -391,8 +391,12 @@ func OnWaybillMsg(urlIndex string, msg interface{}) (resp *sfps2.CallbackRespons
|
||||
|
||||
order, goodsOrder := GetWaybillByStatus(urlIndex, msg)
|
||||
//判断是否是果园
|
||||
if goodsOrder == nil && beego.BConfig.RunMode != "jxgy" {
|
||||
pushCallbackToGy(urlIndex, msg)
|
||||
if goodsOrder == nil && beego.BConfig.RunMode == model.ServerTypeVegetable {
|
||||
pushCallbackToGy(urlIndex, msg, model.ServerTypeFruits)
|
||||
return sfps2.SuccessResponse
|
||||
}
|
||||
if goodsOrder == nil && beego.BConfig.RunMode == model.ServerTypeFruits {
|
||||
pushCallbackToGy(urlIndex, msg, model.ServerTypePet)
|
||||
return sfps2.SuccessResponse
|
||||
}
|
||||
//多次取消回调只取第一次
|
||||
@@ -470,7 +474,7 @@ func OnWaybillMsg(urlIndex string, msg interface{}) (resp *sfps2.CallbackRespons
|
||||
}
|
||||
|
||||
//转发到果园
|
||||
func pushCallbackToGy(urlIndex string, msg interface{}) {
|
||||
func pushCallbackToGy(urlIndex string, msg interface{}, serverType string) {
|
||||
var (
|
||||
err error
|
||||
client = &http.Client{}
|
||||
@@ -478,14 +482,24 @@ func pushCallbackToGy(urlIndex string, msg interface{}) {
|
||||
)
|
||||
|
||||
b, _ := json.Marshal(msg)
|
||||
|
||||
switch urlIndex {
|
||||
case sfps2.UrlIndexRiderException:
|
||||
request, err = http.NewRequest(http.MethodPost, "http://callback-jxgy.jxc4.com/SFPS/SfAbnormal", strings.NewReader(string(b)))
|
||||
default:
|
||||
//fullUrl := utils.GenerateGetURL("http://callback-jxgy.jxc4.com/SFPS/SfOrder", "", map[string]interface{}{"sign": sign})
|
||||
//request, err = http.NewRequest(http.MethodPost, fullUrl, strings.NewReader(string(b)))
|
||||
request, err = http.NewRequest(http.MethodPost, "http://callback-jxgy.jxc4.com/SFPS/SfOrder", strings.NewReader(string(b)))
|
||||
if serverType == model.ServerTypeFruits {
|
||||
switch urlIndex {
|
||||
case sfps2.UrlIndexRiderException:
|
||||
request, err = http.NewRequest(http.MethodPost, "http://callback-jxgy.jxc4.com/SFPS/SfAbnormal", strings.NewReader(string(b)))
|
||||
default:
|
||||
//fullUrl := utils.GenerateGetURL("http://callback-jxgy.jxc4.com/SFPS/SfOrder", "", map[string]interface{}{"sign": sign})
|
||||
//request, err = http.NewRequest(http.MethodPost, fullUrl, strings.NewReader(string(b)))
|
||||
request, err = http.NewRequest(http.MethodPost, "http://callback-jxgy.jxc4.com/SFPS/SfOrder", strings.NewReader(string(b)))
|
||||
}
|
||||
} else if serverType == model.ServerTypePet {
|
||||
switch urlIndex {
|
||||
case sfps2.UrlIndexRiderException:
|
||||
request, err = http.NewRequest(http.MethodPost, "http://callback-jxpet.jxc4.com/SFPS/SfAbnormal", strings.NewReader(string(b)))
|
||||
default:
|
||||
//fullUrl := utils.GenerateGetURL("http://callback-jxgy.jxc4.com/SFPS/SfOrder", "", map[string]interface{}{"sign": sign})
|
||||
//request, err = http.NewRequest(http.MethodPost, fullUrl, strings.NewReader(string(b)))
|
||||
request, err = http.NewRequest(http.MethodPost, "http://callback-jxpet.jxc4.com/SFPS/SfOrder", strings.NewReader(string(b)))
|
||||
}
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user