Files
juipphp/app/http/controller/User.php

397 lines
12 KiB
PHP
Raw Normal View History

2023-12-26 16:37:09 +08:00
<?php
namespace app\http\controller;
use fastphp\base\Controller;
use app\http\model\User as UserModel;
use app\http\model\Order as OrderModel;
use enum\http\Order as HttpOrderEnum;
use app\http\model\Recharge as RechargeModel;
class User extends Controller
{
// private $url_root = 'https://sandbox.sgxz.cn';
private $url_root = 'https://merchant.sgxz.cn';
private $http_user_info = [];
public function __construct()
{
parent::__construct('','');
if (empty($this->userinfo['UserId'])) {
die;
}
$user_model = new UserModel;
$this->http_user_info = $user_model->get_http_user($this->userinfo['UserId']);
}
//获取聚币余额
public function get_balance() {
$data = $this->http_user_info['ju_money'];
echo json_encode($data);
}
//获取所有充值订单
public function charge_list() {
$recharge_model = new RechargeModel;
$where = [
'user_id' => $this->userinfo['UserId'],
'user_id' => $this->userinfo['UserId'],
];
$list = $recharge_model->getListPage($where);
$pay_type = [
'2' => '支付宝',
'3' => '微信',
];
foreach ($list as &$info) {
$info['pay_type'] = $pay_type[$info['pay_type']];
}
echo json_encode($list);
}
//短效全部套餐
public function dx_package() {
$request_data = [
'sgUserId' => $this->http_user_info['sgUserId'],
];
$url = $this->url_root.'/user/short/pack/list';
$request_data = formatHttpRequert($request_data);
$data = json_decode(linkcurl($url,'POST',$request_data,[],0));
$list = array_merge($data->d->packs->period,$data->d->packs->unlimited,$data->d->packs->usage);
foreach ($list as &$info) {
$info->name = HttpOrderEnum::$package_type[ $info->planType];
$info->durationType2 = $info->durationType;
$info->durationType = HttpOrderEnum::$durationType[ $info->durationType];
$info->expireTime = date('Y-m-d H:i:s',$info->expireTime);
$info->isExpired = $info->isExpired?'已过期':'未过期';
$info->ipAmount = $info->ipAmount?:'无限量';
$info->remainingAmount = $info->remainingAmount?:'无限量';
}
$return_data = [
'code' => 1,
'data' => $list,
'msg' => '',
];
echo json_encode($return_data);
}
//短效全部套餐
public function dx_order() {
$order_model = new OrderModel();
$order_where = [
'package_type' => ['in',HttpOrderEnum::$package_list],
'order_status' => HttpOrderEnum::$pay_yes,
'user_id' => $this->userinfo['UserId']
];
$order_list = $order_model->getListPage($order_where);
foreach ($order_list as &$info) {
$info['order_type'] = HttpOrderEnum::$order_type[$info['order_type']];
$info['package_type'] = HttpOrderEnum::$package_type[$info['package_type']];
$info['durationType'] = HttpOrderEnum::$durationType[ $info['durationType']];
}
$return_data = [
'code' => 1,
'data' => $order_list,
'msg' => '',
];
echo json_encode($return_data);
}
//用户短效每日使用情况查询
public function dx_used() {
$request_data = [
'sgUserId' => $this->http_user_info['sgUserId'],
];
$url = $this->url_root.'/user/short/ip/used/summary';
$request_data = formatHttpRequert($request_data);
$data = json_decode(linkcurl($url,'POST',$request_data,[],0));
$return_data = [
'code' => 1,
'data' => $data->d,
'msg' => '',
];
echo json_encode($return_data);
}
//用户短效每日使用情况查询
public function dx_used_log() {
$request_data = json_decode(file_get_contents("php://input"),true)['data'];
$request_data = [
'sgUserId' => $this->http_user_info['sgUserId'],
'page' => isset($request_data['page'])?$request_data['page']:1,
'limit' => 50,
'packType' => $request_data['packType'],
];
$url = $this->url_root.'/user/short/ip/used/list';
$request_data = formatHttpRequert($request_data);
$data = json_decode(linkcurl($url,'POST',$request_data,[],0));
foreach ($data->d->items as &$info) {
$info->packType = HttpOrderEnum::$package_type[$info->packType];
$info->createTime = date('Y-m-d H:i:s',$info->createTime);
}
$return_data = [
'code' => 1,
'data' => $data,
'msg' => '',
];
echo json_encode($return_data);
}
//长效ip列表
public function lang_ip_list() {
$request_data = json_decode(file_get_contents("php://input"),true)['data'];
$request_data['sgUserId'] = $this->http_user_info['sgUserId'];
$url = $this->url_root.'/user/long/ip/list';
foreach ($request_data as $key => &$info) {
if (strlen($info) == 0) {
unset($request_data[$key]);
}
}
$request_data = formatHttpRequert($request_data);
$data = json_decode(linkcurl($url,'POST',$request_data,[],0));
$line_status = [
'1' => '正常',
'0' => '异常',
'9' => '禁用',
];
foreach ($data->d->items as &$info) {
$info->lineType2 = $info->lineType;
$info->lineType = ($info->lineType == 1)?'普通':'优质';
$info->expireTime = date('Y-m-d H:i:s',$info->expireTime);
$info->shareType2 = $info->shareType;
$info->shareType = ($info->shareType == 1)?'共享':'独享';
$info->state = $line_status[$info->state];
}
$return_data = [
'code' => 1,
'data' => $data,
'msg' => '',
];
echo json_encode($return_data);
}
//长效全部套餐
public function cx_package() {
$list = [];
$request_data = [
'sgUserId' => $this->http_user_info['sgUserId'],
];
$url = $this->url_root.'/user/long/pack/list';
$request_data = formatHttpRequert($request_data);
$data = json_decode(linkcurl($url,'POST',$request_data,[],0));
$list = array_merge($data->d->packs);
foreach ($list as &$info) {
$info->isAbroad2 = $info->isAbroad;
$info->isAbroad = HttpOrderEnum::$game_type[ $info->isAbroad];
$info->expireTime = date('Y-m-d H:i:s',$info->expireTime);
$info->isExpired = $info->isExpired?'已过期':'未过期';
$info->shareType = ($info->shareType == 1) ?'共享':'独享';
}
$return_data = [
'code' => 1,
'data' => $list,
'msg' => '',
];
echo json_encode($return_data);
}
//长效全部订单
public function cx_order() {
$order_list = [];
$order_model = new OrderModel();
$order_where = [
'package_type' => HttpOrderEnum::$cxyx,
'order_status' => HttpOrderEnum::$pay_yes,
'user_id' => $this->userinfo['UserId']
];
$order_list = $order_model->getListPage($order_where);
foreach ($order_list as &$info) {
$info['order_type'] = HttpOrderEnum::$order_type[$info['order_type']];
$info['package_type'] = HttpOrderEnum::$package_type[$info['package_type']];
$info['game_type'] = HttpOrderEnum::$game_type[ $info['game_type']];
}
$return_data = [
'code' => 1,
'data' => $order_list,
'msg' => '',
];
echo json_encode($return_data);
}
//长效ip切换记录
public function cx_switch() {
ini_set('display_errors', 'off');
$request_data = json_decode(file_get_contents("php://input"),true)['data'];
$request_data = [
'sgUserId' => $this->http_user_info['sgUserId'],
'page' => isset($request_data['page'])?$request_data['page']:1,
'limit' => 50,
];
$url = $this->url_root.'/user/long/switch/ip/log';
$request_data = formatHttpRequert($request_data);
$data = json_decode(linkcurl($url,'POST',$request_data,[],0));
//切换原因0-系统自动切换1-失效手动切换2-免费手动切换5-管理员免费切换6-收费手动切换
$reason = [
0 => '系统自动切换1',
1 => '失效手动切换2',
2 => '免费手动切换',
5 => '管理员免费切换',
6 => '收费手动切换',
];
foreach ($data->d->items as &$info) {
$info->createTime = date('Y-m-d H:i:s',$info->createTime);
$info->reason = $reason[$info->reason];
}
$return_data = [
'code' => 1,
'data' => $data,
'msg' => '',
];
echo json_encode($return_data);
}
//用户白名单列表
public function white_list() {
$list = [];
$request_data = [
'sgUserId' => $this->http_user_info['sgUserId'],
];
$url = $this->url_root.'/user/short/whitelist';
$request_data = formatHttpRequert($request_data);
$data = json_decode(linkcurl($url,'POST',$request_data,[],0));
$list = $data->d->items;
foreach ($list as &$info) {
$info->isLocked = $info->isLocked?'已锁定':'未锁定';
}
$return_data = [
'code' => 1,
'data' => $list,
'msg' => '',
];
echo json_encode($return_data);
}
//用户创建白名单
public function create_white_ip() {
$request_data = json_decode(file_get_contents("php://input"),true)['data'];
$request_data['sgUserId'] = $this->http_user_info['sgUserId'];
$url = $this->url_root.'/user/short/whitelist/create';
$request_data = formatHttpRequert($request_data);
$data = json_decode(linkcurl($url,'POST',$request_data,[],0));
$return_data = [
'code' => 1,
'msg' => '',
];
echo json_encode($return_data);
}
//用户锁定ip
public function lock_ip() {
$request_data = json_decode(file_get_contents("php://input"),true)['data'];
$request_data['sgUserId'] = $this->http_user_info['sgUserId'];
$url = $this->url_root.'/user/short/whitelist/lock';
$request_data = formatHttpRequert($request_data);
$data = json_decode(linkcurl($url,'POST',$request_data,[],0));
$return_data = [
'code' => 1,
'msg' => '',
];
echo json_encode($return_data);
}
//用户删除ip
public function delete_ip() {
$request_data = json_decode(file_get_contents("php://input"),true)['data'];
$request_data['sgUserId'] = $this->http_user_info['sgUserId'];
$url = $this->url_root.'/user/short/whitelist/delete';
$request_data = formatHttpRequert($request_data);
$data = json_decode(linkcurl($url,'POST',$request_data,[],0));
$return_data = [
'code' => 1,
'msg' => '',
];
echo json_encode($return_data);
}
//提取长效ip
public function get_lang_ip(){
$request_data = json_decode(file_get_contents("php://input"),true)['data'];
$request_data['ids'] = trim($request_data['ids'],',');
$request_data['sgUserId'] = $this->http_user_info['sgUserId'];
$url = $this->url_root.'/user/long/ip/batch/get';
$request_data = formatHttpRequert($request_data);
echo(linkcurl($url,'GET',$request_data,[],0));
}
}