From 537426593a15827f771818d8e5ea4dcbd291d3d5 Mon Sep 17 00:00:00 2001 From: ASUS <515617283@qq.com> Date: Wed, 13 Aug 2025 19:50:06 +0800 Subject: [PATCH] add --- app/common/controller/BaseController.php | 8 +- app/czg/app/controller/Wuyou.php | 295 +++++++++++++++++++++++ app/functions.php | 54 +++++ config/think-orm.php | 288 +++++++++++----------- 4 files changed, 499 insertions(+), 146 deletions(-) create mode 100644 app/czg/app/controller/Wuyou.php diff --git a/app/common/controller/BaseController.php b/app/common/controller/BaseController.php index 4432c0f..9cf981e 100644 --- a/app/common/controller/BaseController.php +++ b/app/common/controller/BaseController.php @@ -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); // 初始化会员鉴权实例 diff --git a/app/czg/app/controller/Wuyou.php b/app/czg/app/controller/Wuyou.php new file mode 100644 index 0000000..3fa0723 --- /dev/null +++ b/app/czg/app/controller/Wuyou.php @@ -0,0 +1,295 @@ +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); + } + + + +} \ No newline at end of file diff --git a/app/functions.php b/app/functions.php index 19d3453..a138b5c 100644 --- a/app/functions.php +++ b/app/functions.php @@ -1,6 +1,7 @@ set($name, $value, $expire); + } + } +} /** * 解锁(用Lua防止误删) */ diff --git a/config/think-orm.php b/config/think-orm.php index bb175f0..79ffb6b 100644 --- a/config/think-orm.php +++ b/config/think-orm.php @@ -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秒