first commit

This commit is contained in:
2020-08-06 16:42:18 +08:00
commit eb792c34aa
12972 changed files with 1511424 additions and 0 deletions

View File

@@ -0,0 +1,28 @@
<?php
namespace App\Http\Controllers;
trait AjaxResponse
{
public function success($message = '', $redirect = null)
{
return [
'status' => 'SUCCESS',
'statusCode' => 200,
'message' => $message,
'redirect' => $redirect,
];
}
public function error($message = '', $redirect = null)
{
return [
'status' => 'ERROR',
'statusCode' => 400,
'message' => $message,
'redirect' => $redirect,
];
}
}

View File

@@ -0,0 +1,27 @@
<?php
namespace App\Http\Controllers;
use Auth;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Routing\Controller as BaseController;
class Controller extends BaseController
{
use AuthorizesRequests, DispatchesJobs, ValidatesRequests, AjaxResponse;
public function checkUserAuth($identity_id = 0)
{
$url = 'wxlogin';
if ($identity_id > 0) {
$url = 'login';
}
if (!Auth::user() || ($identity_id && Auth::user()->identity_id != $identity_id)) {
return route($url) . '?callback=' . url()->current();
}
return true;
}
}

View File

@@ -0,0 +1,20 @@
<?php
namespace App\Http\Controllers;
class CouponController extends Controller
{
public function index()
{
$tick = 'YSD' . date('ymdHi') . mt_rand(100, 999);
$tick = strtotime(date('YmdHi', time())) . substr(microtime(), 2, 6) . sprintf('%03d', rand(0, 999));
$data = [
'code' => 200,
'couponCode' => $tick,
];
return $data;
}
}

View File

@@ -0,0 +1,27 @@
<?php
namespace App\Http\Controllers;
use Auth;
use Illuminate\Http\Request;
use Image;
use QrCode;
class IndexController extends Controller
{
public function index(Request $request)
{
return view('index.index');
}
public function makeCode(Request $request)
{
$user = Auth::user();
$shareimg = Image::make(QrCode::size(3000)->format('png')->margin(0)->generate(route('checkcode', $user)))
->resize(240, 240)
->encode('data-url');
return view('index.makeCode', compact('shareimg', 'user'));
}
}

View File

@@ -0,0 +1,45 @@
<?php
namespace App\Http\Controllers;
use App\Api\Controllers\ApiResponse;
class SkyxuController
{
use ApiResponse;
public function index()
{
$postData = [
'server_id' => '20200103490104',
'key' => 'rRhHO7Jbao2SSxAH8VygV4DgS4L2WESa',
'addcode' => '69198663',
'sign' => '6cd2232e9aa853219a0dff80430567796d0ae33d6c0289dfa835813def08ed8c',
'data' => 'DBEgnb5HidvKQDyxL0BAcCwuMkVdbTZRVu4mxwwzAM5TWj\/HAQfcrH9VzcgdG42lINsHYvI2Tv+MJfyP9eXVEQ==',
];
$curl = curl_init();
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;",
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
}
}

View File

@@ -0,0 +1,41 @@
<?php
namespace App\Http\Controllers;
use File;
use Illuminate\Http\Request;
use Storage;
class StorageController extends Controller
{
public function index(Request $request)
{
$File = $request->file('image');
$oldName = $File->getClientOriginalName();
$hash = File::hash($File->path());
$size = File::size($File->path());
if ($size > (10 * 1024 * 1024)) {
return [
'code' => 0,
'message' => '文件不能超过10M',
];
}
$pathUrl = 'images' . date('/Y-m/d');
$fileName = $hash . '.' . $File->getClientOriginalExtension();
$path = Storage::disk('public')->putFileAs(
$pathUrl, $File, $fileName
);
if (!$path) {
return [
'code' => 0,
'message' => '文件上传失败',
];
}
return [
'code' => 1,
'message' => '文件上传成功',
'path' => '/' . $pathUrl . '/' . $fileName,
];
}
}

View File

@@ -0,0 +1,219 @@
<?php
namespace App\Http\Controllers;
use App\Api\Controllers\ApiResponse;
use SelfCoupon;
use App\Models\User;
use GuzzleHttp\Client;
use Illuminate\Http\Request;
use XuanChen\Coupon\Coupon;
// use Wo;
class TestController
{
use ApiResponse;
public function index(Request $request)
{
$this->user = User::find(3);
$data = 'Q7dhxBxcPnSGbnhDtHGgTNPYJfcRf0IcpOBSr+jjRF5SfLe0RLoiAMXYynZ9bb/dnon8MMw/o/AgO/yIIfhxo45Ya9yXOAEAogwR6Ti9nnM=';
$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 = 'http://pac.ysd-bs.com/api/V1/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 = 'http://pac.ysd-bs.com/api/V1/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 = 'http://pac.ysd-bs.com/api/V1/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 = 'http://pac.ysd-bs.com/api/V1/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)
{
$redemptionCode = $request->redemptionCode;
$total = $request->total;
$outletId = $request->outletId;
$user_id = $request->user_id;
$this->user = User::find($user_id);
$res = Coupon::Redemption($this->user, $redemptionCode, $total, $outletId);
dump($this->getElapsedTime());
dump($this->getMemoryUsage());
dd($res);
}
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 <type> $value
* @return <type>
*/
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';
}
}