阶段更新
This commit is contained in:
@@ -69,20 +69,20 @@ class LogController extends AdminController
|
||||
$grid->column('id', '#ID#');
|
||||
$grid->column('code', '卡券编号');
|
||||
$grid->column('type', '分类')
|
||||
->using(ActivityCouponLog::TYPES)
|
||||
->label([
|
||||
1 => 'default',
|
||||
2 => 'warning',
|
||||
3 => 'info',
|
||||
]);
|
||||
->using(ActivityCouponLog::TYPES)
|
||||
->label([
|
||||
1 => 'default',
|
||||
2 => 'warning',
|
||||
3 => 'info',
|
||||
]);
|
||||
|
||||
$grid->column('status', '状态')
|
||||
->using(ActivityCouponLog::STATUS)
|
||||
->label([
|
||||
1 => 'default',
|
||||
2 => 'warning',
|
||||
3 => 'info',
|
||||
]);
|
||||
->using(ActivityCouponLog::STATUS)
|
||||
->label([
|
||||
1 => 'default',
|
||||
2 => 'warning',
|
||||
3 => 'info',
|
||||
]);
|
||||
|
||||
$grid->column('remark', '处理结果');
|
||||
|
||||
|
||||
56
app/Api/Controllers/UnionPayController.php
Normal file
56
app/Api/Controllers/UnionPayController.php
Normal file
@@ -0,0 +1,56 @@
|
||||
<?php
|
||||
|
||||
namespace App\Api\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use XuanChen\UnionPay\UnionPay;
|
||||
|
||||
class UnionPayController extends Controller
|
||||
{
|
||||
|
||||
public function index()
|
||||
{
|
||||
$str = 'msg_type=00&msg_txn_code=002100&msg_crrltn_id=12345678901234567890123456789000&msg_flg=0&msg_sender=01&msg_time=20130318162412&msg_sys_sn=12345678900987654321&msg_ver=0.1&mchnt_no=8981231234567890&term_no=12345678&shop_no=086123456123456789&req_serial_no=12345678900987654321&orig_req_serial_no=12345678900987654321&enc_card_no=123123123123123123123sdfadqerqr&acq_term_sn=123456&refer_no=123456789012&sett_date=20130318&txn_date=20130318&txn_time=162850&orig_amt=10000&discount_amt=2000&pay_amt=8000&pay_mode=1';
|
||||
parse_str($str, $arr_str);
|
||||
|
||||
$action = new UnionPay($arr_str);
|
||||
$sign = $action->getSign();
|
||||
$action->sign = $sign;
|
||||
$res = $action->checkSign(true);
|
||||
dump($sign);
|
||||
dump($res);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Notes: 银联接口
|
||||
* @Author: 玄尘
|
||||
* @Date : 2020/9/28 16:31
|
||||
* @param Request $request
|
||||
* @return mixed
|
||||
*/
|
||||
public function query(Request $request)
|
||||
{
|
||||
$inputs = $request->all();
|
||||
|
||||
if (!isset($inputs['msg_txn_code'])) {
|
||||
|
||||
}
|
||||
|
||||
$validator = \Validator::make($inputs, [
|
||||
'activityId' => 'required',
|
||||
'outletId' => 'required',
|
||||
'mobile' => 'required',
|
||||
], [
|
||||
'activityId.required' => '缺少活动编码',
|
||||
'outletId.required' => '缺少网点id',
|
||||
'mobile.required' => '缺少手机号',
|
||||
]);
|
||||
|
||||
if ($validator->fails()) {
|
||||
return $this->error($validator->errors()->first());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -4,7 +4,7 @@ namespace App\Api\Controllers;
|
||||
|
||||
use App\Models\User;
|
||||
use Illuminate\Http\Request;
|
||||
use XuanChen\Coupon\UnionPay;
|
||||
use XuanChen\Coupon\Coupon;
|
||||
|
||||
class UserController extends Controller
|
||||
{
|
||||
@@ -63,7 +63,7 @@ class UserController extends Controller
|
||||
return $this->error($validator->errors()->first(), $log);
|
||||
}
|
||||
|
||||
$res = UnionPay::Grant($res['activityId'], $res['outletId'], $res['mobile']);
|
||||
$res = Coupon::Grant($res['activityId'], $res['outletId'], $res['mobile']);
|
||||
|
||||
if (is_string($res)) {
|
||||
return $this->error($res, $log);
|
||||
@@ -106,7 +106,7 @@ class UserController extends Controller
|
||||
$redemptionCode = $res['redemptionCode'];
|
||||
$outletId = $res['outletId'];
|
||||
|
||||
$res = UnionPay::Query($redemptionCode, $outletId);
|
||||
$res = Coupon::Query($redemptionCode, $outletId);
|
||||
|
||||
if (is_string($res)) {
|
||||
return $this->error($res, $log);
|
||||
@@ -141,7 +141,7 @@ class UserController extends Controller
|
||||
|
||||
$redemptionCode = $res['redemptionCode'];
|
||||
$outletId = $res['outletId'];
|
||||
$res = UnionPay::Destroy($redemptionCode, $outletId);
|
||||
$res = Coupon::Destroy($redemptionCode, $outletId);
|
||||
|
||||
if ($res !== true) {
|
||||
return $this->error($res, $log);
|
||||
@@ -188,7 +188,7 @@ class UserController extends Controller
|
||||
$redemptionCode = trim($redemptionCode);
|
||||
$outletId = trim($outletId);
|
||||
|
||||
$coupon = UnionPay::Redemption($this->user, $redemptionCode, $total, $outletId, $orderid);
|
||||
$coupon = Coupon::Redemption($this->user, $redemptionCode, $total, $outletId, $orderid);
|
||||
if (is_string($coupon)) {
|
||||
return $this->error($coupon, $log);
|
||||
}
|
||||
|
||||
@@ -18,4 +18,9 @@ Route::group(['prefix' => 'V1'], function () {
|
||||
Route::post('ticket/cancel', 'WoController@cancel'); //退业务
|
||||
Route::post('ticket/query', 'WoController@query'); //退业务
|
||||
|
||||
//银联相关
|
||||
Route::post('unionpay/index', 'UnionPayController@index');
|
||||
Route::post('unionpay/query', 'UnionPayController@query');
|
||||
|
||||
|
||||
});
|
||||
|
||||
@@ -1,251 +1,235 @@
|
||||
<?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\UnionPay;
|
||||
|
||||
// use Wo;
|
||||
|
||||
class TestController
|
||||
{
|
||||
|
||||
use ApiResponse;
|
||||
|
||||
public $baseUrl = 'http://pa.ysd-bs.com/api/V1/';
|
||||
|
||||
public function index(Request $request)
|
||||
{
|
||||
// $user_id = $request->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 = UnionPay::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 <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';
|
||||
}
|
||||
|
||||
}
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Api\Controllers\ApiResponse;
|
||||
use App\Models\User;
|
||||
use GuzzleHttp\Client;
|
||||
use Illuminate\Http\Request;
|
||||
use XuanChen\Coupon\Coupon;
|
||||
|
||||
class TestController
|
||||
{
|
||||
|
||||
use ApiResponse;
|
||||
|
||||
public $baseUrl = 'http://pac.ysd-bs.com/api/V1/';
|
||||
|
||||
public function index(Request $request)
|
||||
{
|
||||
$user_id = $request->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 <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;
|
||||
}
|
||||
|
||||
public 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];
|
||||
}
|
||||
|
||||
public function getElapsedTime(int $decimals = 2)
|
||||
{
|
||||
return number_format(microtime(true) - request()->server('REQUEST_TIME_FLOAT'), $decimals) . ' s';
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -40,9 +40,9 @@ class Log extends Model
|
||||
Schema::create($this->table, function (Blueprint $table) {
|
||||
$table->increments('id');
|
||||
$table->string('path', 255);
|
||||
$table->string('method', 15)->index();
|
||||
$table->string('method', 15);
|
||||
$table->text('in_source');
|
||||
$table->string('type', 20)->index();
|
||||
$table->string('type', 20);
|
||||
$table->text('out_source')->nullable();
|
||||
$table->timestamps();
|
||||
});
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
class PinganToken extends Model
|
||||
{
|
||||
|
||||
protected $dates = [
|
||||
'get_token_time',
|
||||
];
|
||||
|
||||
13
app/Models/UnionPayLog.php
Normal file
13
app/Models/UnionPayLog.php
Normal file
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
class UnionPayLog extends Model
|
||||
{
|
||||
|
||||
protected $casts = [
|
||||
'in_source' => 'array',
|
||||
'out_source' => 'array',
|
||||
];
|
||||
|
||||
}
|
||||
@@ -4,8 +4,10 @@ namespace App\Models;
|
||||
|
||||
class UserCode extends Model
|
||||
{
|
||||
|
||||
protected $casts = [
|
||||
'codes' => 'array',
|
||||
'profit' => 'array',
|
||||
];
|
||||
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@ class UserInfo extends Model
|
||||
/**
|
||||
* Notes: 获取性别的文字显示
|
||||
* @Author: <C.Jason>
|
||||
* @Date: 2019/9/12 09:46
|
||||
* @Date : 2019/9/12 09:46
|
||||
* @return string
|
||||
*/
|
||||
protected function getSexTextAttribute()
|
||||
@@ -35,7 +35,7 @@ class UserInfo extends Model
|
||||
/**
|
||||
* Notes: 处理默认头像
|
||||
* @Author: <C.Jason>
|
||||
* @Date: 2019/9/12 13:44
|
||||
* @Date : 2019/9/12 13:44
|
||||
* @param $avatar
|
||||
* @return string
|
||||
*/
|
||||
|
||||
@@ -6,6 +6,6 @@ use App\Models\Traits\BelongsToUser;
|
||||
|
||||
class UserPingan extends Model
|
||||
{
|
||||
use BelongsToUser;
|
||||
|
||||
use BelongsToUser;
|
||||
}
|
||||
|
||||
@@ -4,8 +4,10 @@ namespace App\Models;
|
||||
|
||||
class WoCouponLog extends Model
|
||||
{
|
||||
|
||||
public function coupon()
|
||||
{
|
||||
return $this->belongsTo(WoCoupon::class, 'wo_coupon_id', 'id');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user