1、优化优惠券发放数量统计;

This commit is contained in:
chenlin 2024-12-05 19:39:22 +08:00
parent cafc26e5bd
commit 6f3fef1e6e

View File

@ -458,7 +458,7 @@ func StartCouponIssuanceTask(req *ErpMarketingCouponStartReq, taskList []CouponI
} }
// 发放优惠券 // 发放优惠券
err = issueCouponsToUsers(users, req.ErpCouponId) count, err := issueCouponsToUsers(users, req.ErpCouponId)
if err != nil { if err != nil {
log.Printf("发放优惠券失败: %v", err) log.Printf("发放优惠券失败: %v", err)
return err return err
@ -466,7 +466,7 @@ func StartCouponIssuanceTask(req *ErpMarketingCouponStartReq, taskList []CouponI
// 更新任务进度记录处理到的最后一个用户ID // 更新任务进度记录处理到的最后一个用户ID
lastUserID = users[len(users)-1].ID lastUserID = users[len(users)-1].ID
nTotalCount += len(users) nTotalCount += count
//err = updateTaskProgress(req.ErpCouponId, lastUserID, err.Error()) //err = updateTaskProgress(req.ErpCouponId, lastUserID, err.Error())
//if err != nil { //if err != nil {
// log.Printf("更新任务进度失败: %v", err) // 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 var erpCoupon []ErpCoupon
err := orm.Eloquent.Table("erp_coupon").Where("id in ?", erpCouponId).Find(&erpCoupon).Error err := orm.Eloquent.Table("erp_coupon").Where("id in ?", erpCouponId).Find(&erpCoupon).Error
if err != nil || err == RecordNotFound { if err != nil || err == RecordNotFound {
logger.Error("query erp_coupon err:", logger.Field("err", err)) logger.Error("query erp_coupon err:", logger.Field("err", err))
return err return 0, err
} }
var nSendCount int
for _, user := range users { for _, user := range users {
// 根据条件发放优惠券 // 根据条件发放优惠券
if isEligibleForCoupon(user, erpCoupon[0]) { 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 err = orm.Eloquent.Table("coupon").Where("erp_coupon_id in ?", erpCouponId).Find(&coupons).Error
if err != nil { if err != nil {
logger.Error("query coupon err:", logger.Field("err", err)) logger.Error("query coupon err:", logger.Field("err", err))
return err return 0, err
} }
for _, coupon := range coupons { for _, coupon := range coupons {
@ -669,7 +670,7 @@ func issueCouponsToUsers(users []UserInfo, erpCouponId []uint32) error {
if err != nil { if err != nil {
log.Printf("更新任务进度失败: %v", err) log.Printf("更新任务进度失败: %v", err)
} }
return err return 0, err
} }
} }
@ -708,9 +709,11 @@ func issueCouponsToUsers(users []UserInfo, erpCouponId []uint32) error {
logger.Error(err.Error()) logger.Error(err.Error())
} }
} }
nSendCount++
} }
} }
return nil return nSendCount, nil
} }
func ComposeSMSContent(content string) string { func ComposeSMSContent(content string) string {