master
ELF 5 years ago
parent c0fe59864c
commit 3383b3d2d9

@ -0,0 +1,27 @@
<?php
/**
* 定时自动完成
*/
namespace Admin\Controller;
use Admin\Model\SpendModel;
use Think\Think;
use Base\Tool\Printer;
use Base\Tool\TaskClient;
use Base\Service\PromoteService;
use GuzzleHttp\Client;
use think\Db;
use Base\Tool\GameCatClient;
class GameApiController extends Think {
protected function _initialize()
{
C(api('Config/lists'));
}
public function getGameCatPayTypes() {
$gameCatClient = new GameCatClient();
$result = $gameCatClient->api('get-pay-type');
}
}

@ -0,0 +1,84 @@
<?php
namespace Base\Tool;
use GuzzleHttp\Client;
use GuzzleHttp\Exception\RequestException;
/**
* 游戏猫接口客户端
*/
class GameCatClient
{
const SIGN_NAME = 'Sign';
const SUCCESS = '0000';
protected $client;
private $apis = [
'get-pay-type' => ['uri' => '/api/pay/GetPayType', 'method' => 'get'],
'internal-pay' => ['uri' => '/api/pay/InternalPayOrder/yushi', 'method' => 'post'],
'check-role' => ['uri' => '/api/pay/CheckActorID', 'method' => 'get']
];
public function __construct()
{
$this->client = new Client([
'base_uri' => C('GAME_CAT_URL'),
'timeout' => 10.0,
]);
}
public function api($api, array $params = [])
{
$api = $this->apis[$api] ?? null;
if (is_null($api)) {
throw new \Exception('接口不存在');
}
$params[self::SIGN_NAME] = $this->sign($params);
try {
return $this->request($api, $params);
} catch (\Exception $e) {
$env = C('APP_ENV', null, 'prod');
return ['code' => '1000', 'message' => '接口请求错误。' . ($env == 'prod' ? '' : $e->getMessage()) , 'data' => []];
}
}
public function request($api, $params)
{
if ($api['method'] == 'get') {
return $this->get($api['uri'], $params);
} else {
return $this->post($api['uri'], $params);
}
}
protected function post($uri, array $params = [])
{
$response = $this->client->post($uri, [
'verify' => false,
'form_params' => $params,
]);
$result = (string)$response->getBody();
return json_decode($result, true);
}
protected function get($uri, array $params = [])
{
$response = $this->client->get($uri, [
'verify' => false,
'query' => $params,
]);
$result = (string)$response->getBody();
return json_decode($result, true);
}
protected function sign($params)
{
unset($params[self::SIGN_NAME]);
ksort($params);
$params['key'] = C('GAME_CAT_KEY');
return md5(http_build_query($params));
}
}

