上线金柚产品

This commit is contained in:
“wanyongkang”
2024-02-01 17:13:32 +08:00
parent 058b999606
commit 323ae40042
15 changed files with 1407 additions and 3 deletions

View File

@@ -0,0 +1,74 @@
<?php
namespace app\jinyou\model;
use fastphp\base\Model;
use extend\jinyouapi\Jinyoujingtai;
use enum\account\ProductAccount as AccountEnum;
class Account extends Model
{
protected $table = 'product_account';
//开通账号
public function open_account($account_info,$user_info,$package_info) {
$jinyou = new Jinyoujingtai;
$return_data = [];
foreach ($account_info['product_info'] as $key=>$add_city) {
if ($add_city == 0) {
unset($account_info['product_info'][$key]);
}
}
$package_origin = explode('-',$package_info['OriginKey']);
$api_data = $jinyou::createStatic($package_origin['3'],$account_info['game_id'],$account_info['account'],$account_info['password'],$account_info['buy_num'],121,$package_origin['0'],$package_origin['1'],$package_origin['2'],'',$account_info['product_info']);
$account_list = [];
if ($api_data->code == 200) {
$account_enum = new AccountEnum;
$account_type = $account_enum::$New;
if ($package_info['IsTest'] == 1) {
$account_type = $account_enum::$Test;
} else if ($account_info['buy_num'] > 1) {
$account_type = $account_enum::$News;
}
foreach ($api_data->data as $account) {
$account = [
'TenantId' => 0,
'UserId' => $user_info['Id'],
'UserCode' => $user_info['LoginCode'],
'ProductId' => $package_info['ProductId'],
'ProductName' => $package_info['ProductName'],
'PackageId' => $package_info['Id'],
'PackageName' => $package_info['Name'],
'AccountType' => $account_type,
'Account' => $account->user,
'Pwd' => $account->passwd,
'ConnectCount' => $account->conn_max,
'StartTime' => date('Y-m-d H:i:s',$account->add_time),
'EndTime' => date('Y-m-d H:i:s',$account->end_time),
'Status' => $account_enum::$Normal,
'ChargeStatus' => $account_enum::$Success,
'CreateTime' => date('Y-m-d H:i:s',time()),
'UpdateTime' => date('Y-m-d H:i:s',time()),
'DeleteTag' => 0,
'Remark' => $account->region.$account->address,
'Raw' => $account->inlet_website,
'game_id' => $account->game_id,
];
$account_list[] = $account;
}
$this->addAll($account_list);
$return_data['code'] = 1;
$return_data['msg'] = "账号开通成功!";
} else {
$return_data['code'] = -1;
$return_data['msg'] = "账号开通失败!请联系客服";
}
return $return_data;
}
}

View File

@@ -0,0 +1,68 @@
<?php
namespace app\jinyou\model;
use fastphp\base\Model;
class Package extends Model
{
protected $table = 'product_package';
/**
* 获取套餐
* @param bool $isset_price 是否使用设置的价格
* @param int $discount 折扣
* @param array $user_price 用户的价格;
*/
public function get_package($origin,$isset_price= false,$discount = 0,$user_price = []) {
$where['OriginName'] = ['like', $origin . '%'];
$where['Status'] = 1;
$where['DeleteTag'] = 0;
$package_list = $this->getList($where,'*', 'id asc');
$list = [];
foreach ($package_list as $package) {
$package_info = explode('-',$package['OriginName']);
//判断价格
if ($isset_price) {
$price = 1000000;
$package_price = $package['Price'];
if ($discount != 0) {
$price = $package['LinePrice'] * $discount / 100;
} else {
if (!empty($user_price)) {
if ($package['Id'] == $user_price['PackageId']) {
$price = $user_price['UserPrice'];
}
}
}
//判读最低价
if ($price < $package['MinPrice']) {
$price = $package['MinPrice'];
}
if ($price < $package_price) {
$package['Price'] = $price;
}
}
if (isset($package_info[3])) {
$package['package_name'] = $package_info[3];
} else {
$package['package_name'] = '1小时';
}
if($package_info[1] == "游戏") {
$package_info[1] = 'game';
}
if($package_info[1] == "线路") {
$package_info[1] = 'line';
}
if ($package_info[2] == '测试') {
$package_info[2] = 'test';
}
$list[$package_info[1]][$package_info[2]][] = $package;
}
return $list;
}
}

View File

@@ -0,0 +1,11 @@
<?php
namespace app\jinyou\model;
use fastphp\base\Model;
class PriceScheme extends Model
{
protected $table = 'product_price_scheme';
}

View File

@@ -0,0 +1,11 @@
<?php
namespace app\jinyou\model;
use fastphp\base\Model;
class Product extends Model
{
protected $table = 'product';
}

View File

@@ -0,0 +1,11 @@
<?php
namespace app\jinyou\model;
use fastphp\base\Model;
class ProductOrder extends Model
{
protected $table = 'product_order';
}

19
app/jinyou/model/User.php Normal file
View File

@@ -0,0 +1,19 @@
<?php
/*
* @Descripttion:
* @version:
* @Author: kangkang
* @Date: 2020-10-16 14:44:02
* @LastEditors: “wanyongkang” “937888580@qq.com”
* @LastEditTime: 2024-01-25 17:33:17
*/
namespace app\jinyou\model;
use fastphp\base\Model;
class User extends Model
{
protected $table = 'user';
}

View File

@@ -0,0 +1,36 @@
<?php
namespace app\jinyou\model;
use fastphp\base\Model;
class UserPrice extends Model
{
protected $table = 'product_user_price';
public function get_user_price($user_id,$discount,$package_info){
$price = 100000;
//根据用户价格
if ($discount != 0) {
if ($discount == -1) {
$price = $$this->getOne(['UserId' => $user_id,'PackageId' => $package_info['Id']])['UserPrice'];
} else {
$scheme_model = new PriceScheme;
$discount = $scheme_model->getone(['Id' => $discount])['discount'];
$price = $package_info['LinePrice'] * $discount / 100;
}
//判读最低价
if ($price < $package_info['MinPrice']) {
$price = $package_info['MinPrice'];
}
if ($price < $package_info['Price']) {
$package_info['Price'] = $price;
}
}
return $package_info['Price'];
}
}