- orderUseNewTable almost ok.

This commit is contained in:
gazebo
2018-10-17 16:53:01 +08:00
parent 9c125a61a0
commit e56eb69b09
6 changed files with 81 additions and 10 deletions

View File

@@ -231,8 +231,6 @@ func (c *OrderManager) updateOrderSkuOtherInfo(order *model.GoodsOrder, db orm.O
for _, v := range skuInfos {
skumapper[v.VendorSkuID] = v
}
globals.SugarLogger.Debug(sql)
globals.SugarLogger.Debug(utils.Format4Output(skumapper, false))
for _, v := range orderSkus {
if v.VendorSkuID != "-70000" { // todo hard code

View File

@@ -72,7 +72,7 @@ func (c *BaseScheduler) PickupGoodsAndUpdateStatus(vendorOrderID string, vendorI
func getStoreDeliveryType(order *model.GoodsOrder) (deliveryType int) {
if globals.OrderUseNewTable {
deliveryType = scheduler.StoreDeliveryTypeByPlatform // 缺省值
if storeMap := dao.GetStoreMapByStoreID(nil, jxutils.GetJxStoreIDFromOrder(order), order.VendorID); storeMap != nil {
if storeMap, _ := dao.GetStoreMapByStoreID(nil, jxutils.GetJxStoreIDFromOrder(order), order.VendorID); storeMap != nil {
deliveryType = int(storeMap.DeliveryType)
}
return deliveryType

View File

@@ -12,6 +12,7 @@ import (
"git.rosy.net.cn/jx-callback/business/jxutils"
"git.rosy.net.cn/jx-callback/business/jxutils/weixinmsg"
"git.rosy.net.cn/jx-callback/business/model"
"git.rosy.net.cn/jx-callback/business/model/dao"
"git.rosy.net.cn/jx-callback/business/model/legacymodel"
"git.rosy.net.cn/jx-callback/business/model/legacymodel2"
"git.rosy.net.cn/jx-callback/business/partner"
@@ -99,6 +100,39 @@ func (s *WatchOrderInfo) SetOrder(order *model.GoodsOrder) (retVal *model.GoodsO
}
func (s *WatchOrderInfo) updateOrderStoreFeature(order *model.GoodsOrder) (err error) {
globals.SugarLogger.Debugf("updateOrderStoreFeature orderID:%s", order.VendorOrderID)
if globals.OrderUseNewTable {
jxStoreID := jxutils.GetJxStoreIDFromOrder(order)
if jxStoreID > 0 {
db := dao.GetDB()
storeMap, err2 := dao.GetStoreMapByStoreID(db, jxStoreID, order.VendorID)
if err = err2; err != nil {
return err
}
s.autoPickupTimeoutMinute = int(storeMap.AutoPickup)
s.storeDeliveryType = int(storeMap.DeliveryType)
if s.storeDeliveryType == scheduler.StoreDeliveryTypeByStore {
order.DeliveryFlag |= model.OrderDeliveryFlagMaskPurcahseDisabled
}
isNeedSchedule := s.storeDeliveryType == scheduler.StoreDeliveryTypeByStore || storeMap.DeliveryCompetition != 0
if isNeedSchedule {
vendorList, err2 := dao.GetStoreCouriersByStoreID(db, jxStoreID, -1)
if err = err2; err != nil {
return err
}
for _, v := range vendorList {
s.supported3rdCarriers = append(s.supported3rdCarriers, v.VendorID)
}
if len(s.supported3rdCarriers) == 0 {
isNeedSchedule = false
}
}
if !isNeedSchedule {
order.DeliveryFlag |= model.OrderDeliveryFlagMaskScheduleDisabled
}
}
return err
}
storefeature := &legacymodel2.Jxstorefeature{
Id: jxutils.GetJxStoreIDFromOrder(order),
}

View File

@@ -139,7 +139,7 @@ func AddStoreCategoryMap(db *DaoDB, storeID, categoryID int, vendorID int, vendo
return err
}
func GetStoreMapByStoreID(db *DaoDB, storeID, vendorID int) (storeMap *model.StoreMap) {
func GetStoreMapByStoreID(db *DaoDB, storeID, vendorID int) (storeMap *model.StoreMap, err error) {
if db == nil {
db = GetDB()
}
@@ -148,9 +148,35 @@ func GetStoreMapByStoreID(db *DaoDB, storeID, vendorID int) (storeMap *model.Sto
VendorID: vendorID,
}
storeMap.DeletedAt = utils.DefaultTimeValue
if err := GetEntity(db, storeMap, model.FieldStoreID, model.FieldVendorID, model.FieldDeletedAt); err != nil {
globals.SugarLogger.Warnf("getStoreDeliveryType read storefeature failed with error:%v", err)
return nil
if err = GetEntity(db, storeMap, model.FieldStoreID, model.FieldVendorID, model.FieldDeletedAt); err != nil {
globals.SugarLogger.Warnf("GetStoreMapByStoreID storeID:%d, vendorID:%d read storefeature failed with error:%v", storeID, vendorID, err)
return nil, err
}
return storeMap
return storeMap, nil
}
func GetStoreCouriersByStoreID(db *DaoDB, storeID, vendorID int) (storeMaps []*model.StoreMap, err error) {
if db == nil {
db = GetDB()
}
if err = utils.CallFuncLogError(func() error {
sql := `
SELECT *
FROM store_courier_map
WHERE store_id = ? AND status = ? AND deleted_at = ?
`
sqlParams := []interface{}{
storeID,
model.StoreStatusOpened,
utils.DefaultTimeValue,
}
if vendorID != -1 {
sql += " AND vendor_id = ?"
sqlParams = append(sqlParams, vendorID)
}
return GetRows(db, &storeMaps, sql, sqlParams...)
}, "GetStoreCouriersByStoreID storeID:%d, vendorID:%d", storeID, vendorID); err != nil {
return nil, err
}
return storeMaps, nil
}

View File

@@ -294,6 +294,18 @@ func (c *DeliveryHandler) getDeliveryID(order *model.GoodsOrder, db orm.Ormer) (
}
func (c *DeliveryHandler) getMTPSShopID(order *model.GoodsOrder, db orm.Ormer) (retVal string, err error) {
if globals.OrderUseNewTable {
db2 := dao.WrapDB(db)
storeCourierList, err2 := dao.GetStoreCouriersByStoreID(db2, jxutils.GetJxStoreIDFromOrder(order), model.VendorIDMTPS)
if err = err2; err != nil {
return "", err
}
retVal = storeCourierList[0].VendorStoreID
if beego.BConfig.RunMode == "dev" {
retVal = "test_0001"
}
return retVal, nil
}
sql := "SELECT zs_store_id FROM jx_to_zs_store_map WHERE jx_store_id = ?"
var lists []orm.ParamsList
JxStoreID := jxutils.GetJxStoreIDFromOrder(order)

View File

@@ -56,7 +56,8 @@ func Init() {
EnableStore = beego.AppConfig.DefaultBool("enableStore", false)
EnableStoreWrite = beego.AppConfig.DefaultBool("enableStoreWrite", false)
if EnableStore {
OrderUseNewTable = beego.AppConfig.DefaultBool("orderUseNewTable", false)
}
QiniuBucket = beego.AppConfig.String("qiniuBucket")
}