From 9d44aacb0c6fe744e88efeea58d7c7926eebd924 Mon Sep 17 00:00:00 2001 From: yanzai Date: Thu, 21 Nov 2024 15:37:27 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E6=83=A0=E5=88=B8=E8=B0=83=E6=95=B4?= =?UTF-8?q?=EF=BC=8C=E7=BB=91=E5=AE=9A=E5=A5=97=E9=A4=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/API/H5/ComboController.php | 12 ++++----- .../H5/IntegralSaveMoneyCouponController.php | 9 ++++++- .../Controllers/API/H5/OrderController.php | 16 ++++++------ h5/pages/main/coupon/coupon.vue | 26 ++++++------------- h5/pages/main/question/src/city.vue | 2 +- h5/pages/main/tjyy/tjyy.vue | 1 + 6 files changed, 32 insertions(+), 34 deletions(-) diff --git a/Laravel/app/Http/Controllers/API/H5/ComboController.php b/Laravel/app/Http/Controllers/API/H5/ComboController.php index 8f57915..f3666c9 100644 --- a/Laravel/app/Http/Controllers/API/H5/ComboController.php +++ b/Laravel/app/Http/Controllers/API/H5/ComboController.php @@ -399,11 +399,7 @@ select combo_id as c_id,count(*) as sale_count from orders where status in(2,4) $item_price=number_format($item_price*$wj_zhekou, 2, '.', '') ; } - //使用优惠券 - if(isset($coupon_id) and !empty($coupon_id)){ - if($item_price==0) return \Yz::echoError1("自选项目金额为0,无需使用优惠券"); - $item_price=$this->useYouHuiQuan($item_price,$person,$coupon_id); - } + $items_info['price'] =$item_price; $items_info['original_price'] = $items_original_price; foreach ($groupedData as $keshiName => $children) { @@ -529,7 +525,11 @@ select combo_id as c_id,count(*) as sale_count from orders where status in(2,4) $nmr_list=$finalResult; - +//使用优惠券 + if(isset($coupon_id) and !empty($coupon_id)){ + if($true_price==0) return \Yz::echoError1("金额为0,无需使用优惠券"); + $true_price=$this->useYouHuiQuan($true_price,$person,$coupon_id); + } $data = [ 'group_info' => $group_info, diff --git a/Laravel/app/Http/Controllers/API/H5/IntegralSaveMoneyCouponController.php b/Laravel/app/Http/Controllers/API/H5/IntegralSaveMoneyCouponController.php index dcb5cd2..abba0ac 100644 --- a/Laravel/app/Http/Controllers/API/H5/IntegralSaveMoneyCouponController.php +++ b/Laravel/app/Http/Controllers/API/H5/IntegralSaveMoneyCouponController.php @@ -14,10 +14,16 @@ class IntegralSaveMoneyCouponController extends Controller { $openid =request('openid'); $person_id =request('person_id'); + $combo_id =request('combo_id'); $user=DB::table('web_users')->where(['openid'=>$openid,'status'=>1,'is_del'=>0])->first(); if(!$user) return \Yz::echoError1('openid对应用户不存在'); $person=DB::table('web_user_person')->where(['user_id'=>$user->id,'is_del'=>0,'id'=>$person_id])->first(); if(!$person) return \Yz::echoError1('就诊人信息查询失败'); + $quan_ids=false; + if(isset($combo_id)){ + $quan_ids=DB::table('coupons_combos')->where(['combo_id'=>$combo_id])->pluck('coupon_hisid')->toArray(); + } + $jifen=0; $yucunkuan=0; $YouHuiQuanType_ids=[]; @@ -34,7 +40,7 @@ class IntegralSaveMoneyCouponController extends Controller } } - if(count($YouHuiQuanType_ids)>0){ + if(count($YouHuiQuanType_ids)>0 and isset($combo_id)){ //如果没有选择套餐,则不显示优惠券 $data=[ 'ghzid'=>$person->ghzid, 'action'=>1, @@ -42,6 +48,7 @@ class IntegralSaveMoneyCouponController extends Controller $YouHuiQuanList=$AspNet::YouHuiQuan($data); foreach ($YouHuiQuanList as $key=>$quan){ if(in_array($quan['DZJLBID'],$YouHuiQuanType_ids) and $quan['是否在有效内']===true and $quan['TimeNuZTTextm']=="有效" and $quan['ZT']==1){ + if(isset($combo_id) and !in_array($quan['DZJLBID'],$quan_ids)){continue;} //如果设置了套餐id,则比对券id是否绑定套餐,只有绑定的才能显示 $coupon_list[]=[ 'id'=>$quan['DZJID'], "title"=>$quan['DZJLBMC'], diff --git a/Laravel/app/Http/Controllers/API/H5/OrderController.php b/Laravel/app/Http/Controllers/API/H5/OrderController.php index efba424..bc152a1 100644 --- a/Laravel/app/Http/Controllers/API/H5/OrderController.php +++ b/Laravel/app/Http/Controllers/API/H5/OrderController.php @@ -212,13 +212,7 @@ class OrderController extends Controller if (isset($wj_flag) and $wj_flag == 1) { $item_price = $item_price * $wj_zhekou; } - //使用优惠券 - if (isset($coupon_id) and !empty($coupon_id)) { - if($item_price==0) return \Yz::echoError1("自选项目金额为0,无需使用优惠券"); - $use_quan=$this->useYouHuiQuan($item_price,$person,$coupon_id); - $quanInfo=$use_quan['quanInfo']; - $item_price=$use_quan['price']; - } + $price += $item_price; $missingIds = array_diff($item_ids, $existingIds); @@ -388,7 +382,13 @@ class OrderController extends Controller $plan_nmr_appointment_info=$plan_nmr_temp; } } - + //使用优惠券 + if (isset($coupon_id) and !empty($coupon_id)) { + if($true_price==0) return \Yz::echoError1("金额为0,无需使用优惠券"); + $use_quan=$this->useYouHuiQuan($true_price,$person,$coupon_id); + $quanInfo=$use_quan['quanInfo']; + $true_price=$use_quan['price']; + } $now_datetime = date('Y-m-d H:i:s'); //构建订单号 $order_num = $this->generateOrderNumber(); diff --git a/h5/pages/main/coupon/coupon.vue b/h5/pages/main/coupon/coupon.vue index e2bf6eb..a2a865e 100644 --- a/h5/pages/main/coupon/coupon.vue +++ b/h5/pages/main/coupon/coupon.vue @@ -19,8 +19,10 @@ const mountedAction = () => { }; const GetPersonIntegralSaveMoneyCouponInfo = async () => { + let buyinfo=$store.getBuyInfo() const response = await $api("GetPersonIntegralSaveMoneyCouponInfo", { person_id: $store.getUser()?.person_id, + combo_id:buyinfo.combo_id }); $response(response, () => { couponList.value = response.data.coupon_list; @@ -29,11 +31,11 @@ const GetPersonIntegralSaveMoneyCouponInfo = async () => { const selectCoupon = (item) => { let buyinfo=$store.getBuyInfo() - if(buyinfo.item_ids.length==0) - { - uni.$lu.toast("无自选项目,无需使用代金券"); - return false - } + // if(buyinfo.item_ids.length==0) + // { + // uni.$lu.toast("无自选项目,无需使用代金券"); + // return false + // } yytjInfo.value.couponId = item.id; yytjInfo.value.couponPrice = item.price; yytjInfo.value.couponName = item.title; @@ -46,6 +48,7 @@ const selectCoupon = (item) => { const noSelectCoupon = () => { yytjInfo.value.couponId = ""; yytjInfo.value.couponPrice = ""; + yytjInfo.value.couponName = ""; $store.setYytjInfo(yytjInfo.value); let buyinfo=$store.getBuyInfo() buyinfo.coupon_id=null @@ -57,19 +60,6 @@ const configRef = (e) => { if (!config_ref.value) { config_ref.value = e; mountedAction(); - uni.showModal({ - title: '提示', - content: '优惠券仅可用于抵扣自选项目金额', - showCancel:false, - confirmText:'确定', - success: function (res) { - if (res.confirm) { - - } else if (res.cancel) { - - } - } - }); } }; diff --git a/h5/pages/main/question/src/city.vue b/h5/pages/main/question/src/city.vue index eb2ad86..a98fce7 100644 --- a/h5/pages/main/question/src/city.vue +++ b/h5/pages/main/question/src/city.vue @@ -40,7 +40,7 @@ }) } }) - getUserInfo(); + //getUserInfo(); }) } diff --git a/h5/pages/main/tjyy/tjyy.vue b/h5/pages/main/tjyy/tjyy.vue index 76d57e5..9ea0d96 100755 --- a/h5/pages/main/tjyy/tjyy.vue +++ b/h5/pages/main/tjyy/tjyy.vue @@ -51,6 +51,7 @@ const GetPersonIntegralSaveMoneyCouponInfo = async () => { // 获取个人积分, 预存款, 优惠券 const response = await $api("GetPersonIntegralSaveMoneyCouponInfo", { person_id: $store.getUser()?.person_id, + combo_id:buyInfo.value.combo_id }); $response(response, () => { couponList.value = response.data.coupon_list;