mac il y a 1 semaine
Parent
commit
ae83a41855

+ 0 - 1
.idea/f1-jxyh-php-8525.iml

@@ -6,7 +6,6 @@
       <sourceFolder url="file://$MODULE_DIR$/./app" isTestSource="false" packagePrefix="app\" />
       <sourceFolder url="file://$MODULE_DIR$/./app/view/components" isTestSource="false" packagePrefix="app\View\Components\" />
       <sourceFolder url="file://$MODULE_DIR$/tests" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/vendor/nikic/fast-route/test" isTestSource="true" />
       <excludeFolder url="file://$MODULE_DIR$/vendor/brick/math" />
       <excludeFolder url="file://$MODULE_DIR$/vendor/carbonphp/carbon-doctrine-types" />
       <excludeFolder url="file://$MODULE_DIR$/vendor/composer" />

+ 96 - 0
app/business/GoodsBusiness.php

@@ -433,4 +433,100 @@
         }
 
 
+        /** 芯片升级支付
+         * @param array $param
+         * @return void
+         */
+        static public function buyType5(array $param)
+        {
+            try {
+                $payorderId = PayorderBusiness::CardorderFiveAdd($param);
+
+                $payorder = Db::table('wa_payorder')->where('id', $payorderId)->first();
+
+//                if ($payorder->pay_type == 1) {
+//                    $data = PayorderBusiness::payment($payorder->order_no, $payorder->pay_characteristic, $payorder->money, Arr::get($param, 'url', ''));
+//                    Log::channel('payment')->info('拉丁支付', $data);
+//                    if (Arr::get($data, 'data.code') != 200) {
+//                        throw new \Exception('通道未开通!');
+//                    }
+//                    $arr = [
+//                        'type'       => 2,
+//                        'url'        => Arr::get($data, 'data.attrData.payUrl'),
+//                        'payOrderId' => ''
+//                    ];
+//                } elseif ($payorder->pay_type == 2) {
+//                    $data = PayTwoBusiness::payment($payorder->order_no, $payorder->pay_characteristic, $payorder->money, Arr::get($param, 'url', ''));
+//                    Log::channel('payment')->info('桥头支付支付', $data);
+//                    if (Arr::get($data, 'data.retCode') != 'SUCCESS') {
+//                        throw new \Exception('调用支付失败!');
+//                    }
+//                    $arr = [
+//                        'type'       => 2,
+//                        'url'        => Arr::get($data, 'data.payParams.payUrl'),
+//                        'payOrderId' => ''
+//                    ];
+//                }elseif ($payorder->pay_type == 3) {
+//                    $data = PayThreeBusiness::payment($payorder->order_no, $payorder->pay_characteristic, $payorder->money, Arr::get($param, 'url', ''));
+//                    Log::channel('payment')->info('林北支付支付', $data);
+//                    if (Arr::get($data, 'data.code') != 1000) {
+//                        throw new \Exception('通道未开通!');
+//                    }
+//                    $arr = [
+//                        'type'       => 2,
+//                        'url'        => Arr::get($data, 'data.data.message.url'),
+//                        'payOrderId' => ''
+//                    ];
+//                }elseif ($payorder->pay_type == 4){
+//                    $data = PayorderBusiness::payment($payorder->order_no, $payorder->pay_characteristic, $payorder->money, Arr::get($param, 'url', ''));
+//                    Log::channel('payment')->info('西门支付', $data);
+//                    if (Arr::get($data, 'data.code') != 200) {
+//                        throw new \Exception('通道未开通!');
+//                    }
+//                    $arr = [
+//                        'type'       => 2,
+//                        'url'        => Arr::get($data, 'data.attrData.payUrl'),
+//                        'payOrderId' => ''
+//                    ];
+//                }elseif ($payorder->pay_type == 5) {
+//                    $data = PayFiveBusiness::payment($payorder->order_no, $payorder->pay_characteristic, $payorder->money, Arr::get($param, 'url', ''));
+//                    Log::channel('payment')->info('鸿运支付支付', $data);
+//                    if (Arr::get($data, 'data.retCode') != 'SUCCESS') {
+//                        throw new \Exception('调用支付失败!');
+//                    }
+//                    $arr = [
+//                        'type'       => 2,
+//                        'url'        => Arr::get($data, 'data.payParams.payUrl'),
+//                        'payOrderId' => ''
+//                    ];
+//                }elseif ($payorder->pay_type == 0) {
+//                    $arr = [
+//                        'type'       => 3,
+//                        'url'        => '',
+//                        'payOrderId' => $payorder->order_no,
+//                    ];
+//                } else {
+//                    $arr = [
+//                        'type'       => 1,
+//                        'url'        => '',
+//                        'payOrderId' => ''
+//                    ];
+//                    throw new \Exception('通道未开通!');
+//                }
+
+                $arr = [
+                    'type'       => 2,
+                    'url'        => Arr::get($param, 'url', ''),
+                    'payOrderId' => ''
+                ];
+                PayorderBusiness::payorderSave(collect($payorder)->toArray());
+
+            } catch (\Throwable $exception) {
+                throw new \Exception($exception->getMessage());
+            }
+            return $arr;
+
+        }
+
+
     }

