推广配置导入功能

master
sunke 5 years ago
parent 38cea3f972
commit 9152a3ef59

@ -17,6 +17,8 @@ use BaiduBce\Services\Bos\CannedAcl;
use BaiduBce\Services\Bos\BosOptions;
use BaiduBce\Auth\SignOptions;
use BaiduBce\Log\LogFactory;
use Admin\Model\AuthRuleModel;
use Admin\Model\AuthGroupModel;
/**
* 后台首页控制器
@ -290,6 +292,17 @@ class GameController extends ThinkController
public function edit($id = null)
{
if (IS_POST) {
if(!empty($_REQUEST['promote_data'])) {
$promote_data = json_decode($_REQUEST['promote_data'],TRUE);
$game_appid = $_REQUEST['game_appid'];
$gameId = M('game','tab_')->where(['game_appid' => $game_appid])->getField('id');
$gameInfo = M('game','tab_')->field('game_name,game_status')->where(['id'=>$gameId])->select();
$dataList = array();
foreach($promote_data as $key => $promoteInfo) {
$dataList[] = ['promote_id' => intval($promoteInfo['value']),'game_id' => intval($gameId),'status'=>$gameInfo[0]['game_status'],'create_time'=>time()];
}
M('sociaty_games','tab_')->addAll($dataList);
}
if ($_POST['game_score'] <0 || $_POST['game_score'] > 5) {
$this->error('游戏评分只能为0-5之间的数字');
exit;
@ -413,6 +426,11 @@ class GameController extends ThinkController
$this->m_title = '游戏列表';
$this->assign('commonset', M('Kuaijieicon')->where(['url' => 'Game/lists', 'status' => 1])->find());
$this->assign('game_ratio',$game_ratio);
$auth_group = M('AuthGroup')->where( array('status'=>array('egt','0'),'module'=>'admin','type'=>AuthGroupModel::TYPE_ADMIN) )
->getfield('id,id,title,rules');
$empower_type = M('AuthGroup')->field('data_empower_type')->where(array('id'=>1))->find();
$this->assign('data_empower_type', $empower_type['data_empower_type']);
$this->assign('auth_group', $auth_group);
$this->display();
}
}
@ -889,4 +907,62 @@ class GameController extends ThinkController
//M('cp_game_ratio', 'tab_')->where("id=".$_POST['data_id'])->data(array("is_del"=>"1","update_time"=>time()))->save();
echo(json_encode(array("result"=>"1","desc"=>"删除成功")));
}
public function uploadExcel1() {
Vendor("PHPExcel.PHPExcel");
if(@is_uploaded_file($_FILES['file']['tmp_name'])){
$upfile = $_FILES["file"];
$name = $upfile["name"];
$type = $upfile["type"];
$size = $upfile["size"];
$tmp_name = $upfile["tmp_name"];
$savePath = $_SERVER['DOCUMENT_ROOT'].__ROOT__.'/Uploads/Excel/';
move_uploaded_file($tmp_name,$savePath.$name);
$file_name = $savePath.$name;
$error=$upfile["error"];//上传后系统返回的值
// print($file_name);
$extension = strtolower( pathinfo($file_name, PATHINFO_EXTENSION) );
if($extension == 'xlsx') {
$objReader = \PHPExcel_IOFactory::createReader('excel2007');
}else {
$objReader = \PHPExcel_IOFactory::createReader('Excel5');//创建读取实例
}
$objPHPExcel = $objReader->load($file_name,$encode='utf-8');//加载文件
$sheet = $objPHPExcel->getSheet(0);
$highestRow = $sheet->getHighestRow();
$highestColumn = $sheet->getHighestColumn();
$dataList = [];
for($i=2;$i<=$highestRow;$i++)
{
$promote_id = $objPHPExcel->getActiveSheet()->getCell("B".$i)->getValue();
$promoteInfo = M('promote','tab_')->field('account')->where(['id' => $promote_id ])->find();
if(empty($promoteInfo)) {
break;
}
$game_id = $objPHPExcel->getActiveSheet()->getCell("C".$i)->getValue();
$gameInfo = M('game','tab_')->field('game_name,game_status')->where(['id'=>$game_id])->select();
if(empty($gameInfo)) {
break;
}
$time = time();
$dataList[] = ['promote_id'=>$promote_id,'game_id'=>$game_id,'status'=>$gameInfo[0]['game_status'],'create_time'=>$time];
}
M('sociaty_games','tab_')->addAll($dataList);
$this->ajaxReturn(json_encode($dataList));
}
}
function getRootPromote() {
$promoteData = M('promote','tab_')->field('id as value,account as title')->where(array('level'=>1,'chain'=>'/'))->select();
$data_president = M('AuthGroup')->field('data_president')->where(array('id'=>1))->find();
$promoteData = array_merge([0=>['value'=>'-1','title'=>'官方渠道']],$promoteData);
$returnData = array('data_president'=>$data_president['data_president'],'list'=>$promoteData);
$this->ajaxReturn(json_encode($returnData));
}
}

@ -44,6 +44,7 @@
<li data-tab="tab3" ><a href="javascript:void(0);">参数配置</a></li>
<li data-tab="tab4" ><a href="javascript:void(0);">H5分享页面</a></li>
<li data-tab="tab5" ><a href="javascript:void(0);">用户等级设置</a></li>
<li data-tab="tab6" ><a href="javascript:void(0);">推广配置</a></li>
</ul>
<h3 class="page_title">编辑游戏【{$data.relation_game_name}】</h3>
<p class="description_text">说明:查看和编辑游戏的基础信息、下载设置、参数信息等。</p>
@ -939,7 +940,57 @@
<tbody>
</table>
</div>
<!--推广配置-->
<div id="tab6" class="tab-pane tab6 ">
<table border="0" cellspacing="0" cellpadding="0">
<tbody >
<tr style="display:block;width:600px;" >
<td class="l">推广限制</td>
<td class="r" >
<input type="radio" class="inp_radio js-device js-devices{$key}" value="" id="all" name="" checked> 全部会长可申请
<input type="radio" class="inp_radio js-device js-devices{$key}" value="" id="part" name="" style="margin-left:20px"> 部分会长可申请
</td>
</tr>
<tr style="display:none;width:600px;" id="addtype">
<td class="l" >添加方式</td>
<td class="r" >
<input type="radio" class="inp_radio js-device js-devices{$key}" value="" id="excel" name="" checked> EXCEL导入
<input type="radio" class="inp_radio js-device js-devices{$key}" value="" id="partchoose" name="" style="margin-left:20px"> 批量选择
</td>
</tr>
<tr style="display:none" id="moban">
<td class="l">EXCEL模板</td>
<td class="r" >
<a href="javascript:void();">下载模板</a>
</td>
</tr>
<tr style="display:none" id="daoru">
<td class="l">导入模板</td>
<td class="r" >
<input type="file" name="upfile" id="file_excel" style="width:200px"/>
<input type="button" onclick="suba()" style="background: #3E96C9;color:white;border:none;outline: none;width:70px;height:30px;border-radius: 3px;" value="导入" />
</td>
</tr>
</tbody>
</table>
</div>
<div class="data_list data_game_list" id="data_list"></div>
<link rel="stylesheet" type="text/css" href="__STATIC__/layui-v2.5.5/css/layui.css">
<input type="hidden" name="group_id" id="group_id" value="{$_GET['group_id']}">
<input type="hidden" name="promote_data" id="promote_data" value="[]">
<div id="transfer_promote" class="demo-transfer" style="margin-left: 100px;margin-top: 35px;display:none"></div>
<div class="form-item cf">
<input type="hidden" name='id' value="{$data['id']}" />
<input type="hidden" name='type' value="{$_GET['type']}" />
@ -968,7 +1019,152 @@
</block>
<block name="script">
<script src="__STATIC__/layui-v2.5.5/layui.all.js"></script>
<script type="text/javascript" src="__STATIC__/datetimepicker/js/bootstrap-datetimepicker.min.js"></script>
<script>
var dataTransfer = '';
$.ajax({
url: "{:U('getRootPromote')}",
type: "post",
data: {group_id: 1},
dataType: 'json',
success: function (data) {
console.log(data,'datadadaa')
// datas = data;
layui.use(['transfer', 'layer', 'util'], function(){
var $ = layui.$
,transfer = layui.transfer
,layer = layui.layer
,util = layui.util;
var data1 =data;
if (JSON.parse(data1).data_president) {
var data2 = JSON.parse(data1).data_president.split(",");
}
// var dataTransfers = transfer.getData('key123');
// $('#promote_data').val(JSON.stringify(dataTransfers));
//显示搜索框
transfer.render({
elem: '#transfer_promote'
,data: JSON.parse(data1).list
,title: ['全部成员', '选中成员']
,showSearch: true,
value: data2,
id: 'key123',
onchange: function(data, index){
dataTransfer = transfer.getData('key123'); //获取右侧数据
// layer.alert(JSON.stringify(dataTransfer));
$('#promote_data').val(JSON.stringify(dataTransfer));
}
})
var dataTransfers = transfer.getData('key123');
$('#promote_data').val(JSON.stringify(dataTransfers));
transfets = transfer;
//批量办法定事件
util.event('lay-demoTransferActive', {
getData: function(othis){
var getData = transfer.getData('key123'); //获取右侧数据
layer.alert(JSON.stringify(getData));
}
});
});
}
});
</script>
<script type="text/javascript">
$("#part").click(function() {
var addtype = document.getElementById("addtype");
addtype.style.display = "block"
$("#part").attr('checked',true)
$("#all").attr('checked',false)
var moban = document.getElementById("moban");
moban.style.display = "block"
var daoru = document.getElementById("daoru");
daoru.style.display = "block"
})
$("#all").click(function() {
var addtype = document.getElementById("addtype");
addtype.style.display = "none"
$("#part").attr('checked',false)
$("#all").attr('checked',true)
$("#excel").attr('checked',true)
$("#partchoose").attr('checked',false)
var moban = document.getElementById("moban");
moban.style.display = "none"
var daoru = document.getElementById("daoru");
daoru.style.display = "none"
document.getElementById("transfer_promote").style.display = "none"
document.getElementById("data_list").style.display = "none"
})
$("#excel").click(function() {
var moban = document.getElementById("moban");
// addtype.style.display = "none"
$("#excel").attr('checked',true)
$("#partchoose").attr('checked',false)
moban.style.display = "block"
var daoru = document.getElementById("daoru");
daoru.style.display = "block"
document.getElementById('transfer_promote').style.display = "none"
document.getElementById("data_list").style.display = "block"
})
$("#partchoose").click(function() {
var moban = document.getElementById("moban");
// addtype.style.display = "none"
$("#excel").attr('checked',false)
$("#partchoose").attr('checked',true)
moban.style.display = "none"
var daoru = document.getElementById("daoru");
daoru.style.display = "none"
document.getElementById('transfer_promote').style.display = "block"
document.getElementById("data_list").style.display = "none"
})
function suba() {
var file_excel = $('#file_excel')[0].files[0]
var formData = new FormData();
formData.append("file",file_excel);
$.ajax({
url:"{:U('Game/uploadExcel1')}",
dataType:'json',
type:'POST',
async:false,
data:formData,
processData : false, // 使数据不做处理
contentType : false, // 不要设置Content-Type请求头
success:function(res) {
document.getElementById('data_list').style.display = "block"
res = JSON.parse(res)
if(res.length > 0) {
html = '<div class=""><table><thead><tr><th>会长ID</th><th>游戏ID</th></tr></thead><tbody>'
res.forEach(v=>{
html += '<tr><td>'+v['promote_id']+'</td><td>'+v['game_id']+'</td></tr>';
})
}else {
html = '<div class=""><table><thead><tr><th>会长ID</th><th>游戏ID</th></tr></thead><tbody>'
+'<td colspan="14" class="text-center">aOh! 未找到相关游戏,请检查游戏列表!</td>'
}
html += '</tbody></table></div>'
$("#data_list").html(html);
}
})
}
$('[name=shift_mode]').on({
click: function () {
if ($(this).val() == 2) {
$('#shift-transfer').show()
} else {
$('#shift-transfer').hide()
}
}
})
</script>
<script type="text/javascript">
//导航高亮
highlight_subnav('{:U('Game/lists')}');
@ -2367,4 +2563,10 @@
});
</script>
<style>
.layui-transfer-box{
overflow: hidden;
height: 410px!important;
}
</style>
</block>

@ -1073,3 +1073,16 @@ CREATE TABLE `sys_document_pop_rules` (
`operater_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '操作者ID',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;
--广--
CREATE TABLE `tab_sociaty_games` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`promote_id` int(11) NOT NULL COMMENT '会长ID',
`game_id` int(11) NOT NULL COMMENT '游戏ID',
`status` tinyint(1) NOT null DEFAULT '0' COMMENT '状态 0 禁用 1 启用',
`create_time` int(10) NOT NULL DEFAULT '0' COMMENT '创建时间',
`update_time` int(10) NOT NULL DEFAULT '0' COMMENT '更新时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT '工会授权游戏';
Loading…
Cancel
Save