diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index 511164b9d..526fbf7fd 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -4669,10 +4669,21 @@ func doStoreSkuAudit(ctx *jxcontext.Context, storeIDs []int, skuBindInfos []*Sto return true, err } -func StoreSkuPriceAudit(ctx *jxcontext.Context, storeSkuAudits []*model.StoreSkuAudit, status int, isAsync, isContinueWhenError bool) (hint string, err error) { +func StoreSkuPriceAudit(ctx *jxcontext.Context, storeSkuAudits []*model.StoreSkuAudit, status int, isAsync, isContinueWhenError bool) (storeSkuAudits2 []*model.StoreSkuAudit, hint string, err error) { db := dao.GetDB() if status == model.StoreAuditStatusOnline { - return "", fmt.Errorf("审核标志不正确!") + return nil, "", fmt.Errorf("审核标志不正确!") + } + for _, v := range storeSkuAudits { + skuList, _ := dao.GetStoreSkusByNameIDs(db, []int{v.StoreID}, v.NameID) + if len(skuList) > 0 { + if int64(v.AuditPrice) > skuList[0].UnitPrice*2 { + storeSkuAudits2 = append(storeSkuAudits2, v) + } + } + } + if len(storeSkuAudits2) > 0 { + return storeSkuAudits2, "", err } task := tasksch.NewParallelTask("StoreSkuPriceAudit", tasksch.NewParallelConfig().SetParallelCount(5).SetIsContinueWhenError(isContinueWhenError), ctx, func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { @@ -4751,5 +4762,5 @@ func StoreSkuPriceAudit(ctx *jxcontext.Context, storeSkuAudits []*model.StoreSku _, err = task.GetResult(0) hint = "1" } - return hint, err + return nil, hint, err } diff --git a/controllers/cms_store_sku.go b/controllers/cms_store_sku.go index 4f7d3eec2..29cde0023 100644 --- a/controllers/cms_store_sku.go +++ b/controllers/cms_store_sku.go @@ -888,7 +888,11 @@ func (c *StoreSkuController) StoreSkuPriceAudit() { if err = jxutils.Strings2Objs(params.Payload, &storeSkuAudits); err != nil { return retVal, "", err } - retVal, err = cms.StoreSkuPriceAudit(params.Ctx, storeSkuAudits, params.Status, params.IsAsync, params.IsContinueWhenError) - return retVal, "", err + retVal, hint, err := cms.StoreSkuPriceAudit(params.Ctx, storeSkuAudits, params.Status, params.IsAsync, params.IsContinueWhenError) + if hint != "" { + return hint, "", err + } else { + return retVal, "", err + } }) }