From e1a7d9cc91d2157599eb2f13e615f173a21c77ca Mon Sep 17 00:00:00 2001 From: chenlin Date: Mon, 26 May 2025 14:11:28 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E6=96=B0=E5=A2=9E=E9=9B=B6=E5=94=AE?= =?UTF-8?q?=E9=80=80=E8=B4=A7=E5=90=8E=E6=B8=85=E7=90=86=E4=B8=BB=E6=9C=BA?= =?UTF-8?q?=E4=BC=98=E6=83=A0=E5=88=B8=E7=9A=84=E9=80=BB=E8=BE=91=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/admin/apis/erpordermanage/erp_order.go | 4 ++-- app/admin/models/erp_order.go | 19 ++++++++++++++++--- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/app/admin/apis/erpordermanage/erp_order.go b/app/admin/apis/erpordermanage/erp_order.go index dcafbe0..d270390 100644 --- a/app/admin/apis/erpordermanage/erp_order.go +++ b/app/admin/apis/erpordermanage/erp_order.go @@ -287,9 +287,9 @@ func ErpOrderAudit(c *gin.Context) { return } - if req.State == 1 && nPayStatus == model.HavePaid { // 已完成支付的零售订单判断是否发优惠券 + if req.State == 1 && (nPayStatus == model.HavePaid || erpOrder.RetailType == model.RetailTypeRejected) { // 已完成支付的零售订单判断是否发优惠券 // 发放尊享会员优惠券 - model.UpdateSwitchUserCoupon(erpOrder.ID, erpOrder.Uid) + model.UpdateSwitchUserCoupon(erpOrder.ID, erpOrder.Uid, erpOrder.RetailType) } app.OK(c, nil, "") diff --git a/app/admin/models/erp_order.go b/app/admin/models/erp_order.go index fcb421d..2623d08 100644 --- a/app/admin/models/erp_order.go +++ b/app/admin/models/erp_order.go @@ -2603,7 +2603,7 @@ func ErpOrderPay(req *ErpOrderPayReq, c *gin.Context) (*ErpOrderPayResp, error) if payStatus == PayOk { // 已完成支付的订单判断是否发优惠券 // 发放尊享会员优惠券 - UpdateSwitchUserCoupon(orderInfo.ID, orderInfo.Uid) + UpdateSwitchUserCoupon(orderInfo.ID, orderInfo.Uid, orderInfo.RetailType) } return resp, nil @@ -2713,7 +2713,7 @@ func QueryErpOrderPayStatus(billSn string) (*ErpOrderPayResp, error) { if payStatus == PayOk { // 已完成支付的订单判断是否发优惠券 // 发放尊享会员优惠券 - UpdateSwitchUserCoupon(orderInfo.ID, orderInfo.Uid) + UpdateSwitchUserCoupon(orderInfo.ID, orderInfo.Uid, orderInfo.RetailType) } resp.Status = payStatus @@ -8210,7 +8210,7 @@ func saleDetailExport(list []ErpOrder, sumData RetailDetailTotalData, c *gin.Con // UpdateSwitchUserCoupon // 针对购买switch1老主机的用户,如果有录入手机号且开通了会员,则自动发放"500元尊享会员开通优惠券" // 针对购买switch2新主机的用户,如果有录入手机号且开通了会员,则自动发放"300元尊享会员开通优惠券" -func UpdateSwitchUserCoupon(orderId uint32, uid int) error { +func UpdateSwitchUserCoupon(orderId uint32, uid int, retailType string) error { if uid == 0 || orderId == 0 { return errors.New("参数不能为空") } @@ -8250,6 +8250,19 @@ func UpdateSwitchUserCoupon(orderId uint32, uid int) error { return nil } + if retailType == RetailTypeRejected { // 退货订单 + // 查询并删除已发放的活动优惠券(state = 1) + err = orm.Eloquent.Table("user_coupon"). + Where("uid = ? AND activity_type = ? AND state = 1", userInfo.Uid, SwitchActivityType). + Delete(nil).Error + if err != nil { + logger.Error("删除用户已发放的活动优惠券失败", logger.Field("err", err), logger.Field("uid", userInfo.Uid)) + return err + } + + return nil + } + // 已是尊享会员不发券 if IsValidPrivilegeMember(userInfo.Uid) { logger.Info("用户已是尊享会员", logger.Field("uid", userInfo.Uid))