package jx import ( "time" "git.rosy.net.cn/jx-callback/business/jxutils/jxcontext" "git.rosy.net.cn/jx-callback/business/jxutils/tasksch" "git.rosy.net.cn/jx-callback/business/model" "git.rosy.net.cn/jx-callback/business/partner" "git.rosy.net.cn/jx-callback/business/partner/purchase/jx/localjx" "git.rosy.net.cn/jx-callback/business/partner/purchase/jx/phpjx" ) func (c *PurchaseHandler) Map2Order(orderData map[string]interface{}) (order *model.GoodsOrder) { return order } func (c *PurchaseHandler) GetOrder(vendorOrgCode, orderID string) (order *model.GoodsOrder, err error) { order, err = partner.CurOrderManager.LoadOrder(orderID, model.VendorIDJX) return order, err } func (p *PurchaseHandler) GetOrderStatus(vendorOrgCode, vendorOrderID string) (status int, err error) { order, err := partner.CurOrderManager.LoadOrder(vendorOrderID, model.VendorIDJX) if err == nil { status = order.Status } return status, err } func (c *PurchaseHandler) AcceptOrRefuseOrder(order *model.GoodsOrder, isAcceptIt bool, userName string) (err error) { var status int if isAcceptIt { status = model.OrderStatusAccepted } else { status = model.OrderStatusCanceled } if model.IsOrderJXTemp(order) { err = phpjx.NotifyOrderStatusChanged(order, status) } else { err = localjx.AcceptOrRefuseOrder(order, isAcceptIt, userName) } return err } func (c *PurchaseHandler) PickupGoods(order *model.GoodsOrder, isSelfDelivery bool, userName string) (err error) { if model.IsOrderJXTemp(order) { err = phpjx.NotifyOrderStatusChanged(order, model.OrderStatusFinishedPickup) } else { err = localjx.PickupGoods(order, isSelfDelivery, userName) } return err } func (p *PurchaseHandler) AcceptOrRefuseFailedGetOrder(ctx *jxcontext.Context, order *model.GoodsOrder, isAcceptIt bool) (err error) { return err } func (p *PurchaseHandler) CallCourier(ctx *jxcontext.Context, order *model.GoodsOrder) (err error) { // 拣货失败后再次招唤平台配送 return err } func (p *PurchaseHandler) ConfirmReceiveGoods(ctx *jxcontext.Context, order *model.GoodsOrder) (err error) { // 投递失败后确认收到退货 return err } func (c *PurchaseHandler) Swtich2SelfDeliver(order *model.GoodsOrder, userName string) (err error) { return err } func (c *PurchaseHandler) Swtich2SelfDelivered(order *model.GoodsOrder, userName string) (err error) { return err } func (c *PurchaseHandler) SelfDeliverDelivering(order *model.GoodsOrder, userName string) (err error) { if model.IsOrderJXTemp(order) { err = phpjx.NotifyOrderStatusChanged(order, model.OrderStatusDelivering) } else { err = localjx.SelfDeliverDelivering(order, userName) } return err } func (c *PurchaseHandler) SelfDeliverDelivered(order *model.GoodsOrder, userName string) (err error) { if model.IsOrderJXTemp(order) { err = phpjx.NotifyOrderStatusChanged(order, model.OrderStatusFinished) } else { err = localjx.SelfDeliverDelivered(order, userName) } return err } func (c *PurchaseHandler) GetOrderRealMobile(ctx *jxcontext.Context, order *model.GoodsOrder) (mobile string, err error) { return mobile, err } func (c *PurchaseHandler) AgreeOrRefuseCancel(ctx *jxcontext.Context, order *model.GoodsOrder, isAgree bool, reason string) (err error) { if model.IsOrderJXTemp(order) { } else { err = localjx.AgreeOrRefuseCancel(ctx, order, isAgree, reason) } return err } func (c *PurchaseHandler) CancelOrder(ctx *jxcontext.Context, order *model.GoodsOrder, reason string) (err error) { if model.IsOrderJXTemp(order) { err = phpjx.NotifyOrderStatusChanged(order, model.OrderStatusCanceled) } else { err = localjx.CancelOrder(ctx, order, reason) } return err } func (c *PurchaseHandler) AdjustOrder(ctx *jxcontext.Context, order *model.GoodsOrder, removedSkuList []*model.OrderSku, reason string) (err error) { if model.IsOrderJXTemp(order) { } else { err = localjx.AdjustOrder(ctx, order, removedSkuList, reason) } return err } func (c *PurchaseHandler) ListOrders(ctx *jxcontext.Context, vendorOrgCode string, parentTask tasksch.ITask, queryDate time.Time, vendorStoreID string) (vendorOrderIDs []string, err error) { return vendorOrderIDs, err } func (c *PurchaseHandler) ConfirmSelfTake(ctx *jxcontext.Context, vendorOrderID, selfTakeCode string) (err error) { order, err := partner.CurOrderManager.LoadOrder(vendorOrderID, model.VendorIDJX) if err == nil { if model.IsOrderJXTemp(order) { err = phpjx.NotifyOrderStatusChanged(order, model.OrderStatusFinished) } } return err }