From 92b6c243478fbe81266699b93acaa48e9c4edc21 Mon Sep 17 00:00:00 2001 From: gazebo Date: Sat, 7 Sep 2019 10:37:02 +0800 Subject: [PATCH] =?UTF-8?q?-=20=E8=B0=83=E6=95=B4CreateConsumerFromOrders?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/user2.go | 5 +++- business/jxstore/tempop/tempop.go | 48 ++++++++++++++++--------------- 2 files changed, 29 insertions(+), 24 deletions(-) diff --git a/business/jxstore/cms/user2.go b/business/jxstore/cms/user2.go index 0aab3708e..f38b4a2e4 100644 --- a/business/jxstore/cms/user2.go +++ b/business/jxstore/cms/user2.go @@ -161,6 +161,10 @@ func TryAddStoreBossRole4StoreByMobile(ctx *jxcontext.Context, storeID int, mobi func HandleOrder4Consignee(order *model.GoodsOrder) (err error) { var user *model.User + mobileNumber := jxutils.GetRealMobile4Order(order) + if mobileNumber == "" && order.VendorUserID == "" { + return fmt.Errorf("订单:%s手机号与平台用户标识都是空", order.VendorOrderID) + } authType := jxutils.GetAuthType4Vendor(order.VendorID) if authType == "" { msg := fmt.Sprintf("平台ID:%d当前不被支持,请联系开发", order.VendorID) @@ -169,7 +173,6 @@ func HandleOrder4Consignee(order *model.GoodsOrder) (err error) { } oeratorName := order.VendorOrderID - mobileNumber := jxutils.GetRealMobile4Order(order) db := dao.GetDB() if mobileNumber != "" { userList, _, err2 := dao.GetUsers(db, 0, "", nil, "", mobileNumber, 0, 0) diff --git a/business/jxstore/tempop/tempop.go b/business/jxstore/tempop/tempop.go index a5afa763d..3b287b1bf 100644 --- a/business/jxstore/tempop/tempop.go +++ b/business/jxstore/tempop/tempop.go @@ -1045,7 +1045,7 @@ func CreateConsumerFromOrders(ctx *jxcontext.Context, vendorIDs []int, fromDate, sqlParams = append(sqlParams, vendorIDs) } if !isForce { - sql += " AND t1.vendor_user_id = ''" + sql += " AND t1.user_id = ''" } var orderList []*GoodsOrderWithOriginal if err = dao.GetRows(db, &orderList, sql, sqlParams...); err == nil { @@ -1054,33 +1054,35 @@ func CreateConsumerFromOrders(ctx *jxcontext.Context, vendorIDs []int, fromDate, subTask := tasksch.NewParallelTask(fmt.Sprintf("处理日期:%s的订单", utils.Time2DateStr(curDate)), 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 == "" { + if isForce || order.UserID == "" { if handler := partner.GetPurchasePlatformFromVendorID(order.VendorID); handler != nil { - var order2 *model.GoodsOrder - if order.OriginalData != "" { - var orderData map[string]interface{} - if utils.UnmarshalUseNumber([]byte(order.OriginalData), &orderData) == nil { - order2 = handler.Map2Order(orderData) - if order2.VendorUserID == "" { - order2 = nil + var updateFields []string + if isForce || order.VendorUserID == "" { + var order2 *model.GoodsOrder + if order.OriginalData != "" { + var orderData map[string]interface{} + if utils.UnmarshalUseNumber([]byte(order.OriginalData), &orderData) == nil { + order2 = handler.Map2Order(orderData) + if order2.VendorUserID == "" { + order2 = nil + } + } + } + if order2 == nil && order.VendorID == model.VendorIDMTWM && time.Now().Sub(curDate) < 30*24*time.Hour { + order2, err = handler.GetOrder(order.VendorOrderID) + } + if order2 != nil { + if order2.VendorUserID != "" && order.VendorUserID != order2.VendorUserID { + updateFields = append(updateFields, "VendorUserID") + order.VendorUserID = order2.VendorUserID } } } - if order2 == nil && order.VendorID == model.VendorIDMTWM && time.Now().Sub(curDate) < 30*24*time.Hour { - order2, err = handler.GetOrder(order.VendorOrderID) + if err = cms.HandleOrder4Consignee(&order.GoodsOrder); err == nil { + updateFields = append(updateFields, "UserID") } - if order2 != nil { - var updateFields []string - if order2.VendorUserID != "" && order.VendorUserID != order2.VendorUserID { - updateFields = append(updateFields, "VendorUserID") - order.VendorUserID = order2.VendorUserID - } - if err = cms.HandleOrder4Consignee(&order.GoodsOrder); err == nil { - updateFields = append(updateFields, "UserID") - } - if len(updateFields) > 0 { - dao.UpdateEntity(db, &order.GoodsOrder, updateFields...) - } + if len(updateFields) > 0 { + dao.UpdateEntity(db, &order.GoodsOrder, updateFields...) } } }