京东api区分vendorOrgCode

This commit is contained in:
gazebo
2019-12-09 15:16:21 +08:00
parent 211994bd97
commit ecedbe9be4
37 changed files with 172 additions and 191 deletions

View File

@@ -165,9 +165,9 @@ func (c *OrderManager) OnOrderAdjust(order *model.GoodsOrder, orderStatus *model
func (c *OrderManager) OnOrderStatusChanged(orderStatus *model.OrderStatus) (err error) {
// 有些平台(比如美团外卖),在新订单事件没有成功返回,但在重发订单消息前,订单状态转换,则不会再重发新订单事件,特殊处理一下
if orderStatus.Status == model.OrderStatusAccepted {
if _, err2 := c.LoadOrder(orderStatus.VendorOrderID, orderStatus.VendorID); err2 == ErrCanNotFindOrder {
if order, err2 := c.LoadOrder(orderStatus.VendorOrderID, orderStatus.VendorID); err2 == ErrCanNotFindOrder {
if handler := partner.GetPurchaseOrderHandlerFromVendorID(orderStatus.VendorID); handler != nil {
if order, err2 := handler.GetOrder(orderStatus.VendorOrderID); err2 == nil {
if order, err2 := handler.GetOrder(order.VendorOrgCode, orderStatus.VendorOrderID); err2 == nil {
c.OnOrderNew(order, orderStatus)
}
}

View File

@@ -385,6 +385,7 @@ func (c *OrderManager) CreateAfsOrderFromOrder(vendorOrderID string, vendorID in
JxStoreID: order.JxStoreID,
VendorStoreID: order.VendorStoreID,
StoreID: order.StoreID,
VendorOrgCode: order.VendorOrgCode,
}
} else {
globals.SugarLogger.Warnf("CreateAfsOrderFromOrder, orderID:%s is not found from partner.CurOrderManager.LoadOrder", vendorOrderID)

View File

@@ -84,7 +84,9 @@ func (c *OrderManager) OnOrderComments(orderCommentList []*model.OrderComment) (
err = nil
isNewComment = true
if orderComment.IsReplied == 0 && time.Now().Sub(orderComment.CommentCreatedAt) < time.Duration(orderComment.ModifyDuration)*time.Hour {
c.replyOrderComment(orderComment)
if storeDetail, err2 := dao.GetStoreDetail(db, orderComment.StoreID, orderComment.VendorID); err2 == nil {
c.replyOrderComment(storeDetail.VendorOrgCode, orderComment)
}
}
}
if isNewComment /*&& orderComment.Score <= JX_BAD_COMMENTS_MAX_LEVEL*/ || !isNewComment && orderComment.Score > JX_BAD_COMMENTS_MAX_LEVEL { // 如果是直接非差评,或补评仍然是差评,忽略
@@ -164,7 +166,7 @@ func (c *OrderManager) OnOrderComments(orderCommentList []*model.OrderComment) (
return err
}
func (c *OrderManager) replyOrderComment(orderComment *model.OrderComment) (err error) {
func (c *OrderManager) replyOrderComment(vendorOrgCode string, orderComment *model.OrderComment) (err error) {
score := int(orderComment.Score)
if score <= 2 {
score = 1
@@ -177,7 +179,7 @@ func (c *OrderManager) replyOrderComment(orderComment *model.OrderComment) (err
globals.SugarLogger.Debugf("replyOrderComment orderID:%s, delaySeconds:%d, content:%s", orderComment.VendorOrderID, delaySeconds, content)
utils.AfterFuncWithRecover(time.Duration(delaySeconds)*time.Second, func() {
if handler := partner.GetPurchaseOrderHandlerFromVendorID(orderComment.VendorID); handler != nil {
if err = handler.ReplyOrderComment(jxcontext.AdminCtx, orderComment, content); err != nil {
if err = handler.ReplyOrderComment(jxcontext.AdminCtx, vendorOrgCode, orderComment, content); err != nil {
globals.SugarLogger.Debugf("replyOrderComment orderID:%s, error:%v", orderComment.VendorOrderID, err)
}
} else {

View File

@@ -16,6 +16,7 @@ import (
"git.rosy.net.cn/jx-callback/business/model/dao"
"git.rosy.net.cn/jx-callback/business/partner"
"git.rosy.net.cn/jx-callback/globals"
"git.rosy.net.cn/jx-callback/globals/api/apimanager"
"github.com/astaxie/beego/orm"
)
@@ -141,7 +142,7 @@ func (c *OrderManager) GetOrderInfo(ctx *jxcontext.Context, vendorOrderID string
if err == nil && num > 0 {
order = orders[0]
if isRefresh && vendorID == model.VendorIDJD {
tmpOrder, err2 := partner.GetPurchaseOrderHandlerFromVendorID(vendorID).GetOrder(vendorOrderID)
tmpOrder, err2 := partner.GetPurchaseOrderHandlerFromVendorID(vendorID).GetOrder(order.VendorOrgCode, vendorOrderID)
if err = err2; err == nil {
order.CurrentConsigneeMobile = tmpOrder.ConsigneeMobile
} else {
@@ -915,19 +916,24 @@ func (c *OrderManager) AmendMissingOrders(ctx *jxcontext.Context, vendorIDs []in
type tDateVendorPair struct {
QueryDate time.Time
VendorID int
VendorOrgCode string
}
var dateVendorList []*tDateVendorPair
for _, vendorID := range vendorIDs {
for _, vendorOrgCode := range apimanager.CurAPIManager.GetAppOrgCodeList(vendorID) {
for tmpDate := fromDate; tmpDate.Sub(toDate) <= 0; tmpDate = tmpDate.Add(24 * time.Hour) {
dateVendorList = append(dateVendorList, &tDateVendorPair{
QueryDate: tmpDate,
VendorID: vendorID,
VendorOrgCode: vendorOrgCode,
})
}
}
}
type tOrderVendorPair struct {
VendorOrderID string
VendorID int
VendorOrgCode string
}
if len(dateVendorList) > 0 {
var missingOrderList []*tOrderVendorPair
@@ -950,13 +956,14 @@ func (c *OrderManager) AmendMissingOrders(ctx *jxcontext.Context, vendorIDs []in
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
vendorDate := batchItemList[0].(*tDateVendorPair)
if handler, _ := partner.GetPurchaseOrderHandlerFromVendorID(vendorDate.VendorID).(partner.IPurchasePlatformStoreSkuHandler); handler != nil {
orderIDs, err2 := handler.ListOrders(ctx, task, vendorDate.QueryDate, vendorStoreIDMap[vendorDate.VendorID])
orderIDs, err2 := handler.ListOrders(ctx, vendorDate.VendorOrgCode, task, vendorDate.QueryDate, vendorStoreIDMap[vendorDate.VendorID])
if err = err2; err == nil && len(orderIDs) > 0 {
var orderList []*tOrderVendorPair
for _, v := range orderIDs {
orderList = append(orderList, &tOrderVendorPair{
VendorOrderID: v,
VendorID: vendorDate.VendorID,
VendorOrgCode: vendorDate.VendorOrgCode,
})
}
retVal = orderList
@@ -989,7 +996,7 @@ func (c *OrderManager) AmendMissingOrders(ctx *jxcontext.Context, vendorIDs []in
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
pair := batchItemList[0].(*tOrderVendorPair)
if handler := partner.GetPurchaseOrderHandlerFromVendorID(pair.VendorID); handler != nil {
order, err2 := handler.GetOrder(pair.VendorOrderID)
order, err2 := handler.GetOrder(pair.VendorOrgCode, pair.VendorOrderID)
if err = err2; err == nil {
isDuplicated, err2 := c.SaveOrder(order, false, dao.GetDB())
if err2 == nil && !isDuplicated {
@@ -1042,7 +1049,7 @@ func (c *OrderManager) RefreshOrderFinancial(ctx *jxcontext.Context, fromTime, t
order := batchItemList[0].(*model.GoodsOrder)
handler := partner.GetPurchaseOrderHandlerFromVendorID(order.VendorID)
if handler != nil {
remoteOrder, err2 := handler.GetOrder(order.VendorOrderID)
remoteOrder, err2 := handler.GetOrder(order.VendorOrgCode, order.VendorOrderID)
if err = err2; err == nil {
order.TotalShopMoney = remoteOrder.TotalShopMoney
order.PmSubsidyMoney = remoteOrder.PmSubsidyMoney

View File

@@ -229,18 +229,26 @@ func (c *BaseScheduler) RefundOrder(ctx *jxcontext.Context, order *model.GoodsOr
}
func (c *BaseScheduler) ConfirmSelfTake(ctx *jxcontext.Context, vendorOrderID string, vendorID int, selfTakeCode string) (err error) {
if vendorID == model.VendorIDJD {
order, err2 := partner.CurOrderManager.LoadOrder(vendorOrderID, vendorID)
if err = err2; err == nil {
err = c.confirmSelfTake(ctx, order, selfTakeCode)
}
return err
}
func (c *BaseScheduler) confirmSelfTake(ctx *jxcontext.Context, order *model.GoodsOrder, selfTakeCode string) (err error) {
if order.VendorID == model.VendorIDJD {
if selfTakeCode == autoSelfTakeCode {
if selfTakeCode, err = jd.CurPurchaseHandler.GetSelfTakeCode(ctx, vendorOrderID); err != nil {
return fmt.Errorf("获取订单:%s自提货码失败原始错误:%s", vendorOrderID, err.Error())
if selfTakeCode, err = jd.CurPurchaseHandler.GetSelfTakeCode(ctx, order); err != nil {
return fmt.Errorf("获取订单:%s自提货码失败原始错误:%s", order.VendorOrderID, err.Error())
}
if selfTakeCode == "" {
return fmt.Errorf("订单:%s看起来不是一个自提订单如果确认是自提订单请联系开发", vendorOrderID)
return fmt.Errorf("订单:%s看起来不是一个自提订单如果确认是自提订单请联系开发", order.VendorOrderID)
}
}
err = jd.CurPurchaseHandler.ConfirmSelfTake(ctx, vendorOrderID, selfTakeCode)
err = jd.CurPurchaseHandler.ConfirmSelfTake(ctx, order, selfTakeCode)
} else {
err = fmt.Errorf("自提核销不支持%s平台订单", model.VendorChineseNames[vendorID])
err = fmt.Errorf("自提核销不支持%s平台订单", model.VendorChineseNames[order.VendorID])
}
return err
}
@@ -258,7 +266,7 @@ func (c *BaseScheduler) ConfirmSelfTakeOrders(ctx *jxcontext.Context, vendorIDs
time.Sleep(2 * time.Second)
}
if err == nil {
if err = c.ConfirmSelfTake(ctx, order.VendorOrderID, order.VendorID, autoSelfTakeCode); err == nil {
if err = c.confirmSelfTake(ctx, order, autoSelfTakeCode); err == nil {
retVal = []int{1}
}
}

View File

@@ -225,7 +225,7 @@ func init() {
partner.CurOrderManager.OnOrderMsg(order, "自动接单失败", err.Error())
// 为了解决京东新消息与接单消息乱序的问题
if errWithCode, ok := err.(*utils.ErrorWithCode); ok && errWithCode.Level() == 1 && errWithCode.IntCode() == -1 {
if order2, err2 := partner.GetPurchaseOrderHandlerFromVendorID(order.VendorID).GetOrder(order.VendorOrderID); err2 == nil {
if order2, err2 := partner.GetPurchaseOrderHandlerFromVendorID(order.VendorID).GetOrder(order.VendorOrgCode, order.VendorOrderID); err2 == nil {
if order2.Status > order.Status {
order.Status = order2.Status
jxutils.CallMsgHandlerAsync(func() {

View File

@@ -1005,7 +1005,7 @@ func CreateConsumerFromOrders(ctx *jxcontext.Context, vendorIDs []int, fromDate,
}
}
if order2 == nil && order.VendorID == model.VendorIDMTWM && time.Now().Sub(curDate) < 60*24*time.Hour {
order2, err = handler.GetOrder(order.VendorOrderID)
order2, err = handler.GetOrder(order.VendorOrgCode, order.VendorOrderID)
}
if order2 != nil {
if order2.VendorUserID != "" && order.VendorUserID != order2.VendorUserID {

View File

@@ -100,6 +100,7 @@ type GoodsOrder struct {
InvoiceTitle string `orm:"size(64)" json:"invoiceTitle"` // 发票抬头
InvoiceTaxerID string `orm:"size(32);column(invoice_taxer_id)" json:"invoiceTaxerID"` // 发票纳税人识别码
InvoiceEmail string `orm:"size(64)" json:"invoiceEmail"` // 发票邮箱
VendorOrgCode string `orm:"size(64)" json:"vendorOrgCode"` // 同一平台下不同的商户代码,如果只有一个,可以为空
// 以下只是用于传递数据
OriginalData string `orm:"-" json:"-"`

View File

@@ -106,6 +106,7 @@ type AfsOrder struct {
RefundMoneyByCal int64 `json:"refundMoneyByCal"` // 平台扣款总额-通过公式计算平台扣除京西的金额M
// JxSkuMoney int64 `json:"jxSkuMoney"` // 京西补贴金额,现阶段是平台扣京西多少钱,京西扣商家多少钱,暂不考虑撤回京西补贴
Skus []*OrderSkuFinancial `orm:"-" json:"skus"`
VendorOrgCode string `orm:"size(64)" json:"vendorOrgCode"` // 同一平台下不同的商户代码,如果只有一个,可以为空
}
func (o *AfsOrder) TableUnique() [][]string {

View File

@@ -12,7 +12,7 @@ type OrderPhoneNumberInfo struct {
type IPurchasePlatformOrderHandler interface {
Map2Order(orderData map[string]interface{}) (order *model.GoodsOrder)
GetOrder(vendorOrderID string) (order *model.GoodsOrder, err error)
GetOrder(vendorOrgCode, vendorOrderID string) (order *model.GoodsOrder, err error)
GetStatusActionTimeout(order *model.GoodsOrder, statusType, status int) (params *StatusActionParams)
AcceptOrRefuseOrder(order *model.GoodsOrder, isAcceptIt bool, userName string) (err error)
@@ -38,7 +38,7 @@ type IPurchasePlatformOrderHandler interface {
GetOrderRealMobile(ctx *jxcontext.Context, order *model.GoodsOrder) (mobile string, err error)
ReplyOrderComment(ctx *jxcontext.Context, orderComment *model.OrderComment, replyComment string) (err error)
ReplyOrderComment(ctx *jxcontext.Context, vendorOrgCode string, orderComment *model.OrderComment, replyComment string) (err error)
AgreeOrRefuseCancel(ctx *jxcontext.Context, order *model.GoodsOrder, isAgree bool, reason string) (err error)
CancelOrder(ctx *jxcontext.Context, order *model.GoodsOrder, reason string) (err error)

View File

@@ -125,7 +125,7 @@ type BareCategoryInfo struct {
type IPurchasePlatformStoreSkuHandler interface {
GetStoreSkusBatchSize(funcID int) int
ListOrders(ctx *jxcontext.Context, parentTask tasksch.ITask, queryDate time.Time, vendorStoreID string) (vendorOrderIDs []string, err error)
ListOrders(ctx *jxcontext.Context, vendorOrgCode string, parentTask tasksch.ITask, queryDate time.Time, vendorStoreID string) (vendorOrderIDs []string, err error)
// 此接口要求实现为不限制批处理大小的
GetStoreSkusBareInfo(ctx *jxcontext.Context, parentTask tasksch.ITask, storeID int, vendorStoreID string, inStoreSkuList []*StoreSkuInfo) (outStoreSkuList []*StoreSkuInfo, err error)

View File

@@ -78,7 +78,7 @@ func (p *PurchaseHandler) getStatusFromVendorStatus(vendorStatus string) int {
return model.OrderStatusUnknown
}
func (p *PurchaseHandler) GetOrder(vendorOrderID string) (order *model.GoodsOrder, err error) {
func (p *PurchaseHandler) GetOrder(vendorOrgCode, vendorOrderID string) (order *model.GoodsOrder, err error) {
order, _, err = p.getOrder(vendorOrderID)
return order, err
}
@@ -208,6 +208,8 @@ func (p *PurchaseHandler) Map2Order(orderData map[string]interface{}) (order *mo
InvoiceTitle: utils.Interface2String(orderMap["invoice_title"]),
InvoiceTaxerID: utils.Interface2String(orderMap["taxer_id"]),
InvoiceEmail: jxutils.GetOneEmailFromStr(utils.Interface2String(orderMap["remark"])),
VendorOrgCode: utils.Interface2String(result["source"]),
}
if utils.IsTimeZero(order.PickDeadline) && !utils.IsTimeZero(order.StatusTime) {
order.PickDeadline = order.StatusTime.Add(pickupOrderDelay) // 饿百要求在5分钟内拣货不然订单会被取消
@@ -425,7 +427,7 @@ func (c *PurchaseHandler) onOrderMsg(msg *ebaiapi.CallbackMsg) (retVal *ebaiapi.
if status.Status == model.OrderStatusFinished {
if order, err2 := partner.CurOrderManager.LoadOrder(status.VendorOrderID, status.VendorID); err2 == nil {
if order.TotalShopMoney == 0 {
if order2, err2 := c.GetOrder(status.VendorOrderID); err2 == nil {
if order2, err2 := c.GetOrder(msg.Source, status.VendorOrderID); err2 == nil {
order.TotalShopMoney = order2.TotalShopMoney
order.PmSubsidyMoney = order2.PmSubsidyMoney
partner.CurOrderManager.UpdateOrderFields(order, []string{"TotalShopMoney", "PmSubsidyMoney"})
@@ -612,7 +614,7 @@ func (c *PurchaseHandler) AdjustOrder(ctx *jxcontext.Context, order *model.Goods
return err
}
func (c *PurchaseHandler) ListOrders(ctx *jxcontext.Context, parentTask tasksch.ITask, queryDate time.Time, vendorStoreID string) (vendorOrderIDs []string, err error) {
func (c *PurchaseHandler) ListOrders(ctx *jxcontext.Context, vendorOrgCode string, parentTask tasksch.ITask, queryDate time.Time, vendorStoreID string) (vendorOrderIDs []string, err error) {
if utils.IsTimeZero(queryDate) {
return nil, fmt.Errorf("queryDate必须指定")
}

View File

@@ -73,6 +73,7 @@ func (c *PurchaseHandler) onAfsOrderMsg(msg *ebaiapi.CallbackMsg) (retVal *ebaia
ReasonImgList: utils.LimitUTF8StringLen(strings.Join(partRefundData.Photos, ","), 1024),
RefundType: model.AfsTypePartRefund,
VendorOrgCode: msg.Source,
// FreightUserMoney: afsInfo.OrderFreightMoney,
// AfsFreightMoney: afsInfo.AfsFreight,
// BoxMoney: afsInfo.PackagingMoney,

View File

@@ -92,7 +92,7 @@ func (c *PurchaseHandler) RefreshComment(fromTime, toTime time.Time) (err error)
return err
}
func (c *PurchaseHandler) ReplyOrderComment(ctx *jxcontext.Context, orderComment *model.OrderComment, replyComment string) (err error) {
func (c *PurchaseHandler) ReplyOrderComment(ctx *jxcontext.Context, vendorOrgCode string,orderComment *model.OrderComment, replyComment string) (err error) {
if orderComment.VendorStoreID != "" && orderComment.UserCommentID != "" {
if globals.EnableEbaiStoreWrite {
err = api.EbaiAPI.OrderRatesReply("", utils.Str2Int64(orderComment.VendorStoreID), orderComment.UserCommentID, replyComment)

View File

@@ -18,7 +18,7 @@ func TestGetOrder4PartRefund(t *testing.T) {
}
func TestListOrders(t *testing.T) {
order, err := CurPurchaseHandler.ListOrders(jxcontext.AdminCtx, nil, utils.GetCurDate(), "")
order, err := CurPurchaseHandler.ListOrders(jxcontext.AdminCtx, "", nil, utils.GetCurDate(), "")
if err != nil {
t.Fatal(err.Error())
} else {

View File

@@ -123,7 +123,7 @@ func (c *PurchaseHandler) onOrderCancelRefundMsg(msg *elmapi.CallbackOrderCancel
return elmapi.Err2CallbackResponse(partner.CurOrderManager.OnOrderStatusChanged(status), status.VendorStatus)
}
func (c *PurchaseHandler) GetOrder(orderID string) (order *model.GoodsOrder, err error) {
func (c *PurchaseHandler) GetOrder(vendorOrgCode, orderID string) (order *model.GoodsOrder, err error) {
result, err := api.ElmAPI.GetOrder(orderID)
if err == nil {
order = c.Map2Order(result)
@@ -200,7 +200,7 @@ func (c *PurchaseHandler) Map2Order(orderData map[string]interface{}) (order *mo
//
func (c *PurchaseHandler) onOrderNew(msg map[string]interface{}) (response *elmapi.CallbackResponse) {
// todo 这里应该可以直接用msg里的内容而不用再次去查
order, err := c.GetOrder(msg["orderId"].(string))
order, err := c.GetOrder("", msg["orderId"].(string))
if err == nil {
order.VendorStatus = c.stateAndType2Str(order.VendorStatus, elmapi.MsgTypeOrderValid)
err = partner.CurOrderManager.OnOrderNew(order, nil)

View File

@@ -5,6 +5,6 @@ import (
"git.rosy.net.cn/jx-callback/business/model"
)
func (c *PurchaseHandler) ReplyOrderComment(ctx *jxcontext.Context, orderComment *model.OrderComment, replyComment string) (err error) {
func (c *PurchaseHandler) ReplyOrderComment(ctx *jxcontext.Context, vendorOrgCode string, orderComment *model.OrderComment, replyComment string) (err error) {
return err
}

View File

@@ -13,7 +13,7 @@ func init() {
func TestGetOrder(t *testing.T) {
orderID := "3025427524410871880"
order, err := new(PurchaseHandler).GetOrder(orderID)
order, err := new(PurchaseHandler).GetOrder("", orderID)
if err != nil {
t.Fatal(err.Error())
}

View File

@@ -6,21 +6,21 @@ import (
func OnOrderMsg(msg *jdapi.CallbackOrderMsg) (retVal *jdapi.CallbackResponse) {
if CurPurchaseHandler != nil {
retVal = CurPurchaseHandler.OnOrderMsg(msg)
retVal = CurPurchaseHandler.OnOrderMsg(GetAPIByAppKey(msg.AppKey), msg)
}
return retVal
}
func OnWaybillMsg(msg *jdapi.CallbackDeliveryStatusMsg) (retVal *jdapi.CallbackResponse) {
if CurPurchaseHandler != nil {
retVal = CurPurchaseHandler.OnWaybillMsg(msg)
retVal = CurPurchaseHandler.OnWaybillMsg(GetAPIByAppKey(msg.AppKey), msg)
}
return retVal
}
func OnStoreMsg(msg *jdapi.CallbackOrderMsg) (retVal *jdapi.CallbackResponse) {
if CurPurchaseHandler != nil {
retVal = CurPurchaseHandler.OnStoreMsg(msg)
retVal = CurPurchaseHandler.OnStoreMsg(GetAPIByAppKey(msg.AppKey), msg)
}
return retVal
}

View File

@@ -18,13 +18,14 @@ func (p *PurchaseHandler) OnFinancialMsg(msg *jdapi.CallbackOrderMsg) (retVal *j
// 京东正向/退款订单类型处理--存储
func (p *PurchaseHandler) onFinancialMsg(msg *jdapi.CallbackOrderMsg) (retVal *jdapi.CallbackResponse) {
var err error
a := GetAPIByAppKey(msg.AppKey)
// if msg.StatusID == jdapi.OrderStatusPayFinishedSettle || msg.StatusID == jdapi.OrderStatusTipChanged || msg.StatusID == jdapi.OrderStatusSwitch2SelfSettle { // 如果是正向单
if msg.StatusID == jdapi.OrderStatusPayFinishedSettle || msg.StatusID == jdapi.OrderStatusTipChanged || msg.StatusID == jdapi.OrderStatusAdjustSettle || msg.StatusID == jdapi.OrderStatusSwitch2SelfSettle { // 如果是正向单
order, err2 := partner.CurOrderManager.LoadOrder(msg.BillID, model.VendorIDJD)
if err = err2; err == nil {
orderData, err2 := getAPI("").QuerySingleOrder(msg.BillID)
orderData, err2 := a.QuerySingleOrder(msg.BillID)
if err = err2; err == nil {
orderFinancial, err2 := CurPurchaseHandler.OrderDetail2Financial(orderData, false, order)
orderFinancial, err2 := CurPurchaseHandler.OrderDetail2Financial(a, orderData, false, order)
if err = err2; err == nil {
if msg.StatusID == jdapi.OrderStatusPayFinishedSettle {
err = partner.CurOrderManager.SaveOrderFinancialInfo(orderFinancial, partner.CreatedPeration)
@@ -37,7 +38,7 @@ func (p *PurchaseHandler) onFinancialMsg(msg *jdapi.CallbackOrderMsg) (retVal *j
err = nil
}
} else if msg.StatusID == jdapi.AfsServiceStateRefundSuccess || msg.StatusID == jdapi.AfsServiceStateReturnGoodsSuccess { // 如果是退款单
orderData, err2 := getAPI("").GetAfsService(msg.BillID)
orderData, err2 := a.GetAfsService(msg.BillID)
if err = err2; err == nil {
err = partner.CurOrderManager.SaveAfsOrderFinancialInfo(CurPurchaseHandler.AfsOrderDetail2Financial(orderData))
}
@@ -46,7 +47,7 @@ func (p *PurchaseHandler) onFinancialMsg(msg *jdapi.CallbackOrderMsg) (retVal *j
}
// 处理京东正向订单信息
func (p *PurchaseHandler) OrderDetail2Financial(orderData map[string]interface{}, isFromOrderDetail bool, order *model.GoodsOrder) (orderFinancial *model.OrderFinancial, err error) {
func (p *PurchaseHandler) OrderDetail2Financial(a *jdapi.API, orderData map[string]interface{}, isFromOrderDetail bool, order *model.GoodsOrder) (orderFinancial *model.OrderFinancial, err error) {
orderFinancial = &model.OrderFinancial{
VendorID: model.VendorIDJD,
VendorOrderID: utils.Int64ToStr(utils.MustInterface2Int64(orderData["orderId"])),
@@ -151,7 +152,7 @@ func (p *PurchaseHandler) OrderDetail2Financial(orderData map[string]interface{}
}
// globals.SugarLogger.Debug(utils.Format4Output(orderFinancial.Discounts, false))
}
order1, err2 := getAPI("").OrderShoudSettlementService(orderFinancial.VendorOrderID)
order1, err2 := a.OrderShoudSettlementService(orderFinancial.VendorOrderID)
if err = err2; err == nil {
orderFinancial.ShopMoney = utils.Interface2Int64WithDefault(order1["settlementAmount"], 0)
orderFinancial.PmMoney += utils.Interface2Int64WithDefault(order1["goodsCommission"], 0)
@@ -160,10 +161,6 @@ func (p *PurchaseHandler) OrderDetail2Financial(orderData map[string]interface{}
orderFinancial.PmMoney += utils.Interface2Int64WithDefault(order1["guaranteedCommission"], 0)
orderFinancial.PmSkuSubsidyMoney = utils.Interface2Int64WithDefault(order1["platSkuGoodsDiscountMoney"], 0)
orderFinancial.PmSubsidyMoney = utils.Interface2Int64WithDefault(order1["platOrderGoodsDiscountMoney"], 0) + orderFinancial.PmSkuSubsidyMoney
} else {
if !isFromOrderDetail {
// globals.SugarLogger.Warnf("jd OrderDetail2Financial, orderID:%s is not found from getAPI("").OrderShoudSettlementService, err:%v", orderFinancial.VendorOrderID, err)
}
}
return orderFinancial, err
}
@@ -182,6 +179,7 @@ func (p *PurchaseHandler) AfsOrderDetail2Financial(orderData map[string]interfac
BoxMoney: utils.MustInterface2Int64(orderData["packagingMoney"]),
TongchengFreightMoney: utils.MustInterface2Int64(orderData["tongchengFreightMoney"]),
SkuBoxMoney: utils.MustInterface2Int64(orderData["mealBoxMoney"]),
VendorOrgCode: utils.Interface2String(orderData["venderId"]),
}
order, err := partner.CurOrderManager.LoadOrder(afsOrder.VendorOrderID, afsOrder.VendorID)
if err == nil {
@@ -230,10 +228,10 @@ func (p *PurchaseHandler) AfsOrderDetail2Financial(orderData map[string]interfac
return afsOrder
}
func (p *PurchaseHandler) OnOrderDetail(orderDetail map[string]interface{}, peration string) (err error) {
func (p *PurchaseHandler) OnOrderDetail(a *jdapi.API, orderDetail map[string]interface{}, peration string) (err error) {
order, err := partner.CurOrderManager.LoadOrder(utils.Int64ToStr(utils.MustInterface2Int64(orderDetail["orderId"])), model.VendorIDJD)
if err == nil {
orderFinancial, err2 := CurPurchaseHandler.OrderDetail2Financial(orderDetail, true, order)
orderFinancial, err2 := CurPurchaseHandler.OrderDetail2Financial(a, orderDetail, true, order)
if err = err2; err == nil {
err = partner.CurOrderManager.SaveOrderFinancialInfo(orderFinancial, peration)
}

View File

@@ -44,19 +44,19 @@ var (
selfTakeCodeReg = regexp.MustCompile(`等待用户凭提货码(\d+)于`)
)
func (c *PurchaseHandler) OnOrderMsg(msg *jdapi.CallbackOrderMsg) (retVal *jdapi.CallbackResponse) {
func (c *PurchaseHandler) OnOrderMsg(a *jdapi.API, msg *jdapi.CallbackOrderMsg) (retVal *jdapi.CallbackResponse) {
jxutils.CallMsgHandler(func() {
retVal = c.onOrderMsg(msg)
retVal = c.onOrderMsg(a, msg)
}, jxutils.ComposeUniversalOrderID(msg.BillID, model.VendorIDJD))
return retVal
}
func (c *PurchaseHandler) updateOrderFinancialInfo(orderID string) (err error) {
func (c *PurchaseHandler) updateOrderFinancialInfo(a *jdapi.API, orderID string) (err error) {
order := &model.GoodsOrder{
VendorOrderID: orderID,
VendorID: model.VendorIDJD,
}
orderSettlement, err := getAPI("").OrderShoudSettlementService2(orderID)
orderSettlement, err := a.OrderShoudSettlementService2(orderID)
if err == nil {
if orderSettlement != nil {
updateOrderBySettleMent(order, orderSettlement)
@@ -66,7 +66,7 @@ func (c *PurchaseHandler) updateOrderFinancialInfo(orderID string) (err error) {
return err
}
func (c *PurchaseHandler) onOrderMsg(msg *jdapi.CallbackOrderMsg) (retVal *jdapi.CallbackResponse) {
func (c *PurchaseHandler) onOrderMsg(a *jdapi.API, msg *jdapi.CallbackOrderMsg) (retVal *jdapi.CallbackResponse) {
status := c.callbackMsg2Status(msg)
if jdapi.StatusIDNewOrder == msg.StatusID {
status.Status = model.OrderStatusNew // 因为京东将事件32000与状态32000混用事件32000可能是新订单也可能是已接单统一当成新订单处理
@@ -76,19 +76,19 @@ func (c *PurchaseHandler) onOrderMsg(msg *jdapi.CallbackOrderMsg) (retVal *jdapi
}
if msg.MsgURL == jdapi.CallbackMsgOrderAccounting {
retVal = c.OnFinancialMsg(msg)
retVal = jdapi.Err2CallbackResponse(c.updateOrderFinancialInfo(msg.BillID), status.VendorStatus)
retVal = jdapi.Err2CallbackResponse(c.updateOrderFinancialInfo(a, msg.BillID), status.VendorStatus)
} else if msg.MsgURL == jdapi.CallbackMsgAfterSaleBillStatus {
retVal = c.OnAfsOrderMsg(msg)
retVal = c.OnAfsOrderMsg(a, msg)
} else {
// 新订单事件,与订单状态有点冲突
if jdapi.StatusIDNewOrder == msg.StatusID {
retVal = c.onOrderNew(msg, status)
retVal = c.onOrderNew(a, msg, status)
} else if jdapi.OrderStatusAdjust == msg.StatusID {
retVal = c.onOrderAdjust(msg, status)
retVal = c.onOrderAdjust(a, msg, status)
} else {
if msg.StatusID == jdapi.OrderStatusAddComment || msg.StatusID == jdapi.OrderStatusModifyComment {
utils.CallFuncAsync(func() {
c.onOrderComment2(msg)
c.onOrderComment2(a, msg)
})
}
err := partner.CurOrderManager.OnOrderStatusChanged(status)
@@ -109,7 +109,7 @@ func updateOrderBySettleMent(order *model.GoodsOrder, orderSettlement *jdapi.Ord
}
}
func (c *PurchaseHandler) getOrder(orderID string) (order *model.GoodsOrder, orderMap map[string]interface{}, err error) {
func (c *PurchaseHandler) getOrder(a *jdapi.API, orderID string) (order *model.GoodsOrder, orderMap map[string]interface{}, err error) {
globals.SugarLogger.Debugf("jd getOrder orderID:%s", orderID)
var (
realMobile string
@@ -120,16 +120,16 @@ func (c *PurchaseHandler) getOrder(orderID string) (order *model.GoodsOrder, ord
taskIndex := batchItemList[0].(int)
switch taskIndex {
case 0:
orderMap, err = getAPI("").QuerySingleOrder(orderID)
orderMap, err = a.QuerySingleOrder(orderID)
if err == nil {
order = c.Map2Order(orderMap)
realMobile, _ = getAPI("").GetRealMobile4Order(orderID, order.VendorStoreID)
realMobile, _ = a.GetRealMobile4Order(orderID, order.VendorStoreID)
if realMobile != "" {
order.ConsigneeMobile2 = jxutils.FormalizeMobile(realMobile)
}
}
case 1:
orderSettlement, _ = getAPI("").OrderShoudSettlementService2(orderID)
orderSettlement, _ = a.OrderShoudSettlementService2(orderID)
}
return nil, err
}, []int{0, 1})
@@ -141,8 +141,8 @@ func (c *PurchaseHandler) getOrder(orderID string) (order *model.GoodsOrder, ord
return order, orderMap, err
}
func (c *PurchaseHandler) GetOrder(orderID string) (order *model.GoodsOrder, err error) {
order, _, err = c.getOrder(orderID)
func (c *PurchaseHandler) GetOrder(vendorOrgCode, orderID string) (order *model.GoodsOrder, err error) {
order, _, err = c.getOrder(getAPI(vendorOrgCode), orderID)
return order, err
}
@@ -178,6 +178,7 @@ func (c *PurchaseHandler) Map2Order(orderData map[string]interface{}) (order *mo
ActualPayPrice: utils.MustInterface2Int64(result["orderBuyerPayableMoney"]),
DistanceFreightMoney: utils.Interface2Int64WithDefault(result["merchantPaymentDistanceFreightMoney"], 0),
DeliveryType: deliveryTypeMap[int(utils.Str2Int64WithDefault(utils.Interface2String(result["deliveryCarrierNo"]), 0))],
VendorOrgCode: utils.Interface2String(result["orgCode"]),
}
if orderInvoice, ok := result["orderInvoice"].(map[string]interface{}); ok && orderInvoice != nil {
order.InvoiceTitle = utils.Interface2String(orderInvoice["invoiceTitle"])
@@ -240,27 +241,27 @@ func (c *PurchaseHandler) Map2Order(orderData map[string]interface{}) (order *mo
}
//
func (c *PurchaseHandler) onOrderNew(msg *jdapi.CallbackOrderMsg, orderStatus *model.OrderStatus) (response *jdapi.CallbackResponse) {
func (c *PurchaseHandler) onOrderNew(a *jdapi.API, msg *jdapi.CallbackOrderMsg, orderStatus *model.OrderStatus) (response *jdapi.CallbackResponse) {
globals.SugarLogger.Debugf("onOrderNew orderID:%s", msg.BillID)
order, orderMap, err := c.getOrder(msg.BillID)
order, orderMap, err := c.getOrder(a, msg.BillID)
if err == nil {
globals.SugarLogger.Debugf("onOrderNew2 orderID:%s", msg.BillID)
if err = partner.CurOrderManager.OnOrderNew(order, orderStatus); err == nil {
utils.CallFuncAsync(func() {
c.OnOrderDetail(orderMap, partner.CreatedPeration)
c.OnOrderDetail(a, orderMap, partner.CreatedPeration)
})
}
}
return jdapi.Err2CallbackResponse(err, "jd onOrderNew")
}
func (c *PurchaseHandler) onOrderAdjust(msg *jdapi.CallbackOrderMsg, orderStatus *model.OrderStatus) *jdapi.CallbackResponse {
order, orderMap, err := c.getOrder(msg.BillID)
func (c *PurchaseHandler) onOrderAdjust(a *jdapi.API, msg *jdapi.CallbackOrderMsg, orderStatus *model.OrderStatus) *jdapi.CallbackResponse {
order, orderMap, err := c.getOrder(a, msg.BillID)
if err == nil {
err = partner.CurOrderManager.OnOrderAdjust(order, orderStatus)
if err == nil {
utils.CallFuncAsync(func() {
c.OnOrderDetail(orderMap, partner.UpdatedPeration)
c.OnOrderDetail(a, orderMap, partner.UpdatedPeration)
})
}
}
@@ -305,7 +306,7 @@ func (c *PurchaseHandler) getStatusFromVendorStatus(vendorStatus string) int {
func (c *PurchaseHandler) AcceptOrRefuseOrder(order *model.GoodsOrder, isAcceptIt bool, userName string) (err error) {
globals.SugarLogger.Debugf("jd AcceptOrRefuseOrder orderID:%s, isAcceptIt:%t", order.VendorOrderID, isAcceptIt)
if globals.EnableJdStoreWrite {
err = getAPI("").OrderAcceptOperate(order.VendorOrderID, isAcceptIt, userName)
err = getAPI(order.VendorOrgCode).OrderAcceptOperate(order.VendorOrderID, isAcceptIt, userName)
if isAcceptIt && err == nil {
c.postFakeMsg(order.VendorOrderID, jdapi.StatusIDWaitOutStore)
}
@@ -323,7 +324,7 @@ func (c *PurchaseHandler) AcceptOrRefuseOrder(order *model.GoodsOrder, isAcceptI
func (c *PurchaseHandler) PickupGoods(order *model.GoodsOrder, isSelfDelivery bool, userName string) (err error) {
globals.SugarLogger.Debugf("jd PickupGoods orderID:%s, isSelfDelivery:%t", order.VendorOrderID, isSelfDelivery)
if !isSelfDelivery && globals.EnableJdStoreWrite {
_, err = getAPI("").OrderJDZBDelivery(order.VendorOrderID, userName)
_, err = getAPI(order.VendorOrgCode).OrderJDZBDelivery(order.VendorOrderID, userName)
} else {
c.postFakeMsg(order.VendorOrderID, jdapi.OrderStatusFinishedPickup)
}
@@ -332,21 +333,21 @@ func (c *PurchaseHandler) PickupGoods(order *model.GoodsOrder, isSelfDelivery bo
func (p *PurchaseHandler) AcceptOrRefuseFailedGetOrder(ctx *jxcontext.Context, order *model.GoodsOrder, isAcceptIt bool) (err error) {
if globals.EnableJdStoreWrite {
err = getAPI("").ReceiveFailedAudit(order.VendorOrderID, isAcceptIt, ctx.GetUserName(), "")
err = getAPI(order.VendorOrgCode).ReceiveFailedAudit(order.VendorOrderID, isAcceptIt, ctx.GetUserName(), "")
}
return err
}
func (p *PurchaseHandler) CallCourier(ctx *jxcontext.Context, order *model.GoodsOrder) (err error) { // 拣货失败后再次招唤平台配送
if globals.EnableJdStoreWrite {
err = getAPI("").UrgeDispatching(order.VendorOrderID, ctx.GetUserName())
err = getAPI(order.VendorOrgCode).UrgeDispatching(order.VendorOrderID, ctx.GetUserName())
}
return err
}
func (p *PurchaseHandler) ConfirmReceiveGoods(ctx *jxcontext.Context, order *model.GoodsOrder) (err error) { // 投递失败后确认收到退货
if globals.EnableJdStoreWrite {
err = getAPI("").ConfirmReceiveGoods(order.VendorOrderID)
err = getAPI(order.VendorOrgCode).ConfirmReceiveGoods(order.VendorOrderID)
}
return err
}
@@ -354,11 +355,11 @@ func (p *PurchaseHandler) ConfirmReceiveGoods(ctx *jxcontext.Context, order *mod
func (c *PurchaseHandler) Swtich2SelfDeliver(order *model.GoodsOrder, userName string) (err error) {
globals.SugarLogger.Debugf("jd Swtich2SelfDeliver orderID:%s", order.VendorOrderID)
if globals.EnableJdStoreWrite {
_, err = getAPI("").ModifySellerDelivery(order.VendorOrderID, userName)
_, err = getAPI(order.VendorOrgCode).ModifySellerDelivery(order.VendorOrderID, userName)
if err != nil {
if errWithCode, ok := err.(*utils.ErrorWithCode); ok && errWithCode.Level() == 1 {
globals.SugarLogger.Infof("Swtich2SelfDeliver failed with error:%v try get current status", err)
if order2, err2 := c.GetOrder(order.VendorOrderID); err2 == nil {
if order2, err2 := c.GetOrder(order.VendorOrgCode, order.VendorOrderID); err2 == nil {
var mapData map[string]interface{}
if err2 = utils.UnmarshalUseNumber([]byte(order2.OriginalData), &mapData); err2 == nil {
if utils.Interface2String(mapData["deliveryCarrierNo"]) == "2938" { // 当前已经是自送状态了
@@ -375,7 +376,7 @@ func (c *PurchaseHandler) Swtich2SelfDeliver(order *model.GoodsOrder, userName s
func (c *PurchaseHandler) Swtich2SelfDelivered(order *model.GoodsOrder, userName string) (err error) {
globals.SugarLogger.Debugf("jd Swtich2SelfDelivered orderID:%s", order.VendorOrderID)
if globals.EnableJdStoreWrite {
_, err = getAPI("").DeliveryEndOrder(order.VendorOrderID, userName)
_, err = getAPI(order.VendorOrgCode).DeliveryEndOrder(order.VendorOrderID, userName)
}
return err
}
@@ -383,7 +384,7 @@ func (c *PurchaseHandler) Swtich2SelfDelivered(order *model.GoodsOrder, userName
func (c *PurchaseHandler) SelfDeliverDelivering(order *model.GoodsOrder, userName string) (err error) {
globals.SugarLogger.Debugf("jd SelfDeliverDelivering orderID:%s", order.VendorOrderID)
if globals.EnableJdStoreWrite {
_, err = getAPI("").OrderSerllerDelivery(order.VendorOrderID, userName)
_, err = getAPI(order.VendorOrgCode).OrderSerllerDelivery(order.VendorOrderID, userName)
}
return err
}
@@ -398,13 +399,13 @@ func (c *PurchaseHandler) SelfDeliverDelivered(order *model.GoodsOrder, userName
}
func (c *PurchaseHandler) GetOrderRealMobile(ctx *jxcontext.Context, order *model.GoodsOrder) (mobile string, err error) {
mobile, err = getAPI("").GetRealMobile4Order(order.VendorOrderID, order.VendorStoreID)
mobile, err = getAPI(order.VendorOrgCode).GetRealMobile4Order(order.VendorOrderID, order.VendorStoreID)
return mobile, err
}
func (c *PurchaseHandler) AgreeOrRefuseCancel(ctx *jxcontext.Context, order *model.GoodsOrder, isAgree bool, reason string) (err error) {
if globals.EnableJdStoreWrite {
err = getAPI("").OrderCancelOperate(order.VendorOrderID, isAgree, ctx.GetUserName(), reason)
err = getAPI(order.VendorOrgCode).OrderCancelOperate(order.VendorOrderID, isAgree, ctx.GetUserName(), reason)
}
return err
}
@@ -412,7 +413,7 @@ func (c *PurchaseHandler) AgreeOrRefuseCancel(ctx *jxcontext.Context, order *mod
func (c *PurchaseHandler) CancelOrder(ctx *jxcontext.Context, order *model.GoodsOrder, reason string) (err error) {
if globals.EnableJdStoreWrite {
err1 := c.Swtich2SelfDeliver(order, ctx.GetUserName())
if err = getAPI("").CancelAndRefund(order.VendorOrderID, ctx.GetUserName(), reason); err != nil {
if err = getAPI(order.VendorOrgCode).CancelAndRefund(order.VendorOrderID, ctx.GetUserName(), reason); err != nil {
if err1 != nil {
err = fmt.Errorf("取消订单失败,京东取消订单是要先转为自送再处理,转自送失败:%v", err1)
}
@@ -431,12 +432,12 @@ func (c *PurchaseHandler) AdjustOrder(ctx *jxcontext.Context, order *model.Goods
})
}
if globals.EnableJdStoreWrite {
err = getAPI("").AdjustOrder(order.VendorOrderID, ctx.GetUserName(), reason, oaosAdjustDTOList)
err = getAPI(order.VendorOrgCode).AdjustOrder(order.VendorOrderID, ctx.GetUserName(), reason, oaosAdjustDTOList)
}
return err
}
func (c *PurchaseHandler) ListOrders(ctx *jxcontext.Context, parentTask tasksch.ITask, queryDate time.Time, vendorStoreID string) (vendorOrderIDs []string, err error) {
func (c *PurchaseHandler) ListOrders(ctx *jxcontext.Context, vendorOrgCode string, parentTask tasksch.ITask, queryDate time.Time, vendorStoreID string) (vendorOrderIDs []string, err error) {
if utils.IsTimeZero(queryDate) {
return nil, fmt.Errorf("queryDate必须指定")
}
@@ -450,7 +451,7 @@ func (c *PurchaseHandler) ListOrders(ctx *jxcontext.Context, parentTask tasksch.
if vendorStoreID != "" {
queryParam.DeliveryStationNo = vendorStoreID
}
orderList, _, err := getAPI("").OrderQuery2(queryParam)
orderList, _, err := getAPI(vendorOrgCode).OrderQuery2(queryParam)
if err == nil {
vendorOrderIDs = make([]string, len(orderList))
for k, v := range orderList {
@@ -461,12 +462,13 @@ func (c *PurchaseHandler) ListOrders(ctx *jxcontext.Context, parentTask tasksch.
}
func (c *PurchaseHandler) UpdateWaybillTip(ctx *jxcontext.Context, order *model.GoodsOrder, tipFee int64) (err error) {
orderInfo, err := getAPI("").QuerySingleOrder2(order.VendorOrderID)
a := getAPI(order.VendorOrgCode)
orderInfo, err := a.QuerySingleOrder2(order.VendorOrderID)
if err == nil {
tip2Add := int(tipFee) - orderInfo.Tips
if tip2Add != 0 {
if globals.EnableJdStoreWrite {
err = getAPI("").OrderAddTips(order.VendorOrderID, tip2Add, ctx.GetUserName())
err = a.OrderAddTips(order.VendorOrderID, tip2Add, ctx.GetUserName())
}
}
}
@@ -474,7 +476,7 @@ func (c *PurchaseHandler) UpdateWaybillTip(ctx *jxcontext.Context, order *model.
}
func (c *PurchaseHandler) GetWaybillTip(ctx *jxcontext.Context, order *model.GoodsOrder) (tipFee int64, err error) {
orderInfo, err := getAPI("").QuerySingleOrder2(order.VendorOrderID)
orderInfo, err := getAPI(order.VendorOrgCode).QuerySingleOrder2(order.VendorOrderID)
if err == nil {
tipFee = int64(orderInfo.Tips)
}
@@ -483,13 +485,13 @@ func (c *PurchaseHandler) GetWaybillTip(ctx *jxcontext.Context, order *model.Goo
func (c *PurchaseHandler) AddWaybillTip(ctx *jxcontext.Context, order *model.GoodsOrder, tipFee2Add int64) (err error) {
if globals.EnableJdStoreWrite {
err = getAPI("").OrderAddTips(order.VendorOrderID, int(tipFee2Add), ctx.GetUserName())
err = getAPI(order.VendorOrgCode).OrderAddTips(order.VendorOrderID, int(tipFee2Add), ctx.GetUserName())
}
return err
}
func (c *PurchaseHandler) GetSelfTakeCode(ctx *jxcontext.Context, vendorOrderID string) (selfTakeCode string, err error) {
orderTrackList, err := getAPI("").GetByOrderNoForOaos(vendorOrderID)
func (c *PurchaseHandler) GetSelfTakeCode(ctx *jxcontext.Context, order *model.GoodsOrder) (selfTakeCode string, err error) {
orderTrackList, err := getAPI(order.VendorOrgCode).GetByOrderNoForOaos(order.VendorOrderID)
if err == nil {
for _, v := range orderTrackList {
if v.TagCode == 180 {
@@ -504,9 +506,9 @@ func (c *PurchaseHandler) GetSelfTakeCode(ctx *jxcontext.Context, vendorOrderID
return selfTakeCode, err
}
func (c *PurchaseHandler) ConfirmSelfTake(ctx *jxcontext.Context, vendorOrderID, selfTakeCode string) (err error) {
func (c *PurchaseHandler) ConfirmSelfTake(ctx *jxcontext.Context, order *model.GoodsOrder, selfTakeCode string) (err error) {
if globals.EnableJdStoreWrite {
err = getAPI("").CheckSelfPickCode(selfTakeCode, vendorOrderID, ctx.GetUserName())
err = getAPI(order.VendorOrgCode).CheckSelfPickCode(selfTakeCode, order.VendorOrderID, ctx.GetUserName())
}
return err
}

View File

@@ -58,15 +58,15 @@ var (
}
)
func (c *PurchaseHandler) OnAfsOrderMsg(msg *jdapi.CallbackOrderMsg) (retVal *jdapi.CallbackResponse) {
func (c *PurchaseHandler) OnAfsOrderMsg(a *jdapi.API, msg *jdapi.CallbackOrderMsg) (retVal *jdapi.CallbackResponse) {
jxutils.CallMsgHandlerAsync(func() {
retVal = c.onAfsOrderMsg(msg)
retVal = c.onAfsOrderMsg(a, msg)
}, jxutils.ComposeUniversalOrderID(msg.BillID, model.VendorIDJD))
return retVal
}
func (c *PurchaseHandler) onAfsOrderMsg(msg *jdapi.CallbackOrderMsg) (retVal *jdapi.CallbackResponse) {
afsInfo, err := getAPI("").GetAfsService2(msg.BillID)
func (c *PurchaseHandler) onAfsOrderMsg(a *jdapi.API, msg *jdapi.CallbackOrderMsg) (retVal *jdapi.CallbackResponse) {
afsInfo, err := a.GetAfsService2(msg.BillID)
if err == nil {
status := c.callbackAfsMsg2Status(msg, afsInfo)
if partner.CurOrderManager.GetStatusDuplicatedCount(status) > 0 {
@@ -141,6 +141,7 @@ func (c *PurchaseHandler) buildAfsOrder(afsInfo *jdapi.AfsServiceResponse) (afsO
ReasonImgList: utils.LimitUTF8StringLen(jdapi.ProcessQuestionPic(afsInfo.QuestionPic), 1024),
VendorAppealType: afsInfo.ApplyDeal,
AppealType: c.convertAfsAppealType(afsInfo.ApplyDeal),
VendorOrgCode: afsInfo.VenderID,
}
afsOrder.Status = c.GetAfsStatusFromVendorStatus(afsOrder.VendorStatus)
@@ -181,7 +182,7 @@ func (c *PurchaseHandler) buildAfsOrder(afsInfo *jdapi.AfsServiceResponse) (afsO
// 审核售后单申请
func (c *PurchaseHandler) AgreeOrRefuseRefund(ctx *jxcontext.Context, order *model.AfsOrder, approveType int, reason string) (err error) {
if globals.EnableJdStoreWrite {
err = getAPI("").AfsOpenApprove(order.AfsOrderID, afsApproveTypeMap[approveType], reason, ctx.GetUserName())
err = getAPI(order.VendorOrgCode).AfsOpenApprove(order.AfsOrderID, afsApproveTypeMap[approveType], reason, ctx.GetUserName())
}
return err
}
@@ -189,7 +190,7 @@ func (c *PurchaseHandler) AgreeOrRefuseRefund(ctx *jxcontext.Context, order *mod
// 确认收到退货
func (c *PurchaseHandler) ConfirmReceivedReturnGoods(ctx *jxcontext.Context, order *model.AfsOrder) (err error) {
if globals.EnableJdStoreWrite {
err = getAPI("").ConfirmReceipt(order.AfsOrderID, ctx.GetUserName())
err = getAPI(order.VendorOrgCode).ConfirmReceipt(order.AfsOrderID, ctx.GetUserName())
}
return err
}
@@ -217,7 +218,7 @@ func (c *PurchaseHandler) RefundOrder(ctx *jxcontext.Context, order *model.Goods
// 发起部分退款
func (c *PurchaseHandler) PartRefundOrder(ctx *jxcontext.Context, order *model.GoodsOrder, refundSkuList []*model.OrderSku, reason string) (err error) {
if globals.EnableJdStoreWrite {
_, err = getAPI("").AfsSubmit(order.VendorOrderID, ctx.GetUserName(), utils.Int2Str(jdapi.AfsReasonWrongPurchase), reason, "", order.ConsigneeName, order.ConsigneeMobile, order.ConsigneeAddress, orderSkus2AfsSkus(refundSkuList))
_, err = getAPI(order.VendorOrgCode).AfsSubmit(order.VendorOrderID, ctx.GetUserName(), utils.Int2Str(jdapi.AfsReasonWrongPurchase), reason, "", order.ConsigneeName, order.ConsigneeMobile, order.ConsigneeAddress, orderSkus2AfsSkus(refundSkuList))
}
return err
}

View File

@@ -13,9 +13,9 @@ const (
JDDJ_BAD_COMMENTS_MAX_MODIFY_TIME = 72 // 小时
)
func (c *PurchaseHandler) onOrderComment2(msg *jdapi.CallbackOrderMsg) (err error) {
func (c *PurchaseHandler) onOrderComment2(a *jdapi.API, msg *jdapi.CallbackOrderMsg) (err error) {
intOrderID := utils.Str2Int64(msg.BillID)
result, err := getAPI("").GetCommentByOrderId2(intOrderID)
result, err := a.GetCommentByOrderId2(intOrderID)
if err == nil {
globals.SugarLogger.Debugf("onOrderComment comment:%s", utils.Format4Output(result, true))
orderCommend := &model.OrderComment{
@@ -43,9 +43,9 @@ func (c *PurchaseHandler) onOrderComment2(msg *jdapi.CallbackOrderMsg) (err erro
return err
}
func (c *PurchaseHandler) ReplyOrderComment(ctx *jxcontext.Context, orderComment *model.OrderComment, replyComment string) (err error) {
func (c *PurchaseHandler) ReplyOrderComment(ctx *jxcontext.Context, vendorOrgCode string, orderComment *model.OrderComment, replyComment string) (err error) {
if globals.EnableJdStoreWrite {
err = getAPI("").OrgReplyComment(utils.Str2Int64(orderComment.VendorOrderID), orderComment.VendorStoreID, replyComment, ctx.GetUserName())
err = getAPI(vendorOrgCode).OrgReplyComment(utils.Str2Int64(orderComment.VendorOrderID), orderComment.VendorStoreID, replyComment, ctx.GetUserName())
}
return err
}

View File

@@ -26,14 +26,14 @@ func TestSwitch2SelfDeliver(t *testing.T) {
}
func TestGetOrder(t *testing.T) {
_, err := CurPurchaseHandler.GetOrder("815536199000222")
_, err := CurPurchaseHandler.GetOrder("", "815536199000222")
if err != nil {
t.Fatal(err.Error())
}
}
func TestListOrders(t *testing.T) {
result, err := CurPurchaseHandler.ListOrders(jxcontext.AdminCtx, nil, time.Now(), "")
result, err := CurPurchaseHandler.ListOrders(jxcontext.AdminCtx, "", nil, time.Now(), "")
if err != nil {
t.Fatal(err.Error())
}

View File

@@ -279,7 +279,7 @@ func (p *PurchaseHandler) GetStoreStatus(ctx *jxcontext.Context, vendorOrgCode s
}
// 当前京东的storeCrud消息不会在门店状态改变时发送所以意义不大先放在这里
func (c *PurchaseHandler) OnStoreMsg(msg *jdapi.CallbackOrderMsg) (response *jdapi.CallbackResponse) {
func (c *PurchaseHandler) OnStoreMsg(a *jdapi.API, msg *jdapi.CallbackOrderMsg) (response *jdapi.CallbackResponse) {
var err error
// if msg.StatusID == jdapi.StatusIDUpdateStore {
// var storeStatus int

View File

@@ -8,14 +8,14 @@ import (
"git.rosy.net.cn/jx-callback/business/partner"
)
func (c *PurchaseHandler) OnWaybillMsg(msg *jdapi.CallbackDeliveryStatusMsg) (retVal *jdapi.CallbackResponse) {
func (c *PurchaseHandler) OnWaybillMsg(a *jdapi.API, msg *jdapi.CallbackDeliveryStatusMsg) (retVal *jdapi.CallbackResponse) {
jxutils.CallMsgHandler(func() {
retVal = c.onWaybillMsg(msg)
retVal = c.onWaybillMsg(a, msg)
}, jxutils.ComposeUniversalOrderID(msg.OrderID, model.VendorIDJD))
return retVal
}
func (c *PurchaseHandler) onWaybillMsg(msg *jdapi.CallbackDeliveryStatusMsg) (retVal *jdapi.CallbackResponse) {
func (c *PurchaseHandler) onWaybillMsg(a *jdapi.API, msg *jdapi.CallbackDeliveryStatusMsg) (retVal *jdapi.CallbackResponse) {
order := c.callbackMsg2Waybill(msg)
switch msg.DeliveryStatus {
case jdapi.DeliveryStatusWait4Grap:

View File

@@ -15,7 +15,7 @@ func (c *PurchaseHandler) Map2Order(orderData map[string]interface{}) (order *mo
return order
}
func (c *PurchaseHandler) GetOrder(orderID string) (order *model.GoodsOrder, err error) {
func (c *PurchaseHandler) GetOrder(vendorOrgCode, orderID string) (order *model.GoodsOrder, err error) {
return order, err
}
@@ -102,7 +102,7 @@ func (c *PurchaseHandler) AdjustOrder(ctx *jxcontext.Context, order *model.Goods
return err
}
func (c *PurchaseHandler) ListOrders(ctx *jxcontext.Context, parentTask tasksch.ITask, queryDate time.Time, vendorStoreID string) (vendorOrderIDs []string, err error) {
func (c *PurchaseHandler) ListOrders(ctx *jxcontext.Context, vendorOrgCode string, parentTask tasksch.ITask, queryDate time.Time, vendorStoreID string) (vendorOrderIDs []string, err error) {
return vendorOrderIDs, err
}

View File

@@ -5,6 +5,6 @@ import (
"git.rosy.net.cn/jx-callback/business/model"
)
func (c *PurchaseHandler) ReplyOrderComment(ctx *jxcontext.Context, orderComment *model.OrderComment, replyComment string) (err error) {
func (c *PurchaseHandler) ReplyOrderComment(ctx *jxcontext.Context, vendorOrgCode string, orderComment *model.OrderComment, replyComment string) (err error) {
return err
}

View File

@@ -30,6 +30,8 @@ const (
fakeRefuseUserApplyCancel = "fake_refuse_user_apply_cancel"
fakeUserUndoApplyCancel = "fake_user_undo_apply_cancel"
fakeOrderAdjustFinished = "fake_order_adjust_finished"
keyVendorOrgCode = "vendorOrgCode"
)
const (
@@ -83,16 +85,17 @@ func (p *PurchaseHandler) getStatusFromVendorStatus(vendorStatus string) int {
return model.OrderStatusUnknown
}
func (p *PurchaseHandler) getOrder(vendorOrderID string) (order *model.GoodsOrder, orderMap map[string]interface{}, err error) {
func (p *PurchaseHandler) getOrder(vendorOrgCode, vendorOrderID string) (order *model.GoodsOrder, orderMap map[string]interface{}, err error) {
result, err := api.MtwmAPI.OrderGetOrderDetail(utils.Str2Int64(vendorOrderID), true)
if err == nil {
result[keyVendorOrgCode] = vendorOrgCode
order = p.Map2Order(result)
}
return order, result, err
}
func (p *PurchaseHandler) GetOrder(vendorOrderID string) (order *model.GoodsOrder, err error) {
order, _, err = p.getOrder(vendorOrderID)
func (p *PurchaseHandler) GetOrder(vendorOrgCode, vendorOrderID string) (order *model.GoodsOrder, err error) {
order, _, err = p.getOrder(vendorOrgCode, vendorOrderID)
return order, err
}
@@ -128,6 +131,8 @@ func (p *PurchaseHandler) Map2Order(orderData map[string]interface{}) (order *mo
InvoiceTitle: utils.Interface2String(result["invoice_title"]),
InvoiceTaxerID: utils.Interface2String(result["taxpayer_id"]),
InvoiceEmail: jxutils.GetOneEmailFromStr(utils.Interface2String(result["caution"])),
VendorOrgCode: utils.Interface2String(result[keyVendorOrgCode]),
}
pickType := int(utils.Interface2Int64WithDefault(result["pick_type"], 0))
if pickType == mtwmapi.OrderPickTypeSelf {
@@ -289,7 +294,7 @@ func (c *PurchaseHandler) onOrderMsg(msg *mtwmapi.CallbackMsg) (response *mtwmap
return nil
}
if msg.Cmd == mtwmapi.MsgTypeNewOrder {
order, orderMap, err2 := c.getOrder(GetOrderIDFromMsg(msg))
order, orderMap, err2 := c.getOrder(msg.AppID, GetOrderIDFromMsg(msg))
if err = err2; err == nil {
err = partner.CurOrderManager.OnOrderNew(order, c.callbackMsg2Status(msg))
if err == nil {
@@ -306,7 +311,7 @@ func (c *PurchaseHandler) onOrderMsg(msg *mtwmapi.CallbackMsg) (response *mtwmap
if status != nil {
if status.Status == model.OrderStatusAdjust {
var order *model.GoodsOrder
if order, err = c.GetOrder(GetOrderIDFromMsg(msg)); err == nil {
if order, err = c.GetOrder(msg.AppID, GetOrderIDFromMsg(msg)); err == nil {
skuList, err2 := getRefundSkuDetailList(msg)
if err = err2; err == nil {
var removedSkuList []*model.OrderSku
@@ -568,7 +573,7 @@ func (c *PurchaseHandler) AdjustOrder(ctx *jxcontext.Context, order *model.Goods
return err
}
func (c *PurchaseHandler) ListOrders(ctx *jxcontext.Context, parentTask tasksch.ITask, queryDate time.Time, vendorStoreID string) (vendorOrderIDs []string, err error) {
func (c *PurchaseHandler) ListOrders(ctx *jxcontext.Context, vendorOrgCode string, parentTask tasksch.ITask, queryDate time.Time, vendorStoreID string) (vendorOrderIDs []string, err error) {
if utils.IsTimeZero(queryDate) {
return nil, fmt.Errorf("queryDate必须指定")
}

View File

@@ -93,6 +93,7 @@ func (c *PurchaseHandler) onAfsOrderMsg(msg *mtwmapi.CallbackMsg) (retVal *mtwma
ReasonImgList: utils.LimitUTF8StringLen(strings.Join(refundData.PictureList, ","), 1024),
RefundType: model.AfsTypePartRefund,
VendorOrgCode: msg.AppID,
// FreightUserMoney: afsInfo.OrderFreightMoney,
// AfsFreightMoney: afsInfo.AfsFreight,
// BoxMoney: afsInfo.PackagingMoney,

View File

@@ -103,7 +103,7 @@ func (c *PurchaseHandler) RefreshComment(fromTime, toTime time.Time) (err error)
return err
}
func (c *PurchaseHandler) ReplyOrderComment(ctx *jxcontext.Context, orderComment *model.OrderComment, replyComment string) (err error) {
func (c *PurchaseHandler) ReplyOrderComment(ctx *jxcontext.Context, vendorOrgCode string, orderComment *model.OrderComment, replyComment string) (err error) {
globals.SugarLogger.Debugf("mtwm ReplyOrderComment, orderComment:%s, replyComment:%s", utils.Format4Output(orderComment, true), replyComment)
if globals.EnableMtwmStoreWrite {
err = api.MtwmAPI.CommentAddReply(orderComment.VendorStoreID, utils.Str2Int64(orderComment.UserCommentID), replyComment)

View File

@@ -11,7 +11,7 @@ import (
)
func TestGetOrder(t *testing.T) {
result, err := CurPurchaseHandler.GetOrder("33437032333978492")
result, err := CurPurchaseHandler.GetOrder("", "33437032333978492")
if err != nil {
t.Fatal(err)
}
@@ -19,7 +19,7 @@ func TestGetOrder(t *testing.T) {
}
func TestListOrders(t *testing.T) {
result, err := CurPurchaseHandler.ListOrders(jxcontext.AdminCtx, nil, time.Now(), "4626746")
result, err := CurPurchaseHandler.ListOrders(jxcontext.AdminCtx, "", nil, time.Now(), "4626746")
if err != nil {
t.Fatal(err)
}

View File

@@ -98,7 +98,7 @@ func (p *PurchaseHandler) getStatusFromVendorStatus(vendorStatus string) int {
return model.OrderStatusUnknown
}
func (p *PurchaseHandler) GetOrder(vendorOrderID string) (order *model.GoodsOrder, err error) {
func (p *PurchaseHandler) GetOrder(vendorOrgCode, vendorOrderID string) (order *model.GoodsOrder, err error) {
globals.SugarLogger.Debugf("wsc GetOrder orderID:%s", vendorOrderID)
result, err := api.WeimobAPI.QueryOrderDetail(utils.Str2Int64(vendorOrderID), false)
if err != nil {

View File

@@ -5,6 +5,6 @@ import (
"git.rosy.net.cn/jx-callback/business/model"
)
func (c *PurchaseHandler) ReplyOrderComment(ctx *jxcontext.Context, orderComment *model.OrderComment, replyComment string) (err error) {
func (c *PurchaseHandler) ReplyOrderComment(ctx *jxcontext.Context, vendorOrgCode string, orderComment *model.OrderComment, replyComment string) (err error) {
return err
}

View File

@@ -98,6 +98,7 @@ getWeixinTokenKey = "c928ed0d-87a3-441a-8517-f92f0167296f"
storeName = "京西菜市"
[dev]
jdOrgCode = "320406"
jdToken = "77e703b7-7997-441b-a12a-2e522efb117a"
jdAppKey = "1dba76d40cac446ca500c0391a0b6c9d"
jdSecret = "a88d031a1e7b462cb1579f12e97fe7f4"
@@ -129,6 +130,7 @@ getYLYTokenURL = "http://www.jxc4.com/v2/sys/GetYLYToken"
[prod]
EnableDocs = false
jdOrgCode = "320406"
jdToken = "77e703b7-7997-441b-a12a-2e522efb117a"
jdAppKey = "1dba76d40cac446ca500c0391a0b6c9d"
jdSecret = "a88d031a1e7b462cb1579f12e97fe7f4"
@@ -178,6 +180,7 @@ EnableDocs = false
dbConnectStr = "root:WebServer@1@tcp(127.0.0.1:3306)/jxgy?charset=utf8mb4&loc=Local&parseTime=true"
jdOrgCode = "339032"
jdToken = "84541069-fbe2-424b-b625-9b2ba1d4c9e6"
jdAppKey = "5d5577a2506f41b8b4ec520ba83490f5"
jdSecret = "0b01b9eeb15b41dab1c3d05d95c17a26"
@@ -229,68 +232,9 @@ getYLYTokenURL = "http://www.jxc4.com/v2/sys/GetYLYToken"
storeName = "京西果园"
[jd]
httpport = 8089
EnableDocs = false
dbConnectStr = "root:WebServer@1@tcp(127.0.0.1:3306)/jd?charset=utf8mb4&loc=Local&parseTime=true"
jdToken = "84541069-fbe2-424b-b625-9b2ba1d4c9e6"
jdAppKey = "5d5577a2506f41b8b4ec520ba83490f5"
jdSecret = "0b01b9eeb15b41dab1c3d05d95c17a26"
jdStorePageCookie = "YDYCWYUGKSROMV3MKJQIFINJ5CLPYH6IRVFUMFJD3JI6VQKHX3YPHTWDIDBNMCBUKSY3P7SKAHHKR7PHQDSFRXZEWXA4XOUTALIQDGDYIEUCMDPWSYGDVT42DJ27CD27QKCR3UN7KF7EPIHGPR7GCRTBD6NFNB5MFIV6EPYE6RGXH6K2VN6O67WVPV5PLGYFIAKGHFCQNCPB4GL5IIBN4ARWFQ23OEMGXQRC77UCFGE7JOWTZG2KLEWZL5JBAVSZUYFDYFEFHXZNSJPWMFCADAJTUQ"
disableEbai = true
# ebaiSource = "35957"
# ebaiSecret = "10013fbb7c2ddad7"
# ebaiStorePageCookieWMUSS = "YBAABKPRplPSpTCX4YSUAvSg8dSjYpIwF3FzBsGEw7agNbNT90GnwfbAYdBU5cjRX%7EjwAAMxhrUGEheAUicBtSXDIeGB0hclFgZ2tcBlhhIlwwfRBHaV8pClctLEhIfSR6HDwXPC5nHBVTeBsrWjwHCjoXUCN1eS1NBKLzB9E9WREwhfALlGMDAJsPmAwAAO"
# ebaiStorePageCookieWMSTOKEN = "gAAA4OkFSZBsOayRIAnRqd24YRRVvWgRFE2w2CGtjKlAIsYg1sNHEIQlwsBKLzB5sulw9nVQAA0tyyFu-F2xVbAQAAi6OrHIFNnBwgJlQdmb8AAHssrx9_zgABBgAABQ"
disableMtwm = true
# mtwmAppID = "4123"
# mtwmSecret = "df2c88338b85f830cebce2a9eab56628"
# mtwmCallbackURL = "http://callback-jxgy.jxc4.com"
enableStoreWrite = true
enableJdStoreWrite = true
# enableEbaiStoreWrite = true
# enableMtwmStoreWrite = true
disableMtps = true
# mtpsAppKey = "3c0a05d464c247c19d7ec13accc78605"
# mtpsSecret = "b1M}9?:sTbsB[OF2gNORnN(|(iy9rB8(`7]|[wGLnbmt`evfM>E:A90DjHAW:UPE"
dadaIsProd = true
dadaCallbackURL = "http://callback-jd.jxc4.com/dadadelivery/msg"
dadaSourceID = "6660"
weixinAppID = "wx2bb99eb5d2c9b82c"
weixinSecret = "6bbbed1443cc062c20a015a64c07a531"
weixinMiniAppID = "wx2d6949f724b2541d"
weixinMiniSecret = "11f3c380551c4683c149990b004d6df9"
wxpayNotifyURL = "http://callback-jd.jxc4.com/wxpay/msg/"
backstageHost = "http://www-jd.jxc4.com"
wxBackstageHost = "http://wx-jd.jxc4.com"
# dingdingAgentID = 258707199
# dingdingAppKey = "dingtozhutfr98qgwc7d"
# dingdingSecret = "7EJ0HDbkxQri-O2RSaYUu7_ZwvvMKtRVHT8cpyfvIvK6A9n9HRwPNCNRJFuEDeT_"
# dingdingQRCodeAppKey = "dingoaw990o1jm9jswvwib"
# dingdingQRCodeSecret = "N9dyC9qB84sauQPs4_JYrILMsG5Krqm9-PSSVJ8t9hb87rrHiFUirISxGF5G57RV"
dingdingCallbackURL = "http://callback-jd.jxc4.com/dingding/msg"
getWeixinTokenURL = "http://www.jxc4.com/v2/sys/GetWXToken"
getYLYTokenURL = "http://www.jxc4.com/v2/sys/GetYLYToken"
storeName = "京西京东"
[test]
jdToken = "df97f334-f7d8-4b36-9664-5784d8ae0baf"
jdOrgCode = "82029"
jdToken = "594ab45a-9a73-4a43-82b0-a64cbd55d883"
jdAppKey = "06692746f7224695ad4788ce340bc854"
jdSecret = "d6b42a35a7414a5490d811654d745c84"
@@ -318,7 +262,8 @@ dbConnectStr = "root:WebServer@1@tcp(127.0.0.1:3306)/jxd_dev_0?charset=utf8mb4&l
httpport = 8088
# xiaan
jdToken = "df97f334-f7d8-4b36-9664-5784d8ae0baf"
jdOrgCode = "82029"
jdToken = "594ab45a-9a73-4a43-82b0-a64cbd55d883"
jdAppKey = "06692746f7224695ad4788ce340bc854"
jdSecret = "d6b42a35a7414a5490d811654d745c84"
jdStorePageCookie = "5EOCZRXVCRXBTYD5EPV6FOXRCQWFFQO75FRMJ3BAKZ5JXY6XTJECMWXK5OZIPLZTUWZKZKXHXA6I7G3WMIKSWOHZIHRLNE5FZY3NBD6G5IMBOYHMJSJR3RF4TMZB2JEW2DF755YPFUSA6BMWI3KNLT3I4EAP2Z4JA6ZWAA34MNQX5P6LOI4EGG76QJU3G3VW7QFE6BAVAONMKBEHKNXNZGX3RQF7PHXDXSPJSY5XQEGM7IV2L7LKIG3M2D6QVSPEGQW4NV7SZ4TX32D2XQA7PIX46M"
@@ -355,6 +300,7 @@ enableElmStoreWrite = false
enableMtwmStoreWrite = false
enableWscStoreWrite = false
jdOrgCode = "320406"
jdToken = "77e703b7-7997-441b-a12a-2e522efb117a"
jdAppKey = "1dba76d40cac446ca500c0391a0b6c9d"
jdSecret = "a88d031a1e7b462cb1579f12e97fe7f4"

View File

@@ -42,9 +42,11 @@ func (a *APIManager) GetAPI(vendorID int, appOrgCode string) (pfAPI interface{})
func (a *APIManager) GetAppOrgCodeList(vendorID int) (appOrgCodeList []string) {
switch vendorID {
case model.VendorIDJD:
appOrgCodeList = []string{"320406"}
appOrgCodeList = []string{globals.JdOrgCode}
case model.VendorIDMTWM:
appOrgCodeList = []string{api.MtwmAPI.GetAppID()}
case model.VendorIDEBAI:
appOrgCodeList = []string{api.EbaiAPI.GetSource()}
}
return appOrgCodeList
}

View File

@@ -49,6 +49,8 @@ var (
DisableWXAuth1 bool
WxpayNotifyURL string
JdOrgCode string
)
func init() {
@@ -96,6 +98,7 @@ func Init() {
DisableWXAuth1 = true
WxpayNotifyURL = beego.AppConfig.DefaultString("wxpayNotifyURL", "")
JdOrgCode = beego.AppConfig.DefaultString("jdOrgCode", "")
}
func IsCallbackAlwaysReturnSuccess() bool {