package controllers import ( "git.rosy.net.cn/baseapi/platformapi/mtwmapi" "git.rosy.net.cn/jx-callback/business/partner/purchase/mtwm" "git.rosy.net.cn/jx-callback/globals/api" "github.com/astaxie/beego/server/web" "net/http" "net/url" "strings" "time" ) type MtwmController struct { web.Controller } func (c *MtwmController) onCallbackMsg(msgType string) { c.Data["json"] = mtwmapi.Err2CallbackResponse(nil, "") msg, callbackResponse := api.MtwmAPI.GetCallbackMsg(c.Ctx.Request) if callbackResponse == nil { callbackResponse = mtwm.OnCallbackMsg(msg, msgType) if callbackResponse == nil { callbackResponse = mtwmapi.Err2CallbackResponse(nil, "") } } c.Data["json"] = mtwmapi.Err2CallbackResponse(nil, "") //c.Data["json"] = callbackResponse c.ServeJSON() } func (c *MtwmController) WaybillStatus() { c.onCallbackMsg(mtwmapi.MsgTypeWaybillStatus) } func (c *MtwmController) NewOrder() { c.onCallbackMsg(mtwmapi.MsgTypeNewOrder) } func (c *MtwmController) OrderAccepted() { time.Sleep(500 * time.Millisecond) // 测试看看有的订单来不拣货,可能是这个状态推的太快了,上一个NewOrder还没处理结束导致的 c.onCallbackMsg(mtwmapi.MsgTypeOrderAccepted) } func (c *MtwmController) OrderFinished() { c.onCallbackMsg(mtwmapi.MsgTypeOrderFinished) } func (c *MtwmController) OrderFinancial() { c.onCallbackMsg(mtwmapi.MsgTypeOrderFinancial) } func (c *MtwmController) UserUrgeOrder() { c.onCallbackMsg(mtwmapi.MsgTypeUserUrgeOrder) } func (c *MtwmController) NumberDowngrade() { c.onCallbackMsg(mtwmapi.MsgTypePrivateNumberDowngrade) } func (c *MtwmController) OrderModified() { c.onCallbackMsg(mtwmapi.MsgTypeOrderModified) } func (c *MtwmController) OrderCanceled() { c.onCallbackMsg(mtwmapi.MsgTypeOrderCanceled) } func (c *MtwmController) OrderRefund() { c.onCallbackMsg(mtwmapi.MsgTypeOrderRefund) } func (c *MtwmController) OrderPartialRefund() { c.onCallbackMsg(mtwmapi.MsgTypeOrderPartialRefund) } func (c *MtwmController) StoreStatusChanged() { c.onCallbackMsg(mtwmapi.MsgTypeStoreStatusChanged) } func (c *MtwmController) OrderFinishedPickup() { c.onCallbackMsg(mtwmapi.MsgTypeOrderFinishedPickup) } func (c *MtwmController) StoreAuditStatusChanged() { c.onCallbackMsg(mtwmapi.MsgTypeStoreAuditStatusChanged) } func (c *MtwmController) SkuDelete() { c.onCallbackMsg(mtwmapi.MsgTypeSkuDelete) } func (c *MtwmController) StoreBind() { c.onCallbackMsg(mtwmapi.MsgTypeStoreBind) } func (c *MtwmController) IMCallback() { c.OnIMCallback() } func (c *MtwmController) DeliveryFeeChange() { c.onCallbackMsg(mtwmapi.MsgTypeOrderDeliveryFeeChange) } func (c *MtwmController) OnIMCallback() { c.Data["json"] = mtwmapi.Err2CallbackResponse(nil, "") msg, callbackResponse := api.MtwmAPI.GetIMCallbackMsg(c.Ctx.Request) if callbackResponse == nil { callbackResponse = mtwm.OnImMsg(msg) if callbackResponse == nil { callbackResponse = mtwmapi.Err2CallbackResponse(nil, "") } } c.Data["json"] = callbackResponse c.ServeJSON() } type FinishedPickup struct { AppPoiCode string `json:"app_poi_code"` ConsumingTime int `json:"consuming_time"` OrderId int64 `json:"order_id"` OrderViewId int64 `json:"order_view_id"` PickTime string `json:"pick_time"` PickType string `json:"pick_type"` } // 订单所属门店在菜市不存在时尝试推送到果园去 func pushMTWMOrder2GY(value url.Values, msgType string) { cl := http.Client{} request, err := http.NewRequest(http.MethodPost, "http://callback-jxgy.jxc4.com/mtwm/"+msgType, strings.NewReader(value.Encode())) if err != nil { return } request.Header.Set("Content-Type", "multipart/form-data; charset=UTF-8") cl.Do(request) }