Browse Source

支付加平台参数

gorden 8 months ago
parent
commit
13e65a3f85

+ 8 - 6
app/admin/controller/order/WholeController.php

@@ -238,7 +238,7 @@ class WholeController extends Curd
                     if (!empty($component['goods'])) {
                         $supplierName = Supplier::where('supplier_id', $component['goods']['join_goods_supplier_id'])->value('supplier_name');
                         $benefit = MemberBenefit::where('join_benefit_member_id',$item['join_sheet_member_id'])
-                            ->where('join_benefit_package_id',$item['goods']['goods_id'])
+                            ->where('join_benefit_goods_id',$component['goods']['goods_id'])
                             ->where('join_benefit_order_id',$orderId)
                             ->first();
                         $goodsArr[] = [
@@ -276,6 +276,7 @@ class WholeController extends Curd
                     ->where('join_benefit_order_id', $orderId)
                     ->get();
                 if (!empty($benifits)) {
+                    $item['appontment'] = [];
                     foreach($benifits as $benifit){
                         $item['benefit'] = [
                             'total' => intval($benifit->member_benefit_limit_count),
@@ -287,8 +288,6 @@ class WholeController extends Curd
                             ->select('appointment_id', 'appointment_done_datetime', 'appointment_done_json')
                             ->get()
                             ->toArray();
-                        dump($appontments);
-                        $item['appontment'] = [];
                         foreach ($appontments as $appontment) {
                             $doneJson = [];
                             $username = '';
@@ -300,7 +299,7 @@ class WholeController extends Curd
                             }
                             $item['appontment'][] = [
                                 'member' => ($item['cert'] ? $item['cert']['member_cert_name'] . '-' : '') . ($item['member'] ? $item['member']['member_mobile'] : ''),
-                                'goods_name' => $item['goods']['goods_name'],
+                                'goods_name' => $item['goods']['goods_name'].'-'.$benifit->member_benefit_name,
                                 'premisses' => isset($doneJson['charge']) ? $doneJson['charge']['charge_premises'] : '',
                                 'username' => $username,
                                 'nbr' => 1,
@@ -1116,6 +1115,10 @@ class WholeController extends Curd
         if (!$memberId || empty($benefitList)) {
             return json_fail('参数异常');
         }
+        if (empty($code)){
+            return json_fail('请输入验证码');
+        }
+
         $benefitIds = [];
         foreach($benefitList as $benefit){
             if(isset($benefit['nbr']) && intval($benefit['nbr']) > 0){
@@ -1178,11 +1181,10 @@ class WholeController extends Curd
                         // 更新benefit 表
                         MemberBenefit::where('member_benefit_id',$benefit['member_benefit_id'])->update(['member_benefit_used_count'=>$usedCount]);
                         // 更新Appointment 表
-                        $appointments = Appointment::where('join_appointment_member_benefit_id', $benefit['join_benefit_order_id'])
+                        $appointments = Appointment::where('join_appointment_member_benefit_id', $benefit['member_benefit_id'])
                             ->where('appointment_status', 'INIT')
                             ->limit(intval($list['nbr']))
                             ->get();
-                        dump($appointments);
                         foreach ($appointments as $appointment) {
                             Appointment::where('appointment_id', $appointment->appointment_id)->update([
                                 'appointment_status' => 'DONE',

+ 12 - 3
app/api/controller/pay/AlipayController.php

@@ -5,6 +5,7 @@ namespace app\api\controller\pay;
 use app\api\controller\Log;
 use app\model\Order;
 use app\model\PayDetail;
+use Payment\Common\PayException;
 use support\Db;
 use support\Request;
 use Yansongda\Pay\Exceptions\BusinessException;
@@ -18,6 +19,9 @@ class AlipayController
         if (!isset($params['order_id'])){
             return json_fail('参数异常');
         }
+        if (!isset($params['platform'])){
+            return json_fail('缺少平台参数');
+        }
         $orderId = $params['order_id'];
         $payDetail = PayDetail::where('join_pay_order_id',$orderId)->where('pay_status','WAITING')->first();
         if (!$payDetail){
@@ -34,13 +38,18 @@ class AlipayController
 
             $payDetail->pay_prepayid = 'ALIPAY';
             $payDetail->save();
-
-            $result = Pay::alipay(config('payment.alipay'))->app($payData)->getContent();
+            if ($params['platform'] == 'android'){
+                $result = Pay::alipay(config('payment.alipay'))->app($payData)->getContent();
+            }elseif ($params['platform'] == 'WeChat'){
+                $result = Pay::alipay(config('payment.alipay'))->wap($payData)->getContent();
+            }else{
+                throw new PayException("平台参数无效");
+            }
 
             Db::commit();
 
             return json_success('',$result);
-        } catch (BusinessException $e) {
+        } catch (PayException $e) {
             Db::rollBack();
             return json_fail($e->getMessage());
         } catch (\Exception $e) {

+ 14 - 2
app/api/controller/pay/WxpayController.php

@@ -4,6 +4,7 @@ namespace app\api\controller\pay;
 
 use app\model\Order;
 use app\model\PayDetail;
+use Payment\Common\PayException;
 use support\Db;
 use support\Request;
 use Yansongda\Pay\Exceptions\BusinessException;
@@ -18,6 +19,9 @@ class WxpayController
         if (!isset($params['order_id'])) {
             return json_fail('参数异常');
         }
+        if (!isset($params['platform'])){
+            return json_fail('缺少平台参数');
+        }
         $orderId = $params['order_id'];
         $payDetail = PayDetail::where('join_pay_order_id',$orderId)->where('pay_status','WAITING')->first();
         if (!$payDetail) {
@@ -34,10 +38,18 @@ class WxpayController
             $payDetail->pay_prepayid = 'ALIPAY';
             $payDetail->save();
 
-            $alipay = Pay::wechat(config('payment.wxpay'))->app($payData)->getContent();
+            if ($params['platform'] == 'android'){
+                $wxpay = Pay::wechat(config('payment.wxpay'))->app($payData)->getContent();
+            }elseif ($params['platform'] == 'WeChat'){
+                $wxpay = Pay::wechat(config('payment.wxpay'))->wap($payData)->getContent();
+            }elseif ($params['platform'] == 'mp-weixin'){
+                $wxpay = Pay::wechat(config('payment.wxpay'))->miniapp($payData)->getContent();
+            }else{
+                throw new PayException("平台参数无效");
+            }
 
             Db::commit();
-            return json_success('', json_decode($alipay, true));
+            return json_success('', json_decode($wxpay, true));
         } catch (BusinessException $e) {
             Db::rollBack();
             return json_fail($e->getMessage());