商品审核修改

This commit is contained in:
苏尹岚
2020-05-29 16:45:29 +08:00
parent 8cb466be65
commit d8eb7a247b
3 changed files with 83 additions and 80 deletions

View File

@@ -4457,8 +4457,8 @@ func RefreshJdsSkusStatus(ctx *jxcontext.Context) (err error) {
return err
}
func GetStoreSkuAudit(ctx *jxcontext.Context, storeIDs, nameIDs, skuIDs, statuss, types []int, name, remark string, applyTimeStart, applyTimeEnd, auditTimeStart, auditTimeEnd string, pageSize, offset int) (pagedInfo *model.PagedInfo, err error) {
pagedInfo, err = dao.GetStoreSkuAudit(dao.GetDB(), storeIDs, nameIDs, skuIDs, statuss, types, name, remark, utils.Str2Time(applyTimeStart), utils.Str2Time(applyTimeEnd), utils.Str2Time(auditTimeStart), utils.Str2Time(auditTimeEnd), pageSize, offset)
func GetStoreSkuAudit(ctx *jxcontext.Context, storeIDs, nameIDs, skuIDs, statuss, types []int, name, remark, keyword string, applyTimeStart, applyTimeEnd, auditTimeStart, auditTimeEnd string, pageSize, offset int) (pagedInfo *model.PagedInfo, err error) {
pagedInfo, err = dao.GetStoreSkuAudit(dao.GetDB(), storeIDs, nameIDs, skuIDs, statuss, types, name, remark, keyword, utils.Str2Time(applyTimeStart), utils.Str2Time(applyTimeEnd), utils.Str2Time(auditTimeStart), utils.Str2Time(auditTimeEnd), pageSize, offset)
return pagedInfo, err
}
@@ -4529,83 +4529,82 @@ func doStoreSkuAudit(ctx *jxcontext.Context, storeIDs []int, skuBindInfos []*Sto
return true, err
}
func StoreSkuPriceAudit(ctx *jxcontext.Context, storeIDs, nameIDs []int, status, auditPrice int, remark string, isAsync, isContinueWhenError bool) (hint string, err error) {
func StoreSkuPriceAudit(ctx *jxcontext.Context, storeSkuAudits []*model.StoreSkuAudit, status int, isAsync, isContinueWhenError bool) (hint string, err error) {
db := dao.GetDB()
if status == model.StoreAuditStatusOnline {
return "", fmt.Errorf("审核标志不正确!")
}
task := tasksch.NewParallelTask("StoreSkuPriceAudit", tasksch.NewParallelConfig().SetParallelCount(1).SetIsContinueWhenError(isContinueWhenError), ctx,
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
storeID := batchItemList[0].(int)
for _, v := range nameIDs {
storeAudits, err := dao.GetStoreSkuAuditLight(db, []int{storeID}, []int{v}, model.StoreAuditStatusOnline)
if len(storeAudits) == 0 || err != nil {
return retVal, fmt.Errorf("未查询到该门店该商品的待审核信息storeID: %v, nameID: %v", storeID, v)
}
if len(storeAudits) > 1 {
return retVal, fmt.Errorf("查询到该门店该商品的待审核信息大于1条storeID: %v, nameID: %v", storeID, v)
}
// flag := false
//审核通过
if status == model.StoreAuditStatusCreated {
// flag = true
storeAudits[0].UserID = ctx.GetUserID()
storeAudits[0].Status = model.StoreAuditStatusCreated
storeAudits[0].Remark = remark
storeAudits[0].AuditPrice = auditPrice
_, err = dao.UpdateEntity(db, storeAudits[0], "UserID", "Status", "Remark", "AuditPrice")
var skuBindInfos = []*StoreSkuBindInfo{
&StoreSkuBindInfo{
NameID: v,
UnitPrice: storeAudits[0].UnitPrice,
},
}
//证明填了额外的审核价格
if auditPrice != 0 {
skuBindInfos[0].UnitPrice = auditPrice
}
//如果是关注改价
if storeAudits[0].Type == model.StoreSkuAuditTypeFocus {
skuBindInfos[0].IsFocus = 1
}
var num int64
db := dao.GetDB()
skuIDs, err := updateStoresSkusWithoutSync(ctx, db, storeIDs, skuBindInfos, false)
if err != nil {
return "", err
}
isAsync = asyncStoreSkuOpFilter(ctx, isAsync)
num = int64(len(skuIDs))
if num > 0 {
hint, err = CurVendorSync.SyncStoresSkus(ctx, nil, 0, db, nil, storeIDs, skuIDs, false, isAsync, isContinueWhenError)
}
if num == 0 || !isAsync || hint == "" {
hint = utils.Int64ToStr(num)
}
// _, err = UpdateStoresSkus(ctx, 0, []int{storeID}, skuBindInfos, false, isAsync, isContinueWhenError)
} else if status == model.StoreAuditStatusRejected {
storeAudits[0].UserID = ctx.GetUserID()
storeAudits[0].Status = model.StoreAuditStatusRejected
storeAudits[0].Remark = remark
_, err = dao.UpdateEntity(db, storeAudits[0], "UserID", "Status", "Remark")
} else {
return retVal, fmt.Errorf("审核标志不正确!")
}
if err == nil {
// skuAndNames, err := dao.GetSkus(db, nil, []int{v}, nil, nil, nil)
// if len(skuAndNames) > 0 && err == nil {
// price := 0
// if auditPrice != 0 {
// price = auditPrice
// } else {
// price = storeAudits[0].UnitPrice
// }
// weixinmsg.NotifyStoreOpRequestStatus(flag, storeID, v, jxutils.ComposeSpuName(skuAndNames[0].Prefix, skuAndNames[0].Name, 0), storeAudits[0].OriginUnitPrice, price, remark)
// }
}
storeAudit := batchItemList[0].(*model.StoreSkuAudit)
storeAudits, err := dao.GetStoreSkuAuditLight(db, []int{storeAudit.StoreID}, []int{storeAudit.NameID}, model.StoreAuditStatusOnline)
if len(storeAudits) == 0 || err != nil {
return retVal, fmt.Errorf("未查询到该门店该商品的待审核信息storeID: %v, nameID: %v", storeAudit.StoreID, storeAudit.NameID)
}
if len(storeAudits) > 1 {
return retVal, fmt.Errorf("查询到该门店该商品的待审核信息大于1条storeID: %v, nameID: %v", storeAudit.StoreID, storeAudit.NameID)
}
// flag := false
//审核通过
if status == model.StoreAuditStatusCreated {
// flag = true
storeAudits[0].UserID = ctx.GetUserID()
storeAudits[0].Status = model.StoreAuditStatusCreated
storeAudits[0].Remark = storeAudit.Remark
storeAudits[0].AuditPrice = storeAudit.AuditPrice
_, err = dao.UpdateEntity(db, storeAudits[0], "UserID", "Status", "Remark", "AuditPrice")
var skuBindInfos = []*StoreSkuBindInfo{
&StoreSkuBindInfo{
NameID: storeAudit.NameID,
UnitPrice: storeAudits[0].UnitPrice,
},
}
//证明填了额外的审核价格
if storeAudit.AuditPrice != 0 {
skuBindInfos[0].UnitPrice = storeAudit.AuditPrice
}
//如果是关注改价
if storeAudits[0].Type == model.StoreSkuAuditTypeFocus {
skuBindInfos[0].IsFocus = 1
}
var num int64
db := dao.GetDB()
skuIDs, err := updateStoresSkusWithoutSync(ctx, db, []int{storeAudit.StoreID}, skuBindInfos, false)
if err != nil {
return "", err
}
isAsync = asyncStoreSkuOpFilter(ctx, isAsync)
num = int64(len(skuIDs))
if num > 0 {
hint, err = CurVendorSync.SyncStoresSkus(ctx, nil, 0, db, nil, []int{storeAudit.StoreID}, skuIDs, false, isAsync, isContinueWhenError)
}
if num == 0 || !isAsync || hint == "" {
hint = utils.Int64ToStr(num)
}
// _, err = UpdateStoresSkus(ctx, 0, []int{storeID}, skuBindInfos, false, isAsync, isContinueWhenError)
} else if status == model.StoreAuditStatusRejected {
storeAudits[0].UserID = ctx.GetUserID()
storeAudits[0].Status = model.StoreAuditStatusRejected
storeAudits[0].Remark = storeAudit.Remark
_, err = dao.UpdateEntity(db, storeAudits[0], "UserID", "Status", "Remark")
} else {
return retVal, fmt.Errorf("审核标志不正确!")
}
if err == nil {
// skuAndNames, err := dao.GetSkus(db, nil, []int{v}, nil, nil, nil)
// if len(skuAndNames) > 0 && err == nil {
// price := 0
// if auditPrice != 0 {
// price = auditPrice
// } else {
// price = storeAudits[0].UnitPrice
// }
// weixinmsg.NotifyStoreOpRequestStatus(flag, storeID, v, jxutils.ComposeSpuName(skuAndNames[0].Prefix, skuAndNames[0].Name, 0), storeAudits[0].OriginUnitPrice, price, remark)
// }
}
return retVal, err
}, storeIDs)
}, storeSkuAudits)
tasksch.HandleTask(task, nil, true).Run()
if isAsync {
hint = task.GetID()