- refactor GetJxStoreIDFromOrder
- add IsOrderPlatformWaybill
This commit is contained in:
@@ -201,13 +201,8 @@ func (c *OrderManager) saveOrder(order *model.GoodsOrder, isAdjust bool, db orm.
|
|||||||
|
|
||||||
func (c *OrderManager) updateOrderSkuOtherInfo(order *model.GoodsOrder, db orm.Ormer) (err error) {
|
func (c *OrderManager) updateOrderSkuOtherInfo(order *model.GoodsOrder, db orm.Ormer) (err error) {
|
||||||
globals.SugarLogger.Debugf("updateOrderSkuOtherInfo orderID:%s, VendorStoreID:%s", order.VendorOrderID, order.VendorStoreID)
|
globals.SugarLogger.Debugf("updateOrderSkuOtherInfo orderID:%s, VendorStoreID:%s", order.VendorOrderID, order.VendorStoreID)
|
||||||
jxStoreID := jxutils.GetJxStoreIDFromOrder(order)
|
jxStoreID := jxutils.GetShowStoreIDFromOrder(order)
|
||||||
|
|
||||||
// 这里的jxStoreID表示的是展示商品所属的门店,如果是微商城,以JxStoreID为准
|
|
||||||
// 所以而JxStoreID是由vendorStoreID经store_map表示查询得到的,所以要求绑定微商城店时,要给准确的微商城店号
|
|
||||||
if order.VendorID == model.VendorIDWSC {
|
|
||||||
jxStoreID = order.JxStoreID
|
|
||||||
}
|
|
||||||
if jxStoreID == 0 {
|
if jxStoreID == 0 {
|
||||||
if order.VendorID != model.VendorIDEBAI {
|
if order.VendorID != model.VendorIDEBAI {
|
||||||
globals.SugarLogger.Infof("updateOrderSkuOtherInfo [运营]订单在京西与平台都找不到京西门店信息orderID:%s, VendorStoreID:%s", order.VendorOrderID, order.VendorStoreID)
|
globals.SugarLogger.Infof("updateOrderSkuOtherInfo [运营]订单在京西与平台都找不到京西门店信息orderID:%s, VendorStoreID:%s", order.VendorOrderID, order.VendorStoreID)
|
||||||
|
|||||||
@@ -76,7 +76,7 @@ func (c *BaseScheduler) PickupGoodsAndUpdateStatus(ctx *jxcontext.Context, vendo
|
|||||||
}
|
}
|
||||||
|
|
||||||
func getStoreDeliveryType(order *model.GoodsOrder) (deliveryType int) {
|
func getStoreDeliveryType(order *model.GoodsOrder) (deliveryType int) {
|
||||||
jxStoreID := jxutils.GetJxStoreIDFromOrder(order)
|
jxStoreID := jxutils.GetSaleStoreIDFromOrder(order)
|
||||||
if globals.OrderUseNewTable || jxStoreID == globals.DebugStoreID {
|
if globals.OrderUseNewTable || jxStoreID == globals.DebugStoreID {
|
||||||
deliveryType = scheduler.StoreDeliveryTypeByPlatform // 缺省值
|
deliveryType = scheduler.StoreDeliveryTypeByPlatform // 缺省值
|
||||||
if storeMap, _ := dao.GetStoreMapByStoreID(nil, jxStoreID, order.VendorID); storeMap != nil {
|
if storeMap, _ := dao.GetStoreMapByStoreID(nil, jxStoreID, order.VendorID); storeMap != nil {
|
||||||
|
|||||||
@@ -106,7 +106,7 @@ func (s *WatchOrderInfo) SetOrder(order *model.GoodsOrder) (retVal *model.GoodsO
|
|||||||
|
|
||||||
func (s *WatchOrderInfo) updateOrderStoreFeature(order *model.GoodsOrder) (err error) {
|
func (s *WatchOrderInfo) updateOrderStoreFeature(order *model.GoodsOrder) (err error) {
|
||||||
globals.SugarLogger.Debugf("updateOrderStoreFeature orderID:%s", order.VendorOrderID)
|
globals.SugarLogger.Debugf("updateOrderStoreFeature orderID:%s", order.VendorOrderID)
|
||||||
jxStoreID := jxutils.GetJxStoreIDFromOrder(order)
|
jxStoreID := jxutils.GetSaleStoreIDFromOrder(order)
|
||||||
if globals.OrderUseNewTable || jxStoreID == globals.DebugStoreID {
|
if globals.OrderUseNewTable || jxStoreID == globals.DebugStoreID {
|
||||||
if jxStoreID > 0 {
|
if jxStoreID > 0 {
|
||||||
db := dao.GetDB()
|
db := dao.GetDB()
|
||||||
@@ -203,7 +203,7 @@ func init() {
|
|||||||
if order.ConsigneeMobile2 != "" {
|
if order.ConsigneeMobile2 != "" {
|
||||||
mobile = order.ConsigneeMobile2
|
mobile = order.ConsigneeMobile2
|
||||||
}
|
}
|
||||||
_ = sch.handleAutoAcceptOrder(order.VendorOrderID, order.VendorID, mobile, jxutils.GetJxStoreIDFromOrder(order), nil, func(isAcceptIt bool) error {
|
_ = sch.handleAutoAcceptOrder(order.VendorOrderID, order.VendorID, mobile, jxutils.GetSaleStoreIDFromOrder(order), nil, func(isAcceptIt bool) error {
|
||||||
if err = sch.AcceptOrRefuseOrder(order, isAcceptIt, ""); err != nil && err != scheduler.ErrOrderStatusAlreadySatisfyCurOperation {
|
if err = sch.AcceptOrRefuseOrder(order, isAcceptIt, ""); err != nil && err != scheduler.ErrOrderStatusAlreadySatisfyCurOperation {
|
||||||
// 为了解决京东新消息与接单消息乱序的问题
|
// 为了解决京东新消息与接单消息乱序的问题
|
||||||
if errWithCode, ok := err.(*utils.ErrorWithCode); ok && errWithCode.Level() == 1 && errWithCode.IntCode() == -1 {
|
if errWithCode, ok := err.(*utils.ErrorWithCode); ok && errWithCode.Level() == 1 && errWithCode.IntCode() == -1 {
|
||||||
@@ -337,7 +337,7 @@ func (s *DefScheduler) OnWaybillStatusChanged(bill *model.Waybill, isPending boo
|
|||||||
s.ProxyCancelWaybill(order, bill, partner.CancelWaybillReasonNotAcceptIntime, partner.CancelWaybillReasonStrNotAcceptIntime)
|
s.ProxyCancelWaybill(order, bill, partner.CancelWaybillReasonNotAcceptIntime, partner.CancelWaybillReasonStrNotAcceptIntime)
|
||||||
} else if order.WaybillVendorID != model.VendorIDUnknown {
|
} else if order.WaybillVendorID != model.VendorIDUnknown {
|
||||||
globals.SugarLogger.Debugf("OnWaybillStatusChanged multiple waybill created, bill:%v", bill)
|
globals.SugarLogger.Debugf("OnWaybillStatusChanged multiple waybill created, bill:%v", bill)
|
||||||
if order.VendorID == bill.WaybillVendorID { // 是购物平台运单
|
if s.IsOrderPlatformWaybill(bill) { // 是购物平台运单
|
||||||
if order.VendorID != order.WaybillVendorID { // 既有运单不是购物平台运单
|
if order.VendorID != order.WaybillVendorID { // 既有运单不是购物平台运单
|
||||||
globals.SugarLogger.Infof("OnWaybillStatusChanged bill:%v purchase platform bill came later than others, strange!!!", bill)
|
globals.SugarLogger.Infof("OnWaybillStatusChanged bill:%v purchase platform bill came later than others, strange!!!", bill)
|
||||||
oldBill := savedOrderInfo.waybills[order.WaybillVendorID]
|
oldBill := savedOrderInfo.waybills[order.WaybillVendorID]
|
||||||
@@ -355,7 +355,7 @@ func (s *DefScheduler) OnWaybillStatusChanged(bill *model.Waybill, isPending boo
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 只有购物平台的新运单消息才会启动抢单TIMER
|
// 只有购物平台的新运单消息才会启动抢单TIMER
|
||||||
if bill.OrderVendorID == bill.WaybillVendorID {
|
if s.IsOrderPlatformWaybill(bill) {
|
||||||
s.resetTimer(savedOrderInfo, bill, isPending)
|
s.resetTimer(savedOrderInfo, bill, isPending)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -366,14 +366,14 @@ func (s *DefScheduler) OnWaybillStatusChanged(bill *model.Waybill, isPending boo
|
|||||||
isBillAlreadyCandidate := s.isBillCandidate(order, bill)
|
isBillAlreadyCandidate := s.isBillCandidate(order, bill)
|
||||||
// todo 购买平台的运单,优先级最高,但这样写也可能带来问题,即在这个时间,因为之前3方已经接单,已经发出了转自送请求(而且可能成功了),所以加个状态判断
|
// todo 购买平台的运单,优先级最高,但这样写也可能带来问题,即在这个时间,因为之前3方已经接单,已经发出了转自送请求(而且可能成功了),所以加个状态判断
|
||||||
if order.WaybillVendorID == model.VendorIDUnknown ||
|
if order.WaybillVendorID == model.VendorIDUnknown ||
|
||||||
(order.VendorID == bill.WaybillVendorID && order.VendorID != order.WaybillVendorID && (order.DeliveryFlag&model.OrderDeliveryFlagMaskPurcahseDisabled) == 0) {
|
(s.IsOrderPlatformWaybill(bill) && order.VendorID != order.WaybillVendorID && (order.DeliveryFlag&model.OrderDeliveryFlagMaskPurcahseDisabled) == 0) {
|
||||||
if order.WaybillVendorID != model.VendorIDUnknown {
|
if order.WaybillVendorID != model.VendorIDUnknown {
|
||||||
// 进到这里的原因是,在这个时间点,购物平台物流已经抢单(但抢单消息还没有被收到)(比如:818810379000941)
|
// 进到这里的原因是,在这个时间点,购物平台物流已经抢单(但抢单消息还没有被收到)(比如:818810379000941)
|
||||||
globals.SugarLogger.Infof("OnWaybillStatusChanged orderID:%s purchase platform waybill arrvied later, may case problem", order.VendorOrderID)
|
globals.SugarLogger.Infof("OnWaybillStatusChanged orderID:%s purchase platform waybill arrvied later, may case problem", order.VendorOrderID)
|
||||||
}
|
}
|
||||||
s.updateOrderByBill(order, bill, false)
|
s.updateOrderByBill(order, bill, false)
|
||||||
s.cancelOtherWaybills(savedOrderInfo, bill, partner.CancelWaybillReasonNotAcceptIntime, partner.CancelWaybillReasonStrNotAcceptIntime)
|
s.cancelOtherWaybills(savedOrderInfo, bill, partner.CancelWaybillReasonNotAcceptIntime, partner.CancelWaybillReasonStrNotAcceptIntime)
|
||||||
if bill.WaybillVendorID != bill.OrderVendorID {
|
if !s.IsOrderPlatformWaybill(bill) {
|
||||||
if savedOrderInfo.storeDeliveryType == scheduler.StoreDeliveryTypeByStore {
|
if savedOrderInfo.storeDeliveryType == scheduler.StoreDeliveryTypeByStore {
|
||||||
s.SelfDeliverDelivering(savedOrderInfo.order, "")
|
s.SelfDeliverDelivering(savedOrderInfo.order, "")
|
||||||
} else {
|
} else {
|
||||||
@@ -450,7 +450,7 @@ func (s *DefScheduler) OnWaybillStatusChanged(bill *model.Waybill, isPending boo
|
|||||||
case model.WaybillStatusDelivered:
|
case model.WaybillStatusDelivered:
|
||||||
s.resetTimer(savedOrderInfo, bill, isPending)
|
s.resetTimer(savedOrderInfo, bill, isPending)
|
||||||
s.removeWaybillFromMap(savedOrderInfo, bill.WaybillVendorID)
|
s.removeWaybillFromMap(savedOrderInfo, bill.WaybillVendorID)
|
||||||
if order.VendorID != bill.WaybillVendorID && !isPending {
|
if !s.IsOrderPlatformWaybill(bill) && !isPending {
|
||||||
if savedOrderInfo.storeDeliveryType == scheduler.StoreDeliveryTypeByStore {
|
if savedOrderInfo.storeDeliveryType == scheduler.StoreDeliveryTypeByStore {
|
||||||
s.SelfDeliverDelievered(order, "")
|
s.SelfDeliverDelievered(order, "")
|
||||||
} else {
|
} else {
|
||||||
@@ -483,7 +483,7 @@ func (s *DefScheduler) OnWaybillStatusChanged(bill *model.Waybill, isPending boo
|
|||||||
|
|
||||||
func (s *DefScheduler) addWaybill2Map(savedOrderInfo *WatchOrderInfo, bill *model.Waybill) {
|
func (s *DefScheduler) addWaybill2Map(savedOrderInfo *WatchOrderInfo, bill *model.Waybill) {
|
||||||
if _, ok := savedOrderInfo.waybills[bill.WaybillVendorID]; ok {
|
if _, ok := savedOrderInfo.waybills[bill.WaybillVendorID]; ok {
|
||||||
if bill.WaybillVendorID != bill.OrderVendorID { // 购买平台重复发相同号的新运单是正常的,京东就是
|
if !s.IsOrderPlatformWaybill(bill) { // 购买平台重复发相同号的新运单是正常的,京东就是
|
||||||
globals.SugarLogger.Warnf("addWaybill2Map bill:%v already exists", bill)
|
globals.SugarLogger.Warnf("addWaybill2Map bill:%v already exists", bill)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -551,7 +551,7 @@ func (s *DefScheduler) createWaybillOn3rdProviders(savedOrderInfo *WatchOrderInf
|
|||||||
db.Insert(tmpLog)
|
db.Insert(tmpLog)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
globals.SugarLogger.Debugf("createWaybillOn3rdProviders, orderID:%s, store:%d dont't support 3rd delivery platform", order.VendorOrderID, jxutils.GetJxStoreIDFromOrder(order))
|
globals.SugarLogger.Debugf("createWaybillOn3rdProviders, orderID:%s, store:%d dont't support 3rd delivery platform", order.VendorOrderID, jxutils.GetSaleStoreIDFromOrder(order))
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
globals.SugarLogger.Debugf("createWaybillOn3rdProviders, orderID:%s, status:%d doesn't match model.OrderStatusFinishedPickup, bypass", order.VendorOrderID, order.Status)
|
globals.SugarLogger.Debugf("createWaybillOn3rdProviders, orderID:%s, status:%d doesn't match model.OrderStatusFinishedPickup, bypass", order.VendorOrderID, order.Status)
|
||||||
@@ -567,7 +567,7 @@ func (s *DefScheduler) cancelOtherWaybills(savedOrderInfo *WatchOrderInfo, bill2
|
|||||||
if (savedOrderInfo.order.DeliveryFlag & model.OrderDeliveryFlagMaskScheduleDisabled) == 0 {
|
if (savedOrderInfo.order.DeliveryFlag & model.OrderDeliveryFlagMaskScheduleDisabled) == 0 {
|
||||||
toBeDeleted := []*model.Waybill{}
|
toBeDeleted := []*model.Waybill{}
|
||||||
for _, v := range savedOrderInfo.waybills {
|
for _, v := range savedOrderInfo.waybills {
|
||||||
if (v.OrderVendorID != v.WaybillVendorID) && (bill2Keep == nil || !(v.WaybillVendorID == bill2Keep.WaybillVendorID && v.VendorWaybillID == bill2Keep.VendorWaybillID)) {
|
if !s.IsOrderPlatformWaybill(v) && (bill2Keep == nil || !(v.WaybillVendorID == bill2Keep.WaybillVendorID && v.VendorWaybillID == bill2Keep.VendorWaybillID)) {
|
||||||
err2 := s.ProxyCancelWaybill(savedOrderInfo.order, v, cancelReasonID, cancelReason)
|
err2 := s.ProxyCancelWaybill(savedOrderInfo.order, v, cancelReasonID, cancelReason)
|
||||||
if err2 == nil {
|
if err2 == nil {
|
||||||
toBeDeleted = append(toBeDeleted, v)
|
toBeDeleted = append(toBeDeleted, v)
|
||||||
@@ -851,3 +851,9 @@ func OnDefSchConfChanged(key, value string) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 判断是否是购买平台自有物流
|
||||||
|
// 对于京东,饿百来说,就是其自有的物流,对于微商城来说,是达达
|
||||||
|
func (s *DefScheduler) IsOrderPlatformWaybill(bill *model.Waybill) bool {
|
||||||
|
return bill.OrderVendorID == bill.WaybillVendorID || (bill.OrderVendorID == model.VendorIDWSC && bill.WaybillVendorID == model.VendorIDDada)
|
||||||
|
}
|
||||||
|
|||||||
@@ -54,13 +54,29 @@ func (m *SyncMapWithTimeout) Delete(key interface{}) {
|
|||||||
m.timers.Delete(key)
|
m.timers.Delete(key)
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetJxStoreIDFromOrder(order *model.GoodsOrder) (retVal int) {
|
func getJxStoreIDFromOrder(order *model.GoodsOrder) (retVal int) {
|
||||||
if order.JxStoreID != 0 {
|
if order.JxStoreID != 0 {
|
||||||
return order.JxStoreID
|
return order.JxStoreID
|
||||||
}
|
}
|
||||||
return order.StoreID
|
return order.StoreID
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 此函数得到的是order的销售门店京西ID,与GetJxStoreIDFromOrder的区别是order.StoreID的解释不同,参考其它相关资料
|
||||||
|
func GetSaleStoreIDFromOrder(order *model.GoodsOrder) (retVal int) {
|
||||||
|
if order.VendorID != model.VendorIDWSC {
|
||||||
|
return getJxStoreIDFromOrder(order)
|
||||||
|
}
|
||||||
|
return order.StoreID
|
||||||
|
}
|
||||||
|
|
||||||
|
// 此函数得到的是order的商品的展示门店京西ID,与GetJxStoreIDFromOrder的区别是order.StoreID的解释不同,参考其它相关资料
|
||||||
|
func GetShowStoreIDFromOrder(order *model.GoodsOrder) (retVal int) {
|
||||||
|
if order.VendorID != model.VendorIDWSC {
|
||||||
|
return getJxStoreIDFromOrder(order)
|
||||||
|
}
|
||||||
|
return order.JxStoreID
|
||||||
|
}
|
||||||
|
|
||||||
func SplitUniversalOrderID(universalOrderID string) (orderID string, vendorID int) {
|
func SplitUniversalOrderID(universalOrderID string) (orderID string, vendorID int) {
|
||||||
index := strings.Index(universalOrderID, "|")
|
index := strings.Index(universalOrderID, "|")
|
||||||
if index != -1 {
|
if index != -1 {
|
||||||
|
|||||||
@@ -199,7 +199,7 @@ func NotifyNewOrder(order *model.GoodsOrder) (err error) {
|
|||||||
"color": WX_NEW_ORDER_TEMPLATE_COLOR,
|
"color": WX_NEW_ORDER_TEMPLATE_COLOR,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
storeID := jxutils.GetJxStoreIDFromOrder(order)
|
storeID := jxutils.GetSaleStoreIDFromOrder(order)
|
||||||
return SendMsgToStore(storeID, WX_NEWORDER_TEMPLATE_ID, fmt.Sprintf("%s%d", WX_TO_ORDER_PAGE_URL, storeID), WX_MINI_TO_ORDER_PAGE_URL, data)
|
return SendMsgToStore(storeID, WX_NEWORDER_TEMPLATE_ID, fmt.Sprintf("%s%d", WX_TO_ORDER_PAGE_URL, storeID), WX_MINI_TO_ORDER_PAGE_URL, data)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -264,7 +264,7 @@ func NotifyWaybillStatus(bill *model.Waybill, order *model.GoodsOrder, isBillAlr
|
|||||||
"color": WX_NEW_ORDER_TEMPLATE_COLOR,
|
"color": WX_NEW_ORDER_TEMPLATE_COLOR,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
return SendMsgToStore(jxutils.GetJxStoreIDFromOrder(order), templateID, "", "", data)
|
return SendMsgToStore(jxutils.GetSaleStoreIDFromOrder(order), templateID, "", "", data)
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -150,7 +150,7 @@ func GetStoreMapByStoreID(db *DaoDB, storeID, vendorID int) (storeMap *model.Sto
|
|||||||
storeMap.DeletedAt = utils.DefaultTimeValue
|
storeMap.DeletedAt = utils.DefaultTimeValue
|
||||||
if err = GetEntity(db, storeMap, model.FieldStoreID, model.FieldVendorID, model.FieldDeletedAt); err != nil {
|
if err = GetEntity(db, storeMap, model.FieldStoreID, model.FieldVendorID, model.FieldDeletedAt); err != nil {
|
||||||
if err != orm.ErrNoRows {
|
if err != orm.ErrNoRows {
|
||||||
globals.SugarLogger.Warnf("GetStoreMapByStoreID storeID:%d, vendorID:%d read storefeature failed with error:%v", storeID, vendorID, err)
|
globals.SugarLogger.Warnf("GetStoreMapByStoreID storeID:%d, vendorID:%d read storeMap failed with error:%v", storeID, vendorID, err)
|
||||||
}
|
}
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -167,8 +167,8 @@ func (c *DeliveryHandler) CancelWaybill(bill *model.Waybill, cancelReasonID int,
|
|||||||
|
|
||||||
func (c *DeliveryHandler) getDataCityCodeFromOrder(order *model.GoodsOrder, db orm.Ormer) (retVal string, err error) {
|
func (c *DeliveryHandler) getDataCityCodeFromOrder(order *model.GoodsOrder, db orm.Ormer) (retVal string, err error) {
|
||||||
var sql string
|
var sql string
|
||||||
if globals.OrderUseNewTable || jxutils.GetJxStoreIDFromOrder(order) == globals.DebugStoreID {
|
jxStoreID := jxutils.GetSaleStoreIDFromOrder(order)
|
||||||
jxStoreID := jxutils.GetJxStoreIDFromOrder(order)
|
if globals.OrderUseNewTable || jxStoreID == globals.DebugStoreID {
|
||||||
sql = `
|
sql = `
|
||||||
SELECT t2.tel_code
|
SELECT t2.tel_code
|
||||||
FROM store t1
|
FROM store t1
|
||||||
@@ -206,7 +206,7 @@ func (c *DeliveryHandler) getDataCityCodeFromOrder(order *model.GoodsOrder, db o
|
|||||||
WHERE t0.elm_store_id = ?
|
WHERE t0.elm_store_id = ?
|
||||||
`
|
`
|
||||||
} else { // todo 为什么不统一用jxstoreid来找?
|
} else { // todo 为什么不统一用jxstoreid来找?
|
||||||
storeID = int64(jxutils.GetJxStoreIDFromOrder(order))
|
storeID = int64(jxutils.GetSaleStoreIDFromOrder(order))
|
||||||
sql = `
|
sql = `
|
||||||
SELECT t2.tel_code
|
SELECT t2.tel_code
|
||||||
FROM jxstore t1
|
FROM jxstore t1
|
||||||
|
|||||||
@@ -114,7 +114,7 @@ func (c *DeliveryHandler) calculateOrderDeliveryFee(order *model.GoodsOrder, bil
|
|||||||
if db == nil {
|
if db == nil {
|
||||||
db = orm.NewOrm()
|
db = orm.NewOrm()
|
||||||
}
|
}
|
||||||
jxStoreID := jxutils.GetJxStoreIDFromOrder(order)
|
jxStoreID := jxutils.GetSaleStoreIDFromOrder(order)
|
||||||
var lng, lat float64
|
var lng, lat float64
|
||||||
if globals.OrderUseNewTable || jxStoreID == globals.DebugStoreID {
|
if globals.OrderUseNewTable || jxStoreID == globals.DebugStoreID {
|
||||||
priceInfo := &struct {
|
priceInfo := &struct {
|
||||||
@@ -294,9 +294,10 @@ func (c *DeliveryHandler) getDeliveryID(order *model.GoodsOrder, db orm.Ormer) (
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (c *DeliveryHandler) getMTPSShopID(order *model.GoodsOrder, db orm.Ormer) (retVal string, err error) {
|
func (c *DeliveryHandler) getMTPSShopID(order *model.GoodsOrder, db orm.Ormer) (retVal string, err error) {
|
||||||
if globals.OrderUseNewTable || jxutils.GetJxStoreIDFromOrder(order) == globals.DebugStoreID {
|
saleStoreID := jxutils.GetSaleStoreIDFromOrder(order)
|
||||||
|
if globals.OrderUseNewTable || saleStoreID == globals.DebugStoreID {
|
||||||
db2 := dao.WrapDB(db)
|
db2 := dao.WrapDB(db)
|
||||||
storeCourierList, err2 := dao.GetStoreCouriersByStoreID(db2, jxutils.GetJxStoreIDFromOrder(order), model.VendorIDMTPS)
|
storeCourierList, err2 := dao.GetStoreCouriersByStoreID(db2, saleStoreID, model.VendorIDMTPS)
|
||||||
if err = err2; err != nil && err != orm.ErrNoRows {
|
if err = err2; err != nil && err != orm.ErrNoRows {
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
@@ -311,15 +312,14 @@ func (c *DeliveryHandler) getMTPSShopID(order *model.GoodsOrder, db orm.Ormer) (
|
|||||||
}
|
}
|
||||||
sql := "SELECT zs_store_id FROM jx_to_zs_store_map WHERE jx_store_id = ?"
|
sql := "SELECT zs_store_id FROM jx_to_zs_store_map WHERE jx_store_id = ?"
|
||||||
var lists []orm.ParamsList
|
var lists []orm.ParamsList
|
||||||
JxStoreID := jxutils.GetJxStoreIDFromOrder(order)
|
num, err := db.Raw(sql, saleStoreID).ValuesList(&lists)
|
||||||
num, err := db.Raw(sql, JxStoreID).ValuesList(&lists)
|
|
||||||
if err == nil && num == 1 {
|
if err == nil && num == 1 {
|
||||||
retVal = lists[0][0].(string)
|
retVal = lists[0][0].(string)
|
||||||
if beego.BConfig.RunMode == "dev" {
|
if beego.BConfig.RunMode == "dev" {
|
||||||
retVal = "test_0001"
|
retVal = "test_0001"
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
globals.SugarLogger.Infof("getMTPSShopID can not find mtps store info for orderID:%s, store:%d, num:%d, error:%v", order.VendorOrderID, JxStoreID, num, err)
|
globals.SugarLogger.Infof("getMTPSShopID can not find mtps store info for orderID:%s, store:%d, num:%d, error:%v", order.VendorOrderID, saleStoreID, num, err)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
err = ErrCanNotFindMTPSStore
|
err = ErrCanNotFindMTPSStore
|
||||||
}
|
}
|
||||||
@@ -327,7 +327,7 @@ func (c *DeliveryHandler) getMTPSShopID(order *model.GoodsOrder, db orm.Ormer) (
|
|||||||
tmpLog := &legacymodel.TempLog{
|
tmpLog := &legacymodel.TempLog{
|
||||||
VendorOrderID: order.VendorOrderID,
|
VendorOrderID: order.VendorOrderID,
|
||||||
RefVendorOrderID: order.VendorOrderID,
|
RefVendorOrderID: order.VendorOrderID,
|
||||||
Msg: fmt.Sprintf("getMTPSShopID can not find mtps store info for orderID:%s, store:%d, num:%d, error:%v", order.VendorOrderID, JxStoreID, num, err),
|
Msg: fmt.Sprintf("getMTPSShopID can not find mtps store info for orderID:%s, store:%d, num:%d, error:%v", order.VendorOrderID, saleStoreID, num, err),
|
||||||
}
|
}
|
||||||
db.Insert(tmpLog)
|
db.Insert(tmpLog)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -106,7 +106,7 @@ func (c *PurchaseHandler) onOrderComment(msg *jdapi.CallbackOrderMsg) (err error
|
|||||||
|
|
||||||
order, err2 := partner.CurOrderManager.LoadOrder(msg.BillID, model.VendorIDJD)
|
order, err2 := partner.CurOrderManager.LoadOrder(msg.BillID, model.VendorIDJD)
|
||||||
if err = err2; err == nil {
|
if err = err2; err == nil {
|
||||||
comment.Jxstoreid = utils.Int2Str(jxutils.GetJxStoreIDFromOrder(order))
|
comment.Jxstoreid = utils.Int2Str(jxutils.GetSaleStoreIDFromOrder(order))
|
||||||
comment.Userphone = order.ConsigneeMobile
|
comment.Userphone = order.ConsigneeMobile
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user