From 5a1d44095c95b1d7e113e159f14b218c1f0a4e13 Mon Sep 17 00:00:00 2001 From: luorijun Date: Thu, 12 Feb 2026 16:49:58 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=91=E6=9F=9A=E6=89=80=E6=9C=89=E6=9C=AA?= =?UTF-8?q?=E8=BF=87=E6=9C=9F=E8=B4=A6=E5=8F=B7=E9=83=BD=E4=B8=8D=E5=85=81?= =?UTF-8?q?=E8=AE=B8=E9=87=8D=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/jinyou/controller/Jinyoujt.php | 53 ++++++++++++++++++----------- app/jinyou/model/ProductAccount.php | 10 ++++++ 2 files changed, 44 insertions(+), 19 deletions(-) create mode 100644 app/jinyou/model/ProductAccount.php diff --git a/app/jinyou/controller/Jinyoujt.php b/app/jinyou/controller/Jinyoujt.php index f03e5d0..88fe2dd 100644 --- a/app/jinyou/controller/Jinyoujt.php +++ b/app/jinyou/controller/Jinyoujt.php @@ -10,6 +10,7 @@ use app\jinyou\model\Package as PackageModel; use app\jinyou\model\PriceScheme as SchemeModel; use app\jinyou\model\UserPrice as UserPriceModel; use app\jinyou\model\ProductOrder as ProductOrderModel; +use app\jinyou\model\ProductAccount as ProductAccountModel; use enum\order\ProductOrder as OrderEnum; use app\user\model\UserScore as UserScore; use app\jinyou\model\Account as AccountModel; @@ -66,7 +67,7 @@ class Jinyoujt extends Controller //创建静态订单 public function create_order() { $request_data = json_decode(file_get_contents("php://input"),true)['order_info']; - + $return_data['code'] = 0; $request_data['price'] = abs($request_data['price']); @@ -74,11 +75,11 @@ class Jinyoujt extends Controller $user_model = new UserModel; $jinyoujingtai = new Jinyoujingtai; $package_model = new PackageModel; + $product_account = new ProductAccountModel; $user_update_info = []; $user_info = $user_model->getOne(['Id' => $this->userinfo['UserId']]); - //套餐详情 $package_info = $package_model->getOne(['Id' => $request_data['package_id']]); @@ -117,6 +118,20 @@ class Jinyoujt extends Controller } //判断账号是否存在 + $timezone = new \DateTimeZone('Asia/Shanghai'); + $datetime = new \DateTime('now', $timezone); // 确保是东八区时间 + $account_result = $product_account->getCount([ + 'ProductId' => $package_info['ProductId'], + 'Account' => $request_data['account'], + 'EndTime' => ['>',$datetime->format('Y-m-d H:i:s')] + ]); + if($account_result['count'] > 0){ + $return_data['code'] = -1; + $return_data['msg'] = "账号已经存在!"; + echo json_encode($return_data); + die; + } + $exist = $jinyoujingtai::checkVpnAccountExists($request_data['account'],$request_data['type']); if($exist->code != 200){ $return_data['code'] = -1; @@ -145,11 +160,11 @@ class Jinyoujt extends Controller $order_enum = new OrderEnum; - //判断新开类型 + //判断新开类型 $OrderType = $order_enum::$New; if ($request_data['buy_num'] > 1) { $OrderType = $order_enum::$News; - } + } $OtherPayAmount = 0; $AccountPayAmount = 0; @@ -242,7 +257,7 @@ class Jinyoujt extends Controller $order_info['OrderState'] = $order_enum::$Complete; //添加订单 $order_model->add($order_info); - + $account_model = new AccountModel; $return_data = $account_model->open_account($request_data,$user_info,$package_info); @@ -271,7 +286,7 @@ class Jinyoujt extends Controller $score_model = new AgentScoreModel(); - + $score_data = [ 'agent_id' => $order_info['agent_id'], 'order_id' => $order_info['Id'], @@ -310,8 +325,8 @@ class Jinyoujt extends Controller ]; //添加订单 $order_model->add($order_info); - - + + $pay_html = Alipay::pay_jinyou($param); $info = [ 'code'=>2, @@ -319,7 +334,7 @@ class Jinyoujt extends Controller ]; echo json_encode($info); } else if($request_data['pay_type'] == $order_enum::$Wechat) { - + $order_model->add($order_info); //微信支付 $wxpay = new Wxpay(); @@ -372,7 +387,7 @@ class Jinyoujt extends Controller } $jinyoujingtai = new Jinyoujingtai; - + $data = $jinyoujingtai::regionSurplusOuts($product_shuidi_id,$is_unshar,$game_id); echo json_encode($data); @@ -382,19 +397,19 @@ class Jinyoujt extends Controller public function change_ip_list() { $info = json_decode(file_get_contents("php://input"),true)['data']; $jinyoujingtai = new Jinyoujingtai; - + $data = $jinyoujingtai::switchIpList(121,$info['account'],$info['type']); echo json_encode($data); - + } - + //切换的ip public function change_ip() { $info = json_decode(file_get_contents("php://input"),true)['data']; $jinyoujingtai = new Jinyoujingtai; - + $account_model = new AccountModel; $where = [ 'ProductId' => 28, @@ -406,21 +421,21 @@ class Jinyoujt extends Controller if ($info['chinge_addr']['rid'] != 0 ) { $data = $jinyoujingtai::changeRegion(121,$info['chinge_addr']['province_id'],$info['chinge_addr']['rid'],$info['chinge_addr']['account'],$info['chinge_addr']['type']); } - + if ($info['chinge_ip']['ip_id'] != 0 ) { $data = $jinyoujingtai::saveSwitchIp(121,$info['chinge_ip']['account'],$info['chinge_ip']['type'],$info['chinge_ip']['ip_id']); } $shuidi_account_data = $jinyoujingtai::accountInfo(121,$info['chinge_ip']['account'],$info['chinge_ip']['type']); - + $update_data = [ 'Remark' => $shuidi_account_data->data->region.$shuidi_account_data->data->address, 'Raw' => $shuidi_account_data->data->inlet_website, ]; $account_model->updateOne($where,$update_data); - + echo json_encode(['code' => 1]); - + } //解除屏蔽 @@ -458,4 +473,4 @@ class Jinyoujt extends Controller echo json_encode(['Code'=>30000,]); } -} \ No newline at end of file +} diff --git a/app/jinyou/model/ProductAccount.php b/app/jinyou/model/ProductAccount.php new file mode 100644 index 0000000..5f43883 --- /dev/null +++ b/app/jinyou/model/ProductAccount.php @@ -0,0 +1,10 @@ +