diff --git a/app/Http/Controllers/SkyxuController.php b/app/Http/Controllers/SkyxuController.php index cc0df73..7ddca6e 100644 --- a/app/Http/Controllers/SkyxuController.php +++ b/app/Http/Controllers/SkyxuController.php @@ -2,44 +2,330 @@ namespace App\Http\Controllers; -use App\Api\Controllers\ApiResponse; +use App\Models\Coupon; +use App\Models\TestLog; +use App\Models\User; +use Illuminate\Queue\Jobs\Job; +use XuanChen\Coupon\Action\pingan\Query; +use XuanChen\Coupon\Action\ysd\YsdQuery; class SkyxuController { - use ApiResponse; + + public $user; + + public $jiemi; + + public $query_coupon; + + public $ticket; + + public $type; public function index() { - $postData = [ - 'server_id' => '20200103490104', - 'key' => 'rRhHO7Jbao2SSxAH8VygV4DgS4L2WESa', - 'addcode' => '69198663', - 'sign' => '6cd2232e9aa853219a0dff80430567796d0ae33d6c0289dfa835813def08ed8c', - 'data' => 'DBEgnb5HidvKQDyxL0BAcCwuMkVdbTZRVu4mxwwzAM5TWj\/HAQfcrH9VzcgdG42lINsHYvI2Tv+MJfyP9eXVEQ==', - ]; + $list = Job::get(); + dd($list); + Coupon::whereBetween('id', ['70091', '70513']) + ->orderBy('created_at', 'ASC') + ->chunk(100, function ($logs) { + foreach ($logs as $log) { + if (preg_match('/^YSD/', $log->redemptionCode, $matches)) { + $type = Coupon::TYPE_YSD; + } else { + $type = Coupon::TYPE_PINGAN; + } - $curl = curl_init(); + $log->type = $type; + $log->save(); + } + }); - curl_setopt_array($curl, array( - CURLOPT_URL => "http://pa.cnskl.com/api/V1/user/freezecoupon", - CURLOPT_RETURNTRANSFER => true, - CURLOPT_ENCODING => "", - CURLOPT_MAXREDIRS => 10, - CURLOPT_TIMEOUT => 0, - CURLOPT_FOLLOWLOCATION => true, - CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, - CURLOPT_CUSTOMREQUEST => "POST", - CURLOPT_POSTFIELDS => $postData, - CURLOPT_HTTPHEADER => array( - "Content-Type: multipart/form-data;", - ), - )); + dd(); + $count = TestLog::whereBetween('created_at', ['2020-11-10 11:06:40', '2020-11-11 10:42:26']) + ->where('type', 'freezecoupon') + ->where('back', '0') + ->orderBy('created_at', 'ASC') + ->count(); + dump($count); + // $list = TestLog::whereBetween('created_at', ['2020-11-10 11:06:40', '2020-11-11 10:42:26']) + // ->where('type', 'freezecoupon') + // ->where('back', '0') + // ->orderBy('created_at', 'ASC') + // ->get(); + // + //// $data = []; + //// foreach ($list as $cou) { + //// $data[] = $cou->in_source['jiemi']['redemptionCode']; + //// } + //// dump($data); - $response = curl_exec($curl); + if ($count > 1) { + try { + TestLog::whereBetween('created_at', ['2020-11-10 11:06:40', '2020-11-11 10:42:26']) + ->where('type', 'freezecoupon') + ->where('back', '0') + ->orderBy('created_at', 'ASC') + ->chunk(100, function ($logs) { + $su = $er = []; - curl_close($curl); - echo $response; + foreach ($logs as $log) { + + $this->jiemi = $log->in_source['jiemi']; + $this->user = User::where('outlet_id', $this->jiemi['outletId'])->first(); + $this->getQuery(); + + if (is_string($this->queryData)) { + $er[$this->jiemi['redemptionCode']] = $this->queryData; + continue; + } + + if ($this->jiemi['redemptionCode'] == '157922465040') { + dump($this->jiemi); + dump($this->ticket); + dump($this->queryData); + } + + $this->checkCode(); + if (is_string($this->ticket)) { + $er[$this->jiemi['redemptionCode']] = $this->ticket; + + $er[] = $this->jiemi['redemptionCode']; + + continue; + } + + $status = isset($log->out_source['code']) ? 2 : 3; + $exists = Coupon::where('status', $status) + ->where('redemptionCode', $this->jiemi['redemptionCode'])->exists(); + if ($exists && $status != 3) { + $er[$this->jiemi['redemptionCode']] = [ + $log->out_source, + ]; + + continue; + } + + $couponData = [ + 'user_id' => $this->user->parent->id, + 'type' => Coupon::TYPE_YSD, + 'outletId' => $this->user->outlet_id, + 'orderid' => '', + 'PaOutletId' => $this->queryData['PaOutletId'], + 'redemptionCode' => $this->jiemi['redemptionCode'], + 'thirdPartyGoodsId' => $this->queryData['thirdPartyGoodsId'], + 'couponName' => $this->queryData['couponName'], + 'price' => $this->ticket['price'], + 'total' => $this->jiemi['total'], + 'profit' => $this->ticket['profit'], + 'status' => $status, + 'remark' => isset($log->out_source['code']) ? '核销成功!' : $log->out_source[0], + 'startTime' => $this->queryData['startTime'], + 'endTime' => $this->queryData['endTime'], + 'created_at' => $log->created_at->format('Y-m-d H:i:s'), + ]; + + // dump($this->jiemi); + // dump($this->ticket); + // dump($couponData); + // dd($this->queryData); + + $coupon = Coupon::create($couponData); + $coupon->profit(); + + $log->back = 1; + $log->save(); + + } + + if (count($er) > 1) { + dump($er); + } + }); + } catch (\Exception $e) { + dd($e->getMessage()); + } + } } + public function getQuery() + { + if (preg_match('/^YSD/', $this->jiemi['redemptionCode'], $matches)) { + $this->query_coupon = (new YsdQuery)->setOutletId($this->jiemi['outletId']) + ->setCode($this->jiemi['redemptionCode']) + ->start(); + $this->type = 'ysd'; + } else { + $this->query_coupon = (new Query)->setOutletId($this->jiemi['outletId']) + ->setCode($this->jiemi['redemptionCode']) + ->start(); + $this->type = 'pingan'; + + } + + if ($this->type == 'ysd') { + return $this->getYsdPro(); + + } else { + return $this->getPro(); + } + + } + + public function getYsdPro() + { + $rule_code = $this->query_coupon->activity->rule->code; + $code = $this->user->parent->code->where('code', $rule_code)->first(); + + if (!$code) { + $this->queryData = "核销失败,您没有权限使用此卡券优惠活动。"; + } + + $ticket = explode('-', $rule_code); + if (!is_array($ticket) || count($ticket) != 3) { + $this->queryData = "核销失败,卡券规则格式不正确"; + } + + $full = $ticket[1]; //full100 + $price = $ticket[2]; + // preg_match('/(\d{3}(\.\d+)?)/is', $full, $match); + preg_match('/\d+/', $full, $match); + + if (!is_array($match)) { + $this->queryData = "核销失败,卡券规则格式不正确。"; + } + + if (!is_numeric($this->jiemi['total'])) { + $this->queryData = "核销失败,订单金额必须是数字"; + } + + if ($match[0] > $this->jiemi['total']) { + $this->queryData = '核销失败,订单金额不足。'; + } + + $this->queryData = [ + 'couponName' => $this->query_coupon->activity->title, + 'thirdPartyGoodsId' => $rule_code, + 'productId' => '', + 'PaOutletId' => '', + 'startTime' => $this->query_coupon->start_at->format('Y-m-d H:i:s'), + 'endTime' => $this->query_coupon->end_at->format('Y-m-d H:i:s'), + ]; + + return $this->ticket = [ + 'total' => $match[0], + 'price' => $price, + 'profit' => $code->profit, + ]; + } + + public function getPro() + { + + if (is_string($this->query_coupon)) { + return $this->query_coupon; + } + + $profitOfferItemVersion = $this->query_coupon['profitOfferItemVersion']; + + $productItemList = $this->query_coupon['productItemList']; + + if (!is_array($productItemList) || !is_array($productItemList[0])) { + $this->queryData = '核销失败,平安券数据有误,可能是未配置网点。'; + } + + //循环查找 + $first = ''; + foreach ($productItemList as $key => $item) { + $productId = $item['productId']; + $thirdPartyGoodsId = $item['thirdPartyGoodsId']; + $outletList = $item['outletList']; + if (!is_array($outletList) || !is_array($outletList[0])) { + $this->queryData = '核销失败,网点信息有误!请检查平安券配置信息。'; + break; + } + + $outletList = collect($outletList); + //判断是新版还是旧版 + if ($profitOfferItemVersion) { + //新版通过第三方查询 + $first = $outletList->firstWhere('thirdOutletNo', $this->user->outlet_id); + + if ($first) { + break; + } + } else { + //旧版通过平安网点查询 + $first = $outletList->firstWhere('outletNo', $this->user->PaOutletId); + if ($first) { + break; + } + } + } + + if (!$first) { + $this->queryData = '核销失败,未找到可用网点信息。'; + } + + if (!$thirdPartyGoodsId) { + $this->queryData = '核销失败,平安券编号规则有误。'; + } + + if (!$productId) { + $this->queryData = '核销失败,未查询到平安券商品id。'; + } + + return $this->queryData = [ + 'couponName' => $this->query_coupon['couponName'], + 'thirdPartyGoodsId' => $thirdPartyGoodsId, + 'productId' => $productId, + 'PaOutletId' => $first['outletNo'], + 'startTime' => $this->query_coupon['startTime'], + 'endTime' => $this->query_coupon['endTime'], + ]; + + } + + public function checkCode() + { + if ($this->type == 'ysd') { + return $this->ticket; + } + + $code = $this->user->parent->code->where('code', $this->queryData['thirdPartyGoodsId'])->first(); + if (!$code) { + $this->ticket = "核销失败,未找到此项平安券规则,请联系管理人员检查渠道配置。"; + } + + $ticket = explode('-', $this->queryData['thirdPartyGoodsId']); + + if (!is_array($ticket) || count($ticket) != 3) { + $this->ticket = "核销失败,平安券规则格式不正确。"; + } + + $full = $ticket[1]; //full100 + $price = $ticket[2]; + preg_match('/\d+/', $full, $result); + + if (empty($result) || !is_array($result)) { + $this->ticket = "核销失败,平安券规则格式不正确。"; + } + + if (!is_numeric($this->jiemi['total'])) { + $this->ticket = "核销失败,订单金额必须是数字"; + } + if ($result[0] > $this->jiemi['total']) { + $this->ticket = '核销失败,订单金额不足,平安券不可使用。'; + } + + $this->ticket = [ + 'total' => $result[0], + 'price' => $price, + 'profit' => $code->profit, + ]; + + return $this->ticket; + } + } diff --git a/bootstrap/cache/packages.php b/bootstrap/cache/packages.php index 965a05e..3e8f1b5 100644 --- a/bootstrap/cache/packages.php +++ b/bootstrap/cache/packages.php @@ -21,6 +21,17 @@ 'Admin' => 'Encore\\Admin\\Facades\\Admin', ), ), + 'facade/ignition' => + array ( + 'providers' => + array ( + 0 => 'Facade\\Ignition\\IgnitionServiceProvider', + ), + 'aliases' => + array ( + 'Flare' => 'Facade\\Ignition\\Facades\\Flare', + ), + ), 'fideloper/proxy' => array ( 'providers' => @@ -71,6 +82,20 @@ 0 => 'Carbon\\Laravel\\ServiceProvider', ), ), + 'nunomaduro/collision' => + array ( + 'providers' => + array ( + 0 => 'NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider', + ), + ), + 'overtrue/laravel-query-logger' => + array ( + 'providers' => + array ( + 0 => 'Overtrue\\LaravelQueryLogger\\ServiceProvider', + ), + ), 'simplesoftwareio/simple-qrcode' => array ( 'providers' => @@ -82,4 +107,18 @@ 'QrCode' => 'SimpleSoftwareIO\\QrCode\\Facades\\QrCode', ), ), + 'xuanchen/coupon' => + array ( + 'providers' => + array ( + 0 => 'XuanChen\\Coupon\\ServiceProvider', + ), + ), + 'xuanchen/unionpay' => + array ( + 'providers' => + array ( + 0 => 'XuanChen\\UnionPay\\ServiceProvider', + ), + ), ); \ No newline at end of file diff --git a/bootstrap/cache/services.php b/bootstrap/cache/services.php index 96fd4ac..51fbf36 100644 --- a/bootstrap/cache/services.php +++ b/bootstrap/cache/services.php @@ -25,19 +25,24 @@ 21 => 'Illuminate\\View\\ViewServiceProvider', 22 => 'Barryvdh\\Debugbar\\ServiceProvider', 23 => 'Encore\\Admin\\AdminServiceProvider', - 24 => 'Fideloper\\Proxy\\TrustedProxyServiceProvider', - 25 => 'Intervention\\Image\\ImageServiceProvider', - 26 => 'Encore\\WangEditor\\WangEditorServiceProvider', - 27 => 'Laravel\\Tinker\\TinkerServiceProvider', - 28 => 'Maatwebsite\\Excel\\ExcelServiceProvider', - 29 => 'Carbon\\Laravel\\ServiceProvider', - 30 => 'SimpleSoftwareIO\\QrCode\\QrCodeServiceProvider', - 31 => 'App\\Providers\\AppServiceProvider', - 32 => 'App\\Providers\\AuthServiceProvider', - 33 => 'App\\Providers\\EventServiceProvider', - 34 => 'App\\Providers\\RouteServiceProvider', - 35 => 'App\\Api\\ApiServiceProvider', - 36 => 'App\\Merchant\\MerchantServiceProvider', + 24 => 'Facade\\Ignition\\IgnitionServiceProvider', + 25 => 'Fideloper\\Proxy\\TrustedProxyServiceProvider', + 26 => 'Intervention\\Image\\ImageServiceProvider', + 27 => 'Encore\\WangEditor\\WangEditorServiceProvider', + 28 => 'Laravel\\Tinker\\TinkerServiceProvider', + 29 => 'Maatwebsite\\Excel\\ExcelServiceProvider', + 30 => 'Carbon\\Laravel\\ServiceProvider', + 31 => 'NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider', + 32 => 'Overtrue\\LaravelQueryLogger\\ServiceProvider', + 33 => 'SimpleSoftwareIO\\QrCode\\QrCodeServiceProvider', + 34 => 'XuanChen\\Coupon\\ServiceProvider', + 35 => 'XuanChen\\UnionPay\\ServiceProvider', + 36 => 'App\\Providers\\AppServiceProvider', + 37 => 'App\\Providers\\AuthServiceProvider', + 38 => 'App\\Providers\\EventServiceProvider', + 39 => 'App\\Providers\\RouteServiceProvider', + 40 => 'App\\Api\\ApiServiceProvider', + 41 => 'App\\Merchant\\MerchantServiceProvider', ), 'eager' => array ( @@ -53,19 +58,24 @@ 9 => 'Illuminate\\View\\ViewServiceProvider', 10 => 'Barryvdh\\Debugbar\\ServiceProvider', 11 => 'Encore\\Admin\\AdminServiceProvider', - 12 => 'Fideloper\\Proxy\\TrustedProxyServiceProvider', - 13 => 'Intervention\\Image\\ImageServiceProvider', - 14 => 'Encore\\WangEditor\\WangEditorServiceProvider', - 15 => 'Laravel\\Tinker\\TinkerServiceProvider', - 16 => 'Maatwebsite\\Excel\\ExcelServiceProvider', - 17 => 'Carbon\\Laravel\\ServiceProvider', - 18 => 'SimpleSoftwareIO\\QrCode\\QrCodeServiceProvider', - 19 => 'App\\Providers\\AppServiceProvider', - 20 => 'App\\Providers\\AuthServiceProvider', - 21 => 'App\\Providers\\EventServiceProvider', - 22 => 'App\\Providers\\RouteServiceProvider', - 23 => 'App\\Api\\ApiServiceProvider', - 24 => 'App\\Merchant\\MerchantServiceProvider', + 12 => 'Facade\\Ignition\\IgnitionServiceProvider', + 13 => 'Fideloper\\Proxy\\TrustedProxyServiceProvider', + 14 => 'Intervention\\Image\\ImageServiceProvider', + 15 => 'Encore\\WangEditor\\WangEditorServiceProvider', + 16 => 'Laravel\\Tinker\\TinkerServiceProvider', + 17 => 'Maatwebsite\\Excel\\ExcelServiceProvider', + 18 => 'Carbon\\Laravel\\ServiceProvider', + 19 => 'NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider', + 20 => 'Overtrue\\LaravelQueryLogger\\ServiceProvider', + 21 => 'SimpleSoftwareIO\\QrCode\\QrCodeServiceProvider', + 22 => 'XuanChen\\Coupon\\ServiceProvider', + 23 => 'XuanChen\\UnionPay\\ServiceProvider', + 24 => 'App\\Providers\\AppServiceProvider', + 25 => 'App\\Providers\\AuthServiceProvider', + 26 => 'App\\Providers\\EventServiceProvider', + 27 => 'App\\Providers\\RouteServiceProvider', + 28 => 'App\\Api\\ApiServiceProvider', + 29 => 'App\\Merchant\\MerchantServiceProvider', ), 'deferred' => array ( diff --git a/composer.json b/composer.json index 9ed1b52..988374c 100644 --- a/composer.json +++ b/composer.json @@ -22,7 +22,8 @@ "php-parallel-lint/php-console-highlighter": "^0.5.0", "predis/predis": "^1.1", "simplesoftwareio/simple-qrcode": "^2.0", - "xuanchen/unionpay": "^1.0" + "xuanchen/coupon": "^1.01", + "xuanchen/unionpay": "^1.1" }, "require-dev": { "facade/ignition": "^1.4", @@ -46,9 +47,7 @@ "psr-4": { "App\\": "app/", "RuLong\\Bonus\\": "packages/bonus/src/", - "RuLong\\Identity\\": "packages/identity/src/", - "XuanChen\\Coupon\\": "packages/xuanchen/coupon/src/", - "XuanChen\\Sinopec\\": "packages/xuanchen/sinopec/src/" + "RuLong\\Identity\\": "packages/identity/src/" }, "classmap": [ "database/seeds", diff --git a/composer.lock b/composer.lock index 0e2c4d8..e3f5e14 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "62a374df68be5012e10762e1763bc43c", + "content-hash": "13d36c80a80c6a5377c75bac63e5ee5a", "packages": [ { "name": "bacon/bacon-qr-code", @@ -5905,6 +5905,99 @@ } ], "time": "2020-07-14T19:04:52+00:00" + }, + { + "name": "xuanchen/coupon", + "version": "1.01", + "source": { + "type": "git", + "url": "https://github.com/xuanchen120/coupon.git", + "reference": "96fb631176e5308a207d932e1f89b4d105d46165" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/xuanchen120/coupon/zipball/96fb631176e5308a207d932e1f89b4d105d46165", + "reference": "96fb631176e5308a207d932e1f89b4d105d46165", + "shasum": "", + "mirrors": [ + { + "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", + "preferred": true + } + ] + }, + "require": { + "laravel/framework": "*", + "php": ">=7.1.3" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "XuanChen\\Coupon\\ServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "XuanChen\\Coupon\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "玄尘", + "email": "122383162@qq.com" + } + ], + "description": "卡券核销相关", + "homepage": "https://github.com/xuanchen120/coupon.git", + "support": { + "issues": "https://github.com/xuanchen120/coupon/issues", + "source": "https://github.com/xuanchen120/coupon/tree/1.01" + }, + "time": "2020-11-27T01:57:16+00:00" + }, + { + "name": "xuanchen/unionpay", + "version": "1.1.3", + "source": { + "type": "git", + "url": "https://gitee.com/xdeepu/unionpay.git", + "reference": "519227eebfc06c20c2de954fdbf1b959bcdcbe9b" + }, + "require": { + "laravel/framework": "*", + "php": ">=7.1.3" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "XuanChen\\UnionPay\\ServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "XuanChen\\UnionPay\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "玄尘", + "email": "122383162@qq.com" + } + ], + "description": "第三方银联对接", + "time": "2020-11-11T07:24:20+00:00" } ], "packages-dev": [ @@ -8248,5 +8341,5 @@ "php": "^7.2" }, "platform-dev": [], - "plugin-api-version": "1.1.0" + "plugin-api-version": "2.0.0" } diff --git a/packages/xuanchen/coupon/README.md b/packages/xuanchen/coupon/README.md deleted file mode 100644 index b7c61de..0000000 --- a/packages/xuanchen/coupon/README.md +++ /dev/null @@ -1,8 +0,0 @@ -# coupon 优惠券接口 -## 接口地址:http://pac.ysd-bs.com/api/V1 - - -### 发券地址:http://pac.ysd-bs.com/api/V1/user/grant -### 查询接口:http://pa.ysd-bs.com/api/V1/user/query -### 核销地址:http://pa.ysd-bs.com/api/V1/user/freezecoupon -### 作废地址:http://pa.ysd-bs.com/api/V1/user/destroy \ No newline at end of file diff --git a/packages/xuanchen/coupon/composer.json b/packages/xuanchen/coupon/composer.json deleted file mode 100644 index 7338fa5..0000000 --- a/packages/xuanchen/coupon/composer.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "name": "xuanchen/coupon", - "description": "卡券相关", - "license": "MIT", - "homepage": "https://gitee.com/xdeepu/coupon", - "authors": [ - { - "name": "玄尘", - "email": "122383162@qq.com" - } - ], - "require": { - "php": ">=7.1.3", - "laravel/framework": "*" - }, - "autoload": { - "psr-0": { - "XuanChen\\Coupon\\": "src/" - } - }, - "extra": { - "laravel": { - "providers": [ - "XuanChen\\Coupon\\ServiceProvider" - ] - } - } -} diff --git a/packages/xuanchen/coupon/config/xuanchen_coupon.php b/packages/xuanchen/coupon/config/xuanchen_coupon.php deleted file mode 100644 index ee27158..0000000 --- a/packages/xuanchen/coupon/config/xuanchen_coupon.php +++ /dev/null @@ -1,15 +0,0 @@ - \App\Models\Coupon::class, - 'rules' => [ - 'pingan' => [ - 'pattern' => '/^\d{12}$/', - 'model' => \XuanChen\Coupon\Action\PinganAction::class, - ], - 'ysd' => [ - 'pattern' => '/^YSD/', - 'model' => \XuanChen\Coupon\Action\YsdAction::class, - ], - ], -]; diff --git a/packages/xuanchen/coupon/src/Action/Init.php b/packages/xuanchen/coupon/src/Action/Init.php deleted file mode 100644 index 5e37cdb..0000000 --- a/packages/xuanchen/coupon/src/Action/Init.php +++ /dev/null @@ -1,197 +0,0 @@ -user = $user; - - return $this; - } - - //设置渠道 - public function setOrderId($orderid) - { - $this->orderid = $orderid; - - return $this; - } - - //设置核销码 - public function setCode($redemptionCode) - { - $this->redemptionCode = $redemptionCode; - - return $this; - - } - - //设置订单总额 - public function setTotal($total) - { - $this->total = $total; - - return $this; - - } - - //设置网点id - public function setOutletId($outletId) - { - $this->outletId = $outletId; - - return $this; - - } - - //设置活动id - public function setActivityId($activityId) - { - $this->activityId = $activityId; - - return $this; - - } - - //设置手机号 - public function setMobile($mobile) - { - $this->mobile = $mobile; - - return $this; - - } - - /** - * Notes: 插入日志 - * @Author: 玄尘 - * @Date : 2020/6/30 10:29 - * @param $url - * @param $method - * @param $params - * @param string $type - * @return mixed - */ - public function createLog($url, $method, $params, $type = 'pingan') - { - $data = [ - 'path' => $url, - 'method' => $method, - 'type' => $type, - 'in_source' => $params, - ]; - - $info = LogModel::create($data); - - return $info; - } - - /** - * Notes: 更新日志 - * @Author: 玄尘 - * @Date : 2020/6/30 10:29 - * @param $log - * @param $params - */ - public static function updateLog($log, $params) - { - $log->out_source = $params; - $log->save(); - } - - //统一门店 相同金额 3分钟之内看作是一笔订单 - public function CheckCount() - { - if ($this->queryData) { - if (isset($this->queryData['thirdPartyGoodsId']) && $this->queryData['thirdPartyGoodsId'] == 'YSD-full0-0') { - return true; - } - } - - if ($this->orderid) { - $check_count = Coupon::where('orderid', $this->orderid) - ->where('outletId', $this->outletId) - ->where('total', $this->total) - ->where('status', 2) - ->where('created_at', '>=', now()->subMinutes(3)->format('Y-m-d H:i:s')) - ->count(); - } else { - $check_count = Coupon::where('outletId', $this->outletId) - ->where('total', $this->total) - ->where('status', 2) - ->where('created_at', '>=', now()->subMinutes(3)->format('Y-m-d H:i:s')) - ->count(); - } - - $count = floor($this->total / 100); - - if ($check_count > 0) { -// if ($this->total < 100) { - // return '核销失败,订单金额少于100只能核销一张优惠券。'; - // } - if ($check_count >= $count) { - return "核销失败,此订单您只能使用 {$count} 张优惠券"; - } - } - - return true; - } - - /** - * Notes: 校验是否已经核销过 - * @Author: 玄尘 - * @Date : 2020/8/8 13:43 - */ - public function HasCheck() - { - $info = Coupon::where('redemptionCode', $this->redemptionCode) - ->where('outletId', $this->outletId) - ->where('total', $this->total) - ->where('status', 2) - ->first(); - if ($info) { - return '核销失败,此优惠券已被使用'; - } - - return false; - - } - -} diff --git a/packages/xuanchen/coupon/src/Action/PinganAction.php b/packages/xuanchen/coupon/src/Action/PinganAction.php deleted file mode 100644 index c2610ec..0000000 --- a/packages/xuanchen/coupon/src/Action/PinganAction.php +++ /dev/null @@ -1,61 +0,0 @@ -setCode($this->redemptionCode) - ->setUser($this->user) - ->setOutletId($this->outletId) - ->setTotal($this->total) - ->setOrderId($this->orderid) - ->start(); - } - - /** - * Notes: 查询卡券详情 - * @Author: 玄尘 - * @Date : 2020/6/29 15:15 - * @return mixed - */ - public function detail() - { - $info = (new Query)->setOutletId($this->outletId) - ->setCode($this->redemptionCode) - ->start(); - - return $info; - } - - //发券 - public function grant() - { - return '没这个接口'; - } - - //作废 - public function destroy() - { - return '没这个接口'; - } - - //撤销 - public function reversal() - { - return '没这个接口'; - } - -} diff --git a/packages/xuanchen/coupon/src/Action/YsdAction.php b/packages/xuanchen/coupon/src/Action/YsdAction.php deleted file mode 100644 index a72640d..0000000 --- a/packages/xuanchen/coupon/src/Action/YsdAction.php +++ /dev/null @@ -1,105 +0,0 @@ -setActivityId($this->activityId) - ->setOutletId($this->outletId) - ->setMobile($this->mobile) - ->start(); - } - - /** - * Notes: 查询卡券详情 - * @Author: 玄尘 - * @Date : 2020/6/29 15:15 - * @return mixed - */ - public function detail() - { - $query_coupon = (new YsdQuery)->setOutletId($this->outletId) - ->setCode($this->redemptionCode) - ->start(); - - if (!is_string($query_coupon)) { - return [ - 'name' => $query_coupon->activity->title, - 'code' => $query_coupon->code, - 'full' => $query_coupon->full, - 'price' => $query_coupon->price, - 'status' => $query_coupon->status, - 'used_at' => (string)$query_coupon->used_at, - 'startTime' => (string)$query_coupon->start_at, - 'endTime' => (string)$query_coupon->end_at, - - ]; - } - - return $query_coupon; - } - - /** - * Notes: 作废 - * @Author: 玄尘 - * @Date : 2020/7/21 11:32 - */ - public function destroy() - { - return $res = (new YsdDestroy)->setCode($this->redemptionCode) - ->setOutletId($this->outletId) - ->start(); - } - - /** - * Notes: 核销执行入口 - * @Author: 玄尘 - * @Date : 2020/6/29 14:49 - * @return mixed - */ - public function start() - { - return $res = (new YsdVerification)->setCode($this->redemptionCode) - ->setUser($this->user) - ->setOutletId($this->outletId) - ->setTotal($this->total) - ->setOrderId($this->orderid) - ->start(); - } - - /** - * Notes: 撤销 - * @Author: 玄尘 - * @Date : 2020/10/12 11:55 - * @return array|string - */ - public function reversal() - { - return $res = (new YsdReversal)->setCode($this->redemptionCode) - ->setOutletId($this->outletId) - ->start(); - } - -} diff --git a/packages/xuanchen/coupon/src/Action/pingan/PingAnInit.php b/packages/xuanchen/coupon/src/Action/pingan/PingAnInit.php deleted file mode 100644 index 2ed7be9..0000000 --- a/packages/xuanchen/coupon/src/Action/pingan/PingAnInit.php +++ /dev/null @@ -1,205 +0,0 @@ -this_type = config('pingan.this_type'); - $pingan = config('pingan.' . $this->this_type); - - $this->baseUri = $pingan['Uri']; - $this->tokenUri = $pingan['tokenUri']; - $this->client_id = $pingan['client_id']; - $this->grant_type = $pingan['grant_type']; - $this->userName = $pingan['userName']; - $this->client_secret = $pingan['client_secret']; - $this->aes_code = $pingan['AES_CODE']; - } - - /** - * 获取access_token - * @return void [type] [description] - */ - public function getToken() - { - //从数据库里找token - $token = PinganToken::where('type', $this->this_type)->orderBy('id', 'desc')->first(); - - if ($token) { - $access_token = $token->access_token; - $expires_in = $token->expires_in; - $get_token_time = $token->get_token_time; - $diffMinutes = $get_token_time->diffInMinutes(now(), false); - if ($diffMinutes < $expires_in) { - $this->access_token = $access_token; - } else { - $this->getAjaxToken(); - } - } else { - $this->getAjaxToken(); - } - } - - /** - * 获取毫秒级别的时间戳 - */ - public function getMsecTime() - { - [$msec, $sec] = explode(' ', microtime()); - $msectime = (float)sprintf('%.0f', (floatval($msec) + floatval($sec)) * 1000); - $msectime = explode('.', $msectime); - - return $msectime[0]; - } - - /** - * 请求平台 access_token - * @return void [type] [description] - */ - public function getAjaxToken() - { - $params = [ - 'client_id' => $this->client_id, - 'grant_type' => $this->grant_type, - 'client_secret' => $this->client_secret, - ]; - - try { - $log = $this->createLog($this->tokenUri, 'POST', $params, 'pingan'); - - $client = new Client(); - $response = $client->request('POST', $this->tokenUri, [ - 'form_params' => $params, - ]); - $body = $response->getBody(); - $content = $body->getContents(); - $result = json_decode($content, true); - - $this->updateLog($log, $result); //更新日志 - - if ($result['ret'] > 0) { - $this->error = $result['msg']; - } else { - $data = $result['data']; - PinganToken::create([ - 'type' => $this->this_type, - 'access_token' => $data['access_token'], - 'expires_in' => $data['expires_in'], - 'get_token_time' => now(), - ]); - $this->access_token = $data['access_token']; - $this->error = ''; - } - } catch (RequestException $e) { - $this->error = $e->getMessage(); - $this->updateLog($log, [$this->error]); //更新日志 - } - - } - - /** - * 通用获取数据接口 - * @param [type] $url 请求地址 - * @param array $query 传递参数 - * @param array $json 需要传的json数据 - * @param string $method 方式 - * @return array|mixed [type] [description] - */ - public function getPingAnData($url, $query = [], $json = [], $method = 'POST') - { - $this->getToken(); - - if ($this->error) { - return $this->error; - } - - $postData = [ - 'query' => array_merge([ - 'access_token' => $this->access_token, - 'request_id' => $this->getMsecTime(), - 'userName' => $this->userName, - ], $query), - 'json' => $json, - 'headers' => [ - 'Content-Type' => 'application/json;charset=utf-8', - 'accept' => 'application/json;charset=utf-8', - ], - ]; - - $log = $this->createLog($url, $method, $postData, 'pingan'); //日志 - - try { - $client = new Client(); - $response = $client->request($method, $url, $postData); - $body = $response->getBody(); - $content = $body->getContents(); - $result = json_decode($content, true); - - if ($result['ret'] > 0) { - $retData = $result['msg']; - } else { - $retData = $result['data']; - } - $this->updateLog($log, $retData);//更新日志 - - return $retData; - } catch (RequestException $e) { - $this->updateLog($log, [$e->getMessage()]);//更新日志 - - return ['ret' => '99999', $e->getMessage()]; - } - } - - //加密 - public function encrypt($str) - { - if (is_array($str)) { - $str = json_encode($str); - } - $data = openssl_encrypt($str, 'aes-128-ecb', $this->aes_code, OPENSSL_RAW_DATA); - - return base64_encode($data); - } - - //解密 - public function decrypt($str) - { - $encrypted = base64_decode($str); - - return openssl_decrypt($encrypted, 'aes-128-ecb', $this->aes_code, OPENSSL_RAW_DATA); - } - -} diff --git a/packages/xuanchen/coupon/src/Action/pingan/Query.php b/packages/xuanchen/coupon/src/Action/pingan/Query.php deleted file mode 100644 index edd1734..0000000 --- a/packages/xuanchen/coupon/src/Action/pingan/Query.php +++ /dev/null @@ -1,45 +0,0 @@ -outletId)->first(); - - if (!$outlet) { - throw new \Exception('网点编号错误,未查询到网点信息'); - } - - $url = $this->baseUri . 'partner/v2/coupondetail'; - $params = [ - 'redemptionCode' => $this->redemptionCode, - 'outletNo' => $outlet->PaOutletId, - 'thirdOutletNo' => $outlet->outlet_id, - ]; - - $res = $this->getPingAnData($url, $params); - - if (!is_array($res)) { - throw new \Exception($res); - } - - if ($res['code'] != 200) { - throw new \Exception($res['message']); - } - - return collect($res['data']); - } catch (\Exception $e) { - return $e->getMessage(); - } - - } - -} \ No newline at end of file diff --git a/packages/xuanchen/coupon/src/Action/pingan/Verification.php b/packages/xuanchen/coupon/src/Action/pingan/Verification.php deleted file mode 100644 index bdcafbb..0000000 --- a/packages/xuanchen/coupon/src/Action/pingan/Verification.php +++ /dev/null @@ -1,298 +0,0 @@ -HasCheck(); - if ($res !== false) { - return $res; - } - - //查询卡券信息 - $this->query_coupon = (new Query)->setOutletId($this->outletId) - ->setCode($this->redemptionCode) - ->start(); - if (is_string($this->query_coupon)) { - return $this->query_coupon; - } - - //校验卡券 - $ticket = $this->checkCoupon(); - if (!is_array($ticket)) { - return $ticket; - } - - //检查可核销次数 - $ret = $this->CheckCount(); - if ($ret !== true) { - return $ret; - } - - //增加核销记录 - $coupon = $this->AddCoupon(); - if (is_string($coupon)) { - return $coupon; - } - - try { - $params = [ - 'couponNo' => $coupon->redemptionCode, - 'partnerOrderId' => date('ymdHis') . sprintf("%0" . strlen(999999) . "d", mt_rand(0, 999999)), - 'outletId' => $coupon->PaOutletId, - 'productId' => $coupon->productId, - 'timestamp' => $this->getMsecTime(), - ]; - - $url = $this->baseUri . 'partner/redemption'; - $str = $this->encrypt($params); - $res = $this->getPingAnData($url, [], ['data' => $str]); - - if (!is_array($res)) { - $coupon->remark = $res; - $coupon->status = 3; - $coupon->save(); - throw new \Exception($res); - } - - if ($res['code'] != 200) { - $coupon->remark = $res['code'] . '--' . $res['message']; - $coupon->status = 3; - $coupon->save(); - throw new \Exception($res['message']); - } - - $data = $res['data']; - - $coupon->remark = $data['message']; - $coupon->status = ($data['status'] == 1) ? 2 : 3; - $coupon->save(); - - //返回的数据 - $resdata = [ - 'price' => $coupon->price, - 'name' => $coupon->couponName, - 'total' => $coupon->total, - ]; - - //核销成功 执行分润 - $coupon->profit(); - - return $resdata; - - } catch (Exception $e) { - $coupon->status = 3; - $coupon->remark = '核销失败 ' . $e->getMessage(); - $coupon->save(); - - return $coupon->remark; - } - - } - - /** - * Notes: 如可核销记录 - * @Author: 玄尘 - * @Date : 2020/7/21 15:03 - * @return string - */ - public function AddCoupon() - { - try { - $couponData = [ - 'user_id' => $this->user->id, - 'type' => Coupon::TYPE_PINGAN, - 'outletId' => $this->outletId, - 'orderid' => $this->orderid, - 'PaOutletId' => $this->queryData['PaOutletId'], - 'redemptionCode' => $this->redemptionCode, - 'productId' => $this->queryData['productId'], - 'thirdPartyGoodsId' => $this->queryData['thirdPartyGoodsId'], - 'couponName' => $this->query_coupon['couponName'], - 'price' => $this->ticket['price'], - 'total' => $this->total, - 'profit' => $this->ticket['profit'], - 'status' => 0, - 'startTime' => $this->query_coupon['startTime'], - 'endTime' => $this->query_coupon['endTime'], - ]; - - return $coupon = Coupon::create($couponData); - - } catch (Exception $e) { - return $e->getMessage(); - } - - } - - /** - * Notes: 检查卡券信息 - * @Author: 玄尘 - * @Date : 2020/6/29 16:40 - * @return string - */ - public function checkCoupon() - { - - //检查卡券是否已被核销 - if ($this->query_coupon['status'] > 0) { - if (isset(config('pingan.coupon_status')[$this->query_coupon['status']])) { - return '核销失败,平安券' . config('pingan.coupon_status')[$this->query_coupon['status']]; - } - - return '核销失败,平安券不可用。'; - } - - $startTime = Carbon::parse($this->query_coupon['startTime']); - $endTime = Carbon::parse($this->query_coupon['endTime']); - $now = now(); - - if ($startTime->gt($now)) { - return '核销失败,平安券未开始使用。'; - } - - if ($now->gt($endTime)) { - return '核销失败,平安券已过期。'; - } - - //查找适配的商品id 和 网点id - $pinganData = $this->getPinganProduct(); - - if (is_string($pinganData)) { - return $pinganData; - } - - //获取相关优惠信息 - return $this->checkCode(); - - } - - /** - * 校验平安券编号 - * @return array|string [type] [description] - */ - public function checkCode() - { - $code = $this->user->code->where('code', $this->queryData['thirdPartyGoodsId'])->first(); - if (!$code) { - return "核销失败,未找到此项平安券规则,请联系管理人员检查渠道配置。"; - } - - $ticket = explode('-', $this->queryData['thirdPartyGoodsId']); - - if (!is_array($ticket) || count($ticket) != 3) { - return "核销失败,平安券规则格式不正确。"; - } - - $full = $ticket[1]; //full100 - $price = $ticket[2]; - preg_match('/\d+/', $full, $result); - - if (empty($result) || !is_array($result)) { - return "核销失败,平安券规则格式不正确。"; - } - - if (!is_numeric($this->total)) { - return "核销失败,订单金额必须是数字"; - } - if ($result[0] > $this->total) { - return '核销失败,订单金额不足,平安券不可使用。'; - } - - $this->ticket = [ - 'total' => $result[0], - 'price' => $price, - 'profit' => $code->profit, - ]; - - return $this->ticket; - } - - /** - * 查找平安商品id - * @author 玄尘 2020-04-04 - * @return array|string [type] [description] - */ - public function getPinganProduct() - { - //查询网点是否存在 - $outlet = User::where('outlet_id', $this->outletId)->first(); - - if (!$outlet) { - return '核销失败,网点编号错误,未查询到网点信息'; - } - - $PaOutletId = $outlet->PaOutletId; - $outlet_id = $outlet->outlet_id; - $profitOfferItemVersion = $this->query_coupon['profitOfferItemVersion']; - - if (!$PaOutletId && $profitOfferItemVersion != 1) { - return '核销失败,参数错误,渠道信息缺少平安网点id'; - } - - $productItemList = $this->query_coupon['productItemList']; - - if (!is_array($productItemList) || !is_array($productItemList[0])) { - return '核销失败,平安券数据有误,可能是未配置网点。'; - } - - //循环查找 - $first = ''; - foreach ($productItemList as $key => $item) { - $productId = $item['productId']; - $thirdPartyGoodsId = $item['thirdPartyGoodsId']; - $outletList = $item['outletList']; - if (!is_array($outletList) || !is_array($outletList[0])) { - return '核销失败,网点信息有误!请检查平安券配置信息。'; - break; - } - - $outletList = collect($outletList); - //判断是新版还是旧版 - if ($profitOfferItemVersion) { - //新版通过第三方查询 - $first = $outletList->firstWhere('thirdOutletNo', $outlet_id); - - if ($first) { - break; - } - } else { - //旧版通过平安网点查询 - $first = $outletList->firstWhere('outletNo', $PaOutletId); - if ($first) { - break; - } - } - } - - if (!$first) { - return '核销失败,未找到可用网点信息。'; - } - - if (!$thirdPartyGoodsId) { - return '核销失败,平安券编号规则有误。'; - } - - if (!$productId) { - return '核销失败,未查询到平安券商品id。'; - } - - return $this->queryData = [ - 'thirdPartyGoodsId' => $thirdPartyGoodsId, - 'productId' => $productId, - 'PaOutletId' => $first['outletNo'], - ]; - - } - -} diff --git a/packages/xuanchen/coupon/src/Action/ysd/YsdDestroy.php b/packages/xuanchen/coupon/src/Action/ysd/YsdDestroy.php deleted file mode 100644 index dd4c4f0..0000000 --- a/packages/xuanchen/coupon/src/Action/ysd/YsdDestroy.php +++ /dev/null @@ -1,61 +0,0 @@ -redemptionCode) { - try { - if (!$this->outletId) { - throw new \Exception('缺少网点id'); - } - - $info = ActivityCoupon::where('code', $this->redemptionCode)->first(); - - if (!$info) { - throw new \Exception('未查询到卡券信息'); - } - - $outlet = User::where('outlet_id', $this->outletId)->first(); - - if (empty($outlet)) { - return '作废失败,未查询到此网点信息。'; - } - - $grants = $info->activity->grants()->pluck('user_id'); - if ($grants->isEmpty()) { - return '作废失败,此活动还没有配置可发券渠道,请联系相关人员进行配置。'; - } - - if (!in_array($outlet->parent_id, $grants->toArray())) { - return '作废失败,您没有权限作废此优惠券。'; - } - - if (!$info->canDestroy()) { - throw new \Exception('作废失败,' . $info->status_text . '不能操作'); - } - - $info->status = ActivityCoupon::STATUS_CLOSE; - $info->save(); - - event(new ConponCallback($info)); - - return true; - } catch (\Exception $e) { - return $e->getMessage(); - } - } else { - return '未获取到券码。'; - } - - } - -} \ No newline at end of file diff --git a/packages/xuanchen/coupon/src/Action/ysd/YsdGrant.php b/packages/xuanchen/coupon/src/Action/ysd/YsdGrant.php deleted file mode 100644 index 509eefb..0000000 --- a/packages/xuanchen/coupon/src/Action/ysd/YsdGrant.php +++ /dev/null @@ -1,68 +0,0 @@ -where('code', $this->activityId)->first(); - if (!$activity) { - return '发券失败,没有找到这个活动。'; - } - - if (!$activity->status) { - return '发券失败,活动已经关闭。'; - } - - if ($activity->type == Activity::TYPE_SCOPE && Carbon::now()->gt($activity->end_at)) { - return '发券失败,此活动已经结束。'; - } - - if ($activity->total > 0 && $activity->coupons_count >= $activity->total) { - return '发券失败,已达到可发券总数。'; - } - - $outlet = User::where('outlet_id', $this->outletId)->first(); - if (!$outlet) { - return '发券失败,未查询到此网点信息。'; - } - - $grants = $activity->grants()->pluck('user_id'); - if ($grants->isEmpty()) { - return '发券失败,此活动还没有配置可发券渠道,请联系相关人员进行配置。'; - } - - if (!in_array($outlet->parent_id, $grants->toArray())) { - return '发券失败,您没有权限发此类优惠券。'; - } - - $coupon = $activity->grant($this->mobile, $this->outletId); - - if (!is_string($coupon)) { - return [ - 'name' => $activity->title, - 'code' => $coupon->code, - 'full' => $coupon->full, - 'price' => $coupon->price, - 'startTime' => $coupon->start_at->format('Y-m-d H:i:s'), - 'endTime' => $coupon->end_at->format('Y-m-d H:i:s'), - ]; - } - - return $coupon; - } catch (\Exception $e) { - return $e->getMessage(); - } - - } - -} \ No newline at end of file diff --git a/packages/xuanchen/coupon/src/Action/ysd/YsdQuery.php b/packages/xuanchen/coupon/src/Action/ysd/YsdQuery.php deleted file mode 100644 index 9951c6e..0000000 --- a/packages/xuanchen/coupon/src/Action/ysd/YsdQuery.php +++ /dev/null @@ -1,51 +0,0 @@ -outletId)->first(); - - if (!$info) { - throw new \Exception('网点编号错误,未查询到网点信息'); - } - - $coupon = ActivityCoupon::where('code', $this->redemptionCode)->first(); - - if (!$coupon) { - throw new \Exception('卡券编号错误,未查询到卡券信息'); - } - - $activity = $coupon->activity; - if (!$activity) { - throw new \Exception('操作失败,未查到活动信息'); - } - - //获取所有可核销渠道 - $verifications = $activity->verifications()->pluck('user_id'); - - if ($verifications->isEmpty()) { - throw new \Exception('操作失败,此活动还没有配置可核券渠道,请联系相关人员进行配置。'); - } - - if (!in_array($info->parent_id, $verifications->toArray())) { - throw new \Exception('操作失败,您没有权限查询此卡券信息。'); - } - - return $coupon; - - } catch (\Exception $e) { - return $e->getMessage(); - } - - } - -} \ No newline at end of file diff --git a/packages/xuanchen/coupon/src/Action/ysd/YsdReversal.php b/packages/xuanchen/coupon/src/Action/ysd/YsdReversal.php deleted file mode 100644 index b1364d7..0000000 --- a/packages/xuanchen/coupon/src/Action/ysd/YsdReversal.php +++ /dev/null @@ -1,69 +0,0 @@ -redemptionCode) { - try { - if (!$this->outletId) { - throw new \Exception('缺少网点id'); - } - - $activityCoupon = ActivityCoupon::where('code', $this->redemptionCode)->first(); - - if (!$activityCoupon) { - throw new \Exception('未查询到卡券信息'); - } - - if (!$activityCoupon->canReversal()) { - throw new \Exception('操作失败,卡券当前状态不能操作'); - } - - $outlet = User::where('outlet_id', $this->outletId)->first(); - - if (empty($outlet)) { - return '操作失败,未查询到此网点信息。'; - } - - $grants = $activityCoupon->activity->grants()->pluck('user_id'); - if ($grants->isEmpty()) { - return '操作失败,此活动还没有配置可发券渠道,请联系相关人员进行配置。'; - } - - if (!in_array($outlet->parent_id, $grants->toArray())) { - return '操作失败,您没有权限作废此优惠券。'; - } - - $coupon = Coupon::where('redemptionCode', $this->redemptionCode) - ->where('status', 2) - ->first(); - - if ($activityCoupon && $coupon) { - //撤销 - $activityCoupon->reversal(); - //撤销 - $coupon->reversal(); - } - event(new ConponCallback($activityCoupon)); - - return true; - } catch (\Exception $e) { - return $e->getMessage(); - } - } else { - return '未获取到券码。'; - } - - } - -} \ No newline at end of file diff --git a/packages/xuanchen/coupon/src/Action/ysd/YsdVerification.php b/packages/xuanchen/coupon/src/Action/ysd/YsdVerification.php deleted file mode 100644 index d1f85de..0000000 --- a/packages/xuanchen/coupon/src/Action/ysd/YsdVerification.php +++ /dev/null @@ -1,195 +0,0 @@ -HasCheck(); - if ($res !== false) { - return $res; - } - - //查询卡券信息 返回model 返回string 说明报错 - $this->query_coupon = (new YsdQuery)->setOutletId($this->outletId) - ->setCode($this->redemptionCode) - ->start(); - - if (is_string($this->query_coupon)) { - return $this->query_coupon; - } - - //检查可核销次数,100元为1次。 - if ($this->query_coupon->activity && $this->query_coupon->activity->need_check) { - $ret = $this->CheckCount(); - if ($ret !== true) { - return $ret; - } - } - - //校验卡券 - $ticket = $this->checkCoupon(); - if (!is_array($ticket)) { - return $ticket; - } - - //增加核销记录 - $coupon = $this->AddCoupon(); - if (is_string($coupon)) { - return $coupon; - } - - DB::beginTransaction(); - - try { - $this->query_coupon->status = ActivityCoupon::STATUS_USED; - $this->query_coupon->used_at = now(); - $this->query_coupon->save(); - - $this->coupon->status = 2; - $this->coupon->remark = '核销成功'; - $this->coupon->save(); - //返回的数据 - $resdata = [ - 'name' => $this->coupon->couponName, - 'total' => $this->coupon->total, - 'price' => $this->coupon->price, - ]; - //核销成功 执行分润 - $this->coupon->profit(); - DB::commit(); - - event(new ConponCallback($this->query_coupon)); - - return $resdata; - } catch (Exception $e) { - DB::rollback(); - - $this->coupon->status = 3; - $this->coupon->remark = '核销失败 ' . $e->getMessage(); - $this->coupon->save(); - - return $this->coupon->remark; - } - - } - - /** - * Notes: 检查卡券信息 - * @Author: 玄尘 - * @Date : 2020/6/29 16:40 - * @return string - */ - public function checkCoupon() - { - - if (!$this->query_coupon->canRedemption()) { - return '核销失败,优惠券不可核销'; - } - - $now = now(); - - if ($this->query_coupon->start_at->gt($now)) { - return '核销失败,卡券未到可用时间。请在' . $this->query_coupon->start_at->format('Y-m-d H:i:s') . '后使用'; - } - - if ($now->gt($this->query_coupon->end_at)) { - return '核销失败,卡券已过期。'; - } - - $rule_code = $this->query_coupon->activity->rule->code; - $code = $this->user->code->where('code', $rule_code)->first(); - - if (!$code) { - return "核销失败,您没有权限使用此卡券优惠活动。"; - } - - $ticket = explode('-', $rule_code); - if (!is_array($ticket) || count($ticket) != 3) { - return "核销失败,卡券规则格式不正确"; - } - - $full = $ticket[1]; //full100 - $price = $ticket[2]; - // preg_match('/(\d{3}(\.\d+)?)/is', $full, $match); - preg_match('/\d+/', $full, $match); - - if (!is_array($match)) { - return "核销失败,卡券规则格式不正确。"; - } - - if (!is_numeric($this->total)) { - return "核销失败,订单金额必须是数字"; - } - - if ($match[0] > $this->total) { - return '核销失败,订单金额不足。'; - } - - return $this->ticket = [ - 'total' => $match[0], - 'price' => $price, - 'profit' => $code->profit, - ]; - - } - - /** - * Notes: 如可核销记录 - * @Author: 玄尘 - * @Date : 2020/7/21 15:03 - * @return string - */ - public function AddCoupon() - { - DB::beginTransaction(); - - try { - $couponData = [ - 'user_id' => $this->user->id, - 'type' => Coupon::TYPE_YSD, - 'outletId' => $this->outletId, - 'orderid' => $this->orderid, - 'PaOutletId' => '', - 'redemptionCode' => $this->redemptionCode, - 'thirdPartyGoodsId' => $this->query_coupon->activity->rule->code, - 'couponName' => $this->query_coupon->activity->title, - 'price' => $this->ticket['price'], - 'total' => $this->total, - 'profit' => $this->ticket['profit'], - 'status' => $this->query_coupon->status, - 'startTime' => $this->query_coupon->start_at, - 'endTime' => $this->query_coupon->end_at, - ]; - - $this->coupon = Coupon::create($couponData); - - DB::commit(); - - return $this->coupon; - } catch (Exception $e) { - DB::rollback(); - - return $e->getMessage(); - } - - } - -} \ No newline at end of file diff --git a/packages/xuanchen/coupon/src/Contracts/CheckCouponContracts.php b/packages/xuanchen/coupon/src/Contracts/CheckCouponContracts.php deleted file mode 100644 index d673353..0000000 --- a/packages/xuanchen/coupon/src/Contracts/CheckCouponContracts.php +++ /dev/null @@ -1,14 +0,0 @@ -setActivityId($activityId) - ->setOutletId($outletId) - ->setMobile($mobile) - ->grant(); - - } - - /** - * Notes: 查询接口 - * @Author: 玄尘 - * @Date : 2020/7/21 11:58 - * @param $redemptionCode - */ - public static function Query($redemptionCode, $outletId) - { - if (!$redemptionCode) { - return '查询失败,未获取到券码'; - } - - $model = self::getModelByCode($redemptionCode); - if (is_string($model)) { - return $model; - } - - return $model->setCode($redemptionCode) - ->setOutletId($outletId) - ->detail(); - } - - /** - * Notes: 卡券作废 - * @Author: 玄尘 - * @Date : 2020/9/2 16:54 - * @param $redemptionCode - * @param $outletId - * @return string - */ - public static function Destroy($redemptionCode, $outletId) - { - try { - $model = self::getModelByCode($redemptionCode); - if (is_string($model)) { - return $model; - } - - return $model->setCode($redemptionCode) - ->setOutletId($outletId) - ->destroy(); - } catch (\Exception $e) { - return $e->getMessage(); - } - - } - - /** - * Notes: 根据券码 获取class - * @Author: 玄尘 - * @Date : 2020/7/21 12:00 - * @param $code - * @return string - */ - public static function getModelByCode($code) - { - $rules = config('xuanchen_coupon.rules'); - - if (!$rules) { - throw new \Exception('系统出错,未找到配置文件'); - } - - $model = ''; - foreach ($rules as $rule) { - if (is_array($rule['pattern']) && count($rule['pattern']) > 1) { - foreach ($rule['pattern'] as $pattern) { - if (preg_match($pattern, $code, $matches)) { - $model = $rule['model']; - break; - } - } - } else { - if (preg_match($rule['pattern'], $code, $matches)) { - $model = $rule['model']; - break; - } - } - - } - - if (!$model) { - throw new \Exception('操作失败。未查到卡券所属'); - } - - return new $model; - - } - - /** - * Notes: description - * @Author: 玄尘 - * @Date : 2020/8/21 13:33 - * @param \App\Models\User $user 渠道 - * @param string $redemptionCode 要核销的券码 - * @param float $total 订单金额 - * @param string $outletId 网点id - * @param string $orderid 订单id - * @return string - */ - public static function Redemption(User $user, string $redemptionCode, float $total, string $outletId, string $orderid = '') - { - - try { - $model = self::getModelByCode($redemptionCode); - if (is_string($model)) { - return $model; - } - - return $model->setUser($user) - ->setCode($redemptionCode) - ->setTotal($total) - ->setOutletId($outletId) - ->setOrderId($orderid) - ->start(); - - } catch (\Exception $e) { - return $e->getMessage(); - } - - } - - /** - * Notes: 冲正 撤销 已经核销的改为未核销状态 - * @Author: 玄尘 - * @Date : 2020/10/12 11:54 - * @param $redemptionCode - * @param $outletId - * @return string - */ - public static function Reversal($redemptionCode, $outletId) - { - try { - $model = self::getModelByCode($redemptionCode); - if (is_string($model)) { - return $model; - } - - return $model->setCode($redemptionCode) - ->setOutletId($outletId) - ->reversal(); - } catch (\Exception $e) { - return $e->getMessage(); - } - } - -} diff --git a/packages/xuanchen/coupon/src/ServiceProvider.php b/packages/xuanchen/coupon/src/ServiceProvider.php deleted file mode 100644 index a05c53a..0000000 --- a/packages/xuanchen/coupon/src/ServiceProvider.php +++ /dev/null @@ -1,31 +0,0 @@ -app->runningInConsole()) { - $this->publishes([__DIR__ . '/../config/xuanchen_coupon.php' => config_path('xuanchen_coupon.php')]); - } - } - - /** - * Bootstrap services. - * @return void - */ - public function boot() - { - $this->mergeConfigFrom(__DIR__ . '/../config/xuanchen_coupon.php', 'xuanchen_coupon'); - - } - -} diff --git a/packages/xuanchen/coupon/src/Traits/Log.php b/packages/xuanchen/coupon/src/Traits/Log.php deleted file mode 100644 index c8f8445..0000000 --- a/packages/xuanchen/coupon/src/Traits/Log.php +++ /dev/null @@ -1,47 +0,0 @@ - $url, - 'method' => $method, - 'type' => $type, - 'in_source' => $params, - ]; - - $info = LogModel::create($data); - - return $info; - } - - /** - * Notes: 更新日志 - * @Author: 玄尘 - * @Date : 2020/6/30 10:29 - * @param $log - * @param $params - */ - public static function updateLog($log, $params) - { - $log->out_source = $params; - $log->save(); - } - -} diff --git a/packages/xuanchen/coupon/src/Traits/SetParams.php b/packages/xuanchen/coupon/src/Traits/SetParams.php deleted file mode 100644 index 8a54c30..0000000 --- a/packages/xuanchen/coupon/src/Traits/SetParams.php +++ /dev/null @@ -1,79 +0,0 @@ -user = $user; - - return $this; - } - - //设置核销码 - public function setCode($redemptionCode) - { - $this->redemptionCode = $redemptionCode; - - return $this; - - } - - //设置订单总额 - public function setTotal($total) - { - $this->total = $total; - - return $this; - - } - - //设置网点id - public function setOutletId($outletId) - { - $this->outletId = $outletId; - - return $this; - - } - - //设置活动id - public function setActivityId($activityId) - { - $this->activityId = $activityId; - - return $this; - - } - - //设置手机号 - public function setMobile($mobile) - { - $this->mobile = $mobile; - - return $this; - - } - -} diff --git a/packages/xuanchen/sinopec/composer.json b/packages/xuanchen/sinopec/composer.json deleted file mode 100644 index d92cb3f..0000000 --- a/packages/xuanchen/sinopec/composer.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "name": "xuanchen/sinopec", - "description": "中石化相关", - "license": "MIT", - "authors": [ - { - "name": "玄尘", - "email": "122383162@qq.com" - } - ], - "require": { - "php": ">=7.1.3", - "../../../vendor/laravel/framework": "*" - }, - "autoload": { - "psr-0": { - "XuanChen\\Sinopec": "src/" - } - }, - "extra": { - "laravel": { - "providers": [ - "XuanChen\\Sinopec\\ServiceProvider" - ] - } - } -} diff --git a/packages/xuanchen/sinopec/config/xuanchen_coupon.php b/packages/xuanchen/sinopec/config/xuanchen_coupon.php deleted file mode 100644 index 18e09ae..0000000 --- a/packages/xuanchen/sinopec/config/xuanchen_coupon.php +++ /dev/null @@ -1,15 +0,0 @@ - \App\Models\Coupon::class, - 'rules' => [ - 'pingan' => [ - 'pattern' => '/^\d{12}$/', - 'model' => \XuanChen\Coupon\Action\PinganAction::class, - ], - 'ysd' => [ - 'pattern' => '/^YSD/', - 'model' => \XuanChen\Coupon\Action\SinopecAction::class, - ], - ], -]; diff --git a/packages/xuanchen/sinopec/src/Action/Init.php b/packages/xuanchen/sinopec/src/Action/Init.php deleted file mode 100644 index 5e37cdb..0000000 --- a/packages/xuanchen/sinopec/src/Action/Init.php +++ /dev/null @@ -1,197 +0,0 @@ -user = $user; - - return $this; - } - - //设置渠道 - public function setOrderId($orderid) - { - $this->orderid = $orderid; - - return $this; - } - - //设置核销码 - public function setCode($redemptionCode) - { - $this->redemptionCode = $redemptionCode; - - return $this; - - } - - //设置订单总额 - public function setTotal($total) - { - $this->total = $total; - - return $this; - - } - - //设置网点id - public function setOutletId($outletId) - { - $this->outletId = $outletId; - - return $this; - - } - - //设置活动id - public function setActivityId($activityId) - { - $this->activityId = $activityId; - - return $this; - - } - - //设置手机号 - public function setMobile($mobile) - { - $this->mobile = $mobile; - - return $this; - - } - - /** - * Notes: 插入日志 - * @Author: 玄尘 - * @Date : 2020/6/30 10:29 - * @param $url - * @param $method - * @param $params - * @param string $type - * @return mixed - */ - public function createLog($url, $method, $params, $type = 'pingan') - { - $data = [ - 'path' => $url, - 'method' => $method, - 'type' => $type, - 'in_source' => $params, - ]; - - $info = LogModel::create($data); - - return $info; - } - - /** - * Notes: 更新日志 - * @Author: 玄尘 - * @Date : 2020/6/30 10:29 - * @param $log - * @param $params - */ - public static function updateLog($log, $params) - { - $log->out_source = $params; - $log->save(); - } - - //统一门店 相同金额 3分钟之内看作是一笔订单 - public function CheckCount() - { - if ($this->queryData) { - if (isset($this->queryData['thirdPartyGoodsId']) && $this->queryData['thirdPartyGoodsId'] == 'YSD-full0-0') { - return true; - } - } - - if ($this->orderid) { - $check_count = Coupon::where('orderid', $this->orderid) - ->where('outletId', $this->outletId) - ->where('total', $this->total) - ->where('status', 2) - ->where('created_at', '>=', now()->subMinutes(3)->format('Y-m-d H:i:s')) - ->count(); - } else { - $check_count = Coupon::where('outletId', $this->outletId) - ->where('total', $this->total) - ->where('status', 2) - ->where('created_at', '>=', now()->subMinutes(3)->format('Y-m-d H:i:s')) - ->count(); - } - - $count = floor($this->total / 100); - - if ($check_count > 0) { -// if ($this->total < 100) { - // return '核销失败,订单金额少于100只能核销一张优惠券。'; - // } - if ($check_count >= $count) { - return "核销失败,此订单您只能使用 {$count} 张优惠券"; - } - } - - return true; - } - - /** - * Notes: 校验是否已经核销过 - * @Author: 玄尘 - * @Date : 2020/8/8 13:43 - */ - public function HasCheck() - { - $info = Coupon::where('redemptionCode', $this->redemptionCode) - ->where('outletId', $this->outletId) - ->where('total', $this->total) - ->where('status', 2) - ->first(); - if ($info) { - return '核销失败,此优惠券已被使用'; - } - - return false; - - } - -} diff --git a/packages/xuanchen/sinopec/src/Action/SinopecAction.php b/packages/xuanchen/sinopec/src/Action/SinopecAction.php deleted file mode 100644 index 333b51b..0000000 --- a/packages/xuanchen/sinopec/src/Action/SinopecAction.php +++ /dev/null @@ -1,73 +0,0 @@ -data = $data; - - return $action->start(); - - - } - - /** - * Notes: 发券接口 - * @Author: 玄尘 - * @Date: 2020/9/23 15:58 - */ - function grant() - { - // TODO: Implement grant() method. - } - - /** - * Notes: 查询接口 - * @Author: 玄尘 - * @Date: 2020/9/23 15:58 - * @return mixed|void - */ - function detail() - { - // TODO: Implement detail() method. - } - - /** - * Notes: 作废接口 - * @Author: 玄尘 - * @Date: 2020/9/23 15:59 - */ - function destroy() - { - // TODO: Implement destroy() method. - } - - /** - * Notes: 核销接口 - * @Author: 玄尘 - * @Date: 2020/9/23 16:00 - * @return mixed|void - */ - function start() - { - // TODO: Implement start() method. - } -} \ No newline at end of file diff --git a/packages/xuanchen/sinopec/src/Action/sinopec/ZhyCreate.php b/packages/xuanchen/sinopec/src/Action/sinopec/ZhyCreate.php deleted file mode 100644 index 60514bd..0000000 --- a/packages/xuanchen/sinopec/src/Action/sinopec/ZhyCreate.php +++ /dev/null @@ -1,82 +0,0 @@ - "", - "eletronAndRule" => [ - [ - "entryMethod" => "01", - "marketCode" => "20191213154203514", - "marketRuleNumber" => "001", - "perVoucherNumber" => "1", - "planVoucherNumber" => "10", - "queryCreateTime" => "2019-11-11 18:39:49", - "similarStack" => "Y", - "voucherEndTime" => "2019-12-15", - "voucher_ruleCode" => "$01-VC-1573468710381900", - "voucherRuleName" => "ceshi2", - "voucherSource" => "S01", - "voucherStartTime" => "2019-12-13", - "voucherStartTime_type" => "VOUCHER_START_TIME_TYPE_ABSOLUTE_EFFECTIVE_TIME", - ], - ], - "limitFrequency" => "", - "mabIsRefund" => "", - "marketCode" => "20191213154203514", - "marketExEndTime" => "2019-12-15 00:00:00", - "marketExStartTime" => "2019-12-13 00:00:00", - "marketHierarchy" => "3311", - "marketName" => "行为推送活动-3", - "marketProvince" => "51", - "marketReleaseSys" => "VOUCHER_PUBLISH_TYPE_APPLET", - "marketStatus" => "MARKET_ACTIVITY_STATE_TAKE_EFFECT", - "promotionCalculation" => "PROMOTION_TYPE_MEMBER_BEHAVIOR", - "rule" => [ - [ - "cashValue" => "100", - "channel" => "C01,C02,C03,C05", - "fullType" => "", - "marketCode" => "20191213154203514", - "perVoucherNumber" => "1", - "planVoucherNumber" => "10", - "ruleCode" => "$01-VC-1573468710381900", - "ruleDetail" => "123123", - "ruleName" => "ceshi2", - "voucherType" => "C01", - ], - ], - "tradLimit" => [ - [ - "endValue" => "", - "fixed" => "", - "marketCode" => "20191213154203514", - "marketRuleName" => "001", - "marketRuleNumber" => "001", - "memLevel" => "", - "operator" => "", - "startValue" => "", - "tradingUnit" => "", - "transactionType" => "", - ], - ], - ]; - - } catch (\Exception $e) { - return $e->getMessage(); - } - - } - -} \ No newline at end of file diff --git a/packages/xuanchen/sinopec/src/Action/sinopec/ZhyQuery.php b/packages/xuanchen/sinopec/src/Action/sinopec/ZhyQuery.php deleted file mode 100644 index 726c12f..0000000 --- a/packages/xuanchen/sinopec/src/Action/sinopec/ZhyQuery.php +++ /dev/null @@ -1,82 +0,0 @@ - "", - "eletronAndRule" => [ - [ - "entryMethod" => "01", - "marketCode" => "20191213154203514", - "marketRuleNumber" => "001", - "perVoucherNumber" => "1", - "planVoucherNumber" => "10", - "queryCreateTime" => "2019-11-11 18=> 39=> 49", - "similarStack" => "Y", - "voucherEndTime" => "2019-12-15", - "voucher_ruleCode" => "$01-VC-1573468710381900", - "voucherRuleName" => "ceshi2", - "voucherSource" => "S01", - "voucherStartTime" => "2019-12-13", - "voucherStartTime_type" => "VOUCHER_START_TIME_TYPE_ABSOLUTE_EFFECTIVE_TIME", - ], - ], - "limitFrequency" => "", - "mabIsRefund" => "", - "marketCode" => "20191213154203514", - "marketExEndTime" => "2019-12-15 00=> 00=> 00", - "marketExStartTime" => "2019-12-13 00=> 00=> 00", - "marketHierarchy" => "3311", - "marketName" => "行为推送活动-3", - "marketProvince" => "51", - "marketReleaseSys" => "VOUCHER_PUBLISH_TYPE_APPLET", - "marketStatus" => "MARKET_ACTIVITY_STATE_TAKE_EFFECT", - "promotionCalculation" => "PROMOTION_TYPE_MEMBER_BEHAVIOR", - "rule" => [ - [ - "cashValue" => "100", - "channel" => "C01,C02,C03,C05", - "fullType" => "", - "marketCode" => "20191213154203514", - "perVoucherNumber" => "1", - "planVoucherNumber" => "10", - "ruleCode" => "$01-VC-1573468710381900", - "ruleDetail" => "123123", - "ruleName" => "ceshi2", - "voucherType" => "C01", - ], - ], - "tradLimit" => [ - [ - "endValue" => "", - "fixed" => "", - "marketCode" => "20191213154203514", - "marketRuleName" => "001", - "marketRuleNumber" => "001", - "memLevel" => "", - "operator" => "", - "startValue" => "", - "tradingUnit" => "", - "transactionType" => "", - ], - ], - ]; - - } catch (\Exception $e) { - return $e->getMessage(); - } - - } - -} \ No newline at end of file diff --git a/packages/xuanchen/sinopec/src/Contracts/CheckCouponContracts.php b/packages/xuanchen/sinopec/src/Contracts/CheckCouponContracts.php deleted file mode 100644 index f2a398c..0000000 --- a/packages/xuanchen/sinopec/src/Contracts/CheckCouponContracts.php +++ /dev/null @@ -1,14 +0,0 @@ -app->runningInConsole()) { - $this->publishes([__DIR__ . '/../config/sinopec.php' => config_path('sinopec.php')]); - } - } - - /** - * Bootstrap services. - * @return void - */ - public function boot() - { - $this->mergeConfigFrom(__DIR__ . '/../config/sinopec.php', 'sinopec'); - - } - -} diff --git a/packages/xuanchen/sinopec/src/Sinopec.php b/packages/xuanchen/sinopec/src/Sinopec.php deleted file mode 100644 index c821b63..0000000 --- a/packages/xuanchen/sinopec/src/Sinopec.php +++ /dev/null @@ -1,11 +0,0 @@ - $url, - 'method' => $method, - 'type' => $type, - 'in_source' => $params, - ]; - - $info = LogModel::create($data); - - return $info; - } - - /** - * Notes: 更新日志 - * @Author: 玄尘 - * @Date : 2020/6/30 10:29 - * @param $log - * @param $params - */ - public static function updateLog($log, $params) - { - $log->out_source = $params; - $log->save(); - } - -} diff --git a/packages/xuanchen/sinopec/src/Traits/SetParams.php b/packages/xuanchen/sinopec/src/Traits/SetParams.php deleted file mode 100644 index b7e97b7..0000000 --- a/packages/xuanchen/sinopec/src/Traits/SetParams.php +++ /dev/null @@ -1,79 +0,0 @@ -user = $user; - - return $this; - } - - //设置核销码 - public function setCode($redemptionCode) - { - $this->redemptionCode = $redemptionCode; - - return $this; - - } - - //设置订单总额 - public function setTotal($total) - { - $this->total = $total; - - return $this; - - } - - //设置网点id - public function setOutletId($outletId) - { - $this->outletId = $outletId; - - return $this; - - } - - //设置活动id - public function setActivityId($activityId) - { - $this->activityId = $activityId; - - return $this; - - } - - //设置手机号 - public function setMobile($mobile) - { - $this->mobile = $mobile; - - return $this; - - } - -} diff --git a/storage/logs/laravel-2020-06-28.log b/storage/logs/laravel-2020-06-28.log deleted file mode 100644 index baa792f..0000000 --- a/storage/logs/laravel-2020-06-28.log +++ /dev/null @@ -1,267 +0,0 @@ -[2020-06-28 11:42:16] local.ERROR: Class 'App\Admin\Controllers\Activity\Activity' not found {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\FatalThrowableError(code: 0): Class 'App\\Admin\\Controllers\\Activity\\Activity' not found at /home/wwwroot/pingan/app/Admin/Controllers/Activity/RuleController.php:44) -[stacktrace] -#0 /home/wwwroot/pingan/vendor/encore/laravel-admin/src/Controllers/AdminController.php(100): App\\Admin\\Controllers\\Activity\\RuleController->form() -#1 [internal function]: Encore\\Admin\\Controllers\\AdminController->create(Object(Encore\\Admin\\Layout\\Content)) -#2 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): call_user_func_array(Array, Array) -#3 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(45): Illuminate\\Routing\\Controller->callAction('create', Array) -#4 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Routing/Route.php(219): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Admin\\Controllers\\Activity\\RuleController), 'create') -#5 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Routing/Route.php(176): Illuminate\\Routing\\Route->runController() -#6 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Routing/Router.php(681): Illuminate\\Routing\\Route->run() -#7 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(130): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) -#8 /home/wwwroot/pingan/vendor/encore/laravel-admin/src/Middleware/Permission.php(46): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#9 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Encore\\Admin\\Middleware\\Permission->handle(Object(Illuminate\\Http\\Request), Object(Closure)) -#10 /home/wwwroot/pingan/vendor/encore/laravel-admin/src/Middleware/Bootstrap.php(15): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#11 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Encore\\Admin\\Middleware\\Bootstrap->handle(Object(Illuminate\\Http\\Request), Object(Closure)) -#12 /home/wwwroot/pingan/vendor/encore/laravel-admin/src/Middleware/LogOperation.php(38): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#13 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Encore\\Admin\\Middleware\\LogOperation->handle(Object(Illuminate\\Http\\Request), Object(Closure)) -#14 /home/wwwroot/pingan/vendor/encore/laravel-admin/src/Middleware/Pjax.php(24): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#15 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Encore\\Admin\\Middleware\\Pjax->handle(Object(Illuminate\\Http\\Request), Object(Closure)) -#16 /home/wwwroot/pingan/vendor/encore/laravel-admin/src/Middleware/Authenticate.php(26): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#17 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Encore\\Admin\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure)) -#18 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(41): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#19 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure)) -#20 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(76): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#21 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure)) -#22 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#23 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure)) -#24 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(56): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#25 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure)) -#26 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#27 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure)) -#28 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(66): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#29 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure)) -#30 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(105): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#31 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Routing/Router.php(683): Illuminate\\Pipeline\\Pipeline->then(Object(Closure)) -#32 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Routing/Router.php(658): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request)) -#33 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Routing/Router.php(624): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route)) -#34 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Routing/Router.php(613): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request)) -#35 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(177): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request)) -#36 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(130): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request)) -#37 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#38 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure)) -#39 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#40 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure)) -#41 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#42 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure)) -#43 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(62): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#44 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Foundation\\Http\\Middleware\\CheckForMaintenanceMode->handle(Object(Illuminate\\Http\\Request), Object(Closure)) -#45 /home/wwwroot/pingan/vendor/fideloper/proxy/src/TrustProxies.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#46 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Fideloper\\Proxy\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure)) -#47 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(105): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#48 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(152): Illuminate\\Pipeline\\Pipeline->then(Object(Closure)) -#49 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(117): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request)) -#50 /home/wwwroot/pingan/public/index.php(55): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request)) -#51 {main} -"} -[2020-06-28 13:32:00] local.ERROR: SQLSTATE[HY000]: General error: 1364 Field 'rule' doesn't have a default value (SQL: insert into `activities` (`title`, `description`, `user_id`, `activity_rule_id`, `type`, `days`, `status`, `code`, `updated_at`, `created_at`) values (ce, 21, ?, 1, 1, 60, 1, ysd20200636, 2020-06-28 13:32:00, 2020-06-28 13:32:00)) {"exception":"[object] (Illuminate\\Database\\QueryException(code: HY000): SQLSTATE[HY000]: General error: 1364 Field 'rule' doesn't have a default value (SQL: insert into `activities` (`title`, `description`, `user_id`, `activity_rule_id`, `type`, `days`, `status`, `code`, `updated_at`, `created_at`) values (ce, 21, ?, 1, 1, 60, 1, ysd20200636, 2020-06-28 13:32:00, 2020-06-28 13:32:00)) at /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Database/Connection.php:669) -[stacktrace] -#0 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Database/Connection.php(629): Illuminate\\Database\\Connection->runQueryCallback('insert into `ac...', Array, Object(Closure)) -#1 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Database/Connection.php(464): Illuminate\\Database\\Connection->run('insert into `ac...', Array, Object(Closure)) -#2 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Database/Connection.php(416): Illuminate\\Database\\Connection->statement('insert into `ac...', Array) -#3 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/Processor.php(32): Illuminate\\Database\\Connection->insert('insert into `ac...', Array) -#4 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(2670): Illuminate\\Database\\Query\\Processors\\Processor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `ac...', Array, 'id') -#5 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1350): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id') -#6 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(839): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array) -#7 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(804): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array) -#8 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(667): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder)) -#9 /home/wwwroot/pingan/vendor/encore/laravel-admin/src/Form.php(341): Illuminate\\Database\\Eloquent\\Model->save() -#10 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Database/Concerns/ManagesTransactions.php(29): Encore\\Admin\\Form->Encore\\Admin\\{closure}(Object(Illuminate\\Database\\MySqlConnection)) -#11 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Database/DatabaseManager.php(349): Illuminate\\Database\\Connection->transaction(Object(Closure)) -#12 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(261): Illuminate\\Database\\DatabaseManager->__call('transaction', Array) -#13 /home/wwwroot/pingan/vendor/encore/laravel-admin/src/Form.php(344): Illuminate\\Support\\Facades\\Facade::__callStatic('transaction', Array) -#14 /home/wwwroot/pingan/vendor/encore/laravel-admin/src/Controllers/HasResourceActions.php(26): Encore\\Admin\\Form->store() -#15 [internal function]: Encore\\Admin\\Controllers\\AdminController->store() -#16 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): call_user_func_array(Array, Array) -#17 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(45): Illuminate\\Routing\\Controller->callAction('store', Array) -#18 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Routing/Route.php(219): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Admin\\Controllers\\Activity\\IndexController), 'store') -#19 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Routing/Route.php(176): Illuminate\\Routing\\Route->runController() -#20 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Routing/Router.php(681): Illuminate\\Routing\\Route->run() -#21 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(130): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) -#22 /home/wwwroot/pingan/vendor/encore/laravel-admin/src/Middleware/Permission.php(46): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#23 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Encore\\Admin\\Middleware\\Permission->handle(Object(Illuminate\\Http\\Request), Object(Closure)) -#24 /home/wwwroot/pingan/vendor/encore/laravel-admin/src/Middleware/Bootstrap.php(15): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#25 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Encore\\Admin\\Middleware\\Bootstrap->handle(Object(Illuminate\\Http\\Request), Object(Closure)) -#26 /home/wwwroot/pingan/vendor/encore/laravel-admin/src/Middleware/LogOperation.php(38): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#27 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Encore\\Admin\\Middleware\\LogOperation->handle(Object(Illuminate\\Http\\Request), Object(Closure)) -#28 /home/wwwroot/pingan/vendor/encore/laravel-admin/src/Middleware/Pjax.php(24): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#29 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Encore\\Admin\\Middleware\\Pjax->handle(Object(Illuminate\\Http\\Request), Object(Closure)) -#30 /home/wwwroot/pingan/vendor/encore/laravel-admin/src/Middleware/Authenticate.php(26): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#31 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Encore\\Admin\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure)) -#32 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(41): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#33 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure)) -#34 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(76): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#35 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure)) -#36 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#37 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure)) -#38 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(56): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#39 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure)) -#40 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#41 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure)) -#42 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(66): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#43 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure)) -#44 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(105): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#45 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Routing/Router.php(683): Illuminate\\Pipeline\\Pipeline->then(Object(Closure)) -#46 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Routing/Router.php(658): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request)) -#47 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Routing/Router.php(624): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route)) -#48 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Routing/Router.php(613): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request)) -#49 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(177): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request)) -#50 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(130): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request)) -#51 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#52 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure)) -#53 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#54 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure)) -#55 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#56 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure)) -#57 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(62): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#58 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Foundation\\Http\\Middleware\\CheckForMaintenanceMode->handle(Object(Illuminate\\Http\\Request), Object(Closure)) -#59 /home/wwwroot/pingan/vendor/fideloper/proxy/src/TrustProxies.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#60 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Fideloper\\Proxy\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure)) -#61 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(105): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#62 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(152): Illuminate\\Pipeline\\Pipeline->then(Object(Closure)) -#63 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(117): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request)) -#64 /home/wwwroot/pingan/public/index.php(55): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request)) -#65 {main} - -[previous exception] [object] (Doctrine\\DBAL\\Driver\\PDOException(code: HY000): SQLSTATE[HY000]: General error: 1364 Field 'rule' doesn't have a default value at /home/wwwroot/pingan/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php:123) -[stacktrace] -#0 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Database/Connection.php(463): Doctrine\\DBAL\\Driver\\PDOStatement->execute() -#1 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Database/Connection.php(662): Illuminate\\Database\\Connection->Illuminate\\Database\\{closure}('insert into `ac...', Array) -#2 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Database/Connection.php(629): Illuminate\\Database\\Connection->runQueryCallback('insert into `ac...', Array, Object(Closure)) -#3 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Database/Connection.php(464): Illuminate\\Database\\Connection->run('insert into `ac...', Array, Object(Closure)) -#4 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Database/Connection.php(416): Illuminate\\Database\\Connection->statement('insert into `ac...', Array) -#5 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/Processor.php(32): Illuminate\\Database\\Connection->insert('insert into `ac...', Array) -#6 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(2670): Illuminate\\Database\\Query\\Processors\\Processor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `ac...', Array, 'id') -#7 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1350): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id') -#8 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(839): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array) -#9 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(804): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array) -#10 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(667): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder)) -#11 /home/wwwroot/pingan/vendor/encore/laravel-admin/src/Form.php(341): Illuminate\\Database\\Eloquent\\Model->save() -#12 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Database/Concerns/ManagesTransactions.php(29): Encore\\Admin\\Form->Encore\\Admin\\{closure}(Object(Illuminate\\Database\\MySqlConnection)) -#13 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Database/DatabaseManager.php(349): Illuminate\\Database\\Connection->transaction(Object(Closure)) -#14 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(261): Illuminate\\Database\\DatabaseManager->__call('transaction', Array) -#15 /home/wwwroot/pingan/vendor/encore/laravel-admin/src/Form.php(344): Illuminate\\Support\\Facades\\Facade::__callStatic('transaction', Array) -#16 /home/wwwroot/pingan/vendor/encore/laravel-admin/src/Controllers/HasResourceActions.php(26): Encore\\Admin\\Form->store() -#17 [internal function]: Encore\\Admin\\Controllers\\AdminController->store() -#18 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): call_user_func_array(Array, Array) -#19 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(45): Illuminate\\Routing\\Controller->callAction('store', Array) -#20 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Routing/Route.php(219): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Admin\\Controllers\\Activity\\IndexController), 'store') -#21 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Routing/Route.php(176): Illuminate\\Routing\\Route->runController() -#22 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Routing/Router.php(681): Illuminate\\Routing\\Route->run() -#23 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(130): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) -#24 /home/wwwroot/pingan/vendor/encore/laravel-admin/src/Middleware/Permission.php(46): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#25 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Encore\\Admin\\Middleware\\Permission->handle(Object(Illuminate\\Http\\Request), Object(Closure)) -#26 /home/wwwroot/pingan/vendor/encore/laravel-admin/src/Middleware/Bootstrap.php(15): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#27 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Encore\\Admin\\Middleware\\Bootstrap->handle(Object(Illuminate\\Http\\Request), Object(Closure)) -#28 /home/wwwroot/pingan/vendor/encore/laravel-admin/src/Middleware/LogOperation.php(38): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#29 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Encore\\Admin\\Middleware\\LogOperation->handle(Object(Illuminate\\Http\\Request), Object(Closure)) -#30 /home/wwwroot/pingan/vendor/encore/laravel-admin/src/Middleware/Pjax.php(24): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#31 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Encore\\Admin\\Middleware\\Pjax->handle(Object(Illuminate\\Http\\Request), Object(Closure)) -#32 /home/wwwroot/pingan/vendor/encore/laravel-admin/src/Middleware/Authenticate.php(26): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#33 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Encore\\Admin\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure)) -#34 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(41): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#35 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure)) -#36 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(76): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#37 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure)) -#38 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#39 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure)) -#40 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(56): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#41 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure)) -#42 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#43 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure)) -#44 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(66): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#45 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure)) -#46 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(105): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#47 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Routing/Router.php(683): Illuminate\\Pipeline\\Pipeline->then(Object(Closure)) -#48 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Routing/Router.php(658): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request)) -#49 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Routing/Router.php(624): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route)) -#50 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Routing/Router.php(613): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request)) -#51 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(177): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request)) -#52 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(130): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request)) -#53 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#54 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure)) -#55 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#56 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure)) -#57 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#58 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure)) -#59 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(62): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#60 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Foundation\\Http\\Middleware\\CheckForMaintenanceMode->handle(Object(Illuminate\\Http\\Request), Object(Closure)) -#61 /home/wwwroot/pingan/vendor/fideloper/proxy/src/TrustProxies.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#62 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Fideloper\\Proxy\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure)) -#63 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(105): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#64 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(152): Illuminate\\Pipeline\\Pipeline->then(Object(Closure)) -#65 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(117): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request)) -#66 /home/wwwroot/pingan/public/index.php(55): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request)) -#67 {main} - -[previous exception] [object] (PDOException(code: HY000): SQLSTATE[HY000]: General error: 1364 Field 'rule' doesn't have a default value at /home/wwwroot/pingan/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php:121) -[stacktrace] -#0 /home/wwwroot/pingan/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php(121): PDOStatement->execute(NULL) -#1 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Database/Connection.php(463): Doctrine\\DBAL\\Driver\\PDOStatement->execute() -#2 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Database/Connection.php(662): Illuminate\\Database\\Connection->Illuminate\\Database\\{closure}('insert into `ac...', Array) -#3 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Database/Connection.php(629): Illuminate\\Database\\Connection->runQueryCallback('insert into `ac...', Array, Object(Closure)) -#4 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Database/Connection.php(464): Illuminate\\Database\\Connection->run('insert into `ac...', Array, Object(Closure)) -#5 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Database/Connection.php(416): Illuminate\\Database\\Connection->statement('insert into `ac...', Array) -#6 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/Processor.php(32): Illuminate\\Database\\Connection->insert('insert into `ac...', Array) -#7 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(2670): Illuminate\\Database\\Query\\Processors\\Processor->processInsertGetId(Object(Illuminate\\Database\\Query\\Builder), 'insert into `ac...', Array, 'id') -#8 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(1350): Illuminate\\Database\\Query\\Builder->insertGetId(Array, 'id') -#9 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(839): Illuminate\\Database\\Eloquent\\Builder->__call('insertGetId', Array) -#10 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(804): Illuminate\\Database\\Eloquent\\Model->insertAndSetId(Object(Illuminate\\Database\\Eloquent\\Builder), Array) -#11 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(667): Illuminate\\Database\\Eloquent\\Model->performInsert(Object(Illuminate\\Database\\Eloquent\\Builder)) -#12 /home/wwwroot/pingan/vendor/encore/laravel-admin/src/Form.php(341): Illuminate\\Database\\Eloquent\\Model->save() -#13 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Database/Concerns/ManagesTransactions.php(29): Encore\\Admin\\Form->Encore\\Admin\\{closure}(Object(Illuminate\\Database\\MySqlConnection)) -#14 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Database/DatabaseManager.php(349): Illuminate\\Database\\Connection->transaction(Object(Closure)) -#15 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(261): Illuminate\\Database\\DatabaseManager->__call('transaction', Array) -#16 /home/wwwroot/pingan/vendor/encore/laravel-admin/src/Form.php(344): Illuminate\\Support\\Facades\\Facade::__callStatic('transaction', Array) -#17 /home/wwwroot/pingan/vendor/encore/laravel-admin/src/Controllers/HasResourceActions.php(26): Encore\\Admin\\Form->store() -#18 [internal function]: Encore\\Admin\\Controllers\\AdminController->store() -#19 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): call_user_func_array(Array, Array) -#20 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(45): Illuminate\\Routing\\Controller->callAction('store', Array) -#21 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Routing/Route.php(219): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(App\\Admin\\Controllers\\Activity\\IndexController), 'store') -#22 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Routing/Route.php(176): Illuminate\\Routing\\Route->runController() -#23 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Routing/Router.php(681): Illuminate\\Routing\\Route->run() -#24 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(130): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) -#25 /home/wwwroot/pingan/vendor/encore/laravel-admin/src/Middleware/Permission.php(46): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#26 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Encore\\Admin\\Middleware\\Permission->handle(Object(Illuminate\\Http\\Request), Object(Closure)) -#27 /home/wwwroot/pingan/vendor/encore/laravel-admin/src/Middleware/Bootstrap.php(15): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#28 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Encore\\Admin\\Middleware\\Bootstrap->handle(Object(Illuminate\\Http\\Request), Object(Closure)) -#29 /home/wwwroot/pingan/vendor/encore/laravel-admin/src/Middleware/LogOperation.php(38): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#30 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Encore\\Admin\\Middleware\\LogOperation->handle(Object(Illuminate\\Http\\Request), Object(Closure)) -#31 /home/wwwroot/pingan/vendor/encore/laravel-admin/src/Middleware/Pjax.php(24): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#32 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Encore\\Admin\\Middleware\\Pjax->handle(Object(Illuminate\\Http\\Request), Object(Closure)) -#33 /home/wwwroot/pingan/vendor/encore/laravel-admin/src/Middleware/Authenticate.php(26): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#34 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Encore\\Admin\\Middleware\\Authenticate->handle(Object(Illuminate\\Http\\Request), Object(Closure)) -#35 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(41): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#36 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure)) -#37 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(76): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#38 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure)) -#39 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#40 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure)) -#41 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(56): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#42 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure)) -#43 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#44 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure)) -#45 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(66): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#46 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure)) -#47 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(105): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#48 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Routing/Router.php(683): Illuminate\\Pipeline\\Pipeline->then(Object(Closure)) -#49 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Routing/Router.php(658): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request)) -#50 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Routing/Router.php(624): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route)) -#51 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Routing/Router.php(613): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request)) -#52 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(177): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request)) -#53 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(130): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request)) -#54 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#55 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure)) -#56 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#57 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure)) -#58 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#59 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure)) -#60 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(62): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#61 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Foundation\\Http\\Middleware\\CheckForMaintenanceMode->handle(Object(Illuminate\\Http\\Request), Object(Closure)) -#62 /home/wwwroot/pingan/vendor/fideloper/proxy/src/TrustProxies.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#63 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Fideloper\\Proxy\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure)) -#64 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(105): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) -#65 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(152): Illuminate\\Pipeline\\Pipeline->then(Object(Closure)) -#66 /home/wwwroot/pingan/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(117): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request)) -#67 /home/wwwroot/pingan/public/index.php(55): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request)) -#68 {main} -"}