http上线

This commit is contained in:
“wanyongkang”
2023-12-26 16:37:09 +08:00
parent e768fdf8e1
commit 95200f1c5a
13 changed files with 1269 additions and 3 deletions

View File

@@ -0,0 +1,425 @@
<?php
namespace app\http\controller;
use fastphp\base\Controller;
use app\http\model\User as UserModel;
use app\http\model\Recharge as RechargeModel;
use app\http\model\Order as OrderModel;
use extend\wechatpay\Wxpay;
use extend\alipay\Alipay;
use enum\http\Order as HttpOrderEnum;
use app\http\model\Package as PackageModel;
class Order extends Controller
{
private $ju_zhengsong = [
'50' => 50,
'200' => 210,
'500' => 550,
'1000' => 1150,
'2000' => 2400,
'5000' => 6250,
'10000' => 13000,
];
// 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']);
if ($this->http_user_info['is_verify'] == 0) {
$return_data = [
'code'=>-1,
'data' => '非法参数',
'msg' => '未实名,请先实名!'
];
echo json_encode($return_data);
die;
}
}
//创建订单
public function create_order(){
$data = json_decode(file_get_contents("php://input"),true)['order_info'];
$data['money'] = abs($data['money']);
$return_data = [];
switch ($data['order_type']) {
case 1:
$return_data = $this->recharge($data,HttpOrderEnum::$charge,$this->url_root.'/plan/recharge/place/order');
break;
case 2:
$return_data = $this->dxwxl($data,HttpOrderEnum::$new,$this->url_root.'/plan/unlimited/place/order');
break;
case 3:
$return_data = $this->dxbt($data,HttpOrderEnum::$new,$this->url_root.'/plan/period/place/order');
break;
case 4:
$return_data = $this->dxbl($data);
break;
case 5:
$return_data = $this->game($data,HttpOrderEnum::$new,$this->url_root.'/plan/long/place/order');
break;
}
echo json_encode($return_data);
}
//续费
public function rebuy_order(){
$data = json_decode(file_get_contents("php://input"),true)['order_info'];
$data['money'] = abs($data['money']);
unset($data['data']['title']);
$return_data = [];
switch ($data['order_type']) {
case 2:
$return_data = $this->dxwxl($data,HttpOrderEnum::$rebuy,$this->url_root.'/user/pack/renew');
break;
case 3:
$return_data = $this->dxbt($data,HttpOrderEnum::$rebuy,$this->url_root.'/user/pack/renew');
break;
case 5:
unset($data['data']['ids']);
$return_data = $this->game($data,HttpOrderEnum::$rebuy,$this->url_root.'/user/pack/renew');
break;
case 6:
$return_data = $this->game($data,HttpOrderEnum::$rebuy,$this->url_root.'/user/long/ip/renew');
break;
}
echo json_encode($return_data);
}
//充值
private function recharge($data) {
$data['money'] = abs($data['money']);
$recharge_model = new RechargeModel;
$recharge_data = [];
$recharge_data['pay_money'] = $data['money'];
$recharge_data['user_id'] = $this->userinfo['UserId'];
//判断充值的金额是否在赠送列表里
if (in_array($recharge_data['pay_money'],$this->ju_zhengsong)){
$recharge_data['ju_money'] = $this->ju_zhengsong[$data['money']];
} else {
die;
}
$recharge_data['pay_type'] = $data['pay_type'];
$recharge_data['order_no'] = md5(time());
$recharge_data['pay_status'] = 0;
$recharge_model->add($recharge_data);
//支付宝
if ($data['pay_type'] == 2) {
$param = [
'out_trade_no' => $recharge_data['order_no'],
'total_amount' => $data['money'],
'subject' => 'HTTP充值',
'product_code' => 'FAST_INSTANT_TRADE_PAY',
'timeout_express' => '30m',
];
$pay_html = Alipay::pay_http($param);
$info = [
'code'=>2,
'data' => $pay_html
];
return $info;
}
//微信
if ($data['pay_type'] == 3) {
//微信支付
$wxpay = new Wxpay();
$param = [
'username' => $this->userinfo['LoginName'],
'money' => $data['money']*100,
'order_no' => $recharge_data['order_no'],
];
$url = $wxpay->http_pay($param);
$info = [
'code'=>3,
'data' => $url
];
return $info;
}
$info = [
'code'=>-1,
'data' => '非法参数'
];
return $info;
}
//短效无限量
private function dxwxl($data, $order_type=1,$url='') {
$order_data = [
'user_id' => $this->http_user_info['Id'],
'order_type' => $order_type,
'package_type' => HttpOrderEnum::$dxwxl,
'durationType' => isset($data['data']['durationType'])?$data['data']['durationType']:'',
'order_status' => HttpOrderEnum::$pay_yes,
'money' => $data['money']
];
if ($order_type == 2) {
unset($data['data']['durationType']);
}
$request_data = $data['data'];
$request_data['sgUserId'] = $this->http_user_info['sgUserId'];
return $this->order_format($data,$order_data,$request_data,$url);
}
//短效包天
private function dxbt($data,$order_type=1,$url='') {
$order_data = [
'user_id' => $this->http_user_info['Id'],
'order_type' => $order_type,
'package_type' => HttpOrderEnum::$dxbt,
'durationType' => isset($data['data']['durationType'])?$data['data']['durationType']:'',
'order_status' => HttpOrderEnum::$pay_yes,
'money' => $data['money']
];
if ($order_type == 2) {
unset($data['data']['durationType']);
}
$request_data = $data['data'];
$request_data['sgUserId'] = $this->http_user_info['sgUserId'];
return $this->order_format($data,$order_data,$request_data,$url);
}
//短效包量
private function dxbl($data) {
$order_data = [
'user_id' => $this->http_user_info['Id'],
'order_type' => HttpOrderEnum::$new,
'package_type' => HttpOrderEnum::$dxbl,
'durationType' => $data['data']['durationType'],
'order_status' => HttpOrderEnum::$pay_yes,
'money' => $data['money']
];
$request_data = $data['data'];
$request_data['sgUserId'] = $this->http_user_info['sgUserId'];
return $this->order_format($data,$order_data,$request_data,$this->url_root.'/plan/usage/place/order');
}
//长效游戏
private function game($data,$order_type=1,$url='') {
if (isset($data['data']['isAbroad'])) {
if($data['data']['isAbroad'] == '国内') {
$data['data']['isAbroad'] = 0;
} else if($data['data']['isAbroad'] == '国外') {
$data['data']['isAbroad'] = 1;
}
}
$order_data = [
'user_id' => $this->http_user_info['Id'],
'order_type' => $order_type,
'package_type' => HttpOrderEnum::$cxyx,
'game_type' => isset($data['data']['isAbroad'])?isset($data['data']['isAbroad']):'',
'ip_count' => $data['data']['ipAmount'],
'order_status' => HttpOrderEnum::$pay_yes,
'money' => $data['money']
];
// if ($order_type == 2) {
// unset($data['data']['isAbroad']);
// unset($data['data']['ipAmount']);
// }
$request_data = $data['data'];
$request_data['sgUserId'] = $this->http_user_info['sgUserId'];
return $this->order_format($data,$order_data,$request_data,$url);
}
//获取更换ip的城市列表
public function get_change_ip_city() {
$data = json_decode(file_get_contents("php://input"),true);
$url = $this->url_root.'/user/long/ip/relate/cities';
unset($data['cookie']);
$data['sgUserId'] = $this->http_user_info['sgUserId'];
$request_data = formatHttpRequert($data);
echo(linkcurl($url,'POST',$request_data,[],0));
}
//更换ip订单
public function change_ip_order() {
$data = json_decode(file_get_contents("php://input"),true)['order_info'];
$url = $this->url_root.'/user/long/ip/switch';
$package_model = new PackageModel;
$data['data']['order_type'] = 6;
$price = $package_model->get_price($data['data']);
$data['money'] = round(($data['data']['data']['periodAmount'] * $price['price'] * $data['data']['data']['ipAmount']),2);
unset($data['data']['data']);
unset($data['data']['order_type']);
$order_data = [
'user_id' => $this->http_user_info['Id'],
'order_type' => HttpOrderEnum::$change_ip,
'package_type' => HttpOrderEnum::$cxyx,
'order_status' => HttpOrderEnum::$pay_yes,
'ip_count' => 1,
'game_type' => isset($data['data']['isAbroad'])?isset($data['data']['isAbroad']):'',
'money' => $data['money']
];
unset($data['data']['cookie']);
unset($data['data']['title']);
unset($data['data']['isAbroad']);
$request_data = $data['data'];
$request_data['sgUserId'] = $this->http_user_info['sgUserId'];
$return_data = $this->order_format($data,$order_data,$request_data,$url);
echo json_encode($return_data);
}
private function order_format($data,$order_data,$request_data,$http_url) {
//去掉切换ip的价格计算在上一步计算
if ($order_data['order_type'] != HttpOrderEnum::$change_ip) {
$package_model = new PackageModel;
$price = $package_model->get_price($data);
switch ($data['order_type']) {
case 2:
$data['money'] = round($data['data']['periodAmount'] * $price['price'],2);
break;
case 3:
$data['money'] = round(($data['data']['periodAmount'] * $price['price'] * $data['data']['ipAmount']),2);
break;
case 5:
case 6:
$data['money'] = round(($data['data']['periodAmount'] * $price['price'] * $data['data']['ipAmount']),2);
break;
}
}
$data['money'] = abs($data['money']);
if ($this->http_user_info['ju_money'] >= $data['money']) {
$ju_money = $this->http_user_info['ju_money'] - $data['money'];
$user_update_data['ju_money'] = $ju_money;
$where = [
'Id' => $this->userinfo['UserId'],
'ju_money' => $this->http_user_info['ju_money']
];
$user_model = new UserModel;
if($user_model->updateOne($where,$user_update_data)) {
$order_model = new OrderModel;
$order_data['order_no'] = md5(time());
if ($order_model->add($order_data)) {
$url = $http_url;
$request_data = formatHttpRequert($request_data);
$http_data = json_decode(linkcurl($url,'POST',$request_data,[],0));
if ($http_data->s < 0) {
$info = [
'code'=>-1,
'data' => '非法参数',
'msg' => '请求后台失败,请联系客服!'
];
return $info;
} else {
$request_order_data = [
'sgUserId' => $this->http_user_info['sgUserId'],
'orderId' => $http_data->d->orderId,
'orderType' => $http_data->d->orderType,
];
//支付订单
$order_url = $this->url_root.'/user/order/try/pay';
$request_order_data = formatHttpRequert($request_order_data);
$http_order_data = json_decode(linkcurl($order_url,'POST',$request_order_data,[],0));
if ($http_order_data->s < 0) {
$info = [
'code'=>-1,
'data' => '非法参数',
'msg' => '请求后台失败,请联系客服!'
];
return $info;
} else {
$order_update = [
'status' => 1,
'order_id' => $http_order_data->d->orderId,
'serial' => $http_order_data->d->serial,
'payCash' => $http_order_data->d->payCash,
];
$order_id = $order_model->getNewOne('id')['id'];
$order_model->updateOne(['id' => $order_id],$order_update);
$info = [
'code'=>1,
'data' => '',
'msg' => '操作成功!'
];
return $info;
}
}
} else {
$info = [
'code'=>-1,
'data' => '非法参数',
'msg' => '请求后台失败,请联系客服!'
];
return $info;
}
} else {
$info = [
'code'=>-1,
'data' => '非法参数',
'msg' => '聚币不足!'
];
return $info;
}
} else {
$info = [
'code'=>-1,
'data' => '非法参数',
'msg' => '聚币不足!'
];
return $info;
}
}
}

