文件:crmeb/app/services/order/StoreOrderRefundServices.php
方法:public function payOrderRefund(int $type, $order, array $refundData)
这个退款优惠券有问题,场景复现:
1、多个优惠券商品(商品1、商品2、商品3)绑定的是同一个优惠券(券1)信息;
2、同一个用户:商品1、商品2、商品3都有下单,这是订单1、订单2、订单3 的 virtual_info 的优惠券id都是券1,并且都是未使用状态;
3、若是此时只有订单1发起退款操作,看代码逻辑是不是也会把 订单2、订单3 的券删除?
//虚拟商品优惠券退款处理
if ($order['virtual_type'] == 2) {
/** @var StoreCouponUserServices $couponUser */
$couponUser = app()->make(StoreCouponUserServices::class);
$res = $couponUser->delUserCoupon(['cid' => $order['virtual_info'], 'uid' => $order['uid'], 'status' => 0]);
if (!$res) throw new AdminException(400493);
/** @var StoreCouponIssueUserServices $couponIssueUser */
$couponIssueUser = app()->make(StoreCouponIssueUserServices::class);
$couponIssueUser->delIssueUserCoupon(['issue_coupon_id' => $order['virtual_info'], 'uid' => $order['uid']]);
}
{{item.user_info.nickname ? item.user_info.nickname : item.user_name}}
作者 管理员 企业
{{itemf.name}}
{{itemc.user_info.nickname}}
{{itemc.user_name}}
回复 {{itemc.comment_user_info.nickname}}
{{itemf.name}}