Merge remote-tracking branch 'origin/mark' into don
This commit is contained in:
@@ -103,6 +103,7 @@ var (
|
||||
"10:00:00",
|
||||
"11:00:00",
|
||||
"15:00:00",
|
||||
"20:00:00",
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
@@ -28,29 +28,30 @@ var (
|
||||
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)
|
||||
db := dao.GetDB()
|
||||
dao.Begin(db)
|
||||
defer func() {
|
||||
if r := recover(); r != nil || err != nil {
|
||||
if r := recover(); r != nil {
|
||||
dao.Rollback(db)
|
||||
if r != nil {
|
||||
panic(r)
|
||||
}
|
||||
}
|
||||
}()
|
||||
for i := 0; i < 2; i++ {
|
||||
localCats, err2 := dao.GetSkusCategories(db, vendorID, storeID, skuIDs, i+1)
|
||||
if err = err2; err != nil {
|
||||
return err
|
||||
}
|
||||
if len(localCats) > 0 {
|
||||
dao.Begin(db)
|
||||
for _, v := range localCats {
|
||||
if v.MapID == 0 {
|
||||
if err = dao.AddStoreCategoryMap(db, storeID, v.ID, vendorID, "", model.SyncFlagNewMask, ctx.GetUserName()); err != nil {
|
||||
dao.Rollback(db)
|
||||
return err
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
dao.Commit(db)
|
||||
}
|
||||
}
|
||||
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) {
|
||||
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))
|
||||
for k, v := range storeSkuList {
|
||||
updateItemList[k] = sku2Update(vendorID, v, syncStatus)
|
||||
|
||||
@@ -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 {
|
||||
return 0, err
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@ import (
|
||||
|
||||
func TestQueryRecipes(t *testing.T) {
|
||||
db := GetDB()
|
||||
recipeList, err := QueryFoodRecipes(db, "", -1, "", "")
|
||||
recipeList, _, err := QueryFoodRecipes(db, "", 0, "", "", 0, 0)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
@@ -38,3 +38,11 @@ func TestGetStoreList4Role(t *testing.T) {
|
||||
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)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -195,7 +195,7 @@ func (p *PurchaseHandler) OrderDetail2Financial(result map[string]interface{}) (
|
||||
orderFinancial.ReceivableFreight = utils.MustInterface2Int64(order1["send_fee"])
|
||||
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.DistanceFreightMoney = 0
|
||||
// 通过本地数据库去取是否转美团/达达,并计算运费
|
||||
|
||||
@@ -56,8 +56,19 @@ var (
|
||||
ebaiapi.OrderSkuDiscountTypeZhe: 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 {
|
||||
if status, ok := VendorStatus2StatusMap[vendorStatus]; ok {
|
||||
return status
|
||||
@@ -188,8 +199,9 @@ func (p *PurchaseHandler) Map2Order(orderData map[string]interface{}) (order *mo
|
||||
StatusTime: getTimeFromInterface(orderMap["create_time"]),
|
||||
OrderCreatedAt: getTimeFromInterface(orderMap["create_time"]),
|
||||
OriginalData: string(utils.MustMarshal(result)),
|
||||
ActualPayPrice: utils.MustInterface2Int64(orderMap["user_fee"]),
|
||||
TotalShopMoney: utils.MustInterface2Int64(orderMap["shop_fee"]),
|
||||
ActualPayPrice: utils.ForceInterface2Int64(orderMap["user_fee"]),
|
||||
TotalShopMoney: utils.ForceInterface2Int64(orderMap["shop_fee"]),
|
||||
DeliveryType: mapDeliveryType(int(utils.ForceInterface2Int64(orderMap["delivery_party"]))),
|
||||
}
|
||||
if utils.IsTimeZero(order.PickDeadline) && !utils.IsTimeZero(order.StatusTime) {
|
||||
order.PickDeadline = order.StatusTime.Add(pickupOrderDelay) // 饿百要求在5分钟内拣货,不然订单会被取消
|
||||
|
||||
@@ -74,6 +74,8 @@ func updateFoodRecipeItemAndStep(ctx *jxcontext.Context, db *dao.DaoDB, recipeID
|
||||
RecipeID: recipeID,
|
||||
Index: int8(k + 1),
|
||||
Name: v.Name,
|
||||
Img: v.Img,
|
||||
Description: v.Description,
|
||||
}
|
||||
dao.WrapAddIDCULDEntity(step, ctx.GetUserName())
|
||||
if err = dao.CreateEntity(db, step); err != nil {
|
||||
|
||||
Reference in New Issue
Block a user