Merge remote-tracking branch 'origin/mark' into don

This commit is contained in:
Rosy-zhudan
2019-09-20 11:31:22 +08:00
8 changed files with 65 additions and 19 deletions

View File

@@ -103,6 +103,7 @@ var (
"10:00:00", "10:00:00",
"11:00:00", "11:00:00",
"15:00:00", "15:00:00",
"20:00:00",
} }
) )

View File

@@ -28,29 +28,30 @@ var (
func CreateStoreCategoryByStoreSku(ctx *jxcontext.Context, vendorID, storeID int, vendorStoreID string, nameIDs, skuIDs []int) (err error) { func CreateStoreCategoryByStoreSku(ctx *jxcontext.Context, vendorID, storeID int, vendorStoreID string, nameIDs, skuIDs []int) (err error) {
globals.SugarLogger.Debugf("CreateStoreCategoryByStoreSku vendorID:%d, storeID:%d", vendorID, storeID) globals.SugarLogger.Debugf("CreateStoreCategoryByStoreSku vendorID:%d, storeID:%d", vendorID, storeID)
db := dao.GetDB() db := dao.GetDB()
dao.Begin(db)
defer func() { defer func() {
if r := recover(); r != nil || err != nil { if r := recover(); r != nil {
dao.Rollback(db) dao.Rollback(db)
if r != nil {
panic(r) panic(r)
} }
}
}() }()
for i := 0; i < 2; i++ { for i := 0; i < 2; i++ {
localCats, err2 := dao.GetSkusCategories(db, vendorID, storeID, skuIDs, i+1) localCats, err2 := dao.GetSkusCategories(db, vendorID, storeID, skuIDs, i+1)
if err = err2; err != nil { if err = err2; err != nil {
return err return err
} }
if len(localCats) > 0 {
dao.Begin(db)
for _, v := range localCats { for _, v := range localCats {
if v.MapID == 0 { if v.MapID == 0 {
if err = dao.AddStoreCategoryMap(db, storeID, v.ID, vendorID, "", model.SyncFlagNewMask, ctx.GetUserName()); err != nil { if err = dao.AddStoreCategoryMap(db, storeID, v.ID, vendorID, "", model.SyncFlagNewMask, ctx.GetUserName()); err != nil {
dao.Rollback(db)
return err return err
} }
} }
} }
}
dao.Commit(db) dao.Commit(db)
}
}
return err return err
} }
@@ -257,6 +258,12 @@ func sku2Update(vendorID int, sku *dao.StoreSkuSyncInfo, syncStatus int8) (item
func updateStoreSku(db *dao.DaoDB, vendorID int, storeSkuList []*dao.StoreSkuSyncInfo, syncStatus int8) (num int64, err error) { func updateStoreSku(db *dao.DaoDB, vendorID int, storeSkuList []*dao.StoreSkuSyncInfo, syncStatus int8) (num int64, err error) {
if len(storeSkuList) > 0 { if len(storeSkuList) > 0 {
// defer func() {
// if r := recover(); r != nil {
// globals.SugarLogger.Debugf("updateStoreSku panic, vendorID:%d, len:%d, storeID0:%d, skuID0:%d, syncStatus:%d", vendorID, len(storeSkuList), storeSkuList[0].StoreID, storeSkuList[0].SkuID, syncStatus)
// panic(r)
// }
// }()
updateItemList := make([]*dao.KVUpdateItem, len(storeSkuList)) updateItemList := make([]*dao.KVUpdateItem, len(storeSkuList))
for k, v := range storeSkuList { for k, v := range storeSkuList {
updateItemList[k] = sku2Update(vendorID, v, syncStatus) updateItemList[k] = sku2Update(vendorID, v, syncStatus)

View File

@@ -73,8 +73,24 @@ func BatchUpdateEntityByKV(db *DaoDB, items []*KVUpdateItem) (num int64, err err
// } // }
// } // }
// }() // }()
for _, v := range items {
num2, err2 := UpdateEntityByKV(db, v.Item, v.KVs, nil) var item *KVUpdateItem
defer func() {
if r := recover(); r != nil {
if item != nil {
var bindID int64
value := refutil.CheckAndGetStructValue(item.Item).FieldByName(model.FieldID)
if value.IsValid() {
bindID = value.Int()
}
globals.SugarLogger.Debugf("BatchUpdateEntityByKV panic, bindID:%d, KVs:%s", bindID, utils.Format4Output(item.KVs, true))
}
panic(r)
}
}()
for _, item = range items {
num2, err2 := UpdateEntityByKV(db, item.Item, item.KVs, nil)
if err = err2; err != nil { if err = err2; err != nil {
return 0, err return 0, err
} }

View File

@@ -6,7 +6,7 @@ import (
func TestQueryRecipes(t *testing.T) { func TestQueryRecipes(t *testing.T) {
db := GetDB() db := GetDB()
recipeList, err := QueryFoodRecipes(db, "", -1, "", "") recipeList, _, err := QueryFoodRecipes(db, "", 0, "", "", 0, 0)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }

View File

@@ -38,3 +38,11 @@ func TestGetStoreList4Role(t *testing.T) {
t.Fatal(err) t.Fatal(err)
} }
} }
func TestGetStoresMapList(t *testing.T) {
storeList, err := GetStoresMapList(GetDB(), nil, nil, model.StoreStatusClosed, model.StoreIsSyncYes, "")
t.Log(utils.Format4Output(storeList, false))
if err != nil {
t.Fatal(err)
}
}

View File

@@ -195,7 +195,7 @@ func (p *PurchaseHandler) OrderDetail2Financial(result map[string]interface{}) (
orderFinancial.ReceivableFreight = utils.MustInterface2Int64(order1["send_fee"]) orderFinancial.ReceivableFreight = utils.MustInterface2Int64(order1["send_fee"])
orderFinancial.DownFlag = int8(utils.MustInterface2Int64(order1["down_flag"])) orderFinancial.DownFlag = int8(utils.MustInterface2Int64(order1["down_flag"]))
if int(getInt64FromInterface(order1["delivery_party"])) == ebaiapi.SendImmediatelySelf { if int(getInt64FromInterface(order1["delivery_party"])) == ebaiapi.DeliveryPartyFengElmSelf {
orderFinancial.SelfDeliveryDiscountMoney = orderFinancial.ReceivableFreight orderFinancial.SelfDeliveryDiscountMoney = orderFinancial.ReceivableFreight
orderFinancial.DistanceFreightMoney = 0 orderFinancial.DistanceFreightMoney = 0
// 通过本地数据库去取是否转美团/达达,并计算运费 // 通过本地数据库去取是否转美团/达达,并计算运费

View File

@@ -56,8 +56,19 @@ var (
ebaiapi.OrderSkuDiscountTypeZhe: 1, ebaiapi.OrderSkuDiscountTypeZhe: 1,
ebaiapi.OrderSkuDiscountTypeReduce: 1, ebaiapi.OrderSkuDiscountTypeReduce: 1,
} }
deliveryTypeMap = map[int]string{
ebaiapi.DeliveryPartyFengElmSelf: model.OrderDeliveryTypeStoreSelf,
}
) )
func mapDeliveryType(ebaiDeliveryParty int) (deliveryType string) {
deliveryType = deliveryTypeMap[ebaiDeliveryParty]
if deliveryType == "" {
deliveryType = model.OrderDeliveryTypePlatform
}
return deliveryType
}
func (p *PurchaseHandler) getStatusFromVendorStatus(vendorStatus string) int { func (p *PurchaseHandler) getStatusFromVendorStatus(vendorStatus string) int {
if status, ok := VendorStatus2StatusMap[vendorStatus]; ok { if status, ok := VendorStatus2StatusMap[vendorStatus]; ok {
return status return status
@@ -188,8 +199,9 @@ func (p *PurchaseHandler) Map2Order(orderData map[string]interface{}) (order *mo
StatusTime: getTimeFromInterface(orderMap["create_time"]), StatusTime: getTimeFromInterface(orderMap["create_time"]),
OrderCreatedAt: getTimeFromInterface(orderMap["create_time"]), OrderCreatedAt: getTimeFromInterface(orderMap["create_time"]),
OriginalData: string(utils.MustMarshal(result)), OriginalData: string(utils.MustMarshal(result)),
ActualPayPrice: utils.MustInterface2Int64(orderMap["user_fee"]), ActualPayPrice: utils.ForceInterface2Int64(orderMap["user_fee"]),
TotalShopMoney: utils.MustInterface2Int64(orderMap["shop_fee"]), TotalShopMoney: utils.ForceInterface2Int64(orderMap["shop_fee"]),
DeliveryType: mapDeliveryType(int(utils.ForceInterface2Int64(orderMap["delivery_party"]))),
} }
if utils.IsTimeZero(order.PickDeadline) && !utils.IsTimeZero(order.StatusTime) { if utils.IsTimeZero(order.PickDeadline) && !utils.IsTimeZero(order.StatusTime) {
order.PickDeadline = order.StatusTime.Add(pickupOrderDelay) // 饿百要求在5分钟内拣货不然订单会被取消 order.PickDeadline = order.StatusTime.Add(pickupOrderDelay) // 饿百要求在5分钟内拣货不然订单会被取消

View File

@@ -74,6 +74,8 @@ func updateFoodRecipeItemAndStep(ctx *jxcontext.Context, db *dao.DaoDB, recipeID
RecipeID: recipeID, RecipeID: recipeID,
Index: int8(k + 1), Index: int8(k + 1),
Name: v.Name, Name: v.Name,
Img: v.Img,
Description: v.Description,
} }
dao.WrapAddIDCULDEntity(step, ctx.GetUserName()) dao.WrapAddIDCULDEntity(step, ctx.GetUserName())
if err = dao.CreateEntity(db, step); err != nil { if err = dao.CreateEntity(db, step); err != nil {