+ 54 - 0
app/business/PayorderBusiness.php

@@ -268,6 +268,56 @@ class PayorderBusiness
         return $payorderId;
     }
 
+
+    /** 资产险生成订单号
+     * @param array $param
+     * @return int
+     * @throws \Exception
+     */
+    static public function CardorderFiveAdd(array $param)
+    {
+        try {
+            $signrecord = Db::table('wa_sign_record')->where('id', $param['id'])->first();
+            if (empty($signrecord)) {
+                throw new \Exception('卡不存在!');
+            }
+            $payAisleData = Db::table('wa_pay_aisle')->where('characteristic', $param['pay_characteristic'])->first();
+            if (empty($payAisleData)) {
+                throw new \Exception('支付类型不存在!');
+            }
+            $goods = Db::table('wa_goods')->where('id', $signrecord->goods_id)->first();
+            if (empty($goods)) {
+                throw new \Exception('产品不存在!');
+            }
+
+            $paygoods = Db::table('wa_goods')->where('id', $goods->rebate_six)->first();
+            if (empty($paygoods)) {
+                throw new \Exception('产品不存在!');
+            }
+
+            $characteristic = $payAisleData->characteristic;
+            $pay_type       = $payAisleData->type;
+            $order_no       = date('YmdHis') . mt_rand(1000, 9999);
+            $payorderId     = Db::table('wa_payorder')->insertGetId([
+                'goods_id'           => $paygoods->id,
+                'goods_type'         => $paygoods->type,
+                'user_id'            => $param['user_data']['id'],
+                'order_no'           => $order_no,
+                'pay_characteristic' => $characteristic,
+                'pay_type'           => $pay_type,
+                'money'              => $paygoods->pay_price,
+                'sign_record_id'     => $param['id'],
+                'num'                => 1,
+                'is_prestore'        => 1,
+                'created_at'         => date('Y-m-d H:i:s'),
+                'updated_at'         => date('Y-m-d H:i:s'),
+            ]);
+        } catch (\Throwable $exception) {
+            throw new \Exception($exception->getMessage());
+        }
+        return $payorderId;
+    }
+
     /**提现
      * @return void
      */
@@ -669,6 +719,10 @@ class PayorderBusiness
                 Db::table('wa_sign_record')
                     ->where('id', $data['sign_record_id'])
                     ->update(['is_shuzizhengshu' => 1, 'updated_at' => date('Y-m-d H:i:s')]);
+            }elseif ($goodsData->type == 15) {
+                Db::table('wa_sign_record')
+                    ->where('id', $data['sign_record_id'])
+                    ->update(['is_upgrade' => 1, 'updated_at' => date('Y-m-d H:i:s')]);
             }
 
             /** 新增消费数据 */