@ -6,6 +6,8 @@ namespace Home\Controller;
use Base\Model\PromoteModel;
use Base\Service\PromoteService;
use OSS\Core\OssException;
use Base\Tool\GameCatClient;
use Think\Model;
class TestingResourceController extends BaseController
{
@ -199,6 +201,12 @@ class TestingResourceController extends BaseController
{
$records = [];
$pagination = '';
/**
* @todo 目前固定游戏猫
*/
$games = M('game', 'tab_')->field(['id' , 'game_name'])->where(['id' => ['in', [229, 230]]])->select();
$this->assign('games', $games);
$this->assign('records', $records);
$this->assign('pagination', $pagination);
$this->display();
@ -206,21 +214,70 @@ class TestingResourceController extends BaseController
public function doApply()
{
$gameId = I('game_id', 0);
$roleId = I('role_id', 0);
$serverId = I('server_id', 0);
$userAccount = I('user_account', '');
$records = I('records', []);
$batchNo = '';
$loginPromote = $this->getLoginPromote();
$resources = [];
/**
* @todo 目前仅限游戏猫
*/
if (!in_array($gameId, [229, 230])) {
return $this->ajaxReturn(['status' => 0, 'message' => '该游戏不可申请资源']);
} else {
$resources = $this->getGameCatResources();
}
$user = M('user', 'tab_')->field(['id', 'promote_id'])->where(['account' => $userAccount])->find();
if (is_null($user)) {
return $this->ajaxReturn(['status' => 0, 'message' => '玩家账号不存在']);
}
$testingUser = M('testing_user', 'tab_')->where(['user_id' => $user['id']])->find();
if (is_null($testingUser)) {
return $this->ajaxReturn(['status' => 0, 'message' => '测试账号不存在']);
}
$server = M('server', 'tab_')->field(['id', 'server_name', 'server_id'])->where(['id' => $serverId])->find();
if (is_null($server)) {
return $this->ajaxReturn(['status' => 0, 'message' => '区服不存在']);
}
$role = M('user_play_info', 'tab_')
->field(['id', 'role_id'])
->where(['user_id' => $user['id'], 'game_id' => $gameId, 'server_id' => $server['server_id']])
->find();
if (is_null($role)) {
return $this->ajaxReturn(['status' => 0, 'message' => '角色不存在']);
}
$amount = 0;
foreach ($records as $record) {
$amount += $record['num'] * $record['value'];
foreach ($records as $key => $record) {
if (isset($resources[$record['resource_id']])) {
$value = $resources[$record['resource_id']]['amount'];
$records[$key]['value'] = $value;
$records[$key]['resource_name'] = $resources[$record['resource_id']]['name'];
$amount += $record['num'] * $value;
} else {
return $this->ajaxReturn(['status' => 0, 'message' => '含有资源内容不存在']);
}
}
$batchNo = date('YmdHis') . substr(md5($loginPromote['id'] . strval(microtime(true)) . rand(0, 9999)), 8, 16);
try {
$model = new Model();
$model->startTrans();
$batch = [
'batch_id' => $batchId,
'order_no' => $orderNo,
'user_id' => $record['user_id'],
'game_id' => $record['game_id'],
'batch_no' => $batchNo,
'user_id' => $testingUser['user_id'],
'game_id' => $gameId,
'role_id' => $roleId,
'server_id' => $serverId,
'promote_id' => $loginPromote['id'],
'amount' => $amount,
'status' => 0,
@ -236,39 +293,65 @@ class TestingResourceController extends BaseController
$order = [
'batch_id' => $batchId,
'order_no' => $orderNo,
'testing_resource_id' => $record['resource_id'],
'ref_id' => $record['resource_id'],
'ref_name' => $record['resource_name'],
'num' => $record['num'],
'amount' => $record['num'] * $record['value'],
'remark' => $record['remark'],
];
M('testing_resource_order')->add($order);
}
$model->commit();
return $this->ajaxReturn(['status' => 1, 'message' => '申请成功,等待审核']);
} catch (\Exception $e) {
$model->rollback();
return $this->ajaxReturn(['status' => 0, 'message' => '系统异常']);
}
}
public function bindRole()
{
$testingUserId = I('testing_user_id', 0);
$userAccount = I('user_account', '');
$roleId = I('role_id', '');
$testingRoleId = I('testing_role_id', 0);
$bindUserId = I('bind_user_id', 0);
$bindRoleId = I('bind_role_id', 0);
$user = M('user', 'tab_')->field(['id', 'account'])->where(['account' => $userAccount])->find();
if (is_null($user)) {
$bindUser = M('user', 'tab_')->field(['id', 'account'])->where(['id' => $bindUserId])->find();
if (is_null($bindUser)) {
return $this->ajaxReturn(['status' => 0, 'message' => '用户不存在']);
}
$existBind = M('testing_user', 'tab_')->field(['id'])->where(['bind_user_id' => $user['id']])->find();
$testingUser = M('testing_user', 'tab_')->where(['user_id' => $testingUserId])->find();
if (is_null($testingUser)) {
return $this->ajaxReturn(['status' => 0, 'message' => '测试账号不存在']);
}
$testingRole = M('user_play_info', 'tab_')
->field(['id', 'role_id'])
->where(['id' => $testingRoleId])
->find();
if (is_null($testingRole)) {
return $this->ajaxReturn(['status' => 0, 'message' => '测试账号角色不存在']);
}
$bindRole = M('user_play_info', 'tab_')
->field(['id', 'role_id'])
->where(['id' => $bindRoleId])
->find();
if (is_null($bindRole)) {
return $this->ajaxReturn(['status' => 0, 'message' => '玩家角色不存在']);
}
$existBind = M('testing_user', 'tab_')->field(['id'])->where(['bind_user_id' => $bindUser['id']])->find();
if ($existBind) {
return $this->ajaxReturn(['status' => 0, 'message' => '该玩家账号已被绑定']);
}
M('testing_user', 'tab_')->where(['user_id' => $testingUserId])->save([
'role_id' => $roleId,
'bind_user_id' => $user['id'],
'bind_user_account' => $user['account'],
'bind_role_id' => $roleId,
'role_id' => $testingRole['id'],
'bind_user_id' => $bindUser['id'],
'bind_user_account' => $bindUser['account'],
'bind_role_id' => $bindRoleId,
]);
return $this->ajaxReturn(['status' => 1, 'message' => '绑定成功']);
}
@ -277,4 +360,86 @@ class TestingResourceController extends BaseController
{
}
public function getServers()
{
$gameId = I('game_id', 0);
$map = [];
$map['game_id'] = $gameId;
$servers = M('server', 'tab_')
->field('id,server_name,server_id')
->where($map)
->order('server_id asc')
->select();
return $this->ajaxReturn(['status' => 1, 'message' => '获取成功', 'data' => ['servers' => $servers]]);
}
public function getResourceTypes()
{
$gameId = I('game_id', 0);
$resourceTypes = [];
/**
* @todo 目前固定游戏猫
*/
if (in_array($gameId, [229, 230])) {
$resourceTypes[] = ['id' => 1, 'name' => '通用'];
}
return $this->ajaxReturn(['status' => 1, 'message' => '获取成功', 'data' => ['resourceTypes' => $resourceTypes]]);
}
public function getResources()
{
$typeId = I('type_id', 0);
$resources = [];
/**
* @todo 目前固定游戏猫资源类型ID
*/
if ($typeId == 1) {
$resources = $this->getGameCatResources();
}
return $this->ajaxReturn(['status' => 1, 'message' => '获取成功', 'data' => ['resources' => $resources]]);
}
public function getUserRoles()
{
$gameId = I('game_id', 0);
$serverId = I('server_id', 0);
$userAccount = I('user_account', '');
$server = M('server', 'tab_')->field(['id', 'server_name', 'server_id'])->where(['id' => $serverId])->find();
if (is_null($server)) {
return $this->ajaxReturn(['status' => 0, 'message' => '区服不存在']);
}
$roles = M('user_play_info', 'tab_')
->field(['id', 'role_name'])
->where(['user_account' => $userAccount, 'game_id' => $gameId, 'server_id' => $server['server_id']])
->select();
return $this->ajaxReturn(['status' => 1, 'message' => '获取成功', 'data' => ['roles' => $roles]]);
}
private function getGameCatResources()
{
$resources = [];
$gameCatClient = new GameCatClient();
$result = $gameCatClient->api('get-pay-type');
if ($result['code'] == 1) {
$payTypeList = $result['paytypelist'];
foreach ($payTypeList as $item) {
$resources[$item['PayType']] = [
'ref_id' => $item['PayType'],
'name' => $item['Text'],
'amount' => $item['Amount'],
];
}
}
return $resources;
}
private function getRemainAmount($user)
{
}
}

@ -25,71 +25,434 @@
color: #fff;
border: none;
border-radius: 4px;
cursor: pointer;
}
.normal_table td button.danger-btn {
.normal_table td button.delete-row {
background-color: rgb(249,104,104);
}
.btn-row {
position: relative;
font-size: 11px;
margin-top: 28px;
text-align: center;
}
.btn-row button {
width: 70px;
height: 35px;
display: block;
background: #409eff;
color: #fff;
border: none;
border-radius: 4px;
cursor: pointer;
display: inline-block;
}
.btn-row button.close-btn {
background: #E5E5E5;
color: #535875;
}
.form-group .static-input {
line-height: 32px;
display: inline-block;
}
.trunk-search button {
width: 70px;
height: 35px;
display: block;
background: #409eff;
color: #fff;
border: none;
border-radius: 4px;
cursor: pointer;
display: inline-block;
}
.info-row {
margin-top: 10px;
}
.info-row button {
width: 120px;
height: 25px;
display: block;
background: #E5E5E5;
color: #535875;
border: none;
border-radius: 4px;
cursor: pointer;
display: inline-block;
margin-left: 10px;
}
</style>
<div class="page-search normal_list promoteCoin-record-search" style="padding: 20px;">
<div class="trunk-content article">
<div class="trunk-search clearfix" style="margin-bottom: 10px;">
<form action="{:U('PromoteCoin/subPromotes', array('row'=>I('get.row')))}" method="post" class="clearfix">
<input type="hidden" name="level" value="{:I('level', 0)}">
<div class="form-group normal_space fr">
<input type="submit" class="submit" value="查询">
<form method="post" class="clearfix">
<div class="clearfix">
<div class="form-group fl">
<select id="game-select" name="" class="select_gallery" style="width:150px">
<option value="0">请选择游戏</option>
<?php foreach($games as $game):?>
<option value="<?=$game['id']?>"><?=$game['game_name']?></option>
<?php endforeach;?>
</select>
</div>
<div class="form-group fl">
<select id="server-select" class="select_gallery" style="width:150px">
<option value="0">请选择区服</option>
</select>
</div>
<div class="form-group fl">
<input id="test_account" type="text" name="account" class="txt normal_txt" id="uid" placeholder="请输入测试资源账号" value="{:I('account')}">
</div>
<div class="form-group fl">
<select id="role-select" name="role_id" class="select_gallery" style="width:150px">
<option value="0">请选择角色</option>
</select>
</div>
</div>
<div class="form-group fr">
<label class="form-title select-title">手机号:</label>
<input type="text" name="mobile" class="txt normal_txt" id="uid" placeholder="手机号" value="{:I('mobile')}">
<div class="info-row">
<button id="bind-btn" type="button">绑定玩家账号</button>
<div class="" style="display:inline-block; margin-left: 10px;">当前可用额度1364 待审核额度0</div>
</div>
<div class="form-group fr">
<label class="form-title select-title">账号:</label>
<input type="text" name="account" class="txt normal_txt" id="uid" placeholder="账号" value="{:I('account')}">
<div class="clearfix" style="margin-top: 10px;">
<div class="form-group fl">
<select id="resource-type-select" name="resource_type_id" style="width:150px" class="select_gallery">
<option value="">请选择资源类型</option>
</select>
</div>
<div class="form-group fl">
<select id="resource-select" name="resource_id" style="width:150px" class="select_gallery">
<option value="">请选择资源内容</option>
</select>
</div>
<div class="form-group fl">
<p id="resource-amount" class="static-input">资源价值: --</p>
</div>
<div class="form-group fl">
<input id="num-input" type="text" name="num" class="txt normal_txt" id="uid" placeholder="请输入资源数量" value="">
</div>
<div class="form-group fl">
<input id="remark-input" type="text" name="remark" class="txt normal_txt" id="uid" placeholder="请输入备注" value="">
</div>
<div class="form-group fl">
<button id="add-row" class="add-row" type="button">增加</button>
</div>
</div>
</form>
</div>
<div class="trunk-list list_normal">
<table class="table normal_table">
<tr>
<th width="150">资源类型</th>
<th width="150">资源内容</th>
<th>资源价值</th>
<th>资源数量</th>
<th>备注</th>
<th>+</th>
<th>-</th>
</tr>
<tr>
<td><select name="" class="select_gallery"><option value="">请选择</option></select></td>
<td><select name="" class="select_gallery"><option value="">请选择</option></select></td>
<td>198</td>
<td><input type="text"></td>
<td><input type="text"></td>
<td><button type="button">增加</button></td>
<td><button type="button" class="danger-btn">删除</button></td>
</tr>
</empty>
</table>
<div class="pagenation clearfix">
{$pagination}
</div>
<div class="table-wrapper" style="height: 280px;">
<table id="resource-table" class="table normal_table">
<thead>
<tr class="table-header">
<th width="150">资源类型</th>
<th width="150">资源内容</th>
<th>资源价值</th>
<th>资源数量</th>
<th>备注</th>
<th>操作</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
<div class="btn-row clearfix">
<button id="submit-btn" class="submit-btn" type="button">提交</button>
<button id="close-btn" class="close-btn" type="button">关闭</button>
</div>
</div>
</div>
</div>
</div>
<div id="bind-box" class="layer-box" style="display: none;">
<form method="post" enctype="multipart/form-data">
<div class="form-group">
<label>玩家账号</label>
<div class="form-item" style="width: 250px">
<input name="account" type="text" class="form-input" style="width: 100%;">
</div>
</div>
<div class="form-group">
<label>玩家角色</label>
<div class="form-item" style="width: 250px">
<select id="role-select" name="role_id" style="width:270px" class="select_gallery">
<option value="">请选择</option>
</select>
</div>
</div>
<div class="form-group">
<label></label>
<a id="add-submit" href="javascript:;" class="add-submit btn">确定</a>
</div>
</form>
</div>
</block>
<block name="script">
<script type="text/javascript" src="__JS__/20170831/select2.min.js"></script>
<script type="text/javascript">
$(".select_gallery").select2();
$('.select-user').on({
click: function() {
var tr = $(this).parents('tr').eq(0)
var id = tr.attr('data-id')
var account = tr.find('.item-account').html()
var mobile = tr.find('.item-mobile').html()
var realName = tr.find('.item-real_name').html()
parent.choiceUser(id, account, realName)
$(".select_gallery").select2()
var globalGameId = 0
$('#game-select').on({
change: function () {
var gameId = $(this).val()
globalGameId = gameId
$.ajax({
url: "{:U('getServers')}",
type: "post",
data: { game_id: gameId },
dataType: 'json',
success: function(result){
if (result.status == 1) {
var servers = result.data.servers
var html = "<option value='0'>请选择区服</option>";
for (var i in servers){
html += "<option value='"+servers[i].id+"'>"+servers[i].server_name+"</option>"
}
$("#server-select").html(html);
$("#server-select").select2();
} else {
}
}
})
initTable(gameId)
}
})
var resourceTypes = new Array()
var rowCount = 0
function initTable(gameId) {
var table = $('#resource-table');
table.find('.normal-row').remove()
$.ajax({
url: "{:U('getResourceTypes')}",
type: "post",
data: { game_id: gameId },
dataType: 'json',
success: function(result){
if (result.status == 1) {
rowCount = 0
resourceTypes = result.data.resourceTypes
var selector = $('#resource-type-select')
var html = getResourceTypesHtml()
selector.html(html)
selector.select2();
var resourceSelector = $('#resource-select')
resourceSelector.html(getResourcesHtml([]))
resourceSelector.select2();
$('#resource-amount').html('资源价值:--')
$('#resource-table tbody').html('')
} else {
}
}
})
}
function getResourceTypesHtml() {
var html = "<option value=''>请选择资源类型</option>";
for (var i in resourceTypes) {
html += "<option value='"+resourceTypes[i].id+"'>"+resourceTypes[i].name+"</option>"
}
return html
}
$('#resource-type-select').change(function () {
var that = this
var typeId = $(this).val()
$.ajax({
url: "{:U('getResources')}",
type: "post",
data: { type_id: typeId },
dataType: 'json',
success: function(result){
if (result.status == 1) {
var resources = result.data.resources
var html = getResourcesHtml(resources)
var rowSelect = $('#resource-select')
rowSelect.html(html);
rowSelect.select2();
} else {
}
}
})
})
function getResourcesHtml(resources) {
var html = "<option value=''>请选择资源内容</option>";
for (var i in resources){
html += "<option value='"+resources[i].ref_id+"' data-amount="+resources[i].amount+">"+resources[i].name+"</option>"
}
return html
}
$('#resource-select').change(function () {
var amount = $(this).find('option:selected').attr('data-amount')
amount = amount == undefined ? '--' : amount
$('#resource-amount').html('资源价值:' + amount)
})
$('#add-row').click(function () {
if (rowCount >= 5) {
return layer.msg('最多同时只能添加5条')
}
var resourceTypeId = $('#resource-type-select').val()
var resourceId = $('#resource-select').val()
var resourceTypeName = $('#resource-type-select option:selected').html()
var resourceName = $('#resource-select option:selected').html()
var amount = $('#resource-select option:selected').attr('data-amount')
amount = amount == undefined ? '--' : amount
var num = $('#num-input').val()
var remark = $('#remark-input').val()
if (resourceTypeId == '') {
return layer.msg('请选择资源类型')
}
if (resourceId == '') {
return layer.msg('请选择资源内容')
}
var html = '<tr class="normal-row" data-resource-id="' + resourceId + '" data-resource-type-id="' + resourceTypeId + '" >' +
'<td>' + resourceTypeName + '</td>' +
'<td>' + resourceName + '</td>' +
'<td class="amount">' + amount + '</td>' +
'<td class="num"><input name="num" type="text" value="' + num + '"></td>' +
'<td class="remark"><input name="remark" type="text" value="' + remark + '"></td>' +
'<td><button class="delete-row" type="button" class="danger-btn">删除</button></td>' +
'</tr>';
$('#resource-table tbody').append(html)
rowCount ++
$(".select_gallery").select2()
})
$('#resource-table').on('click', '.delete-row', function () {
var tr = $(this).parents('tr').eq(0)
rowCount --
tr.remove()
})
$('#test_account').on({
blur: function() {
var gameId = $('#game-select').val()
if (gameId == 0) {
return layer.msg('请选择游戏')
}
var serverId = $('#server-select').val()
if (serverId == 0) {
return layer.msg('请选择区服')
}
if (userAccount == '') {
return layer.msg('请输入测试资源账号')
}
var userAccount = $('#test_account').val()
$.ajax({
url: "{:U('getUserRoles')}",
type: "post",
data: { user_account: userAccount, game_id: gameId, server_id: serverId },
dataType: 'json',
success: function(result){
if (result.status == 1) {
var roles = result.data.roles
if (roles.length == 0) {
return layer.msg('当前账号不属于该区服')
}
var html = "<option value='0'>请选择角色</option>";
for (var i in roles){
html += "<option value='"+roles[i].id+"'>"+roles[i].role_name+"</option>"
}
$("#role-select").html(html);
$("#role-select").select2();
} else {
layer.msg(result.message)
}
}
})
}
})
function getRecords() {
var records = []
$('#resource-table tbody tr').each(function (index, tr) {
var num = $(tr).find('input[name=num]').val()
var remark = $(tr).find('input[name=remark]').val()
var resourceId = $(tr).attr('data-resource-id')
var resourceTypeId = $(tr).attr('data-resource-type-id')
records.push({
resource_id: resourceId,
resource_type_id: resourceTypeId,
num: num,
remark: remark,
})
})
return records
}
$('#bind-btn').click(function () {
var box = $('#bind-box')
layer.open({
title: '绑定玩家账号',
type: 1,
content: box,
area: ['500px', '250px'],
zIndex: 250,
scrollbar: false
})
});
$('#submit-btn').on({
click: function () {
var records = getRecords()
if (records.length == 0) {
return layer.msg('至少添加一项资源申请')
}
for (var i in records) {
if (records[i].num == '') {
return layer.msg('请输入资源数量')
}
}
var gameId = $('#game-select').val()
var serverId = $('#server-select').val()
var userAccount = $('#test_account').val()
var roleId = $('#role-select').val()
if (gameId == 0) {
return layer.msg('请选择游戏')
}
if (serverId == 0) {
return layer.msg('请选择区服')
}
if (userAccount == '') {
return layer.msg('请输入测试资源账号')
}
if (roleId == 0) {
return layer.msg('请选择角色')
}
$.ajax({
url: "{:U('doApply')}",
type: "post",
data: { records: records, game_id: gameId, server_id: serverId, user_account: userAccount, role_id: roleId},
dataType: 'json',
success: function(result){
if (result.status == 1) {
var servers = result.data.servers
var html = "<option value=''>请选择区服</option>";
for (var i in servers) {
html += "<option value='"+servers[i].server_id+"'>"+servers[i].server_name+"</option>"
}
$("#server-select").html(html);
$("#server-select").select2();
} else {
layer.msg(result.message)
}
}
})
}
})
$('#close-btn').on({
click: function () {
var index = parent.layer.getFrameIndex(window.name)
parent.layer.close(index)
}
})
</script>

@ -240,9 +240,6 @@
</div>
<div class="pagenation clearfix">
<?php if ($loginer['level'] !== 4) :?>
<a id="sch-btn" href="{:U('download/testresource_data_export',array_merge(['promote_type'=>'xxx'],I('get.')))}" class="ajax-get" >导出</a>
<?php endif ;?>
{$pagination}
</div>
@ -262,7 +259,7 @@
<a id="add-submit" href="javascript:;" class="add-submit btn">确定</a>
</div>
</form>
</div>
</div>
</block>
<block name="script">
<link rel="stylesheet" type="text/css" href="__CSS__/p_jquery.datetimepicker.css">
@ -313,7 +310,7 @@
title: '新增测试账号',
type: 1,
content: box,
area: ['800px', '330px'],
area: ['700px', '330px'],
zIndex: 250,
})
});

@ -2452,7 +2452,8 @@ CREATE TABLE `tab_testing_resource_order` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`batch_id` int(11) NOT NULL COMMENT '批次ID',
`order_no` varchar(30) NOT NULL COMMENT '订单号',
`testing_resource_id` int(11) NOT NULL COMMENT '测试资源ID',
`ref_id` varchar(30) NOT NULL COMMENT '测试资源ID第三方',
`ref_name` varchar(150) NOT NULL COMMENT '测试资源名称(第三方)',
`num` int(11) NOT NULL DEFAULT 0 COMMENT '申请数量'
`amount` decimal(12, 2) not null default '0.00' comment '申请金额',
`remark` varchar(255) NOT NULL DEFAULT '' COMMENT '审核备注',
@ -2464,6 +2465,7 @@ CREATE TABLE `tab_testing_resource_batch` (
`batch_no` varchar(30) NOT NULL COMMENT '批次号',
`game_id` int(11) NOT NULL DEFAULT '0' COMMENT '游戏ID',
`user_id` int(11) NOT NULL DEFAULT '0' COMMENT '用户ID',
`server_id` int(11) NOT NULL DEFAULT '0' COMMENT '区服ID',
`role_id` int(11) NOT NULL DEFAULT '0' COMMENT '角色ID',
`amount` decimal(12, 2) not null default '0.00' comment '申请金额',
`status` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '0 待发放 1 已经发放 2 拒绝 3 异常',

Loading…
Cancel
Save