This commit is contained in:
2025-08-13 19:50:06 +08:00
parent 371eed25ca
commit 537426593a
4 changed files with 499 additions and 146 deletions

View File

@@ -36,10 +36,14 @@ class BaseController
* @var Auth
*/
protected Auth $auth;
public function getUserId()
{
return $this->auth->getUserInfo()['user_id'];
}
public function __construct()
{
$this->request = request();
$this->request = request();
$needLogin = !action_in_arr($this->noNeedLogin);
// 初始化会员鉴权实例

View File

@@ -0,0 +1,295 @@
<?php
namespace app\czg\app\controller;
use app\api\model\Orders;
use app\api\model\TbUserBlacklist;
use app\api\validate\WuyouValidate;
use app\common\controller\BaseController;
use app\common\controller\Frontend;
use app\common\library\DatabaseRoute;
use app\CoroutineContext;
use app\exception\SysException;
use app\utils\RedisUtils;
use app\utils\WuYouPayUtils;
use ba\Random;
use think\facade\Db;
use think\facade\Log;
use Throwable;
class Wuyou extends BaseController
{
protected array $noNeedLogin = ['payOrder', 'index', 'test', 'notify', 'queryOrder'];
protected array $noNeedPermission = [];
public function queryOrder()
{
$orderId = $this->request->param('orderId');
$userId = $this->getUserId();
$order = DatabaseRoute::getDb('orders', $userId)->where([
'orders_id' => $orderId
])->find();
if (!$order) {
$this->error('订单不存在');
}
$detail = DatabaseRoute::getDb('pay_details', $userId)->where([
'order_id' => $order['orders_no']
])->find();
if (!$detail) {
$this->error('订单不存在2');
}
$this->successWithData($detail['state'] == 1 ? 1 : 0);
}
public function payOrder()
{
$params = $this->request->param();
(new WuyouValidate())->scene('payOrder')->check($params);
$userId = $this->getUserId();
// debounce('payOrder' . $params['orderId']);
Log::info(format('生成商品订单信息接口入参为: {}', $params));
$order = DatabaseRoute::getDb('orders', $userId)->where([
'orders_id' => $params['orderId'],
'user_id' => $userId
])->find();
if (!$order) {
throw new SysException("订单不存在");
}
if ($order['status'] != 0) {
throw new SysException("订单已支付");
}
if (RedisUtils::setCreateOrderFlagAndCheckLimit($userId, $params['orderId'])) {
//todo 待办
// (new TbUserBlacklist())->addBlackUser($userId, '一分钟频繁下单超22次');
}
$orderDetail = DatabaseRoute::getDb('pay_details', $userId)->where([
'order_id' => $params['orderId']
])->find();
if ($orderDetail) {
DatabaseRoute::getDb('pay_details', $userId, true)->where([
'order_id' => $params['orderId']
])->update([
'trade_no' => $orderDetail['trade_no']
]);
} else {
$orderDetail = [
'id' => Random::generateRandomPrefixedId(19),
'state' => 0,
'create_time' => date('Y-m-d H:i:s'),
'order_id' => $order['orders_no'],
'user_id' => $order['user_id'],
'money' => (float)$order['pay_money'],
'type' => 1,
'classify' => 9,
'trade_no' => uuid(),
];
DatabaseRoute::getDb('pay_details', $userId, true)->insert($orderDetail);
}
if (bccomp($order['pay_money'], '0', 2) === 0) {
// ordersTask.updateOrderStatus(payDetails, order);
$this->successWithData([
'tradeNo' => $orderDetail['trade_no'],
'payStatus' => 1
]);
}
$result = WuYouPayUtils::payOrder($orderDetail['trade_no'], $userId, $order['pay_money'], request()->header('user-agent'),
// $result = WuYouPayUtils::payOrderTest($orderDetail['trade_no'], $userId, $order['pay_money'], request()->header('user-agent'),
format("{}-{}", $order['course_id'], $order['course_details_id']), $params['payType']);
// $result = [
// 'code' => 200,
// ];
if (!$result) {
DatabaseRoute::getDb('orders', $userId, true)->where([
'orders_id' => $params['orderId'],
'user_id' => $userId
])->update([
'status' => 3
]);
DatabaseRoute::getDb('pay_details', $userId, true)->where([
'id' => $orderDetail['id'],
'user_id' => $userId
])->update([
'status' => 2
]);
throw new SysException("系统繁忙,请稍后再尝试购买");
}
if (!isset($result['code']) || $result['code'] !== '200') {
throw new SysException($result['msg'] ?? $result['error_msg']);
}
$result['data']['orderId'] = $params['orderId'];
$result['data']['h5Url'] = $result['data']['h5_url'];
$this->successWithData($result['data']);
}
public function extractNotify()
{
$params = $this->request->post();
Log::info("无忧支付提现回调,入参: " . json_encode($params));
$signData = [
'callbacks' => $params['callbacks'],
'total' => $params['total'],
'out_trade_no' => $params['out_trade_no'],
'pay_time' => $params['pay_time'],
];
$sign = WuYouPayUtils::getParamsSign($signData);
if ($sign != $params['sign']) {
Log::info("无忧支付回调,验签失败, 签名结果: {$sign}");
// return 'success';
}
$split = explode("-", $params['out_trade_no']);
if (count($split) != 2) {
Log::info("无忧支付回调,订单号分割错误");
return 'success';
}
$orderNo = $split[0];
$userId = $split[1];
$cashOut = DatabaseRoute::getAllDbData('cash_out', function ($query) use ($orderNo, $userId) {
$query->where([
'order_number' => $orderNo
]);
if ($userId) {
$query->where([
'user_id' => $userId
]);
}
return $query;
})->where([
'order_number' => $orderNo
])->find();
if ($cashOut) {
\app\admin\model\Order::executeExtractCallback($cashOut, $params);
}else{
$info = DatabaseRoute::getDb('user_info', $userId)->find();
DatabaseRoute::getDb('cash_out', $userId, true)->insert([
'user_id' => $userId,
'order_number' => $orderNo,
'money' => $params['total'],
'relation_id' => $params['msg'],
'state' => 9,
'zhifubao_name' => $info ? $info['cert_name'] : '',
]);
}
return "success";
}
/**
* 无忧支付回调
*/
public function notify()
{
try {
$params = $this->request->post();
Log::info("无忧支付回调,入参: " . json_encode($params));
$signData = [
'callbacks' => $params['callbacks'],
'total' => $params['total'],
'out_trade_no' => $params['out_trade_no'],
'pay_time' => $params['pay_time'],
];
$sign = WuYouPayUtils::getParamsSign($signData);
if ($sign != $params['sign']) {
Log::info("无忧支付回调,验签失败, 签名结果: {$sign}");
// return 'success';
}
if ($params['callbacks'] != 'CODE_SUCCESS') {
Log::info("无忧支付回调,支付失败");
return 'success';
}
$split = explode("-", $params['out_trade_no']);
if (count($split) != 2) {
Log::info("无忧支付回调,订单号分割错误");
return 'success';
}
$orderNo = $split[0];
$userId = $split[1];
$payDetails = DatabaseRoute::getDb('pay_details', $userId)->where([
'trade_no' => $orderNo,
'user_id' => $userId
])->select();
if (count($payDetails) == 0) {
Log::info("无忧支付回调,订单不存在");
return 'success';
}
if (count($payDetails) > 1) {
Log::info("无忧支付回调,订单存在多个");
return 'success';
}
$payDetail = $payDetails[0];
if ($payDetail['state'] == 1) {
Log::info("无忧支付回调,重复回调");
// TODO 测试
// return 'success';
}
$order = DatabaseRoute::getDb('orders', $userId)->where([
'orders_no' => $payDetail['order_id'],
'user_id' => $userId
])->limit(1)->find();
if (!$order) {
Log::info("无忧支付回调,订单不存在");
return '订单不存在';
}
if ($order['status'] != 0) {
Log::info("无忧支付回调,订单已支付");
// TODO 测试
// return '订单已支付';
}
$payDetail['third_order_no'] = $params['order_sn'];
Orders::updateOrderStatus($payDetail, $order, $userId);
}catch (Throwable $e) {
Log::info("异常".$e->getMessage());
throw $e;
}
return "success";
}
public function test()
{
$data = DatabaseRoute::getAllDbData('tb_user', function ($query) {
return $query->where([
'user_id' => 14256
]);
})->find();
$this->successWithData($data);
}
}

View File

@@ -1,6 +1,7 @@
<?php
// 应用公共文件
use support\think\Cache;
if (!function_exists('__')) {
@@ -420,6 +421,23 @@ if (!function_exists('set_timezone')) {
}
}
if (!function_exists('env')) {
/**
* 获取环境变量值
* @access public
* @param string $name 环境变量名(支持二级 .号分割)
* @param string $default 默认值
* @return mixed
*/
function env(?string $name = null, $default = null)
{
return getenv($name, $default);
}
}
if (!function_exists('get_upload_config')) {
/**
@@ -880,7 +898,43 @@ function runWithLock(string $key, int $expire, \Closure $callback)
release($key, $lockValue);
}
}
if (!function_exists('cache')) {
/**
* 缓存管理
* @param string $name 缓存名称
* @param mixed $value 缓存值
* @param mixed $options 缓存参数
* @param string $tag 缓存标签
* @return mixed
*/
function cache(?string $name = null, $value = '', $options = null, $tag = null)
{
if (is_null($name)) {
return app('cache');
}
if ('' === $value) {
// 获取缓存
return str_starts_with($name, '?') ? Cache::has(substr($name, 1)) : Cache::get($name);
} elseif (is_null($value)) {
// 删除缓存
return Cache::delete($name);
}
// 缓存数据
if (is_array($options)) {
$expire = $options['expire'] ?? null; //修复查询缓存无法设置过期时间
} else {
$expire = $options;
}
if (is_null($tag)) {
return Cache::set($name, $value, $expire);
} else {
return Cache::tag($tag)->set($name, $value, $expire);
}
}
}
/**
* 解锁用Lua防止误删
*/

View File

@@ -7,15 +7,15 @@ return [
// 数据库类型
'type' => 'mysql',
// 服务器地址
'hostname' => env('HOSTNAME', 'rm-gc7xx913734hv5w5q.mysql.cn-chengdu.rds.aliyuncs.com'),
'hostname' => getenv('HOSTNAME', 'rm-gc7xx913734hv5w5q.mysql.cn-chengdu.rds.aliyuncs.com'),
// 数据库名
'database' => 'duanju',
// 数据库用户名
'username' => env('USERNAME', 'video_user'),
'username' => getenv('USERNAME', 'video_user'),
// 数据库密码
'password' => env('PASSWORD', 'VideoUser@1'),
'password' => getenv('PASSWORD', 'VideoUser@1'),
// 数据库连接端口
'hostport' => env('HOSTPORT', '3306'),
'hostport' => getenv('HOSTPORT', '3306'),
// 数据库连接参数
'params' => [
// 连接超时3秒
@@ -42,15 +42,15 @@ return [
// 数据库类型
'type' => 'mysql',
// 服务器地址
'hostname' => env('HOSTNAME', 'rm-gc7xx913734hv5w5q.mysql.cn-chengdu.rds.aliyuncs.com'),
'hostname' => getenv('HOSTNAME', 'rm-gc7xx913734hv5w5q.mysql.cn-chengdu.rds.aliyuncs.com'),
// 数据库名
'database' => 'duanju-0',
// 数据库用户名
'username' => env('USERNAME', 'video_user'),
'username' => getenv('USERNAME', 'video_user'),
// 数据库密码
'password' => env('PASSWORD', 'VideoUser@1'),
'password' => getenv('PASSWORD', 'VideoUser@1'),
// 数据库连接端口
'hostport' => env('HOSTPORT', '3306'),
'hostport' => getenv('HOSTPORT', '3306'),
// 数据库连接参数
'params' => [
// 连接超时3秒
@@ -77,15 +77,15 @@ return [
// 数据库类型
'type' => 'mysql',
// 服务器地址
'hostname' => env('HOSTNAME', 'rm-gc7xx913734hv5w5q.mysql.cn-chengdu.rds.aliyuncs.com'),
'hostname' => getenv('HOSTNAME', 'rm-gc7xx913734hv5w5q.mysql.cn-chengdu.rds.aliyuncs.com'),
// 数据库名
'database' => 'duanju-1',
// 数据库用户名
'username' => env('USERNAME', 'video_user'),
'username' => getenv('USERNAME', 'video_user'),
// 数据库密码
'password' => env('PASSWORD', 'VideoUser@1'),
'password' => getenv('PASSWORD', 'VideoUser@1'),
// 数据库连接端口
'hostport' => env('HOSTPORT', '3306'),
'hostport' => getenv('HOSTPORT', '3306'),
// 数据库连接参数
'params' => [
// 连接超时3秒
@@ -113,15 +113,15 @@ return [
// 数据库类型
'type' => 'mysql',
// 服务器地址
'hostname' => env('HOSTNAME', 'rm-gc7xx913734hv5w5q.mysql.cn-chengdu.rds.aliyuncs.com'),
'hostname' => getenv('HOSTNAME', 'rm-gc7xx913734hv5w5q.mysql.cn-chengdu.rds.aliyuncs.com'),
// 数据库名
'database' => 'duanju-2',
// 数据库用户名
'username' => env('USERNAME', 'video_user'),
'username' => getenv('USERNAME', 'video_user'),
// 数据库密码
'password' => env('PASSWORD', 'VideoUser@1'),
'password' => getenv('PASSWORD', 'VideoUser@1'),
// 数据库连接端口
'hostport' => env('HOSTPORT', '3306'),
'hostport' => getenv('HOSTPORT', '3306'),
// 数据库连接参数
'params' => [
// 连接超时3秒
@@ -148,15 +148,15 @@ return [
// 数据库类型
'type' => 'mysql',
// 服务器地址
'hostname' => env('HOSTNAME', 'rm-gc7xx913734hv5w5q.mysql.cn-chengdu.rds.aliyuncs.com'),
'hostname' => getenv('HOSTNAME', 'rm-gc7xx913734hv5w5q.mysql.cn-chengdu.rds.aliyuncs.com'),
// 数据库名
'database' => 'duanju-3',
// 数据库用户名
'username' => env('USERNAME', 'video_user'),
'username' => getenv('USERNAME', 'video_user'),
// 数据库密码
'password' => env('PASSWORD', 'VideoUser@1'),
'password' => getenv('PASSWORD', 'VideoUser@1'),
// 数据库连接端口
'hostport' => env('HOSTPORT', '3306'),
'hostport' => getenv('HOSTPORT', '3306'),
// 数据库连接参数
'params' => [
// 连接超时3秒
@@ -183,15 +183,15 @@ return [
// 数据库类型
'type' => 'mysql',
// 服务器地址
'hostname' => env('HOSTNAME', 'rm-gc7xx913734hv5w5q.mysql.cn-chengdu.rds.aliyuncs.com'),
'hostname' => getenv('HOSTNAME', 'rm-gc7xx913734hv5w5q.mysql.cn-chengdu.rds.aliyuncs.com'),
// 数据库名
'database' => 'duanju-4',
// 数据库用户名
'username' => env('USERNAME', 'video_user'),
'username' => getenv('USERNAME', 'video_user'),
// 数据库密码
'password' => env('PASSWORD', 'VideoUser@1'),
'password' => getenv('PASSWORD', 'VideoUser@1'),
// 数据库连接端口
'hostport' => env('HOSTPORT', '3306'),
'hostport' => getenv('HOSTPORT', '3306'),
// 数据库连接参数
'params' => [
// 连接超时3秒
@@ -219,15 +219,15 @@ return [
// 数据库类型
'type' => 'mysql',
// 服务器地址
'hostname' => env('SLAVE_HOSTNAME', '172.18.96.8'),
'hostname' => getenv('SLAVE_HOSTNAME', '172.18.96.8'),
// 数据库名
'database' => 'duanju',
// 数据库用户名
'username' => env('SLAVE_USERNAME', 'root'),
'username' => getenv('SLAVE_USERNAME', 'root'),
// 数据库密码
'password' => env('SLAVE_PASSWORD', 'VideoUser1@'),
'password' => getenv('SLAVE_PASSWORD', 'VideoUser1@'),
// 数据库连接端口
'hostport' => env('SLAVE_HOSTPORT', '3306'),
'hostport' => getenv('SLAVE_HOSTPORT', '3306'),
// 数据库连接参数
'params' => [
// 连接超时3秒
@@ -258,15 +258,15 @@ return [
// 数据库类型
'type' => 'mysql',
// 服务器地址
'hostname' => env('SLAVE_HOSTNAME', '172.18.96.8'),
'hostname' => getenv('SLAVE_HOSTNAME', '172.18.96.8'),
// 数据库名
'database' => 'duanju-0',
// 数据库用户名
'username' => env('SLAVE_USERNAME', 'root'),
'username' => getenv('SLAVE_USERNAME', 'root'),
// 数据库密码
'password' => env('SLAVE_PASSWORD', 'VideoUser1@'),
'password' => getenv('SLAVE_PASSWORD', 'VideoUser1@'),
// 数据库连接端口
'hostport' => env('SLAVE_HOSTPORT', '3306'),
'hostport' => getenv('SLAVE_HOSTPORT', '3306'),
// 数据库连接参数
'params' => [
// 连接超时3秒
@@ -294,15 +294,15 @@ return [
// 数据库类型
'type' => 'mysql',
// 服务器地址
'hostname' => env('SLAVE_HOSTNAME', '172.18.96.8'),
'hostname' => getenv('SLAVE_HOSTNAME', '172.18.96.8'),
// 数据库名
'database' => 'duanju-1',
// 数据库用户名
'username' => env('SLAVE_USERNAME', 'root'),
'username' => getenv('SLAVE_USERNAME', 'root'),
// 数据库密码
'password' => env('SLAVE_PASSWORD', 'VideoUser1@'),
'password' => getenv('SLAVE_PASSWORD', 'VideoUser1@'),
// 数据库连接端口
'hostport' => env('SLAVE_HOSTPORT', '3306'),
'hostport' => getenv('SLAVE_HOSTPORT', '3306'),
// 数据库连接参数
'params' => [
// 连接超时3秒
@@ -330,15 +330,15 @@ return [
// 数据库类型
'type' => 'mysql',
// 服务器地址
'hostname' => env('SLAVE_HOSTNAME', '172.18.96.8'),
'hostname' => getenv('SLAVE_HOSTNAME', '172.18.96.8'),
// 数据库名
'database' => 'duanju-2',
// 数据库用户名
'username' => env('SLAVE_USERNAME', 'root'),
'username' => getenv('SLAVE_USERNAME', 'root'),
// 数据库密码
'password' => env('SLAVE_PASSWORD', 'VideoUser1@'),
'password' => getenv('SLAVE_PASSWORD', 'VideoUser1@'),
// 数据库连接端口
'hostport' => env('SLAVE_HOSTPORT', '3306'),
'hostport' => getenv('SLAVE_HOSTPORT', '3306'),
// 数据库连接参数
'params' => [
// 连接超时3秒
@@ -366,15 +366,15 @@ return [
// 数据库类型
'type' => 'mysql',
// 服务器地址
'hostname' => env('SLAVE_HOSTNAME', '172.18.96.8'),
'hostname' => getenv('SLAVE_HOSTNAME', '172.18.96.8'),
// 数据库名
'database' => 'duanju-3',
// 数据库用户名
'username' => env('SLAVE_USERNAME', 'root'),
'username' => getenv('SLAVE_USERNAME', 'root'),
// 数据库密码
'password' => env('SLAVE_PASSWORD', 'VideoUser1@'),
'password' => getenv('SLAVE_PASSWORD', 'VideoUser1@'),
// 数据库连接端口
'hostport' => env('SLAVE_HOSTPORT', '3306'),
'hostport' => getenv('SLAVE_HOSTPORT', '3306'),
// 数据库连接参数
'params' => [
// 连接超时3秒
@@ -401,15 +401,15 @@ return [
// 数据库类型
'type' => 'mysql',
// 服务器地址
'hostname' => env('SLAVE_HOSTNAME', '172.18.96.8'),
'hostname' => getenv('SLAVE_HOSTNAME', '172.18.96.8'),
// 数据库名
'database' => 'duanju-4',
// 数据库用户名
'username' => env('SLAVE_USERNAME', 'root'),
'username' => getenv('SLAVE_USERNAME', 'root'),
// 数据库密码
'password' => env('SLAVE_PASSWORD', 'VideoUser1@'),
'password' => getenv('SLAVE_PASSWORD', 'VideoUser1@'),
// 数据库连接端口
'hostport' => env('SLAVE_HOSTPORT', '3306'),
'hostport' => getenv('SLAVE_HOSTPORT', '3306'),
// 数据库连接参数
'params' => [
// 连接超时3秒
@@ -436,15 +436,15 @@ return [
// 数据库类型
'type' => 'mysql',
// 服务器地址
'hostname' => env('SLAVE_HOSTNAME', '172.18.96.8'),
'hostname' => getenv('SLAVE_HOSTNAME', '172.18.96.8'),
// 数据库名
'database' => 'duanju',
// 数据库用户名
'username' => env('SLAVE_USERNAME', 'root'),
'username' => getenv('SLAVE_USERNAME', 'root'),
// 数据库密码
'password' => env('SLAVE_PASSWORD', 'VideoUser1@'),
'password' => getenv('SLAVE_PASSWORD', 'VideoUser1@'),
// 数据库连接端口
'hostport' => env('SLAVE_HOSTPORT', '3306'),
'hostport' => getenv('SLAVE_HOSTPORT', '3306'),
// 数据库连接参数
'params' => [
// 连接超时3秒
@@ -471,15 +471,15 @@ return [
// 数据库类型
'type' => 'mysql',
// 服务器地址
'hostname' => env('SLAVE_HOSTNAME', '172.18.96.8'),
'hostname' => getenv('SLAVE_HOSTNAME', '172.18.96.8'),
// 数据库名
'database' => 'duanju-0',
// 数据库用户名
'username' => env('SLAVE_USERNAME', 'root'),
'username' => getenv('SLAVE_USERNAME', 'root'),
// 数据库密码
'password' => env('SLAVE_PASSWORD', 'VideoUser1@'),
'password' => getenv('SLAVE_PASSWORD', 'VideoUser1@'),
// 数据库连接端口
'hostport' => env('SLAVE_HOSTPORT', '3306'),
'hostport' => getenv('SLAVE_HOSTPORT', '3306'),
// 数据库连接参数
'params' => [
// 连接超时3秒
@@ -506,15 +506,15 @@ return [
// 数据库类型
'type' => 'mysql',
// 服务器地址
'hostname' => env('SLAVE_HOSTNAME', '172.18.96.8'),
'hostname' => getenv('SLAVE_HOSTNAME', '172.18.96.8'),
// 数据库名
'database' => 'duanju-1',
// 数据库用户名
'username' => env('SLAVE_USERNAME', 'root'),
'username' => getenv('SLAVE_USERNAME', 'root'),
// 数据库密码
'password' => env('SLAVE_PASSWORD', 'VideoUser1@'),
'password' => getenv('SLAVE_PASSWORD', 'VideoUser1@'),
// 数据库连接端口
'hostport' => env('SLAVE_HOSTPORT', '3306'),
'hostport' => getenv('SLAVE_HOSTPORT', '3306'),
// 数据库连接参数
'params' => [
// 连接超时3秒
@@ -541,15 +541,15 @@ return [
// 数据库类型
'type' => 'mysql',
// 服务器地址
'hostname' => env('SLAVE_HOSTNAME', '172.18.96.8'),
'hostname' => getenv('SLAVE_HOSTNAME', '172.18.96.8'),
// 数据库名
'database' => 'duanju-2',
// 数据库用户名
'username' => env('SLAVE_USERNAME', 'root'),
'username' => getenv('SLAVE_USERNAME', 'root'),
// 数据库密码
'password' => env('SLAVE_PASSWORD', 'VideoUser1@'),
'password' => getenv('SLAVE_PASSWORD', 'VideoUser1@'),
// 数据库连接端口
'hostport' => env('SLAVE_HOSTPORT', '3306'),
'hostport' => getenv('SLAVE_HOSTPORT', '3306'),
// 数据库连接参数
'params' => [
// 连接超时3秒
@@ -576,15 +576,15 @@ return [
// 数据库类型
'type' => 'mysql',
// 服务器地址
'hostname' => env('SLAVE_HOSTNAME', '172.18.96.8'),
'hostname' => getenv('SLAVE_HOSTNAME', '172.18.96.8'),
// 数据库名
'database' => 'duanju-3',
// 数据库用户名
'username' => env('SLAVE_USERNAME', 'root'),
'username' => getenv('SLAVE_USERNAME', 'root'),
// 数据库密码
'password' => env('SLAVE_PASSWORD', 'VideoUser1@'),
'password' => getenv('SLAVE_PASSWORD', 'VideoUser1@'),
// 数据库连接端口
'hostport' => env('SLAVE_HOSTPORT', '3306'),
'hostport' => getenv('SLAVE_HOSTPORT', '3306'),
// 数据库连接参数
'params' => [
// 连接超时3秒
@@ -611,15 +611,15 @@ return [
// 数据库类型
'type' => 'mysql',
// 服务器地址
'hostname' => env('SLAVE_HOSTNAME', '172.18.96.8'),
'hostname' => getenv('SLAVE_HOSTNAME', '172.18.96.8'),
// 数据库名
'database' => 'duanju-4',
// 数据库用户名
'username' => env('SLAVE_USERNAME', 'root'),
'username' => getenv('SLAVE_USERNAME', 'root'),
// 数据库密码
'password' => env('SLAVE_PASSWORD', 'VideoUser1@'),
'password' => getenv('SLAVE_PASSWORD', 'VideoUser1@'),
// 数据库连接端口
'hostport' => env('SLAVE_HOSTPORT', '3306'),
'hostport' => getenv('SLAVE_HOSTPORT', '3306'),
// 数据库连接参数
'params' => [
// 连接超时3秒
@@ -646,15 +646,15 @@ return [
// 数据库类型
'type' => 'mysql',
// 服务器地址
'hostname' => env('SLAVE_HOSTNAME', '172.18.96.9'),
'hostname' => getenv('SLAVE_HOSTNAME', '172.18.96.9'),
// 数据库名
'database' => 'duanju',
// 数据库用户名
'username' => env('SLAVE_USERNAME', 'root'),
'username' => getenv('SLAVE_USERNAME', 'root'),
// 数据库密码
'password' => env('SLAVE_PASSWORD', 'VideoUser1@'),
'password' => getenv('SLAVE_PASSWORD', 'VideoUser1@'),
// 数据库连接端口
'hostport' => env('SLAVE_HOSTPORT', '3306'),
'hostport' => getenv('SLAVE_HOSTPORT', '3306'),
// 数据库连接参数
'params' => [
// 连接超时3秒
@@ -681,15 +681,15 @@ return [
// 数据库类型
'type' => 'mysql',
// 服务器地址
'hostname' => env('SLAVE_HOSTNAME', '172.18.96.9'),
'hostname' => getenv('SLAVE_HOSTNAME', '172.18.96.9'),
// 数据库名
'database' => 'duanju-0',
// 数据库用户名
'username' => env('SLAVE_USERNAME', 'root'),
'username' => getenv('SLAVE_USERNAME', 'root'),
// 数据库密码
'password' => env('SLAVE_PASSWORD', 'VideoUser1@'),
'password' => getenv('SLAVE_PASSWORD', 'VideoUser1@'),
// 数据库连接端口
'hostport' => env('SLAVE_HOSTPORT', '3306'),
'hostport' => getenv('SLAVE_HOSTPORT', '3306'),
// 数据库连接参数
'params' => [
// 连接超时3秒
@@ -716,15 +716,15 @@ return [
// 数据库类型
'type' => 'mysql',
// 服务器地址
'hostname' => env('SLAVE_HOSTNAME', '172.18.96.9'),
'hostname' => getenv('SLAVE_HOSTNAME', '172.18.96.9'),
// 数据库名
'database' => 'duanju-1',
// 数据库用户名
'username' => env('SLAVE_USERNAME', 'root'),
'username' => getenv('SLAVE_USERNAME', 'root'),
// 数据库密码
'password' => env('SLAVE_PASSWORD', 'VideoUser1@'),
'password' => getenv('SLAVE_PASSWORD', 'VideoUser1@'),
// 数据库连接端口
'hostport' => env('SLAVE_HOSTPORT', '3306'),
'hostport' => getenv('SLAVE_HOSTPORT', '3306'),
// 数据库连接参数
'params' => [
// 连接超时3秒
@@ -751,15 +751,15 @@ return [
// 数据库类型
'type' => 'mysql',
// 服务器地址
'hostname' => env('SLAVE_HOSTNAME', '172.18.96.9'),
'hostname' => getenv('SLAVE_HOSTNAME', '172.18.96.9'),
// 数据库名
'database' => 'duanju-2',
// 数据库用户名
'username' => env('SLAVE_USERNAME', 'root'),
'username' => getenv('SLAVE_USERNAME', 'root'),
// 数据库密码
'password' => env('SLAVE_PASSWORD', 'VideoUser1@'),
'password' => getenv('SLAVE_PASSWORD', 'VideoUser1@'),
// 数据库连接端口
'hostport' => env('SLAVE_HOSTPORT', '3306'),
'hostport' => getenv('SLAVE_HOSTPORT', '3306'),
// 数据库连接参数
'params' => [
// 连接超时3秒
@@ -786,15 +786,15 @@ return [
// 数据库类型
'type' => 'mysql',
// 服务器地址
'hostname' => env('SLAVE_HOSTNAME', '172.18.96.9'),
'hostname' => getenv('SLAVE_HOSTNAME', '172.18.96.9'),
// 数据库名
'database' => 'duanju-3',
// 数据库用户名
'username' => env('SLAVE_USERNAME', 'root'),
'username' => getenv('SLAVE_USERNAME', 'root'),
// 数据库密码
'password' => env('SLAVE_PASSWORD', 'VideoUser1@'),
'password' => getenv('SLAVE_PASSWORD', 'VideoUser1@'),
// 数据库连接端口
'hostport' => env('SLAVE_HOSTPORT', '3306'),
'hostport' => getenv('SLAVE_HOSTPORT', '3306'),
// 数据库连接参数
'params' => [
// 连接超时3秒
@@ -821,15 +821,15 @@ return [
// 数据库类型
'type' => 'mysql',
// 服务器地址
'hostname' => env('SLAVE_HOSTNAME', '172.18.96.9'),
'hostname' => getenv('SLAVE_HOSTNAME', '172.18.96.9'),
// 数据库名
'database' => 'duanju-4',
// 数据库用户名
'username' => env('SLAVE_USERNAME', 'root'),
'username' => getenv('SLAVE_USERNAME', 'root'),
// 数据库密码
'password' => env('SLAVE_PASSWORD', 'VideoUser1@'),
'password' => getenv('SLAVE_PASSWORD', 'VideoUser1@'),
// 数据库连接端口
'hostport' => env('SLAVE_HOSTPORT', '3306'),
'hostport' => getenv('SLAVE_HOSTPORT', '3306'),
// 数据库连接参数
'params' => [
// 连接超时3秒
@@ -856,15 +856,15 @@ return [
// 数据库类型
'type' => 'mysql',
// 服务器地址
'hostname' => env('SLAVE_HOSTNAME', '172.18.96.11'),
'hostname' => getenv('SLAVE_HOSTNAME', '172.18.96.11'),
// 数据库名
'database' => 'duanju',
// 数据库用户名
'username' => env('SLAVE_USERNAME', 'root'),
'username' => getenv('SLAVE_USERNAME', 'root'),
// 数据库密码
'password' => env('SLAVE_PASSWORD', 'VideoServer'),
'password' => getenv('SLAVE_PASSWORD', 'VideoServer'),
// 数据库连接端口
'hostport' => env('SLAVE_HOSTPORT', '3306'),
'hostport' => getenv('SLAVE_HOSTPORT', '3306'),
// 数据库连接参数
'params' => [
// 连接超时3秒
@@ -891,15 +891,15 @@ return [
// 数据库类型
'type' => 'mysql',
// 服务器地址
'hostname' => env('SLAVE_HOSTNAME', '172.18.96.11'),
'hostname' => getenv('SLAVE_HOSTNAME', '172.18.96.11'),
// 数据库名
'database' => 'duanju-0',
// 数据库用户名
'username' => env('SLAVE_USERNAME', 'root'),
'username' => getenv('SLAVE_USERNAME', 'root'),
// 数据库密码
'password' => env('SLAVE_PASSWORD', 'VideoServer'),
'password' => getenv('SLAVE_PASSWORD', 'VideoServer'),
// 数据库连接端口
'hostport' => env('SLAVE_HOSTPORT', '3306'),
'hostport' => getenv('SLAVE_HOSTPORT', '3306'),
// 数据库连接参数
'params' => [
// 连接超时3秒
@@ -926,15 +926,15 @@ return [
// 数据库类型
'type' => 'mysql',
// 服务器地址
'hostname' => env('SLAVE_HOSTNAME', '172.18.96.11'),
'hostname' => getenv('SLAVE_HOSTNAME', '172.18.96.11'),
// 数据库名
'database' => 'duanju-1',
// 数据库用户名
'username' => env('SLAVE_USERNAME', 'root'),
'username' => getenv('SLAVE_USERNAME', 'root'),
// 数据库密码
'password' => env('SLAVE_PASSWORD', 'VideoServer'),
'password' => getenv('SLAVE_PASSWORD', 'VideoServer'),
// 数据库连接端口
'hostport' => env('SLAVE_HOSTPORT', '3306'),
'hostport' => getenv('SLAVE_HOSTPORT', '3306'),
// 数据库连接参数
'params' => [
// 连接超时3秒
@@ -961,15 +961,15 @@ return [
// 数据库类型
'type' => 'mysql',
// 服务器地址
'hostname' => env('SLAVE_HOSTNAME', '172.18.96.11'),
'hostname' => getenv('SLAVE_HOSTNAME', '172.18.96.11'),
// 数据库名
'database' => 'duanju-2',
// 数据库用户名
'username' => env('SLAVE_USERNAME', 'root'),
'username' => getenv('SLAVE_USERNAME', 'root'),
// 数据库密码
'password' => env('SLAVE_PASSWORD', 'VideoServer'),
'password' => getenv('SLAVE_PASSWORD', 'VideoServer'),
// 数据库连接端口
'hostport' => env('SLAVE_HOSTPORT', '3306'),
'hostport' => getenv('SLAVE_HOSTPORT', '3306'),
// 数据库连接参数
'params' => [
// 连接超时3秒
@@ -996,15 +996,15 @@ return [
// 数据库类型
'type' => 'mysql',
// 服务器地址
'hostname' => env('SLAVE_HOSTNAME', '172.18.96.11'),
'hostname' => getenv('SLAVE_HOSTNAME', '172.18.96.11'),
// 数据库名
'database' => 'duanju-3',
// 数据库用户名
'username' => env('SLAVE_USERNAME', 'root'),
'username' => getenv('SLAVE_USERNAME', 'root'),
// 数据库密码
'password' => env('SLAVE_PASSWORD', 'VideoServer'),
'password' => getenv('SLAVE_PASSWORD', 'VideoServer'),
// 数据库连接端口
'hostport' => env('SLAVE_HOSTPORT', '3306'),
'hostport' => getenv('SLAVE_HOSTPORT', '3306'),
// 数据库连接参数
'params' => [
// 连接超时3秒
@@ -1031,15 +1031,15 @@ return [
// 数据库类型
'type' => 'mysql',
// 服务器地址
'hostname' => env('SLAVE_HOSTNAME', '172.18.96.11'),
'hostname' => getenv('SLAVE_HOSTNAME', '172.18.96.11'),
// 数据库名
'database' => 'duanju-4',
// 数据库用户名
'username' => env('SLAVE_USERNAME', 'root'),
'username' => getenv('SLAVE_USERNAME', 'root'),
// 数据库密码
'password' => env('SLAVE_PASSWORD', 'VideoServer'),
'password' => getenv('SLAVE_PASSWORD', 'VideoServer'),
// 数据库连接端口
'hostport' => env('SLAVE_HOSTPORT', '3306'),
'hostport' => getenv('SLAVE_HOSTPORT', '3306'),
// 数据库连接参数
'params' => [
// 连接超时3秒
@@ -1067,15 +1067,15 @@ return [
// 数据库类型
'type' => 'mysql',
// 服务器地址
'hostname' => env('SLAVE_HOSTNAME', '172.18.96.10'),
'hostname' => getenv('SLAVE_HOSTNAME', '172.18.96.10'),
// 数据库名
'database' => 'duanju',
// 数据库用户名
'username' => env('SLAVE_USERNAME', 'root'),
'username' => getenv('SLAVE_USERNAME', 'root'),
// 数据库密码
'password' => env('SLAVE_PASSWORD', 'VideoServer'),
'password' => getenv('SLAVE_PASSWORD', 'VideoServer'),
// 数据库连接端口
'hostport' => env('SLAVE_HOSTPORT', '3306'),
'hostport' => getenv('SLAVE_HOSTPORT', '3306'),
// 数据库连接参数
'params' => [
// 连接超时3秒
@@ -1103,15 +1103,15 @@ return [
// 数据库类型
'type' => 'mysql',
// 服务器地址
'hostname' => env('SLAVE_HOSTNAME', '172.18.96.10'),
'hostname' => getenv('SLAVE_HOSTNAME', '172.18.96.10'),
// 数据库名
'database' => 'duanju-0',
// 数据库用户名
'username' => env('SLAVE_USERNAME', 'root'),
'username' => getenv('SLAVE_USERNAME', 'root'),
// 数据库密码
'password' => env('SLAVE_PASSWORD', 'VideoServer'),
'password' => getenv('SLAVE_PASSWORD', 'VideoServer'),
// 数据库连接端口
'hostport' => env('SLAVE_HOSTPORT', '3306'),
'hostport' => getenv('SLAVE_HOSTPORT', '3306'),
// 数据库连接参数
'params' => [
// 连接超时3秒
@@ -1139,15 +1139,15 @@ return [
// 数据库类型
'type' => 'mysql',
// 服务器地址
'hostname' => env('SLAVE_HOSTNAME', '172.18.96.10'),
'hostname' => getenv('SLAVE_HOSTNAME', '172.18.96.10'),
// 数据库名
'database' => 'duanju-1',
// 数据库用户名
'username' => env('SLAVE_USERNAME', 'root'),
'username' => getenv('SLAVE_USERNAME', 'root'),
// 数据库密码
'password' => env('SLAVE_PASSWORD', 'VideoServer'),
'password' => getenv('SLAVE_PASSWORD', 'VideoServer'),
// 数据库连接端口
'hostport' => env('SLAVE_HOSTPORT', '3306'),
'hostport' => getenv('SLAVE_HOSTPORT', '3306'),
// 数据库连接参数
'params' => [
// 连接超时3秒
@@ -1174,15 +1174,15 @@ return [
// 数据库类型
'type' => 'mysql',
// 服务器地址
'hostname' => env('SLAVE_HOSTNAME', '172.18.96.10'),
'hostname' => getenv('SLAVE_HOSTNAME', '172.18.96.10'),
// 数据库名
'database' => 'duanju-2',
// 数据库用户名
'username' => env('SLAVE_USERNAME', 'root'),
'username' => getenv('SLAVE_USERNAME', 'root'),
// 数据库密码
'password' => env('SLAVE_PASSWORD', 'VideoServer'),
'password' => getenv('SLAVE_PASSWORD', 'VideoServer'),
// 数据库连接端口
'hostport' => env('SLAVE_HOSTPORT', '3306'),
'hostport' => getenv('SLAVE_HOSTPORT', '3306'),
// 数据库连接参数
'params' => [
// 连接超时3秒
@@ -1210,15 +1210,15 @@ return [
// 数据库类型
'type' => 'mysql',
// 服务器地址
'hostname' => env('SLAVE_HOSTNAME', '172.18.96.10'),
'hostname' => getenv('SLAVE_HOSTNAME', '172.18.96.10'),
// 数据库名
'database' => 'duanju-3',
// 数据库用户名
'username' => env('SLAVE_USERNAME', 'root'),
'username' => getenv('SLAVE_USERNAME', 'root'),
// 数据库密码
'password' => env('SLAVE_PASSWORD', 'VideoServer'),
'password' => getenv('SLAVE_PASSWORD', 'VideoServer'),
// 数据库连接端口
'hostport' => env('SLAVE_HOSTPORT', '3306'),
'hostport' => getenv('SLAVE_HOSTPORT', '3306'),
// 数据库连接参数
'params' => [
// 连接超时3秒
@@ -1245,15 +1245,15 @@ return [
// 数据库类型
'type' => 'mysql',
// 服务器地址
'hostname' => env('SLAVE_HOSTNAME', '172.18.96.10'),
'hostname' => getenv('SLAVE_HOSTNAME', '172.18.96.10'),
// 数据库名
'database' => 'duanju-4',
// 数据库用户名
'username' => env('SLAVE_USERNAME', 'root'),
'username' => getenv('SLAVE_USERNAME', 'root'),
// 数据库密码
'password' => env('SLAVE_PASSWORD', 'VideoServer'),
'password' => getenv('SLAVE_PASSWORD', 'VideoServer'),
// 数据库连接端口
'hostport' => env('SLAVE_HOSTPORT', '3306'),
'hostport' => getenv('SLAVE_HOSTPORT', '3306'),
// 数据库连接参数
'params' => [
// 连接超时3秒