测试资源修改

master
ELF 5 years ago
parent 97f79a9c0f
commit 49751b8760

@ -131,6 +131,21 @@ class ConsoleController extends Think {
var_dump($result);
}
public function testGameCat()
{
$key = '123456';
$params = [
];
ksort($params);
$paramsStr = http_build_query($params) . '&key=' . $key;
$sign = md5($paramsStr);
$client = new AggregateClient();
$result = $client->api('game-data', ['unique_codes' => ['w123'], 'started_at' => '2019-06-27', 'ended_at' => '2020-07-27']);
var_dump($result);
}
public function initMarketAdmin()
{
$marketService = new MarketService();

@ -854,6 +854,18 @@ class PromoteService {
return M('promote', 'tab_')->field($fields)->where($conditions)->select();
}
public function subInSql($promote, $withSelf = true)
{
$conditions = [
'chain' => ['like', $promote['chain'] . $promote['id'] . '/%']
];
if ($withSelf != 0) {
$conditions['_logic'] = 'or';
$conditions['id'] = $promote['id'];
}
return M('promote', 'tab_')->field(['id'])->where($conditions)->select(false);
}
public function getLevelName($level)
{
return self::$levels[$level] ?? '未知';

@ -0,0 +1,271 @@
<?php
namespace Home\Controller;
use Base\Model\PromoteModel;
use Base\Service\PromoteService;
use OSS\Core\OssException;
class TestingResourceController extends BaseController
{
public function index()
{
$createTimeStart = I('create_time_start', '');
$createTimeEnd = I('create_time_end', '');
$gameId = I('game_id', 0);
$serverId = I('server_id', '');
$account = I('account');
$roleName = I('role_name');
$loginPromote = $this->getLoginPromote();
$conditions = [];
$subConditions = [
'_string' => 'user_id = tab_user_play_info.user_id',
'promote_id' => $loginPromote['id'],
];
if ($createTimeStart) {
$subConditions['create_time'] = ['egt', strtotime($createTimeStart . ' 00:00:00')];
}
if ($createTimeEnd) {
$subConditions['create_time'] = ['elt', strtotime($createTimeEnd . ' 23:59:59')];
}
$subSql = M('testing_user', 'tab_')->field(['1'])->where($subConditions)->select(false);
$strCondition = 'exists (' . $subSql . ')';
if ($account) {
$user = M('user', 'tab_')->field(['id'])->where('account like ' . $account . '%')->find();
if ($user) {
$conditions['user_id'] = $user['id'];
} else {
$strCondition .= ' and 1<>1';
}
}
if ($gameId) {
$conditions['game_id'] = $gameId;
}
if ($serverId) {
$conditions['server_id'] = $serverId;
}
if ($roleName) {
$conditions['role_name'] = ['like', $roleName . '%'];
}
$conditions['_string'] = $strCondition;
$query = M('user_play_info', 'tab_')->where($conditions)->order('create_time desc');
list($roles, $pagination, $count) = $this->paginate($query);
$roleIds = array_column($roles, 'id');
$userIds = array_unique(array_column($roles, 'user_id'));
$users = [];
$bindings = [];
$bindingRoles = [];
if (count($roles) > 0) {
$users = M('user', 'tab_')->field(['id', 'phone'])->where(['id' => ['in', $userIds]])->select();
$uesrs = index_by_column('id', $users);
$bindings = M('testing_binding', 'tab_')->field()->where(['role_id' => ['in', $roleIds]])->select();
$bindings = index_by_column('role_id', $bindings);
$bindingRoleIds = array_column($bindings, 'bind_role_id');
if (count($bindings) > 0) {
$bindingRoles = M('user_play_info', 'tab_')->field(['id', 'role_name'])->where(['id' => ['in', $bindingRoleIds]])->select();
$bindingRoles = index_by_column('id', $bindingRoles);
}
}
$records = [];
foreach ($roles as $role) {
$user = $users[$role['user_id']] ?? null;
$binding = $bindings[$role['id']] ?? null;
$bindingRole = $binding && $bindingRoles[$binding['bind_role_id']] ? $bindingRoles[$binding['bind_role_id']] : null;
$records[] = [
'game_name' => $role['game_name'],
'server_name' => $role['server_name'],
'server_id' => $role['server_id'],
'role_id' => $role['role_id'],
'user_account' => $role['user_account'],
'user_phone' => $user ? $user['phone'] : '',
'role_name' => $role['role_name'],
'bind_user_account' => $bindingRole ? $bindingRole['user_account'] : '',
'bind_role_name' => $bindingRole ? $bindingRole['role_name'] : '',
'base_quota' => $binding ? $binding['base_quota'] : 1200,
'other_quota' => $binding ? $binding['other_quota'] : 0,
'quota' => 0,
'verify_amount' => 0,
'provide_amount' => 0,
'today_amount' => 0,
'apply_amount' => 0,
'status' => '可用',
'create_time' => date('Y-m-d H:i:s', $role['create_time'])
];
}
$this->assign('count', $count);
$this->assign('pagination', $pagination);
$this->assign('records', $records);
$this->display();
}
public function addTestingUsers()
{
$loginPromote = $this->getLoginPromote();
$accountsStr = trim(I('accounts', ''), ',');
if ($accountsStr = '') {
return $this->ajaxReturn(['status' => 0, 'message' => '请输入测试资源账号']);
}
$accounts = explode(',', $accountsStr);
$accounts = array_unique($accounts);
$existAccounts = M('testing_user', 'tab_')->where(['user_account' => ['in', $accounts]])->getField('user_account', true);
$existCount = count($existAccounts);
$newAccounts = array_diff($accounts, $existAccounts);
$errorCount = 0;
$successCount = 0;
if (count($newAccounts)) {
$users = M('user', 'tab_')->field(['id', 'account'])->where(['account' => ['in', $newAccounts]])->select();
$errorAccounts = array_diff($newAccounts, array_column($users, 'account'));
$errorCount = count($errorAccounts);
foreach ($users as $user) {
if (in_array($user['account'], $errorAccounts)) {
continue;
}
$data = [
'user_id' => $user['id'],
'user_account' => $user['account'],
'status' => 1,
'promote_id' => $loginPromote['id'],
'create_time' => time(),
'update_time' => time(),
];
M('testing_user', 'tab_')->add($data);
$successCount ++;
}
}
return $this->ajaxReturn(['status' => 1, 'message' => '请输入测试资源账号', 'data' => [
'errorCount' => $errorCount,
'successCount' => $successCount,
'existCount' => $existCount,
]]);
}
public function batches()
{
$verifyTimeStart = I('verify_time_start', '');
$verifyTimeEnd = I('verify_time_end', '');
$verifyStatus = I('verify_status', -1);
$status = I('status', -1);
$account = I('account');
$loginPromote = $this->getLoginPromote();
$promoteService = new PromoteService();
$conditions = [
'_string' => 'promote_id in (' . $promoteService->subInSql($loginPromote) . ')',
];
if ($verifyTimeStart) {
$conditions['verify_time'] = ['egt', strtotime($verifyTimeStart . ' 00:00:00')];
}
if ($verifyTimeEnd) {
$conditions['verify_time'] = ['elt', strtotime($verifyTimeEnd . ' 23:59:59')];
}
if ($verifyStatus != -1) {
$conditions['verify_status'] = $verifyStatus;
}
if ($status != -1) {
$conditions['status'] = $status;
}
if ($account) {
$user = M('user', 'tab_')->field(['id'])->where('account like ' . $account . '%')->find();
if ($user) {
$conditions['user_id'] = $user['id'];
} else {
$conditions['_string'] = '1<>1';
}
}
$query = M('testing_resource_batch', 'tab_')->where($conditions)->order('create_time desc')->select();
list($batches, $pagination, $count) = $this->paginate($query);
$this->assign('count', $count);
$this->assign('pagination', $pagination);
$this->assign('records', $records);
$this->display();
}
public function apply()
{
$records = I('records', []);
$batchNo = '';
$loginPromote = $this->getLoginPromote();
$amount = 0;
foreach ($records as $record) {
$amount += $record['num'] * $record['value'];
}
try {
$batch = [
'batch_id' => $batchId,
'order_no' => $orderNo,
'user_id' => $record['user_id'],
'game_id' => $record['game_id'],
'promote_id' => $loginPromote['id'],
'amount' => $amount,
'status' => 0,
'verify_status' => 0,
'remark' => $record['remark'],
'create_time' => time(),
'update_time' => time(),
];
$batchId = M('testing_resource_batch')->add($batch);
$i = 1;
foreach ($records as $record) {
$orderNo = $batchNo . '_' . $i;
$order = [
'batch_id' => $batchId,
'order_no' => $orderNo,
'testing_resource_id' => $record['resource_id'],
'num' => $record['num'],
'amount' => $record['num'] * $record['value'],
'remark' => $record['remark'],
];
M('testing_resource_order')->add($order);
}
} catch (\Exception $e) {
}
}
public function bindRole()
{
$testingUserId = I('testing_user_id', 0);
$userAccount = I('user_account', '');
$roleId = I('role_id', '');
$user = M('user', 'tab_')->field(['id', 'account'])->where(['account' => $userAccount])->find();
if (is_null($user)) {
return $this->ajaxReturn(['status' => 0, 'message' => '用户不存在']);
}
$existBind = M('testing_user', 'tab_')->field(['id'])->where(['bind_user_id' => $user['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,
]);
return $this->ajaxReturn(['status' => 1, 'message' => '绑定成功']);
}
public function getRolesByUser()
{
}
}

@ -0,0 +1,491 @@
<extend name="Public/promote_base" />
<block name="css">
<link href="__CSS__/20180207/data.css" rel="stylesheet">
<link href="__CSS__/20180207/manager.css" rel="stylesheet">
<link href="__CSS__/20180207/finance.css" rel="stylesheet">
<style>
@media screen and (max-width: 1500px) {
.normal_form {
padding-top: 45px;
}
.trunk-search .normal_txt {
width: 100px
}
.select2-container--default .select2-selection--single {
width: 125px;
}
.trunk-search .select-time .txt {
width: 100px;
}
.form-group .submit {
width: 55px;
}
}
.open_edit {
color: #19ADED;
text-decoration: none;
line-height: 40px;
border-collapse: collapse;
border-spacing: 0;
}
.apply {
color: #19ADED;
text-decoration: none;
line-height: 40px;
border-collapse: collapse;
border-spacing: 0;
}
.my_text {
position: relative;
padding: 0 10px;
border: 1px solid #D5D5D5;
border-radius: 5px;
outline: none;
font-size: 14px;
font-family: inherit;
height: 38px;
line-height: 38px;
}
.my_save {
width: 95px;
height: 36px;
line-height: 38px;
display: block;
background: #26C7DB;
color: #fff;
border: none;
border-radius: 4px;
text-align: center;
float: left;
cursor: pointer;
text-decoration: none;
padding: 0;
margin: 14px;
font-family: "微软雅黑";
box-sizing: border-box;
}
.td_tit {
width: 112px;
text-align: right;
padding: 0 24px 0 6px;
border: none;
}
</style>
</block>
<block name="body">
<div class="page-search normal_list query-recharge-search jssearch">
<div class="trunk-title">
<div class="location">
<div class="location-container">当前位置:<span>测试资源></span><span>测试资源申请</span></div>
</div>
<img src="__IMG__/20180207/icon_normal_shenqing.png">
<span class="title_main">申请测试资源</span>
<span class="details">说明:申请测试资源</span>
</div>
<div class="trunk-content article">
<div class="trunk-search clearfix">
<div id="form1">
<div class="form-group normal_space fr">
<input type="submit" class="submit" id='submit' value="查询" url="{:U('index')}"
style="cursor:pointer;">
</div>
<div class="form-group normal_space fr">
<label class="form-title select-title" style="margin-right: 9px;"></label>
<div class="select-time">
<input type="text" id="edate" class="txt" name="end" placeholder="结束时间" value="{:I('end')}" autocomplete="off">
</div>
</div>
<div class="form-group normal_space fr">
<label class="form-title select-title">申请时间:</label>
<div class="select-time">
<input type="text" id="sdate" class="txt" name="start" placeholder="开始时间"
value="{:I('start')}" autocomplete="off">
</div>
</div>
<div class="form-group normal_space fr">
<input type="text" name="role_name" class="txt normal_txt" style="width:128px;"
placeholder="角色名称" value="{:I('role_name')}" onKeyDown="webchat_chkkeysend(event);">
</div>
<div class="form-group normal_space fr">
<input type="text" name="user_account" class="txt normal_txt" id="uid" style="width:128px;"
placeholder="测试账号" value="{:I('user_account')}" onKeyDown="webchat_chkkeysend(event);">
</div>
<div class="form-group normal_space fr">
<span id="server_js">
<select id="server_id" name="server_name" class="reselect select_gallery"
style="width:101px">
<option game-id="0" value="">请选择区服</option>
<volist name=":getServer_name_on($_GET['game_name'])" id="vo">
<option value="{$vo.server_name}" <if
condition="$_GET['server_name'] eq $vo['server_name']">selected="selected"</if>
>{$vo.server_name}</option>
</volist>
</select>
</span>
</div>
<div class="form-group normal_space fr">
<select id="game_id" name="game_name" class="reselect select_gallery">
<option game-id="0" value="">请选择游戏</option>
<volist name=":get_game_list()" id="vo">
<option game-id="{$vo.id}" value="{$vo.game_name}" <if
condition="$_GET['game_name'] eq $vo['game_name']">selected="selected"</if>
>{$vo.game_name}</option>
</volist>
</select>
</div>
<br>
<br>
<br>
<div class="form-group normal_space fr">
<input type="button" class="submit" id='batch_add'
style="width: 100px;text-align: center;background:rgb(249,104,104);cursor:pointer;"
value="批量申请后续">
</div>
<div class="form-group normal_space fr">
<input type="button" class="submit" id='add'
style="width: 100px;text-align: center;background:rgb(249,104,104);cursor:pointer;"
value="新增测试号" url="{:U('add')}">
</div>
</div>
</div>
</div>
<div class="page-list apply-app_apply-list query-recharge-list">
<div class="trunk-content article">
<div class="tabcon trunk-list">
<table class="table normal_table">
<tr class="odd">
<th>
选择
</th>
<th>游戏名称</th>
<th>区服名称</th>
<th>测试账号</th>
<th>手机号</th>
<th>角色名称</th>
<th>绑定账号</th>
<th>绑定角色</th>
<th>初始额度</th>
<th>额外额度</th>
<th>累计额度</th>
<th>待审核金额</th>
<th>累计发放资源</th>
<th>今日发放金额</th>
<th>申请总金额</th>
<th>状态</th>
<th>创建时间</th>
</tr>
<empty name="records">
<tr>
<td colspan="17" style="text-align: center;height: 45vh;"><img
src="__IMG__/20180207/icon_wushujv2.png" />
<p style="line-height: 40px;color: #A5A5A5;">暂无数据</p>
</td>
</tr>
<else />
<volist name="records" id="record" mod="2">
<tr class="<eq name='mod' value='1'>odd</eq>">
<td>
<label class="checked">
<input class="ids" type="radio" value="{$s['id']}" name="ids[]">
<i class="check_icon"></i>
</label>
</td>
<td>{$record.game_name}</td>
<td>{$record.server_name}</td>
<td>{$record.user_account}</td>
<td>{$record.user_phone}</td>
<td>{$record.role_name}</td>
<td>{$record.bind_user_account}</td>
<td>{$record.bind_role_name}</td>
<td>{$record.base_quota}</td>
<td>{$record.other_quota}</td>
<td>{$record.quota}</td>
<td>{$record.verify_amount}</td>
<td>{$record.provide_amount}</td>
<td>{$record.today_amount}</td>
<td>{$record.apply_amount}</td>
<td>{$record.status}</td>
<td>{$record.create_time}</td>
</tr>
</volist>
</empty>
</table>
</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>
</div>
</div>
</div>
<div id="add-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: 400px;">
<textarea name="accounts" placeholder="用户账号以英文逗号(,)隔开" class="form-input" id="" cols="50" rows="10"></textarea>
</div>
</div>
<div class="form-group">
<label></label>
<a id="shift-player-submit" href="javascript:;" class="add-submit btn">确定</a>
</div>
</form>
</div>
</block>
<block name="script">
<link rel="stylesheet" type="text/css" href="__CSS__/p_jquery.datetimepicker.css">
<script type="text/javascript" src="__JS__/jquery.datetimepicker.js"></script>
<script type="text/javascript" src="__JS__/20170831/select2.min.js"></script>
<script src="__STATIC__/layer/layer.js"></script>
<script type="text/javascript">
$().ready(function () {
setValue('row', '{:I("get.row",10)}');
$("#pagehtml a").on("click", function (event) {
event.preventDefault();//使a自带的方法失效即无法调整到href中的URL(http://www.baidu.com)
var geturl = $(this).attr('href');
$('#data_form').attr('action', geturl);
$('#data_form').submit();
});
$('#sdate').datetimepicker({
lang: 'ch',
format: 'Y-m-d',
formatDate: 'Y-m-d',
scrollMonth: false,
scrollTime: false,
scrollInput: false,
timepicker: false
});
$('#add').click(function () {
var box = $('#add-box')
layer.open({
title: '新增测试账号',
type: 1,
content: box,
area: ['600px', '330px'],
zIndex: 250,
})
});
$('#add-submit').on({
click: function () {
$.ajax({
async: false,
url: "{:U('addTestingUsers')}",
type: "POST",
dataType: "json",
data: { accounts: accounts },
success: function (result) {
if (result.status == 0) {
layer.msg(result.msg);
} else {
layer.msg('修改成功');
setTimeout(function () {
location.reload();
}, 1000);
}
},
error: function () {
}
});
}
})
$('#batch_add').click(function () {
var ids = $('.ids:checked');
if (ids.length > 0) {
var str = new Array();
ids.each(function () {
str.push($(this).val());
});
param = str.join(',');
} else {
layer.msg('请选择要操作的数据');
return false;
}
var url = "{:U('apply','','')}" + '/id/' + param;
window.location.href = url;
});
$('.apply').click(function () {
var id = $(this).attr('data-id');
var url = "{:U('apply','','')}" + '/id/' + id;
window.location.href = url;
});
$('.open_edit').click(function () {
var account = $(this).attr('data-account');
var password = $(this).attr('data-password');
var game_name = $(this).attr('data-game_name');
var server_name = $(this).attr('data-server_name');
var role_name = $(this).attr('data-role_name');
var support_id = $(this).attr('data-support_id');
$('#i_account').val(account);
$('#i_password').val(password);
$('#i_game_name').val(game_name);
$('#i_server_name').val(server_name);
$('#i_role_name').val(role_name);
$('#i_support_id').val(support_id);
var id_editor = '.div_editor';
//页面层
layer.open({
type: 1,
title: '新增扶持-修改',
closeBtn: 1,
area: ['600px', '429px'],
//skin: 'layui-layer-bgwhite', //白色背景色
shadeClose: true,
content: $(id_editor),
})
});
$('.i_cancel').click(function () {
location.reload();
});
$(".select_gallery").select2();
$('#edate').datetimepicker({
lang: 'ch',
format: 'Y-m-d',
formatDate: 'Y-m-d',
timepicker: false
});
});
</script>
<script type="text/javascript">
$("#submit").click(function () {
var sdate = $('#sdate').val();
var edate = $('#edate').val();
if (Date.parse(sdate) > Date.parse(edate)) {
layer.msg('开始时间必须小于等于结束时间');
return false;
}
var url = $(this).attr('url');
var query = $('#form1').find('input').serialize();
query += "&" + $('#form1').find('select').serialize();
query = query.replace(/(&|^)(\w*?\d*?\-*?_*?)*?=?((?=&)|(?=$))/g, '');
query = query.replace(/^&/g, '');
if (url.indexOf('?') > 0) {
url += '&' + query;
} else {
url += '?' + query;
}
window.location.href = url;
});
$("#game_id").change(function () {
$.ajax({
url: "{:U('getServer')}",
type: "post",
data: { game_id: $("#game_id option:selected").attr('game-id') },
dataType: 'json',
success: function (data) {
str = "<option value=''>请选择区服</option>";
for (var i in data) {
str += "<option value='" + data[i].server_name + "'>" + data[i].server_name + "</option>"
}
$("#server_id").empty();
$("#server_id").append(str);
$("#server_id").select2();
}
})
})
$("#server_js").click(function (event) {
var game_id = $("#game_id").val();
if (game_id == 0) {
layer.msg('请先选择游戏');
}
});
function webchat_chkkeysend(event) {
if (event.keyCode == 13) {
$('#submit').click();
}
}
</script>
</block>

@ -2401,3 +2401,77 @@ INSERT INTO `sys_kv`(`id`, `key`, `value`, `type`, `remark`) VALUES (4, 'cp_comp
ALTER TABLE `sj_game_channel`.`sj_cptogether_company`
ADD COLUMN `is_qualifity` tinyint(2) NULL COMMENT '是否具有游戏资质 0 否 1 是' AFTER `is_received`;
CREATE TABLE `tab_testing_user` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`user_id` int(11) unsigned NOT NULL COMMENT '测试用户ID',
`user_account` varchar(50) not null comment '测试用户账号',
`promote_id` int(11) not null default 0 COMMENT '推广员ID',
`status` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '0 禁用 1 可用',
`create_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '添加时间',
`update_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '最后修改时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `tab_testing_binding` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`user_id` int(11) unsigned NOT NULL COMMENT '测试用户ID',
`role_id` int(11) NOT NULL default '0' COMMENT '角色ID',
`bind_user_id` int(11) unsigned NOT NULL default 0 COMMENT '绑定用户ID',
`bind_role_id` int(11) NOT NULL default '0' COMMENT '绑定角色ID',
`base_quota` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '初始额度',
`other_quota` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '额外额度',
`create_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '添加时间',
`update_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '最后修改时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `tab_testing_resource` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(120) NOT NULL DEFAULT COMMENT '测试资源名称',
`game_id` int(11) NOT NULL COMMENT '游戏ID',
`type_id` int(11) NOT NULL COMMENT '测试资源类型ID',
`price` decimal(12, 2) NOT NULL default '0.00' COMMENT '资源价值',
`identifier` varchar(50) NOT NULL default '与CP对应资源标识' COMMENT '标识符',
`create_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '添加时间',
`update_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '最后修改时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `tab_testing_resource_type` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(120) NOT NULL COMMENT '测试资源类型名称',
`game_id` int(11) NOT NULL COMMENT '游戏ID',
`create_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '添加时间',
`update_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '最后修改时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
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',
`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 '审核备注',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `tab_testing_resource_batch` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`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',
`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 异常',
`promote_id` int(11) not null default 0 COMMENT '推广员ID',
`verify_status` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '0 未审核 1 审核通过 1 未审核通过',
`verify_remark` varchar(255) NOT NULL DEFAULT '' COMMENT '审核备注',
`verify_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '审核时间',
`create_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '添加时间',
`update_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '最后修改时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

@ -364,6 +364,12 @@ input,select,button{outline:none;font-size:14px;font-family:inherit;}
width: 380px;
}
.layui-layer-content .layer-box .form-group textarea.form-input {
height: auto;
padding: 10px 15px;
width: auto;
}
.layui-layer-content .layer-box .form-group .radio-item {
margin-right: 5px;
line-height: 34px;

Loading…
Cancel
Save