View File

@@ -0,0 +1,88 @@
<?php
namespace app\http\controller;
use app\http\model\Package as PackageModel;
//appid1001
//tokence50f58b8f977b069575db6985a049b5
class Product
{
// "sgUserId": 0, //必填松果用户id
// "isAbroad": 0, //必填是否海外0-国内1-海外
// "shareType": 1, //必填线路类型1-共享2-独享
// "gameId": 0, //可选游戏id共享请传递0或不传独享在101协议中返回
// "lineType": 1, //必填线路质量类型1-普通2-优质
// "bandwidth": 1, //必填带宽1-1M、2-2M、5-5M、10-10M
// "cityCode": 0, //可选城市编码0表示随机不指定在102协议中返回
// "isp": 0, //可选运营商0表示随机不指定仅限国内线路使用2-电信3-移动4-联通
// "ipAmount": 1, //必填购买IP数量最小1个
// "periodType": 1, //必填周期类型1-按天7-按周30-按月90-按季度
// "periodAmount": 1,//必填购买周期根据periodType来例如按天就是N天按周就是N周
// private $url_root = 'https://sandbox.sgxz.cn';
private $url_root = 'https://merchant.sgxz.cn';
//查询长效可选城市
public function city(){
$request_data = $_POST;
$url = $this->url_root.'/plan/long/assignable/cities';
$request_data = formatHttpRequert($request_data);
echo(linkcurl($url,'GET',$request_data,[],0));
}
//查询长效可切换入口城市
public function in_city(){
$request_data = $_POST['data'];
$url = $this->url_root.'/plan/long/assignable/cities';
$request_data = formatHttpRequert($request_data);
echo(linkcurl($url,'GET',$request_data,[],0));
}
//查询长效可切换出口城市
public function out_city(){
$request_data = json_decode(file_get_contents("php://input"),true)['data'];
$url = $this->url_root.'/plan/long/assignable/cities';
$request_data = formatHttpRequert($request_data);
echo(linkcurl($url,'GET',$request_data,[],0));
}
//查询长效可选游戏
public function game(){
$request_data = $_POST;
$url = $this->url_root.'/plan/long/assignable/games';
$request_data = formatHttpRequert($request_data);
echo(linkcurl($url,'GET',$request_data,[],0));
}
//可选线路数量
public function linecount(){
$request_data = $_POST;
$url = $this->url_root.'/plan/long/assignable/line/count';
$request_data = formatHttpRequert($request_data);
echo(linkcurl($url,'GET',$request_data,[],0));
}
//计算价格
public function calc_price(){
$data = $_POST;
$package_model = new PackageModel;
$price = $package_model->get_price($data);
echo json_encode($price);
}
}

