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'; } }