金柚所有未过期账号都不允许重复

This commit is contained in:
2026-02-12 16:49:58 +08:00
parent 2649b20dae
commit 5a1d44095c
2 changed files with 44 additions and 19 deletions

View File

@@ -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,]);
}
}
}

View File

@@ -0,0 +1,10 @@
<?php
namespace app\jinyou\model;
use fastphp\base\Model;
class ProductAccount extends Model
{
protected $table = "product_account";
}