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

This commit is contained in:
Rosy-zhudan
2019-08-30 16:01:12 +08:00
8 changed files with 92 additions and 90 deletions

View File

@@ -973,6 +973,8 @@ func UpdateStoreSkus(ctx *jxcontext.Context, storeID int, skuBindInfos []*StoreS
}
func UpdateStoresSkus(ctx *jxcontext.Context, storeIDs []int, skuBindInfos []*StoreSkuBindInfo, isAsync, isContinueWhenError bool) (hint string, err error) {
globals.SugarLogger.Debugf("UpdateStoresSkus:%s, storeIDs:%v, skuBindInfos:%s", ctx.GetTrackInfo(), storeIDs, utils.Format4Output(skuBindInfos, true))
var num int64
db := dao.GetDB()
skuIDs, err := updateStoresSkusWithoutSync(ctx, db, storeIDs, skuBindInfos)
@@ -1109,9 +1111,9 @@ func updateStoresSkusWithoutSync(ctx *jxcontext.Context, db *dao.DaoDB, storeIDs
// if err = checkStoresSkusSaleCity(ctx, db, storeIDs, skuBindInfos); err != nil {
// return nil, err
// }
if storeIDs, skuBindInfos, err = filterStorePriceChange(ctx, storeIDs, skuBindInfos); err != nil {
return nil, err
}
// if storeIDs, skuBindInfos, err = filterStorePriceChange(ctx, storeIDs, skuBindInfos); err != nil {
// return nil, err
// }
// globals.SugarLogger.Debugf("updateStoresSkusWithoutSync2, storeIDs:%v, skuBindInfos:%s", storeIDs, utils.Format4Output(skuBindInfos, false))
userName := ctx.GetUserName()

View File

@@ -180,6 +180,8 @@ func (task *ParallelTask) Run() {
close(task.subFinishChan)
task.jobList = nil // 如果不释放,任务被管理的话,会导致内存不能释放
task.worker = nil
task.subFinishChan = nil
task.taskChan = nil
})
}

View File

@@ -73,12 +73,18 @@ func WrapUpdateULEntity(item interface{}, lastOperator string) interface{} {
return item
}
func GenQuestionMarks(count int) string {
marks := ""
func GenQuestionMarks(count int) (marks string) {
if count > 0 {
marks = "?"
for i := 1; i < count; i++ {
marks += ", ?"
if count == 1 {
marks = "?"
} else {
builder := &strings.Builder{}
builder.Grow(1 + (count-1)*3)
builder.WriteString("?")
for i := 1; i < count; i++ {
builder.WriteString(", ?")
}
marks = builder.String()
}
}
return marks

View File

@@ -8,6 +8,16 @@ import (
"git.rosy.net.cn/jx-callback/globals"
)
type SkuCategoryWithVendor struct {
model.SkuCategory
VendorID int `orm:"column(vendor_id)" json:"vendorID"`
VendorOrgCode string `orm:"size(32)" json:"vendorOrgCode"` // 同一平台下不同的商户代码,如果只有一个,可以为空
VendorCatID string `orm:"size(32);column(vendor_cat_id)" json:"vendorCatID"`
SyncStatus int8 `orm:"default(2)"`
}
func GetSellCities(db *DaoDB, nameID int, vendorID int) (cities []*model.Place, err error) {
cities = []*model.Place{}
sql := `
@@ -148,18 +158,18 @@ func GetSkuByCats(db *DaoDB, catIDs []int) (skuList []*model.Sku, err error) {
sql := `
SELECT t1.*
FROM sku t1
JOIN sku_name t2 ON t2.id = t1.name_id
WHERE t1.deleted_at = ?
`
JOIN sku_name t2 ON t2.id = t1.name_id AND t2.deleted_at = ?
WHERE t1.deleted_at = ?`
sqlParams := []interface{}{
utils.DefaultTimeValue,
utils.DefaultTimeValue,
}
if len(catIDs) > 0 {
sql += " AND t2.category_id IN (" + GenQuestionMarks(len(catIDs)) + ")"
sqlParams = append(sqlParams, catIDs)
}
err = GetRows(db, &skuList, sql, sqlParams...)
globals.SugarLogger.Debugf("GetSkuByCats err:%v", err)
// globals.SugarLogger.Debugf("GetSkuByCats err:%v", err)
return skuList, err
}
@@ -187,3 +197,6 @@ func SetSkuSyncStatus(db *DaoDB, vendorID int, skuIDs []int, syncStatus int) (nu
}
return ExecuteSQL(db, sql, sqlParams...)
}
// func GetSkuCategoryWithVendor(db *DaoDB, vendorIDs []int, appOrgCodes []string, catIDs []int) (num int64, err error) {
// }