- orderUseNewTable almost ok.
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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),
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -56,7 +56,8 @@ func Init() {
|
||||
|
||||
EnableStore = beego.AppConfig.DefaultBool("enableStore", false)
|
||||
EnableStoreWrite = beego.AppConfig.DefaultBool("enableStoreWrite", false)
|
||||
OrderUseNewTable = beego.AppConfig.DefaultBool("orderUseNewTable", false)
|
||||
|
||||
if EnableStore {
|
||||
OrderUseNewTable = beego.AppConfig.DefaultBool("orderUseNewTable", false)
|
||||
}
|
||||
QiniuBucket = beego.AppConfig.String("qiniuBucket")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user