diff --git a/app/Http/Controllers/TestController.php b/app/Http/Controllers/TestController.php index f48a482..a827a6d 100644 --- a/app/Http/Controllers/TestController.php +++ b/app/Http/Controllers/TestController.php @@ -1,238 +1,251 @@ -user_id; - $data = $request->data; - $this->user = User::find(3); - - $data = '5VehIrHTZsS1BY8V5VcKlhTN9hbutq4j+HIT2zRCbSqgPWvClQSxYSP7mn7PmHuiYQpj55NRC6w4397FfdVTq23wd4BOQ964giie/JForTjt0l7UaY23XzKnNjDSKiGqr7DAbd8P3SzJ75ZjKaqUu7UWu3PVylAeesGRbZgpQEF/XKwOW4XMaJGV2tIsowILZCtF+moqHg7yA6hI4vT7iYU3rTq9vk7kpcnfArLKPQ5dxH9FFIegdr7E1S8NVwpTZrxeQEmjDUsGrBcWe/Q9dRWXSlKF1Hdz2qCUCK94fu3gqvEVSYRllTCa5mwQhlYJLs2UTmWMSism7nsivySseSl1/JOvNH0lyvWaV1XDUMKG8oTC+kOPQKxFA3qp2xO9ohRhN0dkpML4JVgkMF1r6rv+rThYQuOL/rnsuY5Jdh4QdPWCItQ05lqI46s2yPyKROrLx7jQ3/+BOyEmP+Cj5W8/trEAVS1HczMj4Jnl3vrcY879ubokUcEatalAuKGM0uLNAqQF5XfHzgXam4coEMek8MjdbxW+Z9+eZFQp/P1ts7yN5qzpac6Y8CrqSMFJZf1vwowp+1peiEC5tCsXlHCsDLPS8Uh1LNnC3sag0XZu7jX5uVR9nxR2c/ibBJOAHcUO+NcjmzoN+dQOeBkb/aWj9B+9mW5RUQmfUk6O+Vwkb5ruZZbXsoJJULj4tHJv87+mVo30e0mBbaPD47+fTp1+qSJtLOOlLO2nEj1NNDBSBGLM4RxTDQ4ju2r6HY9YyMXsbNC2YB8zrXrDsUoB1WSuu5XcaWx8rzA0NpckzNbEIuv0+6fA69gXOhC9xcGGPyEBbko73XHr7W8MIDtWhGOG8kHf1cAMdjwVGS2OUJ6XKZnBMwIzY8cJn4Fi+jXRMFnt+7BxWLToNQsyOoHbYWypeM8FrAb4VQeaxGhBQUXUmHhmAp00jcGEe/ngxn1oVjq6G+pEq8CxBntvQ+GZ975sPaCqkYOjbuHa9Myd2tT6GWbczL/YcR4RRV96ByYYCEOBy01LsBNeo6SSpWYcK4eoLhc70v8s'; - $iv = substr($this->user->des3key, 0, 8); - $ret = openssl_decrypt($data, 'DES-EDE3-CBC', $this->user->des3key, 0, $iv); - if (false === $ret) { - return openssl_error_string(); - } - dd($ret); - dd(); - $this->user = User::find(215); - $ret = [ - 'redemptionCode' => '951951858070', - 'total' => 5, - 'outletId' => '2006151433887', - ]; - - return $this->success($ret); - dd(phpinfo()); - dd(); - $num = 100; - - for ($i = 1; $i <= $num; $i++) { - $data = [ - 'outletId' => '2004020935777', - 'activityId' => 'ysd20200740', - 'mobile' => '15663876870', - ]; - - $this->user = User::find(3); - - $data = $this->jiami($data); - - $url = $this->baseUrl . 'user/grant'; - $res = $this->http($data, $url); - - // if (isset($res['data'])) { - // $jiemi = $this->jiemi($res['data']); - // dump($jiemi); - // } - - } - - dump($this->getElapsedTime()); - dump($this->getMemoryUsage()); - - } - - /** - * Notes: 发券 - * @Author: 玄尘 - * @Date : 2020/6/29 13:57 - */ - public function grant(Request $request) - { - $this->user = User::find(3); - - $data = $this->jiami($request->all()); - - $url = $this->baseUrl . 'user/grant'; - $res = $this->http($data, $url); - - return $res; - - // dump($this->getElapsedTime()); - // dump($this->getMemoryUsage()); - // - // dd($res); - } - - //查询 - public function query(Request $request) - { - $this->user = User::find(3); - - $redemptionCode = $request->redemptionCode; - $outletId = $request->outletId; - - $data = $this->jiami($request->all()); - - $url = $this->baseUrl . 'user/query'; - $res = $this->http($data, $url); - - return $res; - if (isset($res['data'])) { - $jiemi = $this->jiemi($res['data']); - dump($jiemi); - } - - dump($this->getElapsedTime()); - dump($this->getMemoryUsage()); - - dump($res); - - } - - //卡券作废 - public function destroy(Request $request) - { - $this->user = User::find(3); - - $redemptionCode = $request->redemptionCode; - $data = $this->jiami($request->all()); - - $url = $this->baseUrl . 'user/destroy'; - $res = $this->http($data, $url); - - dump($this->getElapsedTime()); - dump($this->getMemoryUsage()); - if (isset($res['data'])) { - $jiemi = $this->jiemi($res['data']); - dump($jiemi); - } - dump($res); - - } - - /** - * Notes: 核销 - * @Author: 玄尘 - * @Date : 2020/6/29 14:01 - */ - public function checkcoupon(Request $request) - { - $user_id = $request->user_id; - - $this->user = User::find($user_id); - - $data = $this->jiami([ - 'redemptionCode' => $request->redemptionCode, - 'total' => $request->total, - 'outletId' => $request->outletId, - 'orderid' => $request->orderid, - ]); - - $url = $this->baseUrl . 'user/freezecoupon'; - $res = $this->http($data, $url); - - return $res; - - $redemptionCode = $request->redemptionCode; - $total = $request->total; - $outletId = $request->outletId; - $orderid = $request->orderid ?? ''; - $res = Coupon::Redemption($this->user, $redemptionCode, $total, $outletId, $orderid); - - if (is_string($res)) { - return $this->error($res); - } - - return $this->success('核销成功'); - } - - public function http($data, $url) - { - $client = new Client(); - $response = $client->request('POST', $url, ['form_params' => $data, 'http_errors' => false]); - - $body = $response->getBody(); - $content = $body->getContents(); - $result = json_decode($content, true); - - return $result; - } - - public function jiami($ret) - { - $jsonData = json_encode($ret); //数据JSON化 - $ascdata = $this->keyasc($jsonData); //加密 - $addcode = sprintf("%08d", mt_rand(0, 99999999)); //随机code 验证签名用 - $sign = $this->keysign($ascdata, $addcode); - - $data = [ - 'server_id' => $this->user->server_id, - 'key' => $this->user->server_key, - 'addcode' => $addcode, - 'sign' => $sign, - 'data' => $ascdata, - ]; - - return $data; - } - - /** - * 解密 - * @param $value - * @return - */ - public function jiemi($value) - { - $iv = substr($this->user->des3key, 0, 8); - $ret = openssl_decrypt($value, 'DES - EDE3 - CBC', $this->user->des3key, 0, $iv); - if (false === $ret) { - return openssl_error_string(); - } - - return $ret; - } - - function getMemoryUsage($precision = 2) - { - $size = memory_get_usage(true); - - $unit = ['b', 'kb', 'mb', 'gb', 'tb', 'pb']; - - return round($size / pow(1024, ($i = floor(log($size, 1024)))), $precision) . ' ' . $unit[$i]; - } - - function getElapsedTime(int $decimals = 2) - { - return number_format(microtime(true) - request()->server('REQUEST_TIME_FLOAT'), $decimals) . ' s'; - } - -} +user_id; + // $data = $request->data; + // $this->user = User::find(3); + // + // $data = '5VehIrHTZsS1BY8V5VcKlhTN9hbutq4j+HIT2zRCbSqgPWvClQSxYSP7mn7PmHuiYQpj55NRC6w4397FfdVTq23wd4BOQ964giie/JForTjt0l7UaY23XzKnNjDSKiGqr7DAbd8P3SzJ75ZjKaqUu7UWu3PVylAeesGRbZgpQEF/XKwOW4XMaJGV2tIsowILZCtF+moqHg7yA6hI4vT7iYU3rTq9vk7kpcnfArLKPQ5dxH9FFIegdr7E1S8NVwpTZrxeQEmjDUsGrBcWe/Q9dRWXSlKF1Hdz2qCUCK94fu3gqvEVSYRllTCa5mwQhlYJLs2UTmWMSism7nsivySseSl1/JOvNH0lyvWaV1XDUMKG8oTC+kOPQKxFA3qp2xO9ohRhN0dkpML4JVgkMF1r6rv+rThYQuOL/rnsuY5Jdh4QdPWCItQ05lqI46s2yPyKROrLx7jQ3/+BOyEmP+Cj5W8/trEAVS1HczMj4Jnl3vrcY879ubokUcEatalAuKGM0uLNAqQF5XfHzgXam4coEMek8MjdbxW+Z9+eZFQp/P1ts7yN5qzpac6Y8CrqSMFJZf1vwowp+1peiEC5tCsXlHCsDLPS8Uh1LNnC3sag0XZu7jX5uVR9nxR2c/ibBJOAHcUO+NcjmzoN+dQOeBkb/aWj9B+9mW5RUQmfUk6O+Vwkb5ruZZbXsoJJULj4tHJv87+mVo30e0mBbaPD47+fTp1+qSJtLOOlLO2nEj1NNDBSBGLM4RxTDQ4ju2r6HY9YyMXsbNC2YB8zrXrDsUoB1WSuu5XcaWx8rzA0NpckzNbEIuv0+6fA69gXOhC9xcGGPyEBbko73XHr7W8MIDtWhGOG8kHf1cAMdjwVGS2OUJ6XKZnBMwIzY8cJn4Fi+jXRMFnt+7BxWLToNQsyOoHbYWypeM8FrAb4VQeaxGhBQUXUmHhmAp00jcGEe/ngxn1oVjq6G+pEq8CxBntvQ+GZ975sPaCqkYOjbuHa9Myd2tT6GWbczL/YcR4RRV96ByYYCEOBy01LsBNeo6SSpWYcK4eoLhc70v8s'; + // $iv = substr($this->user->des3key, 0, 8); + // $ret = openssl_decrypt($data, 'DES-EDE3-CBC', $this->user->des3key, 0, $iv); + // if (false === $ret) { + // return openssl_error_string(); + // } + // dd($ret); + // dd(); + $this->user = User::find(4); + $ret = [ + 'variable' => 100, + 'mobile' => 15663876870, + 'type' => 'silver', + 'remark' => '测试', + ]; + $res['server_id'] = $this->user->server_id; + $res['des'] = $this->user->des3key; + $res['key'] = $this->user->server_key; + + return $this->success($ret); + dd(); + $this->user = User::find(4); + $ret = [ + 'redemptionCode' => '951951858070', + 'total' => 5, + 'outletId' => '2008241014458', + ]; + + return $this->success($ret); + dd(phpinfo()); + dd(); + $num = 100; + + for ($i = 1; $i <= $num; $i++) { + $data = [ + 'outletId' => '2004020935777', + 'activityId' => 'ysd20200740', + 'mobile' => '15663876870', + ]; + + $this->user = User::find(3); + + $data = $this->jiami($data); + + $url = $this->baseUrl . 'user/grant'; + $res = $this->http($data, $url); + + // if (isset($res['data'])) { + // $jiemi = $this->jiemi($res['data']); + // dump($jiemi); + // } + + } + + dump($this->getElapsedTime()); + dump($this->getMemoryUsage()); + + } + + /** + * Notes: 发券 + * @Author: 玄尘 + * @Date : 2020/6/29 13:57 + */ + public function grant(Request $request) + { + $this->user = User::find(3); + + $data = $this->jiami($request->all()); + + $url = $this->baseUrl . 'user/grant'; + $res = $this->http($data, $url); + + return $res; + + // dump($this->getElapsedTime()); + // dump($this->getMemoryUsage()); + // + // dd($res); + } + + //查询 + public function query(Request $request) + { + $this->user = User::find(3); + + $redemptionCode = $request->redemptionCode; + $outletId = $request->outletId; + + $data = $this->jiami($request->all()); + + $url = $this->baseUrl . 'user/query'; + $res = $this->http($data, $url); + + return $res; + if (isset($res['data'])) { + $jiemi = $this->jiemi($res['data']); + dump($jiemi); + } + + dump($this->getElapsedTime()); + dump($this->getMemoryUsage()); + + dump($res); + + } + + //卡券作废 + public function destroy(Request $request) + { + $this->user = User::find(3); + + $redemptionCode = $request->redemptionCode; + $data = $this->jiami($request->all()); + + $url = $this->baseUrl . 'user/destroy'; + $res = $this->http($data, $url); + + dump($this->getElapsedTime()); + dump($this->getMemoryUsage()); + if (isset($res['data'])) { + $jiemi = $this->jiemi($res['data']); + dump($jiemi); + } + dump($res); + + } + + /** + * Notes: 核销 + * @Author: 玄尘 + * @Date : 2020/6/29 14:01 + */ + public function checkcoupon(Request $request) + { + $user_id = $request->user_id; + + $this->user = User::find($user_id); + + $data = $this->jiami([ + 'redemptionCode' => $request->redemptionCode, + 'total' => $request->total, + 'outletId' => $request->outletId, + 'orderid' => $request->orderid, + ]); + + $url = $this->baseUrl . 'user/freezecoupon'; + $res = $this->http($data, $url); + + return $res; + + $redemptionCode = $request->redemptionCode; + $total = $request->total; + $outletId = $request->outletId; + $orderid = $request->orderid ?? ''; + $res = Coupon::Redemption($this->user, $redemptionCode, $total, $outletId, $orderid); + + if (is_string($res)) { + return $this->error($res); + } + + return $this->success('核销成功'); + } + + public function http($data, $url) + { + $client = new Client(); + $response = $client->request('POST', $url, ['form_params' => $data, 'http_errors' => false]); + + $body = $response->getBody(); + $content = $body->getContents(); + $result = json_decode($content, true); + + return $result; + } + + public function jiami($ret) + { + $jsonData = json_encode($ret); //数据JSON化 + $ascdata = $this->keyasc($jsonData); //加密 + $addcode = sprintf("%08d", mt_rand(0, 99999999)); //随机code 验证签名用 + $sign = $this->keysign($ascdata, $addcode); + + $data = [ + 'server_id' => $this->user->server_id, + 'key' => $this->user->server_key, + 'addcode' => $addcode, + 'sign' => $sign, + 'data' => $ascdata, + ]; + + return $data; + } + + /** + * 解密 + * @param $value + * @return + */ + public function jiemi($value) + { + $iv = substr($this->user->des3key, 0, 8); + $ret = openssl_decrypt($value, 'DES - EDE3 - CBC', $this->user->des3key, 0, $iv); + if (false === $ret) { + return openssl_error_string(); + } + + return $ret; + } + + function getMemoryUsage($precision = 2) + { + $size = memory_get_usage(true); + + $unit = ['b', 'kb', 'mb', 'gb', 'tb', 'pb']; + + return round($size / pow(1024, ($i = floor(log($size, 1024)))), $precision) . ' ' . $unit[$i]; + } + + function getElapsedTime(int $decimals = 2) + { + return number_format(microtime(true) - request()->server('REQUEST_TIME_FLOAT'), $decimals) . ' s'; + } + +} diff --git a/app/Merchant/Controllers/Coupon/IndexController.php b/app/Merchant/Controllers/Coupon/IndexController.php index a08e218..5dfcf63 100644 --- a/app/Merchant/Controllers/Coupon/IndexController.php +++ b/app/Merchant/Controllers/Coupon/IndexController.php @@ -3,7 +3,6 @@ namespace App\Merchant\Controllers\Coupon; use App\Merchant\Controllers\Controller; -use App\Merchant\Exporters\CouponExport; use App\Models\ActivityRule; use App\Models\Coupon; use Auth; @@ -245,7 +244,7 @@ class IndexController extends Controller if (!$request->end) { $request->end = now()->toDateTimeString(); } - set_time_limit(1200); + set_time_limit(0); ini_set('memory_limit', '1024M'); $filename = '卡券记录' . date('YmdHis') . '.csv'; $response = function () use ($user, $request) {