- handle VendorIDEBAI.

This commit is contained in:
gazebo
2018-09-28 10:51:00 +08:00
parent 8ba9abc3a5
commit d81e8e1644
4 changed files with 24 additions and 14 deletions

View File

@@ -185,19 +185,17 @@ func (c *OrderManager) updateOrderSkuOtherInfo(order *model.GoodsOrder, db orm.O
}
orderSkus := order.Skus
var sql string
if orderSkus[0].VendorID == model.VendorIDJD {
if orderSkus[0].VendorID == model.VendorIDJD { // todo 为什么要区分京东与其它?
sql = `
SELECT t1.jdskuid, t1.skuid, t2.price
FROM skumapper t1
LEFT JOIN jx_sku_store_bind t2 ON t1.skuid = t2.jxskuid AND t2.jxstoreid = ?
WHERE t1.jdskuid IN (-1,`
} else if orderSkus[0].VendorID == model.VendorIDELM {
} else {
sql = `
SELECT t2.jxskuid, t2.jxskuid, t2.price
FROM jx_sku_store_bind t2
WHERE t2.jxstoreid = ? AND t2.jxskuid IN (-1,`
} else {
panic(fmt.Sprintf("wrong vendorid:%d", orderSkus[0].VendorID))
}
sqlParams := []interface{}{jxStoreID}
@@ -273,14 +271,17 @@ func (c *OrderManager) updateOrderOtherInfo(order *model.GoodsOrder, db orm.Orme
/* JOIN jxstore t2 ON t1.jx_store_id = t2.storeid */
WHERE t1.elm_store_id = ?
`
} else if order.VendorID == model.VendorIDEBAI { // todo
} else {
panic(fmt.Sprintf("wrong vendorid:%d", order.VendorID))
}
var lists []orm.ParamsList
if num, err := db.Raw(sql, utils.Str2Int64(order.VendorStoreID)).ValuesList(&lists); err == nil && num == 1 {
order.JxStoreID = int(utils.Str2Int64(lists[0][0].(string)))
} else {
globals.SugarLogger.Infof("updateOrderOtherInfo [运营]订单orderID:%s在京西找不到相应的京西门店信息请处理, VendorStoreID:%s, num:%d, error:%v", order.VendorOrderID, order.VendorStoreID, num, err)
if sql != "" {
var lists []orm.ParamsList
if num, err := db.Raw(sql, utils.Str2Int64(order.VendorStoreID)).ValuesList(&lists); err == nil && num == 1 {
order.JxStoreID = int(utils.Str2Int64(lists[0][0].(string)))
} else {
globals.SugarLogger.Infof("updateOrderOtherInfo [运营]订单orderID:%s在京西找不到相应的京西门店信息请处理, VendorStoreID:%s, num:%d, error:%v", order.VendorOrderID, order.VendorStoreID, num, err)
}
}
err = c.updateOrderSkuOtherInfo(order, db)
return err

View File

@@ -107,7 +107,7 @@ func (s *WatchOrderInfo) updateOrderStoreFeature(order *model.GoodsOrder) (err e
err = db.Read(storefeature, "Id")
if err == nil {
s.autoPickupTimeoutMinute = int(storefeature.Autopickup)
if order.VendorID == model.VendorIDELM {
if order.VendorID == model.VendorIDELM || order.VendorID == model.VendorIDEBAI {
s.storeDeliveryType = int(storefeature.ElmDeliveryType)
} else if order.VendorID == model.VendorIDJD {
s.storeDeliveryType = int(storefeature.JdDeliveryType)
@@ -118,7 +118,7 @@ func (s *WatchOrderInfo) updateOrderStoreFeature(order *model.GoodsOrder) (err e
isNeedSchedule := false
if (s.storeDeliveryType == scheduler.StoreDeliveryTypeByStore) ||
(order.VendorID == model.VendorIDJD && storefeature.JdCompetition != 0) ||
(order.VendorID == model.VendorIDELM && storefeature.ElmCompetition != 0) {
((order.VendorID == model.VendorIDELM || order.VendorID == model.VendorIDEBAI) && storefeature.ElmCompetition != 0) {
isNeedSchedule = true
}
if isNeedSchedule {

View File

@@ -40,6 +40,7 @@ var (
model.VendorIDJD: WX_TEMPLATE_VENDERCOLOR_JDDJ,
model.VendorIDMTWM: WX_TEMPLATE_VENDERCOLOR_MT,
model.VendorIDELM: WX_TEMPLATE_VENDERCOLOR_ELM,
model.VendorIDEBAI: WX_TEMPLATE_VENDERCOLOR_ELM,
}
)

View File

@@ -163,6 +163,7 @@ func (c *DeliveryHandler) CancelWaybill(bill *model.Waybill, cancelReasonID int,
func (c *DeliveryHandler) getDataCityCodeFromOrder(order *model.GoodsOrder, db orm.Ormer) (retVal string, err error) {
var sql string
storeID := utils.Str2Int64(order.VendorStoreID)
if order.VendorID == model.VendorIDJD {
sql = `
SELECT t2.tel_code
@@ -179,11 +180,18 @@ func (c *DeliveryHandler) getDataCityCodeFromOrder(order *model.GoodsOrder, db o
JOIN city t2 ON t1.area = t2.citycode
WHERE t0.elm_store_id = ?
`
} else {
panic(fmt.Sprintf("wrong vendorid:%d", order.VendorID))
} else { // todo 为什么不统一用jxstoreid来找
storeID = int64(jxutils.GetJxStoreIDFromOrder(order))
sql = `
SELECT t2.tel_code
FROM jxstore t1
JOIN city t2 ON t1.area = t2.citycode
WHERE t1.storeid = ?
`
}
var lists []orm.ParamsList
num, err := db.Raw(sql, utils.Str2Int64(order.VendorStoreID)).ValuesList(&lists)
num, err := db.Raw(sql, storeID).ValuesList(&lists)
if err == nil && num == 1 {
retVal = lists[0][0].(string)
} else {