- CreateConsumerFromOrders在限制并发数为1,以免出现主键重错误

This commit is contained in:
gazebo
2019-09-06 14:24:39 +08:00
parent 9e0ca4f185
commit 2d06499663
2 changed files with 4 additions and 4 deletions

View File

@@ -182,7 +182,7 @@ func HandleOrder4Consignee(order *model.GoodsOrder) (err error) {
}
vendorUserID := order.VendorUserID
if err == nil && vendorUserID != "" {
if vendorUserID != "" {
authInfo, err2 := dao.GetAuthBind(db, "", model.AuthBindTypeID, authType, vendorUserID)
if err = err2; err != nil && !dao.IsNoRowsError(err) {
return err
@@ -219,7 +219,6 @@ func HandleOrder4Consignee(order *model.GoodsOrder) (err error) {
user.Type = model.UserTypeConsumer
err = CreateUser(user, oeratorName)
globals.SugarLogger.Debug(err)
} else {
if user.GetMobile() == "" && mobileNumber != "" {
user.Mobile = &mobileNumber

View File

@@ -1028,7 +1028,7 @@ func CreateConsumerFromOrders(ctx *jxcontext.Context, vendorIDs []int, fromDate,
}
db := dao.GetDB()
rootTask := tasksch.NewParallelTask("RefreshMtpsWaybillFee", tasksch.NewParallelConfig().SetParallelCount(1).SetIsContinueWhenError(isContinueWhenError), ctx,
rootTask := tasksch.NewParallelTask("从订单中创建消费都账户", tasksch.NewParallelConfig().SetParallelCount(1).SetIsContinueWhenError(isContinueWhenError), ctx,
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
curDate := batchItemList[0].(time.Time)
sql := `
@@ -1050,7 +1050,8 @@ func CreateConsumerFromOrders(ctx *jxcontext.Context, vendorIDs []int, fromDate,
var orderList []*GoodsOrderWithOriginal
if err = dao.GetRows(db, &orderList, sql, sqlParams...); err == nil {
if len(orderList) > 0 {
subTask := tasksch.NewParallelTask("RefreshMtpsWaybillFee", tasksch.NewParallelConfig().SetIsContinueWhenError(isContinueWhenError), ctx,
// 并发必须是1否则在HandleOrder4Consignee中可能导致主键重错误
subTask := tasksch.NewParallelTask("RefreshMtpsWaybillFee", tasksch.NewParallelConfig().SetParallelCount(1).SetIsContinueWhenError(isContinueWhenError), ctx,
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
order := batchItemList[0].(*GoodsOrderWithOriginal)
if isForce || order.VendorUserID == "" {