From 6f3fef1e6eabea2771e753d686fcfb4023807ba6 Mon Sep 17 00:00:00 2001 From: chenlin Date: Thu, 5 Dec 2024 19:39:22 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E4=BC=98=E5=8C=96=E4=BC=98=E6=83=A0?= =?UTF-8?q?=E5=88=B8=E5=8F=91=E6=94=BE=E6=95=B0=E9=87=8F=E7=BB=9F=E8=AE=A1?= =?UTF-8?q?=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/admin/models/marketing.go | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/app/admin/models/marketing.go b/app/admin/models/marketing.go index 9d23fa5..31555c4 100644 --- a/app/admin/models/marketing.go +++ b/app/admin/models/marketing.go @@ -458,7 +458,7 @@ func StartCouponIssuanceTask(req *ErpMarketingCouponStartReq, taskList []CouponI } // 发放优惠券 - err = issueCouponsToUsers(users, req.ErpCouponId) + count, err := issueCouponsToUsers(users, req.ErpCouponId) if err != nil { log.Printf("发放优惠券失败: %v", err) return err @@ -466,7 +466,7 @@ func StartCouponIssuanceTask(req *ErpMarketingCouponStartReq, taskList []CouponI // 更新任务进度:记录处理到的最后一个用户ID lastUserID = users[len(users)-1].ID - nTotalCount += len(users) + nTotalCount += count //err = updateTaskProgress(req.ErpCouponId, lastUserID, err.Error()) //if err != nil { // log.Printf("更新任务进度失败: %v", err) @@ -626,14 +626,15 @@ func isEligibleForCoupon(user UserInfo, erpCoupon ErpCoupon) bool { } } -func issueCouponsToUsers(users []UserInfo, erpCouponId []uint32) error { +func issueCouponsToUsers(users []UserInfo, erpCouponId []uint32) (int, error) { var erpCoupon []ErpCoupon err := orm.Eloquent.Table("erp_coupon").Where("id in ?", erpCouponId).Find(&erpCoupon).Error if err != nil || err == RecordNotFound { logger.Error("query erp_coupon err:", logger.Field("err", err)) - return err + return 0, err } + var nSendCount int for _, user := range users { // 根据条件发放优惠券 if isEligibleForCoupon(user, erpCoupon[0]) { @@ -642,7 +643,7 @@ func issueCouponsToUsers(users []UserInfo, erpCouponId []uint32) error { err = orm.Eloquent.Table("coupon").Where("erp_coupon_id in ?", erpCouponId).Find(&coupons).Error if err != nil { logger.Error("query coupon err:", logger.Field("err", err)) - return err + return 0, err } for _, coupon := range coupons { @@ -669,7 +670,7 @@ func issueCouponsToUsers(users []UserInfo, erpCouponId []uint32) error { if err != nil { log.Printf("更新任务进度失败: %v", err) } - return err + return 0, err } } @@ -708,9 +709,11 @@ func issueCouponsToUsers(users []UserInfo, erpCouponId []uint32) error { logger.Error(err.Error()) } } + + nSendCount++ } } - return nil + return nSendCount, nil } func ComposeSMSContent(content string) string {