+ 35 - 0
app/controller/GoodsController.php

@@ -552,6 +552,41 @@ class GoodsController
         return success($arr, '购买成功');
     }
 
+
+    #[Apidoc\Title("芯片升级支付")]
+    #[Apidoc\Url("api/goods/upgrade_pay_buy.html")]
+    #[Apidoc\Method("POST")]
+    #[Apidoc\Header("token", type: "string", require: true, desc: "身份令牌Token", mock: "@token")]
+    #[Apidoc\Param(name: "id", type: "int", require: true, desc: '产品ID', default: '')]
+    #[Apidoc\Param(name: "pay_characteristic", type: "int", require: true, desc: '支付通道标识', default: '1')]
+    #[Apidoc\Returned(name: "type", type: "int", require: true, desc: '类型  1直接购买  2支付通道', default: 2)]
+    #[Apidoc\Returned(name: "url", type: "string", require: true, desc: '支付地址', default: 'https://www.baidu.com/')]
+    #[Apidoc\Returned(name: "payOrderId", type: "string", require: true, desc: '订单号', default: '111')]
+    public function upgrade_pay_buy(Request $request)
+    {
+        Db::beginTransaction();
+        try {
+            $param              = $request->param_data;
+            $param['url']       = $request->header('origin');
+            $param['user_data'] = $request->user_data;
+            $param['num']       = Arr::get($param, 'num', 1);
+            Validator::input($param, [
+                'id'                 => Validator::notEmpty()->intType()->setName('产品标识'),
+                'pay_characteristic' => Validator::notEmpty()->setName('支付标识'),
+            ]);
+            $goods = Db::table('wa_sign_record')->where('id', $param['id'])->first();
+            if (empty($goods)) {
+                throw new \Exception('卡不存在!');
+            }
+            $arr = GoodsBusiness::buyType5($param);
+        } catch (\Throwable $exception) {
+            Db::rollBack();
+            return error($exception->getMessage());
+        }
+        Db::commit();
+        return success($arr, '购买成功');
+    }
+
 //        #[Apidoc\Title("补偿申请")]
 //        #[Apidoc\Url("api/goods/compensation_add.html")]
 //        #[Apidoc\Method("POST")]

+ 7 - 0
app/route.php

@@ -186,6 +186,13 @@ Route::group('/api', function () {
             \app\middleware\Decrypt::class
 
         ]);
+        /** -----芯片升级支付 */
+        Route::any('/upgrade_pay_buy.html', [controller\GoodsController::class, 'upgrade_pay_buy'])->middleware([
+            \app\middleware\Sign::class,
+            \app\middleware\UserToken::class,
+            \app\middleware\Decrypt::class
+
+        ]);
 
 //            /** -----补偿申请*/
 //            Route::any('/compensation_add.html', [controller\GoodsController::class, 'compensationAdd'])->middleware([

+ 7 - 4
plugin/admin/app/controller/PayorderController.php

@@ -141,16 +141,19 @@
                 }
 
                 if($goodslist->type==8){
-                    $goods_name = '缴纳支付 -- '.$goodslist->square;
+                    $goods_name = '缴纳支付-'.$goodslist->square;
                 }
                 if($goodslist->type==10){
-                    $goods_name = '跨行联网 -- '.$goodslist->square;
+                    $goods_name = '跨行联网-'.$goodslist->square;
                 }
                 if($goodslist->type==11){
-                    $goods_name = '投保资产险 -- '.$goodslist->square;
+                    $goods_name = '投保资产险-'.$goodslist->square;
                 }
                 if($goodslist->type==14){
-                    $goods_name = '数字证书 -- '.$goodslist->square;
+                    $goods_name = '数字证书-'.$goodslist->square;
+                }
+                if($goodslist->type==15){
+                    $goods_name = '芯片升级-'.$goodslist->square;
                 }
 
                 $arr[] = [