1、新增零售退货后清理主机优惠券的逻辑;
This commit is contained in:
parent
505f7548a5
commit
e1a7d9cc91
|
@ -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, "")
|
||||
|
|
|
@ -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))
|
||||
|
|
Loading…
Reference in New Issue
Block a user