同步修改
This commit is contained in:
@@ -636,12 +636,12 @@ func UpdateStore(ctx *jxcontext.Context, storeID int, payload map[string]interfa
|
||||
dao.Commit(db)
|
||||
globals.SugarLogger.Debugf("UpdateStore track:%s, before call SyncStore", ctx.GetTrackInfo())
|
||||
_, err = CurVendorSync.SyncStore(ctx, db, -1, store.ID, false, userName)
|
||||
if err2 := updateCourierStores(ctx, storeID); err2 != nil && err == nil {
|
||||
err = err2
|
||||
}
|
||||
if valid["tel1"] != nil {
|
||||
BindMobile2Store(ctx, utils.Interface2String(valid["tel1"]), storeID)
|
||||
}
|
||||
if syncStatus&model.SyncFlagStoreAddress != 0 && valid["tel1"] != nil || valid["payeeName"] != nil {
|
||||
updateCourierStores(ctx, storeID)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
dao.Commit(db)
|
||||
|
||||
@@ -60,9 +60,10 @@ type StoreSkuExt struct {
|
||||
|
||||
JdSyncStatus int8 `orm:"default(2)" json:"jdSyncStatus"`
|
||||
|
||||
EbaiSyncStatus int8 `orm:"default(2)" json:"ebaiSyncStatus"`
|
||||
MtwmSyncStatus int8 `orm:"default(2)" json:"mtwmSyncStatus"`
|
||||
WscSyncStatus int8 `orm:"default(2)" json:"wscSyncStatus"`
|
||||
EbaiSyncStatus int8 `orm:"default(2)" json:"ebaiSyncStatus"`
|
||||
MtwmSyncStatus int8 `orm:"default(2)" json:"mtwmSyncStatus"`
|
||||
WscSyncStatus int8 `orm:"default(2)" json:"wscSyncStatus"`
|
||||
AutoSaleAt time.Time `orm:"type(datetime);null" json:"autoSaleAt"`
|
||||
|
||||
ActPrice int `json:"actPrice"`
|
||||
EarningPrice int `json:"earningPrice"`
|
||||
@@ -385,7 +386,7 @@ func GetStoresSkusNew(ctx *jxcontext.Context, storeIDs, skuIDs []int, isFocus bo
|
||||
t4.created_at bind_created_at, t4.updated_at bind_updated_at, t4.last_operator bind_last_operator, t4.deleted_at bind_deleted_at,
|
||||
t4.sub_store_id, t4.price bind_price, IF(t4.unit_price IS NOT NULL, t4.unit_price, t1.price) unit_price, t4.status bind_status,
|
||||
t4.ebai_id, t4.mtwm_id, t4.wsc_id, t4.wsc_id2,
|
||||
t4.jd_sync_status, t4.ebai_sync_status, t4.mtwm_sync_status, t4.wsc_sync_status
|
||||
t4.jd_sync_status, t4.ebai_sync_status, t4.mtwm_sync_status, t4.wsc_sync_status, t4.auto_sale_at
|
||||
` + sql
|
||||
var tmpList []*tGetStoresSkusInfo
|
||||
beginTime := time.Now()
|
||||
@@ -1241,6 +1242,7 @@ func updateStoresSkusWithoutSync(ctx *jxcontext.Context, db *dao.DaoDB, storeIDs
|
||||
|
||||
// setStoreSkuBindStatus(skuBind, model.SyncFlagModifiedMask)
|
||||
dao.WrapUpdateULEntity(skuBind, userName)
|
||||
skuBind.AutoSaleAt = utils.DefaultTimeValue
|
||||
if num, err = dao.UpdateEntity(db, skuBind /*, utils.Map2KeySlice(updateFieldMap)...*/); err != nil {
|
||||
dao.Rollback(db)
|
||||
return nil, err
|
||||
@@ -1318,10 +1320,10 @@ func updateStoreSkusSaleWithoutSync(ctx *jxcontext.Context, storeID int, skuBind
|
||||
model.FieldElmSyncStatus: skuBind.ElmSyncStatus | model.SyncFlagSaleMask,
|
||||
model.FieldWscSyncStatus: skuBind.WscSyncStatus | model.SyncFlagSaleMask,
|
||||
}
|
||||
// if utils.IsTimeZero(autoSaleTime) || skuBind.Status == model.SkuStatusNormal {
|
||||
// autoSaleTime = utils.DefaultTimeValue
|
||||
// }
|
||||
// kvs["AutoSaleAt"] = autoSaleTime
|
||||
if utils.IsTimeZero(autoSaleTime) || skuBind.Status == model.SkuStatusNormal {
|
||||
autoSaleTime = utils.DefaultTimeValue
|
||||
}
|
||||
kvs["AutoSaleAt"] = autoSaleTime
|
||||
if num, err = dao.UpdateEntityLogically(db, skuBind, kvs, userName, nil); err != nil {
|
||||
dao.Rollback(db)
|
||||
return nil, err
|
||||
@@ -2178,35 +2180,35 @@ func GetMissingStoreSkuFromOrder(ctx *jxcontext.Context, fromTime time.Time) (mi
|
||||
}
|
||||
|
||||
func AutoSaleStoreSku(ctx *jxcontext.Context, storeIDs []int) (err error) {
|
||||
// db := dao.GetDB()
|
||||
// storeSkuList, err := dao.GetAutoSaleStoreSku(db, storeIDs)
|
||||
// if err != nil {
|
||||
// return err
|
||||
// }
|
||||
// storeSkuMap := make(map[int][]*model.StoreSkuBind)
|
||||
// for _, v := range storeSkuList {
|
||||
// storeSkuMap[v.StoreID] = append(storeSkuMap[v.StoreID], v)
|
||||
// }
|
||||
// now := time.Now()
|
||||
// for storeID, storeSkuList := range storeSkuMap {
|
||||
// var skuIDs []int
|
||||
// for _, storeSku := range storeSkuList {
|
||||
// if now.Sub(storeSku.AutoSaleAt) > 0 {
|
||||
// storeSku.AutoSaleAt = utils.DefaultTimeValue
|
||||
// if storeSku.Status != model.SkuStatusNormal {
|
||||
// storeSku.Status = model.SkuStatusNormal
|
||||
// skuIDs = append(skuIDs, storeSku.SkuID)
|
||||
// }
|
||||
// if _, err = dao.UpdateEntity(db, storeSku, "AutoSaleAt", model.FieldStatus); err != nil {
|
||||
// return err
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// if len(skuIDs) > 0 {
|
||||
// if _, err = CurVendorSync.SyncStoresSkus(ctx, db, nil, []int{storeID}, skuIDs, false, true, true); err != nil {
|
||||
// return err
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
db := dao.GetDB()
|
||||
storeSkuList, err := dao.GetAutoSaleStoreSku(db, storeIDs)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
storeSkuMap := make(map[int][]*model.StoreSkuBind)
|
||||
for _, v := range storeSkuList {
|
||||
storeSkuMap[v.StoreID] = append(storeSkuMap[v.StoreID], v)
|
||||
}
|
||||
now := time.Now()
|
||||
for storeID, storeSkuList := range storeSkuMap {
|
||||
var skuIDs []int
|
||||
for _, storeSku := range storeSkuList {
|
||||
if now.Sub(storeSku.AutoSaleAt) > 0 {
|
||||
storeSku.AutoSaleAt = utils.DefaultTimeValue
|
||||
if storeSku.Status != model.SkuStatusNormal {
|
||||
storeSku.Status = model.SkuStatusNormal
|
||||
skuIDs = append(skuIDs, storeSku.SkuID)
|
||||
}
|
||||
if _, err = dao.UpdateEntity(db, storeSku, "AutoSaleAt", model.FieldStatus); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
}
|
||||
if len(skuIDs) > 0 {
|
||||
if _, err = CurVendorSync.SyncStoresSkus(ctx, db, nil, []int{storeID}, skuIDs, false, true, true); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -6,28 +6,4 @@ import (
|
||||
|
||||
func TestCheckSkuDiffBetweenJxAndVendor(t *testing.T) {
|
||||
CheckSkuDiffBetweenJxAndVendor()
|
||||
}
|
||||
|
||||
func TestTestExcel(t *testing.T) {
|
||||
data1 := []DiffData{
|
||||
DiffData{"1", "1211", "aaa", "apple", "banna", "1", "0"},
|
||||
DiffData{"1", "1211", "aaa", "apple", "banna", "1", "0"},
|
||||
DiffData{"1", "1211", "aaa", "apple", "banna", "1", "0"},
|
||||
}
|
||||
data2 := []DiffData{
|
||||
DiffData{"1", "1211", "aaa", "apple", "banna", "1", "0"},
|
||||
DiffData{"1", "1211", "aaa", "apple", "banna", "1", "0"},
|
||||
DiffData{"1", "1211", "aaa", "apple", "banna", "1", "0"},
|
||||
}
|
||||
data3 := []DiffData{
|
||||
DiffData{"1", "1211", "aaa", "apple", "banna", "1", "0"},
|
||||
DiffData{"1", "1211", "aaa", "apple", "banna", "1", "0"},
|
||||
DiffData{"1", "1211", "aaa", "apple", "banna", "1", "0"},
|
||||
}
|
||||
data := map[int][]DiffData{
|
||||
0: data1,
|
||||
1: data2,
|
||||
3: data3,
|
||||
}
|
||||
WriteToExcel(data)
|
||||
}
|
||||
}
|
||||
@@ -4,7 +4,6 @@ import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"reflect"
|
||||
"strings"
|
||||
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils"
|
||||
@@ -421,19 +420,19 @@ func (v *VendorSync) SyncStoresSkus(ctx *jxcontext.Context, db *dao.DaoDB, vendo
|
||||
return nil, partner.AddVendorInfo2Err(err, loopMapInfo.VendorID)
|
||||
}, isContinueWhenError)
|
||||
if task != nil {
|
||||
if vendorErr := partner.IsErrChangePriceFailed(task.GetOriginalErr()); vendorErr != nil {
|
||||
platformList := make([]string, len(task.GetDetailErrList()))
|
||||
for k, v := range task.GetDetailErrList() {
|
||||
if vendorErr := partner.IsErrVendorError(v); vendorErr != nil {
|
||||
platformList[k] = model.VendorChineseNames[vendorErr.VendorID()]
|
||||
} else {
|
||||
platformList[k] = "未知"
|
||||
}
|
||||
}
|
||||
err = fmt.Errorf("同步价格失败\n失败平台:%s", strings.Join(platformList, ","))
|
||||
} else {
|
||||
err = makeSyncError(err)
|
||||
}
|
||||
// if vendorErr := partner.IsErrChangePriceFailed(task.GetOriginalErr()); vendorErr != nil {
|
||||
// platformList := make([]string, len(task.GetDetailErrList()))
|
||||
// for k, v := range task.GetDetailErrList() {
|
||||
// if vendorErr := partner.IsErrVendorError(v); vendorErr != nil {
|
||||
// platformList[k] = model.VendorChineseNames[vendorErr.VendorID()]
|
||||
// } else {
|
||||
// platformList[k] = "未知"
|
||||
// }
|
||||
// }
|
||||
// err = fmt.Errorf("同步价格失败\n失败平台:%s", strings.Join(platformList, ","))
|
||||
// } else {
|
||||
// }
|
||||
err = makeSyncError(err)
|
||||
}
|
||||
return hint, err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user