Merge remote-tracking branch 'origin/mark' into don
This commit is contained in:
@@ -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",
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -28,13 +28,10 @@ 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++ {
|
||||||
@@ -42,15 +39,19 @@ func CreateStoreCategoryByStoreSku(ctx *jxcontext.Context, vendorID, storeID int
|
|||||||
if err = err2; err != nil {
|
if err = err2; err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
for _, v := range localCats {
|
if len(localCats) > 0 {
|
||||||
if v.MapID == 0 {
|
dao.Begin(db)
|
||||||
if err = dao.AddStoreCategoryMap(db, storeID, v.ID, vendorID, "", model.SyncFlagNewMask, ctx.GetUserName()); err != nil {
|
for _, v := range localCats {
|
||||||
return err
|
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)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
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)
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
// 通过本地数据库去取是否转美团/达达,并计算运费
|
// 通过本地数据库去取是否转美团/达达,并计算运费
|
||||||
|
|||||||
@@ -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分钟内拣货,不然订单会被取消
|
||||||
|
|||||||
@@ -71,9 +71,11 @@ func updateFoodRecipeItemAndStep(ctx *jxcontext.Context, db *dao.DaoDB, recipeID
|
|||||||
|
|
||||||
for k, v := range stepList {
|
for k, v := range stepList {
|
||||||
step := &model.FoodRecipeStep{
|
step := &model.FoodRecipeStep{
|
||||||
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 {
|
||||||
|
|||||||
Reference in New Issue
Block a user