- remove enableStore and orderUseNewTable related stuff
This commit is contained in:
@@ -216,8 +216,6 @@ func (c *OrderManager) updateOrderSkuOtherInfo(order *model.GoodsOrder, db orm.O
|
|||||||
opNum = ""
|
opNum = ""
|
||||||
}
|
}
|
||||||
|
|
||||||
var sql string
|
|
||||||
if globals.OrderUseNewTable || jxStoreID == globals.DebugStoreID {
|
|
||||||
vendorSkuIDs := make([]int64, 0)
|
vendorSkuIDs := make([]int64, 0)
|
||||||
for _, v := range orderSkus {
|
for _, v := range orderSkus {
|
||||||
intVendorSkuID := utils.Str2Int64WithDefault(v.VendorSkuID, 0)
|
intVendorSkuID := utils.Str2Int64WithDefault(v.VendorSkuID, 0)
|
||||||
@@ -226,26 +224,17 @@ func (c *OrderManager) updateOrderSkuOtherInfo(order *model.GoodsOrder, db orm.O
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if len(vendorSkuIDs) > 0 {
|
if len(vendorSkuIDs) > 0 {
|
||||||
if order.VendorID == model.VendorIDELM { // todo 临时用
|
|
||||||
sql = `
|
|
||||||
SELECT t1.sku_id vendor_sku_id, IF(t1.custom_sku_id = -1, 0, t1.custom_sku_id) sku_id, t2.unit_price, t3.weight
|
|
||||||
FROM eb_sku_id_map t1
|
|
||||||
LEFT JOIN store_sku_bind t2 ON t1.custom_sku_id = t2.sku_id AND t2.deleted_at = ? AND t2.store_id = ?
|
|
||||||
LEFT JOIN sku t3 ON t1.custom_sku_id = t3.id AND t3.deleted_at = ?
|
|
||||||
WHERE t1.sku_id IN (-1,` + dao.GenQuestionMarks(len(vendorSkuIDs)) + ")"
|
|
||||||
} else {
|
|
||||||
tableName := "t2"
|
tableName := "t2"
|
||||||
if model.MultiStoresVendorMap[order.VendorID] == 1 {
|
if model.MultiStoresVendorMap[order.VendorID] == 1 {
|
||||||
tableName = "t1"
|
tableName = "t1"
|
||||||
}
|
}
|
||||||
fieldPrefix := dao.ConvertDBFieldPrefix(model.VendorNames[order.VendorID])
|
fieldPrefix := dao.ConvertDBFieldPrefix(model.VendorNames[order.VendorID])
|
||||||
sql = `
|
sql := `
|
||||||
SELECT %s.%s_id vendor_sku_id, t1.id sku_id, t2.unit_price, t1.weight
|
SELECT %s.%s_id vendor_sku_id, t1.id sku_id, t2.unit_price, t1.weight
|
||||||
FROM sku t1
|
FROM sku t1
|
||||||
LEFT JOIN store_sku_bind t2 ON t1.id = t2.sku_id AND t2.deleted_at = ? AND t2.store_id = ?
|
LEFT JOIN store_sku_bind t2 ON t1.id = t2.sku_id AND t2.deleted_at = ? AND t2.store_id = ?
|
||||||
WHERE t1.deleted_at = ? AND %s.%s_id IN (-1, ` + dao.GenQuestionMarks(len(vendorSkuIDs)) + ")"
|
WHERE t1.deleted_at = ? AND %s.%s_id IN (-1, ` + dao.GenQuestionMarks(len(vendorSkuIDs)) + ")"
|
||||||
sql = fmt.Sprintf(sql, tableName, fieldPrefix, tableName, fieldPrefix)
|
sql = fmt.Sprintf(sql, tableName, fieldPrefix, tableName, fieldPrefix)
|
||||||
}
|
|
||||||
var skuInfos []*tStoreSkuBindAndVendorSkuID
|
var skuInfos []*tStoreSkuBindAndVendorSkuID
|
||||||
db2 := dao.WrapDB(db)
|
db2 := dao.WrapDB(db)
|
||||||
if err = dao.GetRows(db2, &skuInfos, sql, utils.DefaultTimeValue, jxStoreID, utils.DefaultTimeValue, vendorSkuIDs); err != nil {
|
if err = dao.GetRows(db2, &skuInfos, sql, utils.DefaultTimeValue, jxStoreID, utils.DefaultTimeValue, vendorSkuIDs); err != nil {
|
||||||
@@ -277,91 +266,10 @@ func (c *OrderManager) updateOrderSkuOtherInfo(order *model.GoodsOrder, db orm.O
|
|||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
if order.VendorID == model.VendorIDJD { // todo 为什么要区分京东与其它?
|
|
||||||
sql = `
|
|
||||||
SELECT t1.jdskuid, t1.skuid, t2.price, t3.weight
|
|
||||||
FROM skumapper t1
|
|
||||||
LEFT JOIN jx_sku_store_bind t2 ON t1.skuid = t2.jxskuid AND t2.jxstoreid = ?
|
|
||||||
LEFT JOIN jx_sku t3 ON t2.jxskuid = t3.id
|
|
||||||
WHERE t1.jdskuid IN (-1,`
|
|
||||||
} else if order.VendorID == model.VendorIDELM {
|
|
||||||
sql = `
|
|
||||||
SELECT t1.sku_id, t1.custom_sku_id, t2.price, t3.weight
|
|
||||||
FROM eb_sku_id_map t1
|
|
||||||
LEFT JOIN jx_sku_store_bind t2 ON t1.custom_sku_id = t2.jxskuid AND t2.jxstoreid = ?
|
|
||||||
LEFT JOIN jx_sku t3 ON t2.jxskuid = t3.id
|
|
||||||
WHERE t1.sku_id IN (-1,`
|
|
||||||
} else {
|
|
||||||
sql = `
|
|
||||||
SELECT t2.jxskuid, t2.jxskuid, t2.price, t3.weight
|
|
||||||
FROM jx_sku_store_bind t2
|
|
||||||
LEFT JOIN jx_sku t3 ON t2.jxskuid = t3.id
|
|
||||||
WHERE t2.jxstoreid = ? AND t2.jxskuid IN (-1,`
|
|
||||||
}
|
|
||||||
|
|
||||||
sqlParams := []interface{}{jxStoreID}
|
|
||||||
for _, v := range orderSkus {
|
|
||||||
if order.VendorID == model.VendorIDJD || order.VendorID == model.VendorIDELM {
|
|
||||||
sql += "?,"
|
|
||||||
sqlParams = append(sqlParams, int(utils.Str2Int64(v.VendorSkuID)))
|
|
||||||
} else if v.SkuID != 0 {
|
|
||||||
sql += "?,"
|
|
||||||
sqlParams = append(sqlParams, v.SkuID)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
sql = sql[:len(sql)-1] + ")"
|
|
||||||
var lists []orm.ParamsList
|
|
||||||
if num, err := db.Raw(sql, sqlParams...).ValuesList(&lists); err == nil {
|
|
||||||
skumapper := make(map[string]orm.ParamsList)
|
|
||||||
for _, v := range lists {
|
|
||||||
skumapper[v[0].(string)] = v
|
|
||||||
}
|
|
||||||
// globals.SugarLogger.Debug(skumapper)
|
|
||||||
for _, v := range orderSkus {
|
|
||||||
if order.VendorID == model.VendorIDJD || order.VendorID == model.VendorIDELM {
|
|
||||||
if v.VendorSkuID != "-70000" { // todo hard code
|
|
||||||
if values, ok := skumapper[v.VendorSkuID]; ok {
|
|
||||||
v.JxSkuID = int(utils.Str2Int64(utils.Interface2String(values[1])))
|
|
||||||
v.ShopPrice = utils.Str2Int64WithDefault(utils.Interface2String(values[2]), 0)
|
|
||||||
order.ShopPrice += v.ShopPrice * int64(v.Count)
|
|
||||||
if v.ShopPrice == 0 {
|
|
||||||
globals.SugarLogger.Infof("updateOrderSkuOtherInfo [运营%s]%s订单sku门店价格为零(一般原因为没有门店价格信息),orderID:%s, StoreID:%d, SkuID:%d, sku:%v", opNum, model.VendorChineseNames[order.VendorID], order.VendorOrderID, jxStoreID, v.JxSkuID, v)
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
globals.SugarLogger.Infof("updateOrderSkuOtherInfo [运营%s]%s订单sku找不到门店价格(或商品映射),orderID:%s, StoreID:%d, VendorSkuID:%s, sku:%v", opNum, model.VendorChineseNames[order.VendorID], order.VendorOrderID, jxStoreID, v.VendorSkuID, v)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if v.SkuID != 0 {
|
|
||||||
if values, ok := skumapper[utils.Int2Str(v.SkuID)]; ok {
|
|
||||||
if v.Weight == 0 {
|
|
||||||
v.Weight = jxutils.FloatWeight2Int(float32(utils.Str2Float64WithDefault(utils.Interface2String(values[3]), 0.0)))
|
|
||||||
}
|
|
||||||
v.ShopPrice = utils.Str2Int64WithDefault(utils.Interface2String(values[2]), 0)
|
|
||||||
order.ShopPrice += v.ShopPrice * int64(v.Count)
|
|
||||||
if v.ShopPrice == 0 {
|
|
||||||
globals.SugarLogger.Infof("updateOrderSkuOtherInfo [运营%s]%s订单sku门店价格为零,orderID:%s, StoreID:%d, SkuID:%d, sku:%v", opNum, model.VendorChineseNames[order.VendorID], order.VendorOrderID, jxStoreID, v.SkuID, v)
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
globals.SugarLogger.Infof("updateOrderSkuOtherInfo [运营%s]%s订单sku找不到门店价格,orderID:%s, StoreID:%d, SkuID:%d, sku:%v", opNum, model.VendorChineseNames[order.VendorID], order.VendorOrderID, jxStoreID, v.SkuID, v)
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
globals.SugarLogger.Infof("updateOrderSkuOtherInfo [运营%s]%s订单sku没有京西ID信息,orderID:%s, VendorSkuID:%s, sku:%v", opNum, model.VendorChineseNames[order.VendorID], order.VendorOrderID, v.VendorSkuID, v)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
globals.SugarLogger.Errorf("updateOrderSkuOtherInfo can not get sku info for orderID:%s, num:%d, error:%v", order.VendorOrderID, num, err)
|
|
||||||
}
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *OrderManager) updateOrderOtherInfo(order *model.GoodsOrder, db orm.Ormer) (err error) {
|
func (c *OrderManager) updateOrderOtherInfo(order *model.GoodsOrder, db orm.Ormer) (err error) {
|
||||||
globals.SugarLogger.Debugf("updateOrderOtherInfo orderID:%s, VendorStoreID:%s", order.VendorOrderID, order.VendorStoreID)
|
globals.SugarLogger.Debugf("updateOrderOtherInfo orderID:%s, VendorStoreID:%s", order.VendorOrderID, order.VendorStoreID)
|
||||||
|
|
||||||
var sql string
|
|
||||||
if globals.OrderUseNewTable || order.VendorStoreID == globals.DebugJdStoreID {
|
|
||||||
storeMap := &model.StoreMap{
|
storeMap := &model.StoreMap{
|
||||||
VendorID: order.VendorID,
|
VendorID: order.VendorID,
|
||||||
VendorStoreID: order.VendorStoreID,
|
VendorStoreID: order.VendorStoreID,
|
||||||
@@ -373,36 +281,6 @@ func (c *OrderManager) updateOrderOtherInfo(order *model.GoodsOrder, db orm.Orme
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
order.JxStoreID = storeMap.StoreID
|
order.JxStoreID = storeMap.StoreID
|
||||||
} else {
|
|
||||||
if order.VendorID == model.VendorIDJD {
|
|
||||||
sql = `
|
|
||||||
SELECT t1.jxstoreid
|
|
||||||
FROM jxstoremap t1
|
|
||||||
/* JOIN jxstore t2 ON t1.jxstoreid = t2.storeid */
|
|
||||||
WHERE t1.jdstoreid = ?
|
|
||||||
`
|
|
||||||
} else if order.VendorID == model.VendorIDELM {
|
|
||||||
sql = `
|
|
||||||
SELECT t1.jx_store_id
|
|
||||||
FROM jx_to_elm_store_map t1
|
|
||||||
/* 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))
|
|
||||||
}
|
|
||||||
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 {
|
|
||||||
if order.VendorID != model.VendorIDEBAI {
|
|
||||||
globals.SugarLogger.Infof("updateOrderOtherInfo [运营]订单orderID:%s在京西找不到相应的京西门店信息,请处理, VendorStoreID:%s, num:%d, error:%v", order.VendorOrderID, order.VendorStoreID, num, err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if err = c.updateOrderSkuOtherInfo(order, db); err == nil {
|
if err = c.updateOrderSkuOtherInfo(order, db); err == nil {
|
||||||
if order.Weight == 0 {
|
if order.Weight == 0 {
|
||||||
for _, v := range order.Skus {
|
for _, v := range order.Skus {
|
||||||
|
|||||||
@@ -89,7 +89,7 @@ func (c *OrderManager) GetStoreOrderCountInfo(ctx *jxcontext.Context, storeID st
|
|||||||
|
|
||||||
func (c *OrderManager) GetOrderSkuInfo(ctx *jxcontext.Context, vendorOrderID string, vendorID int) (skus []*model.OrderSkuExt, err error) {
|
func (c *OrderManager) GetOrderSkuInfo(ctx *jxcontext.Context, vendorOrderID string, vendorID int) (skus []*model.OrderSkuExt, err error) {
|
||||||
globals.SugarLogger.Debugf("GetOrderSkuInfo orderID:%s", vendorOrderID)
|
globals.SugarLogger.Debugf("GetOrderSkuInfo orderID:%s", vendorOrderID)
|
||||||
if globals.OrderUseNewTable {
|
|
||||||
fullSkuNameSQL := "t1.sku_name"
|
fullSkuNameSQL := "t1.sku_name"
|
||||||
if vendorID == model.VendorIDJD {
|
if vendorID == model.VendorIDJD {
|
||||||
fullSkuNameSQL = "CONCAT(t1.sku_name, IF(t3.is_spu = 1 AND LOCATE(';', t1.sku_name) = 0, CONCAT('[约', t2.spec_quality, t2.spec_unit, '/', t3.unit, ']'), ''))"
|
fullSkuNameSQL = "CONCAT(t1.sku_name, IF(t3.is_spu = 1 AND LOCATE(';', t1.sku_name) = 0, CONCAT('[约', t2.spec_quality, t2.spec_unit, '/', t3.unit, ']'), ''))"
|
||||||
@@ -135,50 +135,6 @@ func (c *OrderManager) GetOrderSkuInfo(ctx *jxcontext.Context, vendorOrderID str
|
|||||||
}
|
}
|
||||||
return skus, nil
|
return skus, nil
|
||||||
}
|
}
|
||||||
db := orm.NewOrm()
|
|
||||||
var num int64
|
|
||||||
// 为了显示图片,非正规的使用导出表
|
|
||||||
if vendorID == model.VendorIDELM {
|
|
||||||
num, err = db.Raw(`
|
|
||||||
SELECT t1.*, IF(t3.img IS NULL OR t3.img = '', t4.col_imageUrl, t3.img) image
|
|
||||||
FROM order_sku t1
|
|
||||||
LEFT JOIN jx_sku t2 ON IF(t1.jx_sku_id != 0, t1.jx_sku_id, t1.sku_id) = t2.id
|
|
||||||
LEFT JOIN jx_sku_name t3 ON t2.nameid = t3.id
|
|
||||||
LEFT JOIN ede_skus t4 ON t1.vendor_sku_id = t4.col_id
|
|
||||||
WHERE vendor_order_id = ? AND vendor_id = ?
|
|
||||||
ORDER BY t1.sku_name
|
|
||||||
`, vendorOrderID, vendorID).QueryRows(&skus)
|
|
||||||
} else if vendorID == model.VendorIDJD {
|
|
||||||
num, err = db.Raw(`
|
|
||||||
SELECT t1.*, IF(t3.img IS NULL OR t3.img = '', t4.image, t3.img) image
|
|
||||||
FROM order_sku t1
|
|
||||||
LEFT JOIN jx_sku t2 ON IF(t1.jx_sku_id != 0, t1.jx_sku_id, t1.sku_id) = t2.id
|
|
||||||
LEFT JOIN jx_sku_name t3 ON t2.nameid = t3.id
|
|
||||||
LEFT JOIN jde_sku_infos t4 ON t1.vendor_sku_id = t4.skuId
|
|
||||||
WHERE vendor_order_id = ? AND vendor_id = ?
|
|
||||||
ORDER BY t1.sku_name
|
|
||||||
`, vendorOrderID, vendorID).QueryRows(&skus)
|
|
||||||
}
|
|
||||||
|
|
||||||
if err != nil || num == 0 {
|
|
||||||
num, err = db.Raw(`
|
|
||||||
SELECT t1.*, t3.img image
|
|
||||||
FROM order_sku t1
|
|
||||||
LEFT JOIN jx_sku t2 ON IF(t1.jx_sku_id != 0, t1.jx_sku_id, t1.sku_id) = t2.id
|
|
||||||
LEFT JOIN jx_sku_name t3 ON t2.nameid = t3.id
|
|
||||||
WHERE vendor_order_id = ? AND vendor_id = ?
|
|
||||||
ORDER BY t1.sku_name
|
|
||||||
`, vendorOrderID, vendorID).QueryRows(&skus)
|
|
||||||
}
|
|
||||||
if err == nil && num > 0 {
|
|
||||||
return skus, nil
|
|
||||||
}
|
|
||||||
if err == nil {
|
|
||||||
err = ErrCanNotFindOrder
|
|
||||||
}
|
|
||||||
globals.SugarLogger.Infof("GetOrderSkuInfo orderID:%s vendorID:%d failed with error:%v", vendorOrderID, vendorID, err)
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *OrderManager) GetOrderInfo(ctx *jxcontext.Context, vendorOrderID string, vendorID int, isRefresh bool) (order *model.GoodsOrderExt, err error) {
|
func (c *OrderManager) GetOrderInfo(ctx *jxcontext.Context, vendorOrderID string, vendorID int, isRefresh bool) (order *model.GoodsOrderExt, err error) {
|
||||||
globals.SugarLogger.Debugf("GetOrderInfo orderID:%s", vendorOrderID)
|
globals.SugarLogger.Debugf("GetOrderInfo orderID:%s", vendorOrderID)
|
||||||
|
|||||||
@@ -16,7 +16,6 @@ import (
|
|||||||
"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/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/partner"
|
"git.rosy.net.cn/jx-callback/business/partner"
|
||||||
"git.rosy.net.cn/jx-callback/globals"
|
"git.rosy.net.cn/jx-callback/globals"
|
||||||
"github.com/astaxie/beego/orm"
|
"github.com/astaxie/beego/orm"
|
||||||
@@ -107,7 +106,6 @@ 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.GetSaleStoreIDFromOrder(order)
|
jxStoreID := jxutils.GetSaleStoreIDFromOrder(order)
|
||||||
if globals.OrderUseNewTable || jxStoreID == globals.DebugStoreID {
|
|
||||||
if jxStoreID > 0 {
|
if jxStoreID > 0 {
|
||||||
db := dao.GetDB()
|
db := dao.GetDB()
|
||||||
storeMap, err2 := dao.FakeGetStoreMapByStoreID(db, jxStoreID, order.VendorID)
|
storeMap, err2 := dao.FakeGetStoreMapByStoreID(db, jxStoreID, order.VendorID)
|
||||||
@@ -142,53 +140,6 @@ func (s *WatchOrderInfo) updateOrderStoreFeature(order *model.GoodsOrder) (err e
|
|||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
storefeature := &legacymodel2.Jxstorefeature{
|
|
||||||
Id: jxStoreID,
|
|
||||||
}
|
|
||||||
if storefeature.Id > 0 {
|
|
||||||
db := orm.NewOrm()
|
|
||||||
utils.CallFuncLogError(func() error {
|
|
||||||
err = db.Read(storefeature, "Id")
|
|
||||||
if err == nil {
|
|
||||||
s.autoPickupTimeoutMinute = int(storefeature.Autopickup)
|
|
||||||
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)
|
|
||||||
}
|
|
||||||
if s.storeDeliveryType == scheduler.StoreDeliveryTypeByStore {
|
|
||||||
order.DeliveryFlag |= model.OrderDeliveryFlagMaskPurcahseDisabled
|
|
||||||
}
|
|
||||||
isNeedSchedule := false
|
|
||||||
if (s.storeDeliveryType == scheduler.StoreDeliveryTypeByStore) ||
|
|
||||||
(order.VendorID == model.VendorIDJD && storefeature.JdCompetition != 0) ||
|
|
||||||
((order.VendorID == model.VendorIDELM || order.VendorID == model.VendorIDEBAI) && storefeature.ElmCompetition != 0) {
|
|
||||||
isNeedSchedule = true
|
|
||||||
}
|
|
||||||
if isNeedSchedule {
|
|
||||||
if storefeature.SupportMtps != 0 {
|
|
||||||
s.supported3rdCarriers = append(s.supported3rdCarriers, model.VendorIDMTPS)
|
|
||||||
}
|
|
||||||
if storefeature.SupportDada != 0 {
|
|
||||||
s.supported3rdCarriers = append(s.supported3rdCarriers, model.VendorIDDada)
|
|
||||||
}
|
|
||||||
if storefeature.SupportFengNiao != 0 {
|
|
||||||
s.supported3rdCarriers = append(s.supported3rdCarriers, model.VendorIDFengNiao)
|
|
||||||
}
|
|
||||||
if len(s.supported3rdCarriers) == 0 {
|
|
||||||
isNeedSchedule = false
|
|
||||||
globals.SugarLogger.Infof("updateOrderStoreFeature orderID:%s no at least one carrier supported", order.VendorOrderID)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if !isNeedSchedule {
|
|
||||||
order.DeliveryFlag |= model.OrderDeliveryFlagMaskScheduleDisabled
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return err
|
|
||||||
}, "updateOrderStoreFeature")
|
|
||||||
}
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
sch := &DefScheduler{}
|
sch := &DefScheduler{}
|
||||||
|
|||||||
@@ -1,59 +0,0 @@
|
|||||||
package legacymodel2
|
|
||||||
|
|
||||||
type Jxorder struct {
|
|
||||||
Id int `orm:"column(id);auto"`
|
|
||||||
VenderId int8 `orm:"column(vender_id);null"`
|
|
||||||
OrderId int64 `orm:"column(order_id);null;unique"`
|
|
||||||
JxStoreId string `orm:"column(jx_store_id);size(20);null"`
|
|
||||||
JxStoreName string `orm:"column(jx_store_name);size(100);null"`
|
|
||||||
OrderNum int `orm:"column(order_num);null"`
|
|
||||||
OrderStatus int8 `orm:"column(order_status);null"`
|
|
||||||
OrderStatusTime string `orm:"column(order_status_time);size(50);null"`
|
|
||||||
BusinessTag string `orm:"column(business_tag);size(100);null"`
|
|
||||||
SkuCount int `orm:"column(sku_count);null"`
|
|
||||||
OrderBuyerRemark string `orm:"column(order_buyer_remark);size(500);null"`
|
|
||||||
BuyerFullName string `orm:"column(buyer_full_name);size(100);null"`
|
|
||||||
BuyerFullAddress string `orm:"column(buyer_full_address);size(500);null"`
|
|
||||||
BuyerMobile string `orm:"column(buyer_mobile);size(100);null"`
|
|
||||||
BuyerCoordType int `orm:"column(buyer_coord_type);null"`
|
|
||||||
BuyerLng float64 `orm:"column(buyer_lng);null"`
|
|
||||||
BuyerLat float64 `orm:"column(buyer_lat);null"`
|
|
||||||
StoreLng float64 `orm:"column(store_lng);null;default(-1)"`
|
|
||||||
StoreLat float64 `orm:"column(store_lat);null;default(-1)"`
|
|
||||||
DeliveryPackageWeight float64 `orm:"column(delivery_package_weight);null"`
|
|
||||||
DeliveryCarrierNo string `orm:"column(delivery_carrier_no);size(20);null"`
|
|
||||||
DeliveryCarrierName string `orm:"column(delivery_carrier_name);size(100);null"`
|
|
||||||
DeliveryManNo string `orm:"column(delivery_man_no);size(20);null"`
|
|
||||||
DeliveryManName string `orm:"column(delivery_man_name);size(20);null"`
|
|
||||||
DeliveryManPhone string `orm:"column(delivery_man_phone);size(20);null"`
|
|
||||||
DeliveryBillNo string `orm:"column(delivery_bill_no);size(100);null"`
|
|
||||||
DeliveryStatus int8 `orm:"column(delivery_status);null"`
|
|
||||||
DeliveryConfirmTime string `orm:"column(delivery_confirm_time);size(50);null"`
|
|
||||||
AdjustIsExists int8 `orm:"column(adjust_is_exists);null"`
|
|
||||||
AdjustId int64 `orm:"column(adjust_id);null"`
|
|
||||||
OrderTotalMoney int `orm:"column(order_total_money);null"`
|
|
||||||
OrderDiscountMoney int `orm:"column(order_discount_money);null"`
|
|
||||||
OrderPlatDiscount int `orm:"column(order_plat_discount);null"`
|
|
||||||
OrderVenderDiscount int `orm:"column(order_vender_discount);null"`
|
|
||||||
OrderBuyerPayableMoney int `orm:"column(order_buyer_payable_money);null"`
|
|
||||||
OrderReceivableFreight int `orm:"column(order_receivable_freight);null"`
|
|
||||||
PlatFreightDis int `orm:"column(plat_freight_dis);null"`
|
|
||||||
VenderFreightDis int `orm:"column(vender_freight_dis);null"`
|
|
||||||
Tips int `orm:"column(tips);null"`
|
|
||||||
Percentage float64 `orm:"column(percentage);null"`
|
|
||||||
Allowance int `orm:"column(allowance);null"`
|
|
||||||
CityName string `orm:"column(city_name);size(20);null"`
|
|
||||||
OrderStartTime string `orm:"column(order_start_time);size(50);null"`
|
|
||||||
OrderPreEndDelivTime string `orm:"column(order_pre_end_deliv_time);size(50);null"`
|
|
||||||
OrderEndTime string `orm:"column(order_end_time);size(50);null"`
|
|
||||||
JdStoreId string `orm:"column(jd_store_id);size(20);null"`
|
|
||||||
DeliveryPrice float64 `orm:"column(delivery_price);null;digits(6);decimals(2);default(0.00)"`
|
|
||||||
DeliveryPrice1 float64 `orm:"column(delivery_price1);null;digits(6);decimals(2);default(0.00)"`
|
|
||||||
DeliveryStartTime string `orm:"column(delivery_start_time);size(50);null"`
|
|
||||||
DeliveryFinishTime string `orm:"column(delivery_finish_time);size(50);null"`
|
|
||||||
IsRecallDelivery int `orm:"column(is_recall_delivery);default(0);null"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (t *Jxorder) TableName() string {
|
|
||||||
return "jxorder"
|
|
||||||
}
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
package legacymodel2
|
|
||||||
|
|
||||||
type Jxordersku struct {
|
|
||||||
Id int `orm:"column(id);auto"`
|
|
||||||
VenderId int8 `orm:"column(vender_id);null"`
|
|
||||||
OrderId int64 `orm:"column(order_id);null"`
|
|
||||||
JxSkuId int `orm:"column(jx_sku_id);null"`
|
|
||||||
SkuName string `orm:"column(sku_name);size(200);null"`
|
|
||||||
JxStoreId int `orm:"column(jx_store_id);null"`
|
|
||||||
SkuPrice int `orm:"column(sku_price);null"`
|
|
||||||
SkuCount int `orm:"column(sku_count);null"`
|
|
||||||
IsGift int8 `orm:"column(is_gift);null"`
|
|
||||||
PromotionType int `orm:"column(promotion_type);null"`
|
|
||||||
SkuPlatDiscount int `orm:"column(sku_plat_discount);null"`
|
|
||||||
SkuVenderDiscount int `orm:"column(sku_vender_discount);null"`
|
|
||||||
SkuImg string `orm:"column(sku_img);size(120);null"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (t *Jxordersku) TableName() string {
|
|
||||||
return "jxordersku"
|
|
||||||
}
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
package legacymodel2
|
|
||||||
|
|
||||||
type Jxstorefeature struct {
|
|
||||||
Id int `orm:"column(storeid);pk"`
|
|
||||||
Autopickup int8 `orm:"column(autopickup);null"`
|
|
||||||
JdDeliveryType int8 `orm:"column(jd_delivery_type);default(0)"` // 京东店的配送方式
|
|
||||||
ElmDeliveryType int8 `orm:"column(elm_delivery_type);default(0)"` // 饿了么店的配送方式
|
|
||||||
JdCompetition int8 `orm:"default(1)"` // 京东门店是否支持3方配送
|
|
||||||
ElmCompetition int8 `orm:"default(0)"` // 饿了么门店是否支持3方配送
|
|
||||||
SupportMtps int8 `orm:"default(1)"` // 是否支持美团配送
|
|
||||||
SupportDada int8 `orm:"default(0)"` // 是否支持达达
|
|
||||||
SupportFengNiao int8 `orm:"default(0)"` // 是否支持蜂鸟
|
|
||||||
|
|
||||||
// Transmtzs int8 `orm:"column(transmtzs);null"` // 不用了
|
|
||||||
// Deliverycompetition int8 `orm:"column(deliverycompetition);null"` // 不用了
|
|
||||||
}
|
|
||||||
|
|
||||||
func (t *Jxstorefeature) TableName() string {
|
|
||||||
return "jxstorefeature"
|
|
||||||
}
|
|
||||||
@@ -193,10 +193,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
|
|
||||||
jxStoreID := jxutils.GetSaleStoreIDFromOrder(order)
|
jxStoreID := jxutils.GetSaleStoreIDFromOrder(order)
|
||||||
if globals.OrderUseNewTable || jxStoreID == globals.DebugStoreID {
|
sql := `
|
||||||
sql = `
|
|
||||||
SELECT t2.tel_code
|
SELECT t2.tel_code
|
||||||
FROM store t1
|
FROM store t1
|
||||||
JOIN place t2 on t1.city_code = t2.code
|
JOIN place t2 on t1.city_code = t2.code
|
||||||
@@ -215,45 +213,6 @@ func (c *DeliveryHandler) getDataCityCodeFromOrder(order *model.GoodsOrder, db o
|
|||||||
}
|
}
|
||||||
return codeInfo.TelCode, nil
|
return codeInfo.TelCode, nil
|
||||||
}
|
}
|
||||||
storeID := utils.Str2Int64(order.VendorStoreID)
|
|
||||||
if order.VendorID == model.VendorIDJD {
|
|
||||||
sql = `
|
|
||||||
SELECT t2.tel_code
|
|
||||||
FROM jxstoremap t0
|
|
||||||
JOIN jxstore t1 ON t0.jxstoreid = t1.storeid
|
|
||||||
JOIN city t2 ON t1.area = t2.citycode
|
|
||||||
WHERE t0.jdstoreid = ?
|
|
||||||
`
|
|
||||||
} else if order.VendorID == model.VendorIDELM {
|
|
||||||
sql = `
|
|
||||||
SELECT t2.tel_code
|
|
||||||
FROM jx_to_elm_store_map t0
|
|
||||||
JOIN jxstore t1 ON t0.jx_store_id = t1.storeid
|
|
||||||
JOIN city t2 ON t1.area = t2.citycode
|
|
||||||
WHERE t0.elm_store_id = ?
|
|
||||||
`
|
|
||||||
} else { // todo 为什么不统一用jxstoreid来找?
|
|
||||||
storeID = int64(jxutils.GetSaleStoreIDFromOrder(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, storeID).ValuesList(&lists)
|
|
||||||
if err == nil && num == 1 {
|
|
||||||
retVal = lists[0][0].(string)
|
|
||||||
} else {
|
|
||||||
globals.SugarLogger.Errorf("GetDataCityCodeFromOrder can not find store info for vendorID:%d, store:%s, num:%d, error:%v", order.VendorID, order.VendorStoreID, num, err)
|
|
||||||
if err == nil {
|
|
||||||
err = ErrCanNotFindDadaCityCode
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return retVal, err
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *DeliveryHandler) getDadaShopID(order *model.GoodsOrder, db orm.Ormer) (retVal string, err error) {
|
func (c *DeliveryHandler) getDadaShopID(order *model.GoodsOrder, db orm.Ormer) (retVal string, err error) {
|
||||||
saleStoreID := jxutils.GetSaleStoreIDFromOrder(order)
|
saleStoreID := jxutils.GetSaleStoreIDFromOrder(order)
|
||||||
|
|||||||
@@ -18,14 +18,12 @@ mtwmCallbackURL = "http://callback.jxc4.com"
|
|||||||
|
|
||||||
autonaviKey = "4427170f870af2110becb8852d36ab08"
|
autonaviKey = "4427170f870af2110becb8852d36ab08"
|
||||||
|
|
||||||
enableStore = true
|
|
||||||
enableStoreWrite = false
|
enableStoreWrite = false
|
||||||
enableEbaiStoreWrite = false
|
enableEbaiStoreWrite = false
|
||||||
enableElmStoreWrite = true
|
enableElmStoreWrite = true
|
||||||
enableMtwmStoreWrite = false
|
enableMtwmStoreWrite = false
|
||||||
enableWscStoreWrite = false
|
enableWscStoreWrite = false
|
||||||
|
|
||||||
orderUseNewTable = true
|
|
||||||
enablePendingChange = true
|
enablePendingChange = true
|
||||||
|
|
||||||
aliKey = "LTAI6xJUGaP6WdMQ"
|
aliKey = "LTAI6xJUGaP6WdMQ"
|
||||||
@@ -122,7 +120,6 @@ disableEbai = true
|
|||||||
|
|
||||||
dbConnectStr = "root:WebServer@1@tcp(db1.int.jxc4.com:3306)/jxd_dev_2?charset=utf8mb4&loc=Local&parseTime=true"
|
dbConnectStr = "root:WebServer@1@tcp(db1.int.jxc4.com:3306)/jxd_dev_2?charset=utf8mb4&loc=Local&parseTime=true"
|
||||||
|
|
||||||
enableStore = true
|
|
||||||
enableStoreWrite = true
|
enableStoreWrite = true
|
||||||
|
|
||||||
[prod3]
|
[prod3]
|
||||||
@@ -141,7 +138,6 @@ disableEbai = true
|
|||||||
|
|
||||||
dbConnectStr = "root:WebServer@1@tcp(db1.int.jxc4.com:3306)/jxd_dev_2?charset=utf8mb4&loc=Local&parseTime=true"
|
dbConnectStr = "root:WebServer@1@tcp(db1.int.jxc4.com:3306)/jxd_dev_2?charset=utf8mb4&loc=Local&parseTime=true"
|
||||||
|
|
||||||
enableStore = true
|
|
||||||
enableStoreWrite = true
|
enableStoreWrite = true
|
||||||
|
|
||||||
[test]
|
[test]
|
||||||
|
|||||||
@@ -3,7 +3,6 @@ package beegodb
|
|||||||
import (
|
import (
|
||||||
"git.rosy.net.cn/jx-callback/business/model"
|
"git.rosy.net.cn/jx-callback/business/model"
|
||||||
"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/globals"
|
"git.rosy.net.cn/jx-callback/globals"
|
||||||
"github.com/astaxie/beego"
|
"github.com/astaxie/beego"
|
||||||
"github.com/astaxie/beego/orm"
|
"github.com/astaxie/beego/orm"
|
||||||
@@ -16,9 +15,6 @@ func Init() {
|
|||||||
orm.RegisterModel(new(legacymodel.BlackClient))
|
orm.RegisterModel(new(legacymodel.BlackClient))
|
||||||
orm.RegisterModel(new(legacymodel.JxBadComments))
|
orm.RegisterModel(new(legacymodel.JxBadComments))
|
||||||
orm.RegisterModel(new(legacymodel.StoreBill))
|
orm.RegisterModel(new(legacymodel.StoreBill))
|
||||||
if !globals.OrderUseNewTable {
|
|
||||||
orm.RegisterModel(new(legacymodel2.Jxstorefeature))
|
|
||||||
}
|
|
||||||
orm.RegisterModel(new(legacymodel.TempLog))
|
orm.RegisterModel(new(legacymodel.TempLog))
|
||||||
orm.RegisterModel(new(legacymodel.WeiXins), new(legacymodel.JxBackendUser))
|
orm.RegisterModel(new(legacymodel.WeiXins), new(legacymodel.JxBackendUser))
|
||||||
|
|
||||||
@@ -32,7 +28,6 @@ func Init() {
|
|||||||
orm.RegisterModel(new(model.Message))
|
orm.RegisterModel(new(model.Message))
|
||||||
orm.RegisterModel(new(model.MessageStatus))
|
orm.RegisterModel(new(model.MessageStatus))
|
||||||
|
|
||||||
if globals.EnableStore {
|
|
||||||
orm.RegisterModel(&model.Place{})
|
orm.RegisterModel(&model.Place{})
|
||||||
orm.RegisterModel(&model.Store{}, &model.StoreSub{}, &model.StoreMap{}, &model.StoreCourierMap{})
|
orm.RegisterModel(&model.Store{}, &model.StoreSub{}, &model.StoreMap{}, &model.StoreCourierMap{})
|
||||||
orm.RegisterModel(&model.SkuVendorCategory{}, &model.StoreSkuCategoryMap{}, &model.SkuName{}, &model.Sku{}, &model.SkuNamePlaceBind{}, &model.StoreSkuBind{})
|
orm.RegisterModel(&model.SkuVendorCategory{}, &model.StoreSkuCategoryMap{}, &model.SkuName{}, &model.Sku{}, &model.SkuNamePlaceBind{}, &model.StoreSkuBind{})
|
||||||
@@ -40,7 +35,6 @@ func Init() {
|
|||||||
// orm.RegisterModel(&model.DurableTask{}, &model.DurableTaskItem{})
|
// orm.RegisterModel(&model.DurableTask{}, &model.DurableTaskItem{})
|
||||||
|
|
||||||
orm.RegisterModel(&model.Promotion{}, &model.PromotionStore{}, &model.PromotionSku{})
|
orm.RegisterModel(&model.Promotion{}, &model.PromotionStore{}, &model.PromotionSku{})
|
||||||
}
|
|
||||||
|
|
||||||
if globals.EnablePendingChange {
|
if globals.EnablePendingChange {
|
||||||
orm.RegisterModel(&model.StoreOpRequest{})
|
orm.RegisterModel(&model.StoreOpRequest{})
|
||||||
|
|||||||
@@ -23,7 +23,6 @@ var (
|
|||||||
AliKey string
|
AliKey string
|
||||||
AliSecret string
|
AliSecret string
|
||||||
|
|
||||||
EnableStore bool
|
|
||||||
EnableStoreWrite bool
|
EnableStoreWrite bool
|
||||||
EnableEbaiStoreWrite bool
|
EnableEbaiStoreWrite bool
|
||||||
EnableElmStoreWrite bool
|
EnableElmStoreWrite bool
|
||||||
@@ -31,8 +30,6 @@ var (
|
|||||||
EnableWscStoreWrite bool
|
EnableWscStoreWrite bool
|
||||||
EnablePendingChange bool
|
EnablePendingChange bool
|
||||||
|
|
||||||
OrderUseNewTable bool
|
|
||||||
|
|
||||||
QiniuBucket string
|
QiniuBucket string
|
||||||
WeimobCallbackURL string
|
WeimobCallbackURL string
|
||||||
WeimobStateSecret string
|
WeimobStateSecret string
|
||||||
@@ -58,7 +55,6 @@ func Init() {
|
|||||||
AliKey = beego.AppConfig.DefaultString("aliKey", "")
|
AliKey = beego.AppConfig.DefaultString("aliKey", "")
|
||||||
AliSecret = beego.AppConfig.DefaultString("aliSecret", "")
|
AliSecret = beego.AppConfig.DefaultString("aliSecret", "")
|
||||||
|
|
||||||
EnableStore = beego.AppConfig.DefaultBool("enableStore", false)
|
|
||||||
EnableStoreWrite = beego.AppConfig.DefaultBool("enableStoreWrite", false)
|
EnableStoreWrite = beego.AppConfig.DefaultBool("enableStoreWrite", false)
|
||||||
EnableEbaiStoreWrite = beego.AppConfig.DefaultBool("enableEbaiStoreWrite", false)
|
EnableEbaiStoreWrite = beego.AppConfig.DefaultBool("enableEbaiStoreWrite", false)
|
||||||
EnableElmStoreWrite = beego.AppConfig.DefaultBool("enableElmStoreWrite", false)
|
EnableElmStoreWrite = beego.AppConfig.DefaultBool("enableElmStoreWrite", false)
|
||||||
@@ -66,9 +62,6 @@ func Init() {
|
|||||||
EnableWscStoreWrite = beego.AppConfig.DefaultBool("enableWscStoreWrite", false)
|
EnableWscStoreWrite = beego.AppConfig.DefaultBool("enableWscStoreWrite", false)
|
||||||
EnablePendingChange = beego.AppConfig.DefaultBool("enablePendingChange", false)
|
EnablePendingChange = beego.AppConfig.DefaultBool("enablePendingChange", false)
|
||||||
|
|
||||||
if EnableStore {
|
|
||||||
OrderUseNewTable = beego.AppConfig.DefaultBool("orderUseNewTable", false)
|
|
||||||
}
|
|
||||||
QiniuBucket = beego.AppConfig.String("qiniuBucket")
|
QiniuBucket = beego.AppConfig.String("qiniuBucket")
|
||||||
|
|
||||||
WeimobCallbackURL = beego.AppConfig.DefaultString("weimobCallbackURL", "")
|
WeimobCallbackURL = beego.AppConfig.DefaultString("weimobCallbackURL", "")
|
||||||
|
|||||||
2
main.go
2
main.go
@@ -32,10 +32,8 @@ func Init() {
|
|||||||
defsch.Init()
|
defsch.Init()
|
||||||
api.Init()
|
api.Init()
|
||||||
cms.InitServiceInfo(Version, BuildDate, GitCommit)
|
cms.InitServiceInfo(Version, BuildDate, GitCommit)
|
||||||
if globals.EnableStore {
|
|
||||||
promotion.Init()
|
promotion.Init()
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// 返回true表示非运行服务
|
// 返回true表示非运行服务
|
||||||
func checkCmdFlags() bool {
|
func checkCmdFlags() bool {
|
||||||
|
|||||||
Reference in New Issue
Block a user