- 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 {
|
for _, v := range skuInfos {
|
||||||
skumapper[v.VendorSkuID] = v
|
skumapper[v.VendorSkuID] = v
|
||||||
}
|
}
|
||||||
globals.SugarLogger.Debug(sql)
|
|
||||||
globals.SugarLogger.Debug(utils.Format4Output(skumapper, false))
|
|
||||||
|
|
||||||
for _, v := range orderSkus {
|
for _, v := range orderSkus {
|
||||||
if v.VendorSkuID != "-70000" { // todo hard code
|
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) {
|
func getStoreDeliveryType(order *model.GoodsOrder) (deliveryType int) {
|
||||||
if globals.OrderUseNewTable {
|
if globals.OrderUseNewTable {
|
||||||
deliveryType = scheduler.StoreDeliveryTypeByPlatform // 缺省值
|
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)
|
deliveryType = int(storeMap.DeliveryType)
|
||||||
}
|
}
|
||||||
return deliveryType
|
return deliveryType
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ import (
|
|||||||
"git.rosy.net.cn/jx-callback/business/jxutils"
|
"git.rosy.net.cn/jx-callback/business/jxutils"
|
||||||
"git.rosy.net.cn/jx-callback/business/jxutils/weixinmsg"
|
"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"
|
||||||
|
"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/legacymodel"
|
||||||
"git.rosy.net.cn/jx-callback/business/model/legacymodel2"
|
"git.rosy.net.cn/jx-callback/business/model/legacymodel2"
|
||||||
"git.rosy.net.cn/jx-callback/business/partner"
|
"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) {
|
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{
|
storefeature := &legacymodel2.Jxstorefeature{
|
||||||
Id: jxutils.GetJxStoreIDFromOrder(order),
|
Id: jxutils.GetJxStoreIDFromOrder(order),
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -139,7 +139,7 @@ func AddStoreCategoryMap(db *DaoDB, storeID, categoryID int, vendorID int, vendo
|
|||||||
return err
|
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 {
|
if db == nil {
|
||||||
db = GetDB()
|
db = GetDB()
|
||||||
}
|
}
|
||||||
@@ -148,9 +148,35 @@ func GetStoreMapByStoreID(db *DaoDB, storeID, vendorID int) (storeMap *model.Sto
|
|||||||
VendorID: vendorID,
|
VendorID: vendorID,
|
||||||
}
|
}
|
||||||
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 {
|
||||||
globals.SugarLogger.Warnf("getStoreDeliveryType read storefeature failed with error:%v", err)
|
globals.SugarLogger.Warnf("GetStoreMapByStoreID storeID:%d, vendorID:%d read storefeature failed with error:%v", storeID, vendorID, err)
|
||||||
return nil
|
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) {
|
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 = ?"
|
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)
|
JxStoreID := jxutils.GetJxStoreIDFromOrder(order)
|
||||||
|
|||||||
@@ -56,7 +56,8 @@ func Init() {
|
|||||||
|
|
||||||
EnableStore = beego.AppConfig.DefaultBool("enableStore", false)
|
EnableStore = beego.AppConfig.DefaultBool("enableStore", false)
|
||||||
EnableStoreWrite = beego.AppConfig.DefaultBool("enableStoreWrite", 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")
|
QiniuBucket = beego.AppConfig.String("qiniuBucket")
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user