修改获取优惠卷时同一商品两个数量优惠卷选择问题

This commit is contained in:
wucongxing 2023-12-15 15:47:57 +08:00
parent 223ffb8fe3
commit 269856d09c

View File

@ -124,6 +124,9 @@ class UserCouponService extends BaseService
// 优惠卷最高金额 // 优惠卷最高金额
$coupon_high_price = 0; $coupon_high_price = 0;
// 优惠卷最大数量
$coupon_high_num = 0;
// 是否存在互斥卷 // 是否存在互斥卷
$is_mutex = 0; $is_mutex = 0;
@ -201,28 +204,58 @@ class UserCouponService extends BaseService
continue; continue;
} }
if (empty($selected_coupon)) { if (empty($selected_coupons)) {
$selected_coupons[] = $coupon; // 选中的优惠卷数据 $selected_coupons[] = $coupon; // 选中的优惠卷数据
$coupon_high_price = $coupon['coupon_price']; // 满减/无门槛-最高价格
if ($coupon['coupon_type'] == 1 || $coupon['coupon_type'] == 2){
$coupon_high_price = $coupon['coupon_price'];
}
// 数量
if ($coupon['coupon_type'] == 3){
$coupon_high_num = $coupon['min_usable_number'];
}
continue; continue;
} }
// 处理存在互斥卷情况 // 处理存在互斥卷情况
if ($is_mutex == 1) { if ($is_mutex == 1) {
// 选择金额最高的为选中 // 满减/无门槛-最高价格
if ($coupon['coupon_price'] < $coupon_high_price){ if ($coupon['coupon_type'] == 1 || $coupon['coupon_type'] == 2){
continue; // 选择金额最高的为选中
if ($coupon['coupon_price'] < $coupon_high_price){
continue;
}
if ($coupon['coupon_price'] > $coupon_high_price) {
$coupon_high_price = $coupon['coupon_price'];
// 选中的优惠卷数据置空
$selected_coupons = array();
$selected_coupons[] = $coupon;
continue;
}
} }
if ($coupon['coupon_price'] > $coupon_high_price) { // 数量
$coupon_high_price = $coupon['coupon_price']; if ($coupon['coupon_type'] == 3){
// 选择金额最高的为选中
if ($coupon['min_usable_number'] < $coupon_high_num){
continue;
}
// 选中的优惠卷数据置空 if ($coupon['min_usable_number'] > $coupon_high_num) {
$selected_coupons = array(); $coupon_high_num = $coupon['min_usable_number'];
$selected_coupons[] = $coupon;
continue; // 选中的优惠卷数据置空
$selected_coupons = array();
$selected_coupons[] = $coupon;
continue;
}
} }
} }