Compare commits
15 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 6de6f5960c | |||
| 81a6d17ce0 | |||
| e15b205d00 | |||
| dc32f39c57 | |||
| 0c4c8f7a00 | |||
| cad079a9a7 | |||
| ef6e901edf | |||
| ea2635a0e4 | |||
| c1af490eff | |||
| a94e39c07d | |||
| e5b53e0fb1 | |||
| 0be23ad9e7 | |||
| 8279083391 | |||
| 67834f3e29 | |||
| 53dd1a984f |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -8,3 +8,4 @@
|
|||||||
/storage/framework
|
/storage/framework
|
||||||
/storage/debugbar/
|
/storage/debugbar/
|
||||||
/bootstrap/cache
|
/bootstrap/cache
|
||||||
|
/upload
|
||||||
|
|||||||
@@ -93,6 +93,8 @@ class IndexController extends AdminController
|
|||||||
$filter->column(1 / 2, function ($filter) {
|
$filter->column(1 / 2, function ($filter) {
|
||||||
$filter->between('start_at', '开始时间')->datetime();
|
$filter->between('start_at', '开始时间')->datetime();
|
||||||
$filter->between('end_at', '结束时间')->datetime();
|
$filter->between('end_at', '结束时间')->datetime();
|
||||||
|
$filter->equal('channel', '核销途径')->select(Activity::CHANNELS);
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
@@ -107,6 +109,13 @@ class IndexController extends AdminController
|
|||||||
return $this->type_text;
|
return $this->type_text;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$grid->column('channel', '核销途径')
|
||||||
|
->using(Activity::CHANNELS)
|
||||||
|
->label([
|
||||||
|
Activity::CHANNEL_YSD => 'info',
|
||||||
|
Activity::CHANNEL_UNION => 'success',
|
||||||
|
]);
|
||||||
|
|
||||||
$grid->column('days', '延期(天)');
|
$grid->column('days', '延期(天)');
|
||||||
$grid->column('rule.full', '满足金额');
|
$grid->column('rule.full', '满足金额');
|
||||||
$grid->column('rule.take', '扣除金额');
|
$grid->column('rule.take', '扣除金额');
|
||||||
@@ -173,6 +182,12 @@ class IndexController extends AdminController
|
|||||||
})
|
})
|
||||||
->required();
|
->required();
|
||||||
|
|
||||||
|
$form->radio('channel', '核销途径')
|
||||||
|
->options(Activity::CHANNELS)
|
||||||
|
->default(Activity::CHANNEL_YSD)
|
||||||
|
->help('券码核销的途径:亿时代是自己核销,银联是银联pos核销')
|
||||||
|
->required();
|
||||||
|
|
||||||
$form->switch('status', '状态')->default(1);
|
$form->switch('status', '状态')->default(1);
|
||||||
$form->switch('need_check', '多次校验')
|
$form->switch('need_check', '多次校验')
|
||||||
->default(1)
|
->default(1)
|
||||||
|
|||||||
@@ -49,6 +49,7 @@ class IndexController extends AdminController
|
|||||||
});
|
});
|
||||||
|
|
||||||
$grid->column('id', '#ID#');
|
$grid->column('id', '#ID#');
|
||||||
|
|
||||||
// $grid->column('path', '请求地址');
|
// $grid->column('path', '请求地址');
|
||||||
$grid->column('请求地址')->display(function ($title, $column) {
|
$grid->column('请求地址')->display(function ($title, $column) {
|
||||||
return '展开';
|
return '展开';
|
||||||
@@ -58,6 +59,8 @@ class IndexController extends AdminController
|
|||||||
|
|
||||||
return new Table($header, $array);
|
return new Table($header, $array);
|
||||||
});
|
});
|
||||||
|
$grid->column('created_at', '提交时间');
|
||||||
|
|
||||||
$grid->column('method', '模式');
|
$grid->column('method', '模式');
|
||||||
// $grid->column('in_source', '请求参数')
|
// $grid->column('in_source', '请求参数')
|
||||||
// ->display(function ($title, $column) {
|
// ->display(function ($title, $column) {
|
||||||
@@ -96,7 +99,6 @@ class IndexController extends AdminController
|
|||||||
|
|
||||||
return $out_source;
|
return $out_source;
|
||||||
});
|
});
|
||||||
$grid->column('created_at', '提交时间');
|
|
||||||
|
|
||||||
return $grid;
|
return $grid;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,91 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Admin\Controllers\Unionpay;
|
|
||||||
|
|
||||||
use App\Admin\Actions\User\Callback;
|
|
||||||
use App\Admin\Actions\User\Profit;
|
|
||||||
use App\Admin\Actions\User\ReCode;
|
|
||||||
use App\Admin\Actions\User\RefD3Key;
|
|
||||||
use App\Admin\Exporters\UsersExport;
|
|
||||||
use App\Admin\Renderable\Unionpay\InData;
|
|
||||||
use App\Admin\Renderable\Unionpay\OutData;
|
|
||||||
use App\Models\Area;
|
|
||||||
use App\Models\UnionpayLog;
|
|
||||||
use App\Models\User;
|
|
||||||
use Auth;
|
|
||||||
use Encore\Admin\Controllers\AdminController;
|
|
||||||
use Encore\Admin\Form;
|
|
||||||
use Encore\Admin\Grid;
|
|
||||||
use Encore\Admin\Widgets\Table;
|
|
||||||
use Illuminate\Http\Request;
|
|
||||||
use RuLong\Identity\Models\Identity;
|
|
||||||
|
|
||||||
class IndexController extends AdminController
|
|
||||||
{
|
|
||||||
|
|
||||||
protected $title = '银联操作日志';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Notes:
|
|
||||||
* @Author: <C.Jason>
|
|
||||||
* @Date : 2019/9/18 14:50
|
|
||||||
* @return Grid
|
|
||||||
*/
|
|
||||||
protected function grid()
|
|
||||||
{
|
|
||||||
$grid = new Grid(new UnionpayLog);
|
|
||||||
|
|
||||||
$grid->disableActions();
|
|
||||||
$grid->disableCreateButton();
|
|
||||||
$grid->model()->orderBy('id', 'desc');
|
|
||||||
|
|
||||||
$grid->filter(function ($filter) {
|
|
||||||
$filter->column(1 / 2, function ($filter) {
|
|
||||||
$filter->equal('msg_txn_code', '交易类型')->select(config('unionpay.type'));
|
|
||||||
});
|
|
||||||
$filter->column(1 / 2, function ($filter) {
|
|
||||||
$filter->equal('req_serial_no', '流水号');
|
|
||||||
$filter->equal('orig_req_serial_no', '原流水号');
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
$grid->column('id', '#ID#');
|
|
||||||
$grid->column('msg_txn_code', '交易类型')
|
|
||||||
->using(config('unionpay.type'))
|
|
||||||
->label();
|
|
||||||
|
|
||||||
// $grid->column('msg_crrltn_id', '消息关联号');
|
|
||||||
$grid->column('msg_time', '报文日期');
|
|
||||||
$grid->column('mkt_code', '券码');
|
|
||||||
$grid->column('msg_sys_sn', '平台流水号');
|
|
||||||
$grid->column('req_serial_no', '流水号');
|
|
||||||
$grid->column('orig_req_serial_no', '原流水号');
|
|
||||||
$grid->column('status', '状态')
|
|
||||||
->using(UnionpayLog::STATUS)
|
|
||||||
->label([
|
|
||||||
0 => 'success',
|
|
||||||
1 => 'warning',
|
|
||||||
]);
|
|
||||||
|
|
||||||
$grid->column('in_source', '请求参数')
|
|
||||||
->display(function ($title, $column) {
|
|
||||||
return '点击展开';
|
|
||||||
})->modal(InData::class);
|
|
||||||
|
|
||||||
$grid->column('out_source', '返回参数')
|
|
||||||
->display(function ($title, $column) {
|
|
||||||
return '点击展开';
|
|
||||||
})->modal(OutData::class);
|
|
||||||
|
|
||||||
// $grid->column('sett_date', '清算日期');
|
|
||||||
$grid->column('created_at', '注册时间');
|
|
||||||
$grid->disableExport(false);
|
|
||||||
|
|
||||||
$grid->export(function ($export) {
|
|
||||||
$export->filename($this->title . date("YmdHis"));
|
|
||||||
});
|
|
||||||
|
|
||||||
return $grid;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Admin\Renderable\Unionpay;
|
|
||||||
|
|
||||||
use App\Models\UnionpayLog;
|
|
||||||
use App\Models\User;
|
|
||||||
use Encore\Admin\Widgets\Table;
|
|
||||||
use Illuminate\Contracts\Support\Renderable;
|
|
||||||
use Illuminate\Http\Request;
|
|
||||||
|
|
||||||
class InData implements Renderable
|
|
||||||
{
|
|
||||||
|
|
||||||
public function render($key = null)
|
|
||||||
{
|
|
||||||
$log = UnionpayLog::find($key);
|
|
||||||
$in_source = $log->in_source;
|
|
||||||
|
|
||||||
if (is_array($in_source) && count($in_source) > 1) {
|
|
||||||
$table = new Table(['名称', '值'], $in_source, ['panel', ' panel-default']);
|
|
||||||
|
|
||||||
return $table->render();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Admin\Renderable\Unionpay;
|
|
||||||
|
|
||||||
use App\Models\UnionpayLog;
|
|
||||||
use Encore\Admin\Widgets\Table;
|
|
||||||
use Illuminate\Contracts\Support\Renderable;
|
|
||||||
|
|
||||||
class OutData implements Renderable
|
|
||||||
{
|
|
||||||
|
|
||||||
public function render($key = null)
|
|
||||||
{
|
|
||||||
$log = UnionpayLog::find($key);
|
|
||||||
$out_source = $log->out_source;
|
|
||||||
|
|
||||||
if (is_array($out_source) && count($out_source) > 1) {
|
|
||||||
unset($out_source['sign']);
|
|
||||||
$table = new Table(['名称', '值'], $out_source, ['panel ', 'panel-success']);
|
|
||||||
|
|
||||||
return $table->render();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -55,7 +55,4 @@ Route::group([
|
|||||||
$router->resource('activitycoupons', 'Activity\CouponController');
|
$router->resource('activitycoupons', 'Activity\CouponController');
|
||||||
$router->resource('activitycouponlogs', 'Activity\LogController');
|
$router->resource('activitycouponlogs', 'Activity\LogController');
|
||||||
|
|
||||||
//银联日志
|
|
||||||
$router->resource('unionpays', 'Unionpay\IndexController');
|
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -120,7 +120,7 @@ trait ApiResponse
|
|||||||
* @Author :<C.Jason>
|
* @Author :<C.Jason>
|
||||||
* @Date :2018-05-22
|
* @Date :2018-05-22
|
||||||
* @param [type] $data [description]
|
* @param [type] $data [description]
|
||||||
* @param string $status [description]
|
* @param string $log
|
||||||
* @return [type] [description]
|
* @return [type] [description]
|
||||||
*/
|
*/
|
||||||
public function success($data, $log = '')
|
public function success($data, $log = '')
|
||||||
|
|||||||
@@ -1,46 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Api\Controllers;
|
|
||||||
|
|
||||||
use Illuminate\Http\Request;
|
|
||||||
use XuanChen\UnionPay\UnionPay;
|
|
||||||
use Illuminate\Support\Facades\Http;
|
|
||||||
|
|
||||||
class UnionPayController extends Controller
|
|
||||||
{
|
|
||||||
|
|
||||||
public function index(Request $request)
|
|
||||||
{
|
|
||||||
$a = '0.1';
|
|
||||||
$b = '0.1';
|
|
||||||
dump($a > $b);
|
|
||||||
$action = new UnionPay($request->all());
|
|
||||||
// $sign = $action->getSign(false);
|
|
||||||
$sign = 'd8e5bf46d0d9f1da702170c2e141d85cf3ca785106886dbfedb3310ee9ce2ca3f18a2e6c179ec9908fc4f41d05df463634106918bdbefc63b8f199c7d2f3b0d45510b4dd6ccdf4549e11a8551a5098b14c01fdaa5840a4608f462fdafdc14b8f2a35471da315d8245a4ef6281b6e04bd22d5a266500a6caf6e5203202c37111d';
|
|
||||||
$action->sign = $sign;
|
|
||||||
$res = $action->checkSign(false, false);
|
|
||||||
dump('签名: ' . $sign);
|
|
||||||
$res_str = ($res === true) ? '成功' : '失败';
|
|
||||||
dump('验签结果:' . $res_str);
|
|
||||||
dd($action);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Notes: 银联接口
|
|
||||||
* @Author: 玄尘
|
|
||||||
* @Date : 2020/9/28 16:31
|
|
||||||
* @param Request $request
|
|
||||||
* @return mixed
|
|
||||||
*/
|
|
||||||
public function query(Request $request)
|
|
||||||
{
|
|
||||||
$inputs = $request->all();
|
|
||||||
$app = app('xuanchen.unionpay');
|
|
||||||
$app->setParams($inputs);
|
|
||||||
$app->start();
|
|
||||||
|
|
||||||
return $app->respond();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -41,7 +41,7 @@ class UserController extends Controller
|
|||||||
{
|
{
|
||||||
$inputdata = $request->all();
|
$inputdata = $request->all();
|
||||||
$res = $this->checkSign($request);
|
$res = $this->checkSign($request);
|
||||||
|
//获取解密后数据
|
||||||
$inputdata['jiemi'] = $res;
|
$inputdata['jiemi'] = $res;
|
||||||
$log = $this->createLog($request->url(), 'POST', $inputdata, 'grant'); //添加日志
|
$log = $this->createLog($request->url(), 'POST', $inputdata, 'grant'); //添加日志
|
||||||
|
|
||||||
@@ -184,11 +184,20 @@ class UserController extends Controller
|
|||||||
$total = $res['total'] ?? ''; //订单总额;
|
$total = $res['total'] ?? ''; //订单总额;
|
||||||
$outletId = $res['outletId'] ?? ''; //网点id;
|
$outletId = $res['outletId'] ?? ''; //网点id;
|
||||||
$orderid = $res['orderid'] ?? ''; //订单id;
|
$orderid = $res['orderid'] ?? ''; //订单id;
|
||||||
|
$from = $res['from'] ?? ''; //来源;
|
||||||
|
|
||||||
$redemptionCode = trim($redemptionCode);
|
$redemptionCode = trim($redemptionCode);
|
||||||
$outletId = trim($outletId);
|
$outletId = trim($outletId);
|
||||||
|
|
||||||
$coupon = Coupon::Redemption($this->user, $redemptionCode, $total, $outletId, $orderid);
|
$coupon = Coupon::Redemption(
|
||||||
|
$this->user,
|
||||||
|
$redemptionCode,
|
||||||
|
$total,
|
||||||
|
$outletId,
|
||||||
|
$orderid,
|
||||||
|
$from
|
||||||
|
);
|
||||||
|
|
||||||
if (is_string($coupon)) {
|
if (is_string($coupon)) {
|
||||||
return $this->error($coupon, $log);
|
return $this->error($coupon, $log);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,8 +20,4 @@ Route::group(['prefix' => 'V1'], function () {
|
|||||||
Route::post('ticket/cancel', 'WoController@cancel'); //退业务
|
Route::post('ticket/cancel', 'WoController@cancel'); //退业务
|
||||||
Route::post('ticket/query', 'WoController@query'); //退业务
|
Route::post('ticket/query', 'WoController@query'); //退业务
|
||||||
|
|
||||||
//银联相关
|
|
||||||
Route::post('unionpay/index', 'UnionPayController@index');
|
|
||||||
Route::post('unionpay/query', 'UnionPayController@query');
|
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -2,330 +2,72 @@
|
|||||||
|
|
||||||
namespace App\Http\Controllers;
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
use App\Models\Coupon;
|
use Illuminate\Http\Request;
|
||||||
use App\Models\TestLog;
|
use League\Flysystem\Sftp\SftpAdapter;
|
||||||
use App\Models\User;
|
use League\Flysystem\Filesystem;
|
||||||
use Illuminate\Queue\Jobs\Job;
|
use XuanChen\UnionPay\Check;
|
||||||
use XuanChen\Coupon\Action\pingan\Query;
|
|
||||||
use XuanChen\Coupon\Action\ysd\YsdQuery;
|
|
||||||
|
|
||||||
class SkyxuController
|
class SkyxuController extends Controller
|
||||||
{
|
{
|
||||||
|
|
||||||
public $user;
|
/**
|
||||||
|
* Notes: 链接sftp
|
||||||
public $jiemi;
|
* @Author: 玄尘
|
||||||
|
* @Date : 2021/1/26 8:18
|
||||||
public $query_coupon;
|
*/
|
||||||
|
public function sftp()
|
||||||
public $ticket;
|
|
||||||
|
|
||||||
public $type;
|
|
||||||
|
|
||||||
public function index()
|
|
||||||
{
|
{
|
||||||
$list = Job::get();
|
$app = app('xuanchen.unionpay.check');
|
||||||
dd($list);
|
$app->date = '20190722';
|
||||||
Coupon::whereBetween('id', ['70091', '70513'])
|
$app->login();
|
||||||
->orderBy('created_at', 'ASC')
|
$app->hasFile();
|
||||||
->chunk(100, function ($logs) {
|
$app->start();
|
||||||
foreach ($logs as $log) {
|
dump($app->msg);
|
||||||
if (preg_match('/^YSD/', $log->redemptionCode, $matches)) {
|
|
||||||
$type = Coupon::TYPE_YSD;
|
die();
|
||||||
} else {
|
$path = '/home/wwwroot/pingan/upload/';
|
||||||
$type = Coupon::TYPE_PINGAN;
|
$name = 'JYMX66007320190722.txt';
|
||||||
|
$adapter = new SftpAdapter([
|
||||||
|
'host' => '123.57.16.212',
|
||||||
|
'port' => 22,
|
||||||
|
'username' => 'root',
|
||||||
|
'password' => 'Anetadmin1',
|
||||||
|
'privateKey' => '',
|
||||||
|
'passphrase' => '',
|
||||||
|
'root' => $path,
|
||||||
|
'timeout' => 10,
|
||||||
|
'directoryPerm' => 0755,
|
||||||
|
]);
|
||||||
|
|
||||||
|
$filesystem = new Filesystem($adapter);
|
||||||
|
$lists = $filesystem->listContents();
|
||||||
|
|
||||||
|
$content = $filesystem->read($name);
|
||||||
|
|
||||||
|
$content = str_replace("\n", "br", $content);
|
||||||
|
dump($content);
|
||||||
|
|
||||||
|
$content = explode("br", $content);
|
||||||
|
|
||||||
|
foreach ($content as $item) {
|
||||||
|
$array = explode('|', $item);
|
||||||
|
foreach ($array as $item) {
|
||||||
|
echo $item . "<br>";
|
||||||
|
}
|
||||||
|
echo '----------------------------------------' . "<br>";
|
||||||
|
}
|
||||||
|
dd($content);
|
||||||
}
|
}
|
||||||
|
|
||||||
$log->type = $type;
|
public function index(Request $request)
|
||||||
$log->save();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
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);
|
|
||||||
|
|
||||||
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 = [];
|
|
||||||
|
|
||||||
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)) {
|
if (method_exists($this, $request->action)) {
|
||||||
$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';
|
|
||||||
|
|
||||||
}
|
return call_user_func_array([$this, $request->action], [$request->all()]);
|
||||||
|
|
||||||
if ($this->type == 'ysd') {
|
|
||||||
return $this->getYsdPro();
|
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
return $this->getPro();
|
dd('未找到方法');
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
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;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -168,6 +168,7 @@ class TestController
|
|||||||
'total' => $request->total,
|
'total' => $request->total,
|
||||||
'outletId' => $request->outletId,
|
'outletId' => $request->outletId,
|
||||||
'orderid' => $request->orderid,
|
'orderid' => $request->orderid,
|
||||||
|
'from' => $request->from,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$url = $this->baseUrl . 'user/freezecoupon';
|
$url = $this->baseUrl . 'user/freezecoupon';
|
||||||
@@ -179,7 +180,16 @@ class TestController
|
|||||||
$total = $request->total;
|
$total = $request->total;
|
||||||
$outletId = $request->outletId;
|
$outletId = $request->outletId;
|
||||||
$orderid = $request->orderid ?? '';
|
$orderid = $request->orderid ?? '';
|
||||||
$res = Coupon::Redemption($this->user, $redemptionCode, $total, $outletId, $orderid);
|
$from = $request->from ?? '';
|
||||||
|
|
||||||
|
$res = Coupon::Redemption(
|
||||||
|
$this->user,
|
||||||
|
$redemptionCode,
|
||||||
|
$total,
|
||||||
|
$outletId,
|
||||||
|
$orderid,
|
||||||
|
$from
|
||||||
|
);
|
||||||
|
|
||||||
if (is_string($res)) {
|
if (is_string($res)) {
|
||||||
return $this->error($res);
|
return $this->error($res);
|
||||||
@@ -248,4 +258,48 @@ class TestController
|
|||||||
return number_format(microtime(true) - request()->server('REQUEST_TIME_FLOAT'), $decimals) . ' s';
|
return number_format(microtime(true) - request()->server('REQUEST_TIME_FLOAT'), $decimals) . ' s';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Notes: 测试签名
|
||||||
|
* @Author: 玄尘
|
||||||
|
* @Date : 2020/12/30 11:47
|
||||||
|
* @param \Illuminate\Http\Request $request
|
||||||
|
*/
|
||||||
|
public function getSign(Request $request)
|
||||||
|
{
|
||||||
|
|
||||||
|
// $data = 'SMyBpCxqBnxAGr/Fk9LOB851Glkgc3ruZnu1Y0ft/R+Ng26ooLXok1Oi1SrwhSJaQ9U75zy3tI7fq3YfTLQxITwUmt4jBiShpeK1whMaYrI=';
|
||||||
|
// $addcode = '1234567812345678';
|
||||||
|
//
|
||||||
|
// return [
|
||||||
|
// 'sign' => $this->keysign($data, $addcode),
|
||||||
|
// 'server_id' => $this->user->server_id,
|
||||||
|
// 'server_key' => $this->user->server_key,
|
||||||
|
// 'data' => $data,
|
||||||
|
// 'addcode' => $addcode,
|
||||||
|
// ];
|
||||||
|
|
||||||
|
$server_id = $request->server_id;
|
||||||
|
$redemptionCode = $request->redemptionCode;
|
||||||
|
$total = $request->total;
|
||||||
|
$outletId = $request->outletId;
|
||||||
|
|
||||||
|
$this->user = User::whereNull('parent_id')
|
||||||
|
->where('server_id', $server_id)
|
||||||
|
->first();
|
||||||
|
if (!$this->user) {
|
||||||
|
return $this->error('未查到到渠道');
|
||||||
|
}
|
||||||
|
$ret = [
|
||||||
|
'redemptionCode' => $redemptionCode,
|
||||||
|
'total' => $total,
|
||||||
|
'outletId' => $outletId,
|
||||||
|
];
|
||||||
|
|
||||||
|
return json_encode($ret);
|
||||||
|
info(json_encode($ret));
|
||||||
|
|
||||||
|
return $this->success($ret);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,6 +10,11 @@ class Activity extends Model
|
|||||||
|
|
||||||
use BelongsToUser;
|
use BelongsToUser;
|
||||||
|
|
||||||
|
protected $dates = [
|
||||||
|
'start_at',
|
||||||
|
'end_at',
|
||||||
|
];
|
||||||
|
|
||||||
const TYPE_EXTEND = 1;
|
const TYPE_EXTEND = 1;
|
||||||
const TYPE_SCOPE = 2;
|
const TYPE_SCOPE = 2;
|
||||||
const TYPES = [
|
const TYPES = [
|
||||||
@@ -24,9 +29,11 @@ class Activity extends Model
|
|||||||
self::STATUS_CLOSE => '关闭',
|
self::STATUS_CLOSE => '关闭',
|
||||||
];
|
];
|
||||||
|
|
||||||
protected $dates = [
|
const CHANNEL_YSD = 1;
|
||||||
'start_at',
|
const CHANNEL_UNION = 2;
|
||||||
'end_at',
|
const CHANNELS = [
|
||||||
|
self::CHANNEL_YSD => '亿时代',
|
||||||
|
self::CHANNEL_UNION => '银联',
|
||||||
];
|
];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -51,7 +58,7 @@ class Activity extends Model
|
|||||||
}
|
}
|
||||||
|
|
||||||
//活动状态
|
//活动状态
|
||||||
public function getStatusTextAttribute()
|
public function getStatusTextAttribute(): string
|
||||||
{
|
{
|
||||||
return self::STATUS[$this->status] ?? '未知';
|
return self::STATUS[$this->status] ?? '未知';
|
||||||
}
|
}
|
||||||
@@ -100,8 +107,13 @@ class Activity extends Model
|
|||||||
{
|
{
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// $code = 'YSD' . date('ymd') . mt_rand(100000, 999999);
|
//判断生成何种码
|
||||||
|
if ($this->channel == self::CHANNEL_UNION) {
|
||||||
$code = '66406' . date('ymdH') . mt_rand(1000000, 9999999);
|
$code = '66406' . date('ymdH') . mt_rand(1000000, 9999999);
|
||||||
|
} else {
|
||||||
|
$code = 'YSD' . date('ymd') . mt_rand(100000, 999999);
|
||||||
|
}
|
||||||
|
|
||||||
if ($this->type == SELF::TYPE_EXTEND) {
|
if ($this->type == SELF::TYPE_EXTEND) {
|
||||||
$start_at = now();
|
$start_at = now();
|
||||||
$end_at = now()->addDays($this->days);
|
$end_at = now()->addDays($this->days);
|
||||||
|
|||||||
@@ -40,9 +40,9 @@ class Log extends Model
|
|||||||
Schema::create($this->table, function (Blueprint $table) {
|
Schema::create($this->table, function (Blueprint $table) {
|
||||||
$table->increments('id');
|
$table->increments('id');
|
||||||
$table->string('path', 255);
|
$table->string('path', 255);
|
||||||
$table->string('method', 15);
|
$table->string('method', 15)->index();
|
||||||
$table->text('in_source');
|
$table->text('in_source');
|
||||||
$table->string('type', 20);
|
$table->string('type', 20)->index();
|
||||||
$table->text('out_source')->nullable();
|
$table->text('out_source')->nullable();
|
||||||
$table->timestamps();
|
$table->timestamps();
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -1,25 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Models;
|
|
||||||
|
|
||||||
class UnionpayLog extends Model
|
|
||||||
{
|
|
||||||
|
|
||||||
protected $casts = [
|
|
||||||
'in_source' => 'array',
|
|
||||||
'out_source' => 'array',
|
|
||||||
];
|
|
||||||
|
|
||||||
const STATUS_SUCCESS = 1;
|
|
||||||
const STATUS_ERROR = 0;
|
|
||||||
const STATUS = [
|
|
||||||
self::STATUS_SUCCESS => '成功',
|
|
||||||
self::STATUS_ERROR => '失败',
|
|
||||||
];
|
|
||||||
|
|
||||||
public function coupon()
|
|
||||||
{
|
|
||||||
return $this->hasOne(Coupon::class, 'redemptionCode', 'mkt_code');
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
124
bootstrap/cache/packages.php
vendored
124
bootstrap/cache/packages.php
vendored
@@ -1,124 +0,0 @@
|
|||||||
<?php return array (
|
|
||||||
'barryvdh/laravel-debugbar' =>
|
|
||||||
array (
|
|
||||||
'providers' =>
|
|
||||||
array (
|
|
||||||
0 => 'Barryvdh\\Debugbar\\ServiceProvider',
|
|
||||||
),
|
|
||||||
'aliases' =>
|
|
||||||
array (
|
|
||||||
'Debugbar' => 'Barryvdh\\Debugbar\\Facade',
|
|
||||||
),
|
|
||||||
),
|
|
||||||
'encore/laravel-admin' =>
|
|
||||||
array (
|
|
||||||
'providers' =>
|
|
||||||
array (
|
|
||||||
0 => 'Encore\\Admin\\AdminServiceProvider',
|
|
||||||
),
|
|
||||||
'aliases' =>
|
|
||||||
array (
|
|
||||||
'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' =>
|
|
||||||
array (
|
|
||||||
0 => 'Fideloper\\Proxy\\TrustedProxyServiceProvider',
|
|
||||||
),
|
|
||||||
),
|
|
||||||
'intervention/image' =>
|
|
||||||
array (
|
|
||||||
'providers' =>
|
|
||||||
array (
|
|
||||||
0 => 'Intervention\\Image\\ImageServiceProvider',
|
|
||||||
),
|
|
||||||
'aliases' =>
|
|
||||||
array (
|
|
||||||
'Image' => 'Intervention\\Image\\Facades\\Image',
|
|
||||||
),
|
|
||||||
),
|
|
||||||
'laravel-admin-ext/wang-editor' =>
|
|
||||||
array (
|
|
||||||
'providers' =>
|
|
||||||
array (
|
|
||||||
0 => 'Encore\\WangEditor\\WangEditorServiceProvider',
|
|
||||||
),
|
|
||||||
),
|
|
||||||
'laravel/tinker' =>
|
|
||||||
array (
|
|
||||||
'providers' =>
|
|
||||||
array (
|
|
||||||
0 => 'Laravel\\Tinker\\TinkerServiceProvider',
|
|
||||||
),
|
|
||||||
),
|
|
||||||
'maatwebsite/excel' =>
|
|
||||||
array (
|
|
||||||
'providers' =>
|
|
||||||
array (
|
|
||||||
0 => 'Maatwebsite\\Excel\\ExcelServiceProvider',
|
|
||||||
),
|
|
||||||
'aliases' =>
|
|
||||||
array (
|
|
||||||
'Excel' => 'Maatwebsite\\Excel\\Facades\\Excel',
|
|
||||||
),
|
|
||||||
),
|
|
||||||
'nesbot/carbon' =>
|
|
||||||
array (
|
|
||||||
'providers' =>
|
|
||||||
array (
|
|
||||||
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' =>
|
|
||||||
array (
|
|
||||||
0 => 'SimpleSoftwareIO\\QrCode\\QrCodeServiceProvider',
|
|
||||||
),
|
|
||||||
'aliases' =>
|
|
||||||
array (
|
|
||||||
'QrCode' => 'SimpleSoftwareIO\\QrCode\\Facades\\QrCode',
|
|
||||||
),
|
|
||||||
),
|
|
||||||
'xuanchen/coupon' =>
|
|
||||||
array (
|
|
||||||
'providers' =>
|
|
||||||
array (
|
|
||||||
0 => 'XuanChen\\Coupon\\ServiceProvider',
|
|
||||||
),
|
|
||||||
),
|
|
||||||
'xuanchen/unionpay' =>
|
|
||||||
array (
|
|
||||||
'providers' =>
|
|
||||||
array (
|
|
||||||
0 => 'XuanChen\\UnionPay\\ServiceProvider',
|
|
||||||
),
|
|
||||||
),
|
|
||||||
);
|
|
||||||
226
bootstrap/cache/services.php
vendored
226
bootstrap/cache/services.php
vendored
@@ -1,226 +0,0 @@
|
|||||||
<?php return array (
|
|
||||||
'providers' =>
|
|
||||||
array (
|
|
||||||
0 => 'Illuminate\\Auth\\AuthServiceProvider',
|
|
||||||
1 => 'Illuminate\\Broadcasting\\BroadcastServiceProvider',
|
|
||||||
2 => 'Illuminate\\Bus\\BusServiceProvider',
|
|
||||||
3 => 'Illuminate\\Cache\\CacheServiceProvider',
|
|
||||||
4 => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
5 => 'Illuminate\\Cookie\\CookieServiceProvider',
|
|
||||||
6 => 'Illuminate\\Database\\DatabaseServiceProvider',
|
|
||||||
7 => 'Illuminate\\Encryption\\EncryptionServiceProvider',
|
|
||||||
8 => 'Illuminate\\Filesystem\\FilesystemServiceProvider',
|
|
||||||
9 => 'Illuminate\\Foundation\\Providers\\FoundationServiceProvider',
|
|
||||||
10 => 'Illuminate\\Hashing\\HashServiceProvider',
|
|
||||||
11 => 'Illuminate\\Mail\\MailServiceProvider',
|
|
||||||
12 => 'Illuminate\\Notifications\\NotificationServiceProvider',
|
|
||||||
13 => 'Illuminate\\Pagination\\PaginationServiceProvider',
|
|
||||||
14 => 'Illuminate\\Pipeline\\PipelineServiceProvider',
|
|
||||||
15 => 'Illuminate\\Queue\\QueueServiceProvider',
|
|
||||||
16 => 'Illuminate\\Redis\\RedisServiceProvider',
|
|
||||||
17 => 'Illuminate\\Auth\\Passwords\\PasswordResetServiceProvider',
|
|
||||||
18 => 'Illuminate\\Session\\SessionServiceProvider',
|
|
||||||
19 => 'Illuminate\\Translation\\TranslationServiceProvider',
|
|
||||||
20 => 'Illuminate\\Validation\\ValidationServiceProvider',
|
|
||||||
21 => 'Illuminate\\View\\ViewServiceProvider',
|
|
||||||
22 => 'Barryvdh\\Debugbar\\ServiceProvider',
|
|
||||||
23 => 'Encore\\Admin\\AdminServiceProvider',
|
|
||||||
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 (
|
|
||||||
0 => 'Illuminate\\Auth\\AuthServiceProvider',
|
|
||||||
1 => 'Illuminate\\Cookie\\CookieServiceProvider',
|
|
||||||
2 => 'Illuminate\\Database\\DatabaseServiceProvider',
|
|
||||||
3 => 'Illuminate\\Encryption\\EncryptionServiceProvider',
|
|
||||||
4 => 'Illuminate\\Filesystem\\FilesystemServiceProvider',
|
|
||||||
5 => 'Illuminate\\Foundation\\Providers\\FoundationServiceProvider',
|
|
||||||
6 => 'Illuminate\\Notifications\\NotificationServiceProvider',
|
|
||||||
7 => 'Illuminate\\Pagination\\PaginationServiceProvider',
|
|
||||||
8 => 'Illuminate\\Session\\SessionServiceProvider',
|
|
||||||
9 => 'Illuminate\\View\\ViewServiceProvider',
|
|
||||||
10 => 'Barryvdh\\Debugbar\\ServiceProvider',
|
|
||||||
11 => 'Encore\\Admin\\AdminServiceProvider',
|
|
||||||
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 (
|
|
||||||
'Illuminate\\Broadcasting\\BroadcastManager' => 'Illuminate\\Broadcasting\\BroadcastServiceProvider',
|
|
||||||
'Illuminate\\Contracts\\Broadcasting\\Factory' => 'Illuminate\\Broadcasting\\BroadcastServiceProvider',
|
|
||||||
'Illuminate\\Contracts\\Broadcasting\\Broadcaster' => 'Illuminate\\Broadcasting\\BroadcastServiceProvider',
|
|
||||||
'Illuminate\\Bus\\Dispatcher' => 'Illuminate\\Bus\\BusServiceProvider',
|
|
||||||
'Illuminate\\Contracts\\Bus\\Dispatcher' => 'Illuminate\\Bus\\BusServiceProvider',
|
|
||||||
'Illuminate\\Contracts\\Bus\\QueueingDispatcher' => 'Illuminate\\Bus\\BusServiceProvider',
|
|
||||||
'cache' => 'Illuminate\\Cache\\CacheServiceProvider',
|
|
||||||
'cache.store' => 'Illuminate\\Cache\\CacheServiceProvider',
|
|
||||||
'cache.psr6' => 'Illuminate\\Cache\\CacheServiceProvider',
|
|
||||||
'memcached.connector' => 'Illuminate\\Cache\\CacheServiceProvider',
|
|
||||||
'command.cache.clear' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.cache.forget' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.clear-compiled' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.auth.resets.clear' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.config.cache' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.config.clear' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.db.wipe' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.down' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.environment' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.event.cache' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.event.clear' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.event.list' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.key.generate' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.optimize' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.optimize.clear' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.package.discover' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.preset' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.queue.failed' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.queue.flush' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.queue.forget' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.queue.listen' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.queue.restart' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.queue.retry' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.queue.work' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.route.cache' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.route.clear' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.route.list' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.seed' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'Illuminate\\Console\\Scheduling\\ScheduleFinishCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'Illuminate\\Console\\Scheduling\\ScheduleRunCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.storage.link' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.up' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.view.cache' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.view.clear' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.cache.table' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.channel.make' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.console.make' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.controller.make' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.event.generate' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.event.make' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.exception.make' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.factory.make' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.job.make' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.listener.make' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.mail.make' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.middleware.make' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.model.make' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.notification.make' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.notification.table' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.observer.make' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.policy.make' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.provider.make' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.queue.failed-table' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.queue.table' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.request.make' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.resource.make' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.rule.make' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.seeder.make' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.session.table' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.serve' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.test.make' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.vendor.publish' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'migrator' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'migration.repository' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'migration.creator' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.migrate' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.migrate.fresh' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.migrate.install' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.migrate.refresh' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.migrate.reset' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.migrate.rollback' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.migrate.status' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'command.migrate.make' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'composer' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
'hash' => 'Illuminate\\Hashing\\HashServiceProvider',
|
|
||||||
'hash.driver' => 'Illuminate\\Hashing\\HashServiceProvider',
|
|
||||||
'mailer' => 'Illuminate\\Mail\\MailServiceProvider',
|
|
||||||
'swift.mailer' => 'Illuminate\\Mail\\MailServiceProvider',
|
|
||||||
'swift.transport' => 'Illuminate\\Mail\\MailServiceProvider',
|
|
||||||
'Illuminate\\Mail\\Markdown' => 'Illuminate\\Mail\\MailServiceProvider',
|
|
||||||
'Illuminate\\Contracts\\Pipeline\\Hub' => 'Illuminate\\Pipeline\\PipelineServiceProvider',
|
|
||||||
'queue' => 'Illuminate\\Queue\\QueueServiceProvider',
|
|
||||||
'queue.worker' => 'Illuminate\\Queue\\QueueServiceProvider',
|
|
||||||
'queue.listener' => 'Illuminate\\Queue\\QueueServiceProvider',
|
|
||||||
'queue.failer' => 'Illuminate\\Queue\\QueueServiceProvider',
|
|
||||||
'queue.connection' => 'Illuminate\\Queue\\QueueServiceProvider',
|
|
||||||
'redis' => 'Illuminate\\Redis\\RedisServiceProvider',
|
|
||||||
'redis.connection' => 'Illuminate\\Redis\\RedisServiceProvider',
|
|
||||||
'auth.password' => 'Illuminate\\Auth\\Passwords\\PasswordResetServiceProvider',
|
|
||||||
'auth.password.broker' => 'Illuminate\\Auth\\Passwords\\PasswordResetServiceProvider',
|
|
||||||
'translator' => 'Illuminate\\Translation\\TranslationServiceProvider',
|
|
||||||
'translation.loader' => 'Illuminate\\Translation\\TranslationServiceProvider',
|
|
||||||
'validator' => 'Illuminate\\Validation\\ValidationServiceProvider',
|
|
||||||
'validation.presence' => 'Illuminate\\Validation\\ValidationServiceProvider',
|
|
||||||
),
|
|
||||||
'when' =>
|
|
||||||
array (
|
|
||||||
'Illuminate\\Broadcasting\\BroadcastServiceProvider' =>
|
|
||||||
array (
|
|
||||||
),
|
|
||||||
'Illuminate\\Bus\\BusServiceProvider' =>
|
|
||||||
array (
|
|
||||||
),
|
|
||||||
'Illuminate\\Cache\\CacheServiceProvider' =>
|
|
||||||
array (
|
|
||||||
),
|
|
||||||
'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider' =>
|
|
||||||
array (
|
|
||||||
),
|
|
||||||
'Illuminate\\Hashing\\HashServiceProvider' =>
|
|
||||||
array (
|
|
||||||
),
|
|
||||||
'Illuminate\\Mail\\MailServiceProvider' =>
|
|
||||||
array (
|
|
||||||
),
|
|
||||||
'Illuminate\\Pipeline\\PipelineServiceProvider' =>
|
|
||||||
array (
|
|
||||||
),
|
|
||||||
'Illuminate\\Queue\\QueueServiceProvider' =>
|
|
||||||
array (
|
|
||||||
),
|
|
||||||
'Illuminate\\Redis\\RedisServiceProvider' =>
|
|
||||||
array (
|
|
||||||
),
|
|
||||||
'Illuminate\\Auth\\Passwords\\PasswordResetServiceProvider' =>
|
|
||||||
array (
|
|
||||||
),
|
|
||||||
'Illuminate\\Translation\\TranslationServiceProvider' =>
|
|
||||||
array (
|
|
||||||
),
|
|
||||||
'Illuminate\\Validation\\ValidationServiceProvider' =>
|
|
||||||
array (
|
|
||||||
),
|
|
||||||
),
|
|
||||||
);
|
|
||||||
@@ -17,13 +17,14 @@
|
|||||||
"laravel-admin-ext/wang-editor": "^1.1",
|
"laravel-admin-ext/wang-editor": "^1.1",
|
||||||
"laravel/framework": "^6.2",
|
"laravel/framework": "^6.2",
|
||||||
"laravel/tinker": "^1.0",
|
"laravel/tinker": "^1.0",
|
||||||
|
"league/flysystem-sftp": "1.0.22",
|
||||||
"maatwebsite/excel": "^3.1",
|
"maatwebsite/excel": "^3.1",
|
||||||
"php-parallel-lint/php-console-color": "^0.3.0",
|
"php-parallel-lint/php-console-color": "^0.3.0",
|
||||||
"php-parallel-lint/php-console-highlighter": "^0.5.0",
|
"php-parallel-lint/php-console-highlighter": "^0.5.0",
|
||||||
"predis/predis": "^1.1",
|
"predis/predis": "^1.1",
|
||||||
"simplesoftwareio/simple-qrcode": "^2.0",
|
"simplesoftwareio/simple-qrcode": "^2.0",
|
||||||
"xuanchen/coupon": "^1.01",
|
"xuanchen/coupon": "^1.0",
|
||||||
"xuanchen/unionpay": "^1.1"
|
"xuanchen/unionpay": "^2.0"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"facade/ignition": "^1.4",
|
"facade/ignition": "^1.4",
|
||||||
|
|||||||
205
composer.lock
generated
205
composer.lock
generated
@@ -4,7 +4,7 @@
|
|||||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||||
"This file is @generated automatically"
|
"This file is @generated automatically"
|
||||||
],
|
],
|
||||||
"content-hash": "13d36c80a80c6a5377c75bac63e5ee5a",
|
"content-hash": "77c9572f4ee66fb91028f756bb43f217",
|
||||||
"packages": [
|
"packages": [
|
||||||
{
|
{
|
||||||
"name": "bacon/bacon-qr-code",
|
"name": "bacon/bacon-qr-code",
|
||||||
@@ -1730,6 +1730,54 @@
|
|||||||
],
|
],
|
||||||
"time": "2020-08-23T07:39:11+00:00"
|
"time": "2020-08-23T07:39:11+00:00"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "league/flysystem-sftp",
|
||||||
|
"version": "1.0.22",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/thephpleague/flysystem-sftp.git",
|
||||||
|
"reference": "cab59dd2277e02fe46f5f23195672a02ed49774d"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/thephpleague/flysystem-sftp/zipball/cab59dd2277e02fe46f5f23195672a02ed49774d",
|
||||||
|
"reference": "cab59dd2277e02fe46f5f23195672a02ed49774d",
|
||||||
|
"shasum": "",
|
||||||
|
"mirrors": [
|
||||||
|
{
|
||||||
|
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
|
||||||
|
"preferred": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"league/flysystem": "~1.0",
|
||||||
|
"php": ">=5.6.0",
|
||||||
|
"phpseclib/phpseclib": "~2.0"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"mockery/mockery": "0.9.*",
|
||||||
|
"phpunit/phpunit": "^5.7.25"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"League\\Flysystem\\Sftp\\": "src/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Frank de Jonge",
|
||||||
|
"email": "info@frenky.net"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Flysystem adapter for SFTP",
|
||||||
|
"time": "2019-10-16T20:05:49+00:00"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "league/mime-type-detection",
|
"name": "league/mime-type-detection",
|
||||||
"version": "1.5.1",
|
"version": "1.5.1",
|
||||||
@@ -2883,6 +2931,117 @@
|
|||||||
],
|
],
|
||||||
"time": "2020-07-20T17:29:33+00:00"
|
"time": "2020-07-20T17:29:33+00:00"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "phpseclib/phpseclib",
|
||||||
|
"version": "2.0.30",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/phpseclib/phpseclib.git",
|
||||||
|
"reference": "136b9ca7eebef78be14abf90d65c5e57b6bc5d36"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/136b9ca7eebef78be14abf90d65c5e57b6bc5d36",
|
||||||
|
"reference": "136b9ca7eebef78be14abf90d65c5e57b6bc5d36",
|
||||||
|
"shasum": "",
|
||||||
|
"mirrors": [
|
||||||
|
{
|
||||||
|
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
|
||||||
|
"preferred": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": ">=5.3.3"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"phing/phing": "~2.7",
|
||||||
|
"phpunit/phpunit": "^4.8.35|^5.7|^6.0|^9.4",
|
||||||
|
"squizlabs/php_codesniffer": "~2.0"
|
||||||
|
},
|
||||||
|
"suggest": {
|
||||||
|
"ext-gmp": "Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.",
|
||||||
|
"ext-libsodium": "SSH2/SFTP can make use of some algorithms provided by the libsodium-php extension.",
|
||||||
|
"ext-mcrypt": "Install the Mcrypt extension in order to speed up a few other cryptographic operations.",
|
||||||
|
"ext-openssl": "Install the OpenSSL extension in order to speed up a wide variety of cryptographic operations."
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"autoload": {
|
||||||
|
"files": [
|
||||||
|
"phpseclib/bootstrap.php"
|
||||||
|
],
|
||||||
|
"psr-4": {
|
||||||
|
"phpseclib\\": "phpseclib/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Jim Wigginton",
|
||||||
|
"email": "terrafrost@php.net",
|
||||||
|
"role": "Lead Developer"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Patrick Monnerat",
|
||||||
|
"email": "pm@datasphere.ch",
|
||||||
|
"role": "Developer"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Andreas Fischer",
|
||||||
|
"email": "bantu@phpbb.com",
|
||||||
|
"role": "Developer"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Hans-Jürgen Petrich",
|
||||||
|
"email": "petrich@tronic-media.com",
|
||||||
|
"role": "Developer"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Graham Campbell",
|
||||||
|
"email": "graham@alt-three.com",
|
||||||
|
"role": "Developer"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "PHP Secure Communications Library - Pure-PHP implementations of RSA, AES, SSH2, SFTP, X.509 etc.",
|
||||||
|
"homepage": "http://phpseclib.sourceforge.net",
|
||||||
|
"keywords": [
|
||||||
|
"BigInteger",
|
||||||
|
"aes",
|
||||||
|
"asn.1",
|
||||||
|
"asn1",
|
||||||
|
"blowfish",
|
||||||
|
"crypto",
|
||||||
|
"cryptography",
|
||||||
|
"encryption",
|
||||||
|
"rsa",
|
||||||
|
"security",
|
||||||
|
"sftp",
|
||||||
|
"signature",
|
||||||
|
"signing",
|
||||||
|
"ssh",
|
||||||
|
"twofish",
|
||||||
|
"x.509",
|
||||||
|
"x509"
|
||||||
|
],
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"url": "https://github.com/terrafrost",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "https://www.patreon.com/phpseclib",
|
||||||
|
"type": "patreon"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "https://tidelift.com/funding/github/packagist/phpseclib/phpseclib",
|
||||||
|
"type": "tidelift"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"time": "2020-12-17T05:42:04+00:00"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "predis/predis",
|
"name": "predis/predis",
|
||||||
"version": "v1.1.6",
|
"version": "v1.1.6",
|
||||||
@@ -5908,16 +6067,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "xuanchen/coupon",
|
"name": "xuanchen/coupon",
|
||||||
"version": "1.01",
|
"version": "1.0.4",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/xuanchen120/coupon.git",
|
"url": "https://github.com/xuanchen120/coupon.git",
|
||||||
"reference": "96fb631176e5308a207d932e1f89b4d105d46165"
|
"reference": "df39cde6667291bd9f2e22245fe3f964593c8ac5"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/xuanchen120/coupon/zipball/96fb631176e5308a207d932e1f89b4d105d46165",
|
"url": "https://api.github.com/repos/xuanchen120/coupon/zipball/df39cde6667291bd9f2e22245fe3f964593c8ac5",
|
||||||
"reference": "96fb631176e5308a207d932e1f89b4d105d46165",
|
"reference": "df39cde6667291bd9f2e22245fe3f964593c8ac5",
|
||||||
"shasum": "",
|
"shasum": "",
|
||||||
"mirrors": [
|
"mirrors": [
|
||||||
{
|
{
|
||||||
@@ -5955,19 +6114,27 @@
|
|||||||
],
|
],
|
||||||
"description": "卡券核销相关",
|
"description": "卡券核销相关",
|
||||||
"homepage": "https://github.com/xuanchen120/coupon.git",
|
"homepage": "https://github.com/xuanchen120/coupon.git",
|
||||||
"support": {
|
"time": "2021-01-14T02:23:33+00:00"
|
||||||
"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",
|
"name": "xuanchen/unionpay",
|
||||||
"version": "1.1.3",
|
"version": "2.5",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://gitee.com/xdeepu/unionpay.git",
|
"url": "https://github.com/xuanchen120/unionpay.git",
|
||||||
"reference": "519227eebfc06c20c2de954fdbf1b959bcdcbe9b"
|
"reference": "84a4ddde232db360d8acdd3156d0e9cf7cf163c9"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/xuanchen120/unionpay/zipball/84a4ddde232db360d8acdd3156d0e9cf7cf163c9",
|
||||||
|
"reference": "84a4ddde232db360d8acdd3156d0e9cf7cf163c9",
|
||||||
|
"shasum": "",
|
||||||
|
"mirrors": [
|
||||||
|
{
|
||||||
|
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
|
||||||
|
"preferred": true
|
||||||
|
}
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"laravel/framework": "*",
|
"laravel/framework": "*",
|
||||||
@@ -5997,7 +6164,11 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"description": "第三方银联对接",
|
"description": "第三方银联对接",
|
||||||
"time": "2020-11-11T07:24:20+00:00"
|
"support": {
|
||||||
|
"issues": "https://github.com/xuanchen120/unionpay/issues",
|
||||||
|
"source": "https://github.com/xuanchen120/unionpay/tree/2.5"
|
||||||
|
},
|
||||||
|
"time": "2021-01-22T09:53:03+00:00"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"packages-dev": [
|
"packages-dev": [
|
||||||
@@ -8281,12 +8452,12 @@
|
|||||||
"version": "1.9.1",
|
"version": "1.9.1",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/webmozart/assert.git",
|
"url": "https://github.com/webmozarts/assert.git",
|
||||||
"reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389"
|
"reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/webmozart/assert/zipball/bafc69caeb4d49c39fd0779086c03a3738cbb389",
|
"url": "https://api.github.com/repos/webmozarts/assert/zipball/bafc69caeb4d49c39fd0779086c03a3738cbb389",
|
||||||
"reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389",
|
"reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389",
|
||||||
"shasum": "",
|
"shasum": "",
|
||||||
"mirrors": [
|
"mirrors": [
|
||||||
@@ -8341,5 +8512,5 @@
|
|||||||
"php": "^7.2"
|
"php": "^7.2"
|
||||||
},
|
},
|
||||||
"platform-dev": [],
|
"platform-dev": [],
|
||||||
"plugin-api-version": "2.0.0"
|
"plugin-api-version": "1.1.0"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -46,4 +46,9 @@ return [
|
|||||||
7 => '未激活',
|
7 => '未激活',
|
||||||
],
|
],
|
||||||
|
|
||||||
|
'froms' => [
|
||||||
|
'bsshop',//本时商城
|
||||||
|
'bslive',//本时生活
|
||||||
|
],
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|||||||
687
config/unionpay.php
Normal file
687
config/unionpay.php
Normal file
@@ -0,0 +1,687 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
//环境变量
|
||||||
|
'this_type' => 'test',
|
||||||
|
//添加日志
|
||||||
|
'log' => true,
|
||||||
|
//对账单信息
|
||||||
|
'check' => [
|
||||||
|
'sftpadapter' => [
|
||||||
|
'host' => 'localhost',//地址
|
||||||
|
'port' => 22,//端口
|
||||||
|
'username' => 'root', //账号
|
||||||
|
'password' => 'Anetadmin1',//密码
|
||||||
|
'privateKey' => '',
|
||||||
|
'passphrase' => '',
|
||||||
|
'root' => '/home/wwwroot/pingan/upload/',//路径
|
||||||
|
'timeout' => 10,//超时时间
|
||||||
|
'directoryPerm' => 0755,
|
||||||
|
],
|
||||||
|
'type' => 'JYMX',
|
||||||
|
'file_type' => 'txt',
|
||||||
|
],
|
||||||
|
//获取微信侧的优惠券
|
||||||
|
'unionpay_url' => [
|
||||||
|
'test' => [
|
||||||
|
'code' => 'http://dev.spserv.yxlm.chinaums.com:25941/spapigateway/v2/markting/sp/coupon/order/get',
|
||||||
|
],
|
||||||
|
'dev' => [
|
||||||
|
'code' => 'https://mktos.chinaums.com/spapigateway/v2/markting/sp/coupon/order/get',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
//不进行sign校验
|
||||||
|
'nosign' => [
|
||||||
|
// '002025',//查询
|
||||||
|
// '002100',//核销
|
||||||
|
// '002101',//冲正
|
||||||
|
// '002102',//撤销
|
||||||
|
'openid',//获取openid 封装数据
|
||||||
|
'code',//微信测获取优惠券
|
||||||
|
],
|
||||||
|
//分配的渠道号
|
||||||
|
'msg_sender' => '660134',
|
||||||
|
//打印在小票上,由活动标题、优惠金额、原始金额组合而成
|
||||||
|
'pos_receipt' => '本时生活,优惠生活',
|
||||||
|
//广告,用于打印在小票上
|
||||||
|
'pos_ad' => '',
|
||||||
|
//营销联盟广告,用于打印在小票上
|
||||||
|
'pos_mkt_ad' => '本时生活,优惠生活',
|
||||||
|
//银联渠道id
|
||||||
|
'agent_id' => '299',
|
||||||
|
//银联网点id
|
||||||
|
'outlet_id' => '2009300919918',
|
||||||
|
//用于银商与sp分润的金额(是佣金的一部分), 以分为单位
|
||||||
|
'serv_chg' => 0,
|
||||||
|
//佣金
|
||||||
|
'commission' => 0,
|
||||||
|
//证书
|
||||||
|
'certificate' => [
|
||||||
|
'dev' => [
|
||||||
|
'ysd' => [
|
||||||
|
'private' => storage_path('cert/unionpay/dev/ysd/private_rsa.pem'),
|
||||||
|
'public' => storage_path('cert/unionpay/dev/ysd/public_rsa.pem'),
|
||||||
|
],
|
||||||
|
'union' => [
|
||||||
|
'public' => storage_path('cert/unionpay/dev/union/public_rsa.pem'),
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
'test' => [
|
||||||
|
'ysd' => [
|
||||||
|
'private' => storage_path('cert/unionpay/test/ysd/private_rsa.pem'),
|
||||||
|
'public' => storage_path('cert/unionpay/test/ysd/public_rsa.pem'),
|
||||||
|
],
|
||||||
|
'union' => [
|
||||||
|
'public' => storage_path('cert/unionpay/test/union/public_rsa.pem'),
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
//接口类型
|
||||||
|
'type' => [
|
||||||
|
'002025' => '查询',
|
||||||
|
'002100' => '交易',
|
||||||
|
'002101' => '冲正',
|
||||||
|
'002102' => '撤销',
|
||||||
|
'openid' => '封装openid参数',
|
||||||
|
'106040' => '领券',
|
||||||
|
'012100' => '核销通知',
|
||||||
|
'code' => '生活请求发券',
|
||||||
|
],
|
||||||
|
//日志类型对应
|
||||||
|
'log_type' => [
|
||||||
|
'002025' => 'query',
|
||||||
|
'002100' => 'freezecoupon',
|
||||||
|
'002101' => 'reversal',
|
||||||
|
'002102' => 'annul',
|
||||||
|
'openid' => 'openid',
|
||||||
|
'106040' => 'getcode',
|
||||||
|
'012100' => 'notify',
|
||||||
|
],
|
||||||
|
// 签名检查数据 没有为全数据
|
||||||
|
'checksign' => [
|
||||||
|
'default' => [
|
||||||
|
'in' => [
|
||||||
|
'msg_type',
|
||||||
|
'msg_txn_code',
|
||||||
|
'msg_crrltn_id',
|
||||||
|
'msg_flg',
|
||||||
|
'msg_sender',
|
||||||
|
'msg_time',
|
||||||
|
'msg_sys_sn',
|
||||||
|
'msg_ver',
|
||||||
|
'sign_type',
|
||||||
|
],
|
||||||
|
'out' => [
|
||||||
|
'msg_type',
|
||||||
|
'msg_txn_code',
|
||||||
|
'msg_crrltn_id',
|
||||||
|
'msg_flg',
|
||||||
|
'msg_sender',
|
||||||
|
'msg_sys_sn',
|
||||||
|
'msg_time',
|
||||||
|
'msg_ver',
|
||||||
|
'msg_rsp_code',
|
||||||
|
'msg_rsp_desc',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'106040' => [
|
||||||
|
'in' => [
|
||||||
|
'msg_type',
|
||||||
|
'msg_txn_code',
|
||||||
|
'msg_crrltn_id',
|
||||||
|
'msg_flg',
|
||||||
|
'msg_sender',
|
||||||
|
'msg_time',
|
||||||
|
'msg_sys_sn',
|
||||||
|
'msg_ver',
|
||||||
|
'sign_type',
|
||||||
|
],
|
||||||
|
'out' => [
|
||||||
|
'msg_type',
|
||||||
|
'msg_txn_code',
|
||||||
|
'msg_crrltn_id',
|
||||||
|
'msg_flg',
|
||||||
|
'msg_sender',
|
||||||
|
'msg_sys_sn',
|
||||||
|
'msg_time',
|
||||||
|
'msg_ver',
|
||||||
|
'msg_rsp_code',
|
||||||
|
'msg_rsp_desc',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'012100' => [
|
||||||
|
'in' => [
|
||||||
|
'msg_type',
|
||||||
|
'msg_txn_code',
|
||||||
|
'msg_crrltn_id',
|
||||||
|
'msg_flg',
|
||||||
|
'msg_sender',
|
||||||
|
'msg_time',
|
||||||
|
'msg_sys_sn',
|
||||||
|
'msg_ver',
|
||||||
|
],
|
||||||
|
'out' => [
|
||||||
|
'msg_type',
|
||||||
|
'msg_txn_code',
|
||||||
|
'msg_crrltn_id',
|
||||||
|
'msg_flg',
|
||||||
|
'msg_sender',
|
||||||
|
'msg_time',
|
||||||
|
'msg_sys_sn',
|
||||||
|
'msg_ver',
|
||||||
|
'msg_rsp_code',
|
||||||
|
'msg_rsp_desc',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
//需要校验的数据
|
||||||
|
'validator' => [
|
||||||
|
'002025' => [
|
||||||
|
"msg_type",
|
||||||
|
"msg_txn_code",
|
||||||
|
"msg_crrltn_id",
|
||||||
|
"msg_flg",
|
||||||
|
"msg_sender",
|
||||||
|
"msg_time",
|
||||||
|
"msg_ver",
|
||||||
|
"msg_sys_sn",
|
||||||
|
"req_serial_no",
|
||||||
|
"mkt_code",
|
||||||
|
"amount",
|
||||||
|
"avl_amt",
|
||||||
|
],
|
||||||
|
'002100' => [
|
||||||
|
"msg_type",
|
||||||
|
"msg_txn_code",
|
||||||
|
"msg_crrltn_id",
|
||||||
|
"msg_flg",
|
||||||
|
"msg_sender",
|
||||||
|
"msg_time",
|
||||||
|
"msg_sys_sn",
|
||||||
|
"msg_ver",
|
||||||
|
"req_serial_no",
|
||||||
|
"orig_req_serial_no",
|
||||||
|
"sett_date",
|
||||||
|
"txn_date",
|
||||||
|
"txn_time",
|
||||||
|
"orig_amt",
|
||||||
|
"discount_amt",
|
||||||
|
],
|
||||||
|
'002101' => [
|
||||||
|
"msg_type",
|
||||||
|
"msg_txn_code",
|
||||||
|
"msg_crrltn_id",
|
||||||
|
"msg_flg",
|
||||||
|
"msg_sender",
|
||||||
|
"msg_time",
|
||||||
|
"msg_sys_sn",
|
||||||
|
"msg_ver",
|
||||||
|
"req_serial_no",
|
||||||
|
"orig_req_serial_no",
|
||||||
|
],
|
||||||
|
'002102' => [
|
||||||
|
"msg_type",
|
||||||
|
"msg_txn_code",
|
||||||
|
"msg_crrltn_id",
|
||||||
|
"msg_flg",
|
||||||
|
"msg_sender",
|
||||||
|
"msg_time",
|
||||||
|
"msg_sys_sn",
|
||||||
|
"msg_ver",
|
||||||
|
"req_serial_no",
|
||||||
|
"orig_req_serial_no",
|
||||||
|
],
|
||||||
|
//封装openid参数
|
||||||
|
'openid' => [
|
||||||
|
"msg_type",
|
||||||
|
"msg_txn_code",
|
||||||
|
"msg_crrltn_id",
|
||||||
|
"msg_sender",
|
||||||
|
"callback_type",
|
||||||
|
"callback_url",
|
||||||
|
],
|
||||||
|
//本时生活领券
|
||||||
|
'code' => [
|
||||||
|
"msg_type",
|
||||||
|
"msg_txn_code",
|
||||||
|
"msg_crrltn_id",
|
||||||
|
"msg_sender",
|
||||||
|
"issue_user_id",
|
||||||
|
"event_no",
|
||||||
|
"mobile",
|
||||||
|
],
|
||||||
|
|
||||||
|
//本时生活领券
|
||||||
|
'106040' => [
|
||||||
|
'msg_type',
|
||||||
|
'msg_txn_code',
|
||||||
|
'msg_crrltn_id',
|
||||||
|
// 'msg_flg',
|
||||||
|
'msg_sender',
|
||||||
|
'msg_time',
|
||||||
|
'msg_sys_sn',
|
||||||
|
'msg_ver',
|
||||||
|
'sp_chnl_no',
|
||||||
|
'sp_order_no',
|
||||||
|
'order_date',
|
||||||
|
'event_no',
|
||||||
|
'issue_user_id',
|
||||||
|
],
|
||||||
|
//回调核销信息 校验数据项目
|
||||||
|
'012100' => [
|
||||||
|
'msg_type',
|
||||||
|
'msg_txn_code',
|
||||||
|
'msg_crrltn_id',
|
||||||
|
'msg_flg',
|
||||||
|
'msg_sender',
|
||||||
|
'msg_time',
|
||||||
|
'msg_sys_sn',
|
||||||
|
'msg_ver',
|
||||||
|
'mchnt_no',
|
||||||
|
'term_no',
|
||||||
|
'shop_no',
|
||||||
|
'req_serial_no',
|
||||||
|
'coupon_no',
|
||||||
|
'coupon_type',
|
||||||
|
'enc_card_no',
|
||||||
|
'acq_term_sn',
|
||||||
|
'refer_no',
|
||||||
|
'sett_date',
|
||||||
|
'txn_date',
|
||||||
|
'txn_time',
|
||||||
|
'orig_amt',
|
||||||
|
'discount_amt',
|
||||||
|
'pay_amt',
|
||||||
|
'pay_mode',
|
||||||
|
'event_no',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
//入库基础数据
|
||||||
|
'regular' => [
|
||||||
|
'002025' => [
|
||||||
|
"msg_type",
|
||||||
|
"msg_txn_code",
|
||||||
|
"msg_crrltn_id",
|
||||||
|
// "msg_flg",
|
||||||
|
"msg_sender",
|
||||||
|
"msg_time",
|
||||||
|
"msg_ver",
|
||||||
|
"msg_sys_sn",//自己添加的基础数据
|
||||||
|
"req_serial_no",//自己添加的基础数据
|
||||||
|
"mkt_code",//自己添加的基础数据
|
||||||
|
],
|
||||||
|
'002100' => [
|
||||||
|
"msg_type",
|
||||||
|
"msg_txn_code",
|
||||||
|
"msg_crrltn_id",
|
||||||
|
// "msg_flg",
|
||||||
|
"msg_sender",
|
||||||
|
"msg_time",
|
||||||
|
"msg_sys_sn",
|
||||||
|
"msg_ver",
|
||||||
|
"req_serial_no",//自己添加的基础数据
|
||||||
|
"orig_req_serial_no",//自己添加的基础数据
|
||||||
|
"sett_date",//自己添加的基础数据
|
||||||
|
],
|
||||||
|
'002101' => [
|
||||||
|
"msg_type",
|
||||||
|
"msg_txn_code",
|
||||||
|
"msg_crrltn_id",
|
||||||
|
// "msg_flg",
|
||||||
|
"msg_sender",
|
||||||
|
"msg_time",
|
||||||
|
"msg_sys_sn",
|
||||||
|
"msg_ver",
|
||||||
|
"req_serial_no",//自己添加的基础数据
|
||||||
|
"orig_req_serial_no",//自己添加的基础数据
|
||||||
|
],
|
||||||
|
'002102' => [
|
||||||
|
"msg_type",
|
||||||
|
"msg_txn_code",
|
||||||
|
"msg_crrltn_id",
|
||||||
|
// "msg_flg",
|
||||||
|
"msg_sender",
|
||||||
|
"msg_time",
|
||||||
|
"msg_sys_sn",
|
||||||
|
"msg_ver",
|
||||||
|
"req_serial_no",//自己添加的基础数据
|
||||||
|
"orig_req_serial_no",//自己添加的基础数据
|
||||||
|
],
|
||||||
|
//封装获取openid数据
|
||||||
|
'openid' => [
|
||||||
|
"msg_type",
|
||||||
|
"msg_txn_code",
|
||||||
|
"msg_crrltn_id",
|
||||||
|
"msg_sender",
|
||||||
|
],
|
||||||
|
//本时生活领券
|
||||||
|
'code' => [
|
||||||
|
"msg_type",
|
||||||
|
"msg_txn_code",
|
||||||
|
"msg_crrltn_id",
|
||||||
|
"msg_sender",
|
||||||
|
],
|
||||||
|
//去联盟领券
|
||||||
|
'106040' => [
|
||||||
|
'msg_type',
|
||||||
|
'msg_txn_code',
|
||||||
|
'msg_crrltn_id',
|
||||||
|
// 'msg_flg',
|
||||||
|
'msg_sender',
|
||||||
|
'msg_time',
|
||||||
|
'msg_sys_sn',
|
||||||
|
'msg_ver',
|
||||||
|
],
|
||||||
|
//回调核销信息
|
||||||
|
'012100' => [
|
||||||
|
'msg_type',
|
||||||
|
'msg_txn_code',
|
||||||
|
'msg_crrltn_id',
|
||||||
|
'msg_sender',
|
||||||
|
'msg_time',
|
||||||
|
'msg_sys_sn',
|
||||||
|
'msg_ver',
|
||||||
|
'req_serial_no',
|
||||||
|
'sett_date',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'fields' => [
|
||||||
|
//聚合营销优惠查询接口
|
||||||
|
'002025' => [
|
||||||
|
'in' => [
|
||||||
|
"msg_type" => "报文类型",
|
||||||
|
"msg_txn_code" => "交易代码",
|
||||||
|
"msg_crrltn_id" => "报文流水号",
|
||||||
|
"msg_flg" => "报文请求应答标志",
|
||||||
|
"msg_sender" => "报文发送方",
|
||||||
|
"msg_time" => "报文日期",
|
||||||
|
"msg_sys_sn" => "平台流水号",
|
||||||
|
"msg_ver" => "报文版本号",
|
||||||
|
"req_serial_no" => "查询流水号",
|
||||||
|
"shop_no" => "门店号",
|
||||||
|
"term_no" => "受理终端号",
|
||||||
|
"service_code" => "受理方式",
|
||||||
|
"voucher_no" => "受理凭证号",
|
||||||
|
"mkt_code" => "聚合营销码",
|
||||||
|
"mkt_mode" => "聚合营销类型",
|
||||||
|
"embedded_mchnt_no" => "发起渠道商户号",
|
||||||
|
"currency_code" => "货币代码",
|
||||||
|
"amount" => "消费金额",
|
||||||
|
"avl_amt" => "可优惠金额",
|
||||||
|
"term_sp_chnl_no" => "终端指定SP渠道号",
|
||||||
|
"func_code" => "功能码",
|
||||||
|
"times" => "次数",
|
||||||
|
"pay_mode" => "支付方式",
|
||||||
|
//用户附加信息
|
||||||
|
"user_ext_info" => [
|
||||||
|
"mobile_no" => "手机号",
|
||||||
|
"user_code" => "用户号",
|
||||||
|
"user_code_type" => "用户号类型",
|
||||||
|
"dev_id" => "设备id",
|
||||||
|
],
|
||||||
|
"sign" => "签名域",
|
||||||
|
],
|
||||||
|
'out' => [
|
||||||
|
"msg_type" => "报文类型",
|
||||||
|
"msg_txn_code" => "交易代码",
|
||||||
|
"msg_crrltn_id" => "报文流水号",
|
||||||
|
"msg_flg" => "报文请求应答标志",
|
||||||
|
"msg_sender" => "报文发送方",
|
||||||
|
"msg_time" => "报文日期",
|
||||||
|
"msg_sys_sn" => "平台流水号",
|
||||||
|
"msg_rsp_code" => "响应码",
|
||||||
|
"msg_rsp_desc" => "响应码描述",
|
||||||
|
"discount" => "折扣金额",
|
||||||
|
"actual_amt" => "折后应收金额",
|
||||||
|
"pos_display" => "POS显示",
|
||||||
|
"pos_receipt" => "POS小票",
|
||||||
|
"pos_ad" => "POS广告",
|
||||||
|
"pos_mkt_ad" => "Pos_营销联盟广告",
|
||||||
|
"sign" => "签名域",
|
||||||
|
],
|
||||||
|
],
|
||||||
|
//销账交易接口
|
||||||
|
'002100' => [
|
||||||
|
'in' => [
|
||||||
|
"msg_type" => "报文类型",
|
||||||
|
"msg_txn_code" => "交易代码",
|
||||||
|
"msg_crrltn_id" => "消息关联号",
|
||||||
|
"msg_flg" => "报文请求应答标志",
|
||||||
|
"msg_sender" => "报文发送方",
|
||||||
|
"msg_time" => "报文日期",
|
||||||
|
"msg_sys_sn" => "平台流水号",
|
||||||
|
"msg_ver" => "报文版本号",
|
||||||
|
"shop_no" => "门店号",
|
||||||
|
"term_no" => "终端号",
|
||||||
|
"req_serial_no" => "销券流水号",
|
||||||
|
"orig_req_serial_no" => "原查询流水号",
|
||||||
|
"enc_card_no" => "加密卡号",
|
||||||
|
"part_card_no" => "部分卡号",
|
||||||
|
"acq_term_sn" => "受理终端流水号",
|
||||||
|
"refer_no" => "检索参考号",
|
||||||
|
"sett_date" => "清算日期",
|
||||||
|
"txn_date" => "交易日期",
|
||||||
|
"txn_time" => "交易时间",
|
||||||
|
"orig_amt" => "原始金额",
|
||||||
|
"discount_amt" => "优惠的金额",
|
||||||
|
"pay_amt" => "支付金额",
|
||||||
|
"pay_mode" => "支付方式",
|
||||||
|
"order_no" => "订单号",
|
||||||
|
"trans_crrltn_no" => "交易关联流水号",
|
||||||
|
"equity_no" => "权益号",
|
||||||
|
"card_no" => "全卡号",
|
||||||
|
"sign" => "签名数据",
|
||||||
|
],
|
||||||
|
'out' => [
|
||||||
|
"msg_type" => "报文类型",
|
||||||
|
"msg_txn_code" => "交易代码",
|
||||||
|
"msg_crrltn_id" => "消息关联号",
|
||||||
|
"msg_flg" => "报文请求应答标志",
|
||||||
|
"msg_sender" => "报文发送方",
|
||||||
|
"msg_time" => "报文日期",
|
||||||
|
"msg_sys_sn" => "平台流水号",
|
||||||
|
"msg_ver" => "报文版本号",
|
||||||
|
"msg_rsp_code" => "响应码",
|
||||||
|
"msg_rsp_desc" => "响应码描述",
|
||||||
|
"orig_amt" => "原始金额",
|
||||||
|
"discount_amt" => "折扣金额",
|
||||||
|
"pay_amt" => "支付金额",
|
||||||
|
"serv_chg" => "服务费",
|
||||||
|
"commission" => "佣金",
|
||||||
|
"ad" => "广告",
|
||||||
|
"pos_receipt" => "POS优惠",
|
||||||
|
"coupon_no" => "凭证号",
|
||||||
|
"coupon_type" => "凭证类型",
|
||||||
|
"sp_biz_code" => "SP统计码",
|
||||||
|
"charge_code" => "计费码",
|
||||||
|
"pos_event_title" => "SP活动主题",
|
||||||
|
"sp_contact" => "SP联系电话",
|
||||||
|
"sp_name" => "SP名称",
|
||||||
|
"event_no" => "活动号",
|
||||||
|
"td_code" => "二维码",
|
||||||
|
"memo" => "附言",
|
||||||
|
"mkt_sp_chnl_no" => "营销渠道号",
|
||||||
|
"point_amt" => "积分抵扣金额",
|
||||||
|
"sign" => "签名数据",
|
||||||
|
],
|
||||||
|
],
|
||||||
|
//销账冲正通知接口
|
||||||
|
'002101' => [
|
||||||
|
'in' => [
|
||||||
|
"msg_type" => "报文类型",
|
||||||
|
"msg_txn_code" => "交易代码",
|
||||||
|
"msg_crrltn_id" => "消息关联号",
|
||||||
|
"msg_flg" => "报文请求应答标志",
|
||||||
|
"msg_sender" => "报文发送方",
|
||||||
|
"msg_time" => "报文日期",
|
||||||
|
"msg_sys_sn" => "平台流水号",
|
||||||
|
"msg_ver" => "报文版本号",
|
||||||
|
"shop_no" => "门店号",
|
||||||
|
"term_no" => "终端号",
|
||||||
|
"req_serial_no" => "冲正流水号",
|
||||||
|
"orig_req_serial_no" => "原始销账流水号",
|
||||||
|
"trans_crrltn_no" => "交易关联流水号",
|
||||||
|
"sign" => "签名数据",
|
||||||
|
],
|
||||||
|
'out' => [
|
||||||
|
"msg_type" => "报文类型",
|
||||||
|
"msg_txn_code" => "交易代码",
|
||||||
|
"msg_crrltn_id" => "消息关联号",
|
||||||
|
"msg_flg" => "报文请求应答标志",
|
||||||
|
"msg_sender" => "报文发送方",
|
||||||
|
"msg_time" => "报文日期",
|
||||||
|
"msg_sys_sn" => "平台流水号",
|
||||||
|
"msg_ver" => "报文版本号",
|
||||||
|
"msg_rsp_code" => "响应码",
|
||||||
|
"msg_rsp_desc" => "响应码描述",
|
||||||
|
"sign" => "签名数据",
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'002102' => [
|
||||||
|
'in' => [
|
||||||
|
"msg_type" => "报文类型",
|
||||||
|
"msg_txn_code" => "交易代码",
|
||||||
|
"msg_crrltn_id" => "消息关联号",
|
||||||
|
"msg_flg" => "报文请求应答标志",
|
||||||
|
"msg_sender" => "报文发送方",
|
||||||
|
"msg_time" => "报文日期",
|
||||||
|
"msg_sys_sn" => "平台流水号",
|
||||||
|
"msg_ver" => "报文版本号",
|
||||||
|
"shop_no" => "门店号",
|
||||||
|
"term_no" => "终端号",
|
||||||
|
"req_serial_no" => "撤销流水号",
|
||||||
|
"orig_req_serial_no" => "原始销账流水号",
|
||||||
|
"trans_crrltn_no" => "交易关联流水号",
|
||||||
|
"sign" => "签名数据",
|
||||||
|
],
|
||||||
|
'out' => [
|
||||||
|
"msg_type" => "报文类型",
|
||||||
|
"msg_txn_code" => "交易代码",
|
||||||
|
"msg_crrltn_id" => "消息关联号",
|
||||||
|
"msg_flg" => "报文请求应答标志",
|
||||||
|
"msg_sender" => "报文发送方",
|
||||||
|
"msg_time" => "报文日期",
|
||||||
|
"msg_sys_sn" => "平台流水号",
|
||||||
|
"msg_ver" => "报文版本号",
|
||||||
|
"msg_rsp_code" => "响应码",
|
||||||
|
"msg_rsp_desc" => "响应码描述",
|
||||||
|
"ad" => "广告",
|
||||||
|
"td_code" => "二维码",
|
||||||
|
"sign" => "签名数据",
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
'openid' => [
|
||||||
|
'in' => [
|
||||||
|
"msg_type" => "报文类型",
|
||||||
|
"msg_txn_code" => "交易代码",
|
||||||
|
"msg_crrltn_id" => "消息关联号",
|
||||||
|
"msg_sender" => "报文发送方",
|
||||||
|
"callback_type" => "回调类型",
|
||||||
|
"callback_url" => "回调地址",
|
||||||
|
],
|
||||||
|
'out' => [
|
||||||
|
"msg_sender" => "报文类型",
|
||||||
|
"nonce_str" => "随机码",
|
||||||
|
"timestamp" => "时间戳",
|
||||||
|
"auth_scope" => "授权类型",
|
||||||
|
"callback_type" => "回调类型",
|
||||||
|
"callback_url" => "回调地址",
|
||||||
|
"sign" => "签名数据",
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
'code' => [
|
||||||
|
'in' => [
|
||||||
|
"msg_type" => "报文类型",
|
||||||
|
"msg_txn_code" => "交易代码",
|
||||||
|
"msg_crrltn_id" => "消息关联号",
|
||||||
|
"msg_sender" => "报文发送方",
|
||||||
|
"issue_user_id" => "发券平台渠道用户id",//领取微信活动的券码送微信的openid
|
||||||
|
"event_no" => "活动号",
|
||||||
|
"mobile" => "手机号",
|
||||||
|
],
|
||||||
|
'out' => [
|
||||||
|
"code" => "优惠券",
|
||||||
|
"sign" => "签名数据",
|
||||||
|
],
|
||||||
|
],
|
||||||
|
//去联盟领券
|
||||||
|
'106040' => [
|
||||||
|
'in' => [
|
||||||
|
"msg_type" => "报文类型",
|
||||||
|
"msg_txn_code" => "交易代码",
|
||||||
|
"msg_crrltn_id" => "消息关联号",
|
||||||
|
"msg_flg" => "报文请求应答标志",
|
||||||
|
"msg_sender" => "报文发送方",
|
||||||
|
"msg_time" => "报文日期",
|
||||||
|
"msg_sys_sn" => "平台流水号",
|
||||||
|
"msg_ver" => "报文版本号",
|
||||||
|
"shop_no" => "门店号",
|
||||||
|
"term_no" => "终端号",
|
||||||
|
"req_serial_no" => "撤销流水号",
|
||||||
|
"orig_req_serial_no" => "原始销账流水号",
|
||||||
|
"trans_crrltn_no" => "交易关联流水号",
|
||||||
|
'sp_chnl_no' => "渠道方",
|
||||||
|
'sp_order_no' => "第三方订单号",
|
||||||
|
'order_date' => "订单日期",
|
||||||
|
'event_no' => "活动号",
|
||||||
|
'issue_user_id' => "发券平台渠道用户id",
|
||||||
|
],
|
||||||
|
'out' => [
|
||||||
|
"msg_type" => "报文类型",
|
||||||
|
"msg_txn_code" => "交易代码",
|
||||||
|
"msg_crrltn_id" => "消息关联号",
|
||||||
|
"msg_flg" => "报文请求应答标志",
|
||||||
|
"msg_sender" => "报文发送方",
|
||||||
|
"msg_time" => "报文日期",
|
||||||
|
"msg_sys_sn" => "平台流水号",
|
||||||
|
"msg_ver" => "报文版本号",
|
||||||
|
"msg_rsp_code" => "响应码",
|
||||||
|
"msg_rsp_desc" => "响应码描述",
|
||||||
|
"sign" => "签名数据",
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
//回调核销信息
|
||||||
|
'012100' => [
|
||||||
|
'in' => [
|
||||||
|
"msg_type" => "报文类型",
|
||||||
|
"msg_txn_code" => "交易代码",
|
||||||
|
"msg_crrltn_id" => "消息关联号",
|
||||||
|
"msg_flg" => "报文请求应答标志",
|
||||||
|
"msg_sender" => "报文发送方",
|
||||||
|
"msg_time" => "报文日期",
|
||||||
|
"msg_sys_sn" => "平台流水号",
|
||||||
|
"msg_ver" => "报文版本号",
|
||||||
|
"mchnt_no" => "商户号",
|
||||||
|
"term_no" => "终端号",
|
||||||
|
"shop_no" => "门店号",
|
||||||
|
"req_serial_no" => "销券流水号",
|
||||||
|
"coupon_no" => "凭证号",
|
||||||
|
"coupon_type" => "凭证类型",
|
||||||
|
"enc_card_no" => "加密卡号",
|
||||||
|
"acq_term_sn" => "受理终端流水号",
|
||||||
|
"refer_no" => "检索参考号",
|
||||||
|
"sett_date" => "清算日期",
|
||||||
|
"txn_date" => "交易日期",
|
||||||
|
"txn_time" => "交易时间",
|
||||||
|
"orig_amt" => "原始金额",
|
||||||
|
"discount_amt" => "优惠的金额",
|
||||||
|
"pay_amt" => "支付金额",
|
||||||
|
"pay_mode" => "支付方式",
|
||||||
|
"event_no" => "活动号",
|
||||||
|
"trans_crrltn_no" => "交易关联流水号",
|
||||||
|
"equity_no" => "权益号",
|
||||||
|
"order_no" => "订单号",
|
||||||
|
"point" => "使用的积分数量",
|
||||||
|
"point_amt" => "积分抵扣金额",
|
||||||
|
"point_account_no" => "积分账户号",
|
||||||
|
"mkt_uuid" => "联盟码申请流水号",
|
||||||
|
"custom_info" => "第三方自定义域",
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
],
|
||||||
|
];
|
||||||
@@ -4,10 +4,12 @@ return [
|
|||||||
'coupon_model' => \App\Models\Coupon::class,
|
'coupon_model' => \App\Models\Coupon::class,
|
||||||
'rules' => [
|
'rules' => [
|
||||||
'ysd' => [
|
'ysd' => [
|
||||||
|
// 'pattern' => '/^YSD\d{12}/',
|
||||||
'pattern' => '/^YSD/',
|
'pattern' => '/^YSD/',
|
||||||
'model' => \XuanChen\Coupon\Action\YsdAction::class,
|
'model' => \XuanChen\Coupon\Action\YsdAction::class,
|
||||||
],
|
],
|
||||||
'unionpay' => [
|
'unionpay' => [
|
||||||
|
// 'pattern' => '/^YSD\d{12}/',
|
||||||
'pattern' => '/^66406/',
|
'pattern' => '/^66406/',
|
||||||
'model' => \XuanChen\Coupon\Action\YsdAction::class,
|
'model' => \XuanChen\Coupon\Action\YsdAction::class,
|
||||||
],
|
],
|
||||||
@@ -17,5 +19,9 @@ return [
|
|||||||
],
|
],
|
||||||
|
|
||||||
],
|
],
|
||||||
];
|
|
||||||
|
|
||||||
|
'froms' => [
|
||||||
|
'bsshop',//本时商城
|
||||||
|
'bslive',//本时生活
|
||||||
|
],
|
||||||
|
];
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ Route::get('/test/grant', 'TestController@grant')->name('test.grant');
|
|||||||
Route::get('/test/checkcoupon', 'TestController@checkcoupon')->name('test.checkcoupon');
|
Route::get('/test/checkcoupon', 'TestController@checkcoupon')->name('test.checkcoupon');
|
||||||
Route::get('/test/query', 'TestController@query')->name('test.query');
|
Route::get('/test/query', 'TestController@query')->name('test.query');
|
||||||
Route::get('/test/destroy', 'TestController@destroy')->name('test.destroy');
|
Route::get('/test/destroy', 'TestController@destroy')->name('test.destroy');
|
||||||
|
Route::get('/test/getsign', 'TestController@getSign')->name('test.getsign');
|
||||||
|
|
||||||
Route::get('/skyxu', 'SkyxuController@index')->name('skyxu');
|
Route::get('/skyxu', 'SkyxuController@index')->name('skyxu');
|
||||||
Route::get('/coupon', 'CouponController@index')->name('coupon');
|
Route::get('/coupon', 'CouponController@index')->name('coupon');
|
||||||
|
|||||||
6
storage/cert/unionpay/dev/union/public_rsa.pem
Normal file
6
storage/cert/unionpay/dev/union/public_rsa.pem
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
-----BEGIN PUBLIC KEY-----
|
||||||
|
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDGBzj/rgW4kCZhzIxy29qp3mqY
|
||||||
|
9pV18hGK6v132RmJ9DYxGdzIwhCdlPvcSIczBcZ+OnQuqYeVVatXO7lc1MUgDPaA
|
||||||
|
FGgSQFwTTz+JwoPrn+x1ATs1jDgYucEFVzfNJagR44unFLIhZ1IP5Nn289wp3u6p
|
||||||
|
9ZtYOlmtQmwI4dHcPwIDAQAB
|
||||||
|
-----END PUBLIC KEY-----
|
||||||
17
storage/cert/unionpay/dev/ysd/private_rsa.pem
Normal file
17
storage/cert/unionpay/dev/ysd/private_rsa.pem
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
-----BEGIN RSA PRIVATE KEY-----
|
||||||
|
MIICwgIBAAKBlwr/0635gQVIE29ImQJuAs46csIvIp1AbPUAqwth+LKMRV1d5A7z
|
||||||
|
ipyO7uKfExt3Xdo94jx2j57Q1n9QubAkmJ2Wk+G2VVkf+OYgFc8rCo1URArt1Atu
|
||||||
|
QnWdGA3k0Ij2aHxI2d3LA8Ue7/WLWWqnas/FVJkcnTPtC2rSv4JO4nCMVdsXkZdj
|
||||||
|
ghKc8OTdiO6ue/QhrBlY/5cCAwEAAQKBlwQf9kEa/UB+zBMClabsnI68KocZ6BAy
|
||||||
|
temXS42kOwCyS9z8tebJfCTEEV/ZKfA17nNGm83y5F85kAcEve4Je1Y1vtV5bD5V
|
||||||
|
GCEszR57eYiRaEuYvi58zzDS6BZJwCEvj0eLNydhRBUP1gCex9IVwgjfN684TRMM
|
||||||
|
PgFOlBbQHBF1rnlff0TwcDcTvRexvhn5U65s/vM9vqkCTAN1T7Tpw5gpLQyM0hpK
|
||||||
|
S8a24mudenNS6biPUcbSlAqWeP2Ol0Zi9taX+8KUmAAoCnYIGa/PjrfB9tcUCilX
|
||||||
|
reugrOKdp0CLn3/mrIUCTAMuPDb0V2CEvZYH43saNRrm0xMh3V4xEFX6EXHDX9cI
|
||||||
|
VGGUvJfxisjh76+Zn+4SculBSSCMcnwSFxMvYoAeeuzVbatOB6Zhts8KlGsCTANi
|
||||||
|
Lucp5FYmy03BJfvU/0jgPK3f+SOGVuhdSTyHYZLuYFhsv7N9NlcFgqyBaCqXAo0z
|
||||||
|
JbavE8rUeuc6UyrZ/29P2Hcsmqx7L0YbcmUCTAI6ELZ5A+Pzi7jK9R1vD9cx3H38
|
||||||
|
q7wSpdlMJ4J6w1MN5eYb+J544i4a4XEUIcDQ8dsVdllve4gaMkWgW1pP/Mhr9UiG
|
||||||
|
bRy0NQVn5tkCTAFK+hDf5ViHZZncGmiFArUNPRZMhfdg1rqpUzs/yEKc06flZY67
|
||||||
|
irE8EaiGRWfmwMqLGqfrW/bzMOWG1O5z9qf1Dg0ViimoUKNHEog=
|
||||||
|
-----END RSA PRIVATE KEY-----
|
||||||
6
storage/cert/unionpay/dev/ysd/public_rsa.pem
Normal file
6
storage/cert/unionpay/dev/ysd/public_rsa.pem
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
-----BEGIN PUBLIC KEY-----
|
||||||
|
MIG1MA0GCSqGSIb3DQEBAQUAA4GjADCBnwKBlwr/0635gQVIE29ImQJuAs46csIv
|
||||||
|
Ip1AbPUAqwth+LKMRV1d5A7zipyO7uKfExt3Xdo94jx2j57Q1n9QubAkmJ2Wk+G2
|
||||||
|
VVkf+OYgFc8rCo1URArt1AtuQnWdGA3k0Ij2aHxI2d3LA8Ue7/WLWWqnas/FVJkc
|
||||||
|
nTPtC2rSv4JO4nCMVdsXkZdjghKc8OTdiO6ue/QhrBlY/5cCAwEAAQ==
|
||||||
|
-----END PUBLIC KEY-----
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
-----BEGIN RSA PRIVATE KEY-----
|
|
||||||
MIICXAIBAAKBgQC/1n0w5iwWPB4XuS+QX820prkO7iEFmXDh4OPTCT43HKV63Tk0
|
|
||||||
j1oEY7rzJizvQcGQRrxHrv7syeEjrzh6b/5flqRk2XYDOO4CNO1LNuhUsVn17sMH
|
|
||||||
4GQzrnZQDAnU1Jxlk9ttamNpkGyind071+B2azT8TdLwjGXe2e4x7M0AOwIDAQAB
|
|
||||||
AoGAaDCMKeS5CRJ5nZTcemMuC/GJDMzUboAZyPQliFa6zZ/nWEWSbjN1RnEL9kdD
|
|
||||||
nGZwRHXGiIBIwD4c4w6ldAojcsJB76pfdeok6gDlswk3McF2uMPUvn6Yc37nnkbz
|
|
||||||
crXI6wDy0aPX/MfcHq2UoX5GdDYVEnOBnictxWPBMZ6S4fECQQDkH8vfaO4wGKQ2
|
|
||||||
K1uiUHEIRv0qOUvGY/BKJtBcyE4wpHpMtlY8o2vGssvpTueBWXWp8XRShOLoo+J+
|
|
||||||
PXrBLvTVAkEA10eUTLIvTag2nKS1B3dCJaszYWAL2otf5F4EwEKmfkFNhk7qkVm+
|
|
||||||
Ain9h/RsKqBb9n3MeeqSqUvbSq8FzCTozwJBAM/OdzVIrNF7YPtHe+3cQVs875nr
|
|
||||||
H6/Vkiq6OMyMW03MRuxinSQX6jHS5hXeHt2h1KG+piwViW5K/CPrdUtNrxECQA3s
|
|
||||||
rFP1poegXL/vC2KLPTUQiMdAniOppi8wQaBp7zj1Yl1Ql22FX3vmWWbE0YZETw53
|
|
||||||
fpVYLdpTdMC052wX6xMCQEZHbKjv9odbN6vZAcz15RC0j21brEQQ3goXSxLtjkmQ
|
|
||||||
LkcLdiDZgqGiVjNXTnh81fVkoIh9CfTSZH0a7Zc/RvM=
|
|
||||||
-----END RSA PRIVATE KEY-----
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
-----BEGIN PUBLIC KEY-----
|
|
||||||
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC/1n0w5iwWPB4XuS+QX820prkO
|
|
||||||
7iEFmXDh4OPTCT43HKV63Tk0j1oEY7rzJizvQcGQRrxHrv7syeEjrzh6b/5flqRk
|
|
||||||
2XYDOO4CNO1LNuhUsVn17sMH4GQzrnZQDAnU1Jxlk9ttamNpkGyind071+B2azT8
|
|
||||||
TdLwjGXe2e4x7M0AOwIDAQAB
|
|
||||||
-----END PUBLIC KEY-----
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace Tests;
|
|
||||||
|
|
||||||
use Illuminate\Contracts\Console\Kernel;
|
|
||||||
|
|
||||||
trait CreatesApplication
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* Creates the application.
|
|
||||||
*
|
|
||||||
* @return \Illuminate\Foundation\Application
|
|
||||||
*/
|
|
||||||
public function createApplication()
|
|
||||||
{
|
|
||||||
$app = require __DIR__.'/../bootstrap/app.php';
|
|
||||||
|
|
||||||
$app->make(Kernel::class)->bootstrap();
|
|
||||||
|
|
||||||
return $app;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace Tests\Feature;
|
|
||||||
|
|
||||||
use Illuminate\Foundation\Testing\RefreshDatabase;
|
|
||||||
use Tests\TestCase;
|
|
||||||
|
|
||||||
class ExampleTest extends TestCase
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* A basic test example.
|
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
|
||||||
public function testBasicTest()
|
|
||||||
{
|
|
||||||
$response = $this->get('/');
|
|
||||||
|
|
||||||
$response->assertStatus(200);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace Tests;
|
|
||||||
|
|
||||||
use Illuminate\Foundation\Testing\TestCase as BaseTestCase;
|
|
||||||
|
|
||||||
abstract class TestCase extends BaseTestCase
|
|
||||||
{
|
|
||||||
use CreatesApplication;
|
|
||||||
}
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace Tests\Unit;
|
|
||||||
|
|
||||||
use Illuminate\Foundation\Testing\RefreshDatabase;
|
|
||||||
use Tests\TestCase;
|
|
||||||
|
|
||||||
class ExampleTest extends TestCase
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* A basic test example.
|
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
|
||||||
public function testBasicTest()
|
|
||||||
{
|
|
||||||
$this->assertTrue(true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user