View File

@@ -0,0 +1,397 @@
<?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));
}
}

9
app/http/model/Order.php Normal file
View File

@@ -0,0 +1,9 @@
<?php
namespace app\http\model;
use fastphp\base\Model;
class Order extends Model
{
protected $table = 'http_order';
}

View File

@@ -0,0 +1,78 @@
<?php
namespace app\http\model;
use fastphp\base\Model;
use enum\http\Order as HttpOrderEnum;
class Package extends Model
{
protected $table = 'http_package';
// order_info:{
// order_type:1,//1:预储值、2短效无限量、3短效包天、4短效包量、5长效游戏
// money:1,
// pay_type:2,//1聚币 2支付宝 3微信
// data:{}
// },
public function get_price($data) {
$where = [];
if (isset($data['data']['title'])) {
unset($data['data']['title']);
}
if (isset($data['data']['packId'])) {
unset($data['data']['packId']);
}
if (isset($data['data']['packType'])) {
unset($data['data']['packType']);
}
if (isset($data['data']['ipAmount'])) {
unset($data['data']['ipAmount']);
}
if (isset($data['data']['ids'])) {
unset($data['data']['ids']);
}
switch ($data['order_type']) {
case 2:
$where = $data['data'];
$where['package_type'] = HttpOrderEnum::$dxwxl;
$where['periodAmount'] = 1;
break;
case 3:
$where = $data['data'];
$where['package_type'] = HttpOrderEnum::$dxbt;
$where['periodAmount'] = 1;
$where['ipAmount'] = 1;
break;
case 4:
$where = $data['data'];
$where['package_type'] = HttpOrderEnum::$dxbl;
unset($where['ipAmount']);
break;
case 5:
case 6:
$where = [
'periodType' => $data['data']['periodType'],
'isAbroad' => $data['data']['isAbroad'],
'shareType' => $data['data']['shareType'],
'isRelayed' => $data['data']['isRelayed'],
'lineType' => $data['data']['lineType'],
'bandwidth' => $data['data']['bandwidth'],
'package_type' => HttpOrderEnum::$cxyx
];
if ($data['data']['isAbroad'] == 0) {
unset($where['isRelayed']);
}
if ($data['data']['shareType'] == 1) {
unset($where['lineType']);
}
break;
}
$price = $this->getOne($where, 'ipAmount,price');
return $price;
}
}

View File

@@ -0,0 +1,9 @@
<?php
namespace app\http\model;
use fastphp\base\Model;
class Recharge extends Model
{
protected $table = 'http_recharge';
}

33
app/http/model/User.php Normal file
View File

@@ -0,0 +1,33 @@
<?php
namespace app\http\model;
use fastphp\base\Model;
class User extends Model
{
// private $url_root = 'https://sandbox.sgxz.cn';
private $url_root = 'https://merchant.sgxz.cn';
protected $table = 'user';
//获取用户的http相关信息 并且初始化sgUserId
public function get_http_user($id){
$user_info = $this->getOne(['Id' => $id],'Id,sgUserId,ju_money,is_verify');
if (empty($user_info['sgUserId'])) {
$request_data = ['account' => $user_info['Id']];
$url = $this->url_root.'/register/user';
$request_data = formatHttpRequert($request_data);
$http_data = json_decode(linkcurl($url,'POST',$request_data,[],0));
$update_user_info['sgUserId'] = $user_info['sgUserId'] = $http_data->d->id;
$this->updateOne(['Id' => $id],$update_user_info);
}
return $user_info;
}
}