管理后台->游戏管理->新增合作方管理

master
chenxiaojun 5 years ago
parent a3d0c81d4b
commit dd10535a07

@ -528,3 +528,17 @@ function getServerType($serverType)
return (($serverType == 1) ? '专服' : '混服');
}
//获取合作方
function getPartnerList($id = 0)
{
if ($id > 0) {
return M('Partner', 'tab_')->field('id,partner')->find($id);
} else {
return M('Partner', 'tab_')->field('id,partner')->where(array('status' => 1))->select();
}
}
function getPartnerName($id = 0)
{
return M('Partner', 'tab_')->where(array('id' => intval($id)))->getField('partner');
}

@ -0,0 +1,188 @@
<?php
namespace Admin\Controller;
use User\Api\UserApi as UserApi;
use OSS\OssClient;
use OSS\Core\OSsException;
use Think\Controller;
/**
* 后台首页控制器
* @author 麦当苗儿 <zuojiazi@vip.qq.com>
*/
class PartnerController extends ThinkController
{
private $modelName = 'Partner';
//列表
public function lists()
{
$model = M($this->modelName, 'tab_');
$map = [];
$id = intval(I('id', 0));
if (!empty($id)) {
$map['tab_partner.id'] = $id;
$parameter['id'] = $id;
}
if (isset($_REQUEST['status']) && $_REQUEST['status'] !== '') {
$status = intval($_REQUEST['status']);
$map['tab_partner.status'] = $status;
$parameter['status'] = $status;
}
$page = intval(I('get.p', 0));
$page = $page ? $page : 1; //默认显示第一页数据
$row = intval(I('row', 0));
$row = empty($row) ? 10 : $row;//每页条数
$data = $model
->field('tab_partner.id,tab_partner.partner,tab_partner.status,tab_partner.create_time,sys_member.nickname')
->join('left join sys_member on sys_member.uid = tab_partner.uid')
->where($map)
->order('id desc')
->page($page, $row)
->select();
/* 查询记录总数 */
$count = $model
->where($map)
->count();
if (!empty($data)) {
foreach ($data as &$list) {
$list['status'] = ($list['status'] == 0) ? '已关闭' : '已开启';
$list['create_time'] = date('Y-m-d H:i:s', $list['create_time']);
}
}
//分页
$parameter['p'] = $page;
$parameter['row'] = $row;
$page = set_pagination($count, $row, $parameter);
if ($page) {
$this->assign('_page', $page);
}
$this->assign('listData', $data);
$this->assign('count', $count);
$this->assign('commonset', M('Kuaijieicon')->where(['url' => 'Partner/lists'])->find());
$this->meta_title = '合作方管理';
$this->display();
}
//添加
public function add()
{
if ($_POST) {
$partner = I('post.partner', '');
$status = intval(I('post.status', 1));
if (empty($partner)) {
$this->error('请输入合作方名称');
}
if (!in_array($status, [0, 1])) {
$this->error('参数异常');
}
$model = M($this->modelName, 'tab_');
$map['partner'] = $partner;
$res = $model->where($map)->getField('id');
if ($res) {
$this->error('合作方已存在');
}
$time = time();
$save['partner'] = $partner;
$save['status'] = $status;
$save['uid'] = UID;
$save['create_time'] = $time;
$save['last_up_time'] = $time;
$res = $model->add($save);
if ($res) {
\Think\Log::actionLog('Partner/add', 'partner', $res);
$this->success('保存成功', U('lists'));
} else {
$this->error('保存失败');
}
} else {
$this->assign('commonset', M('Kuaijieicon')->where(['url' => 'Partner/add'])->find());
$this->meta_title = '新增合作方';
$this->display();
}
}
//编辑
public function edit()
{
$model = M($this->modelName, 'tab_');
if ($_POST) {
$partner = I('post.partner', '');
$status = intval(I('post.status', 1));
$id = intval(I('post.id', 0));
if (empty($partner)) {
$this->error('请输入合作方名称');
}
if (!in_array($status, [0, 1]) || $id == 0) {
$this->error('参数异常');
}
$data = $model->field('id,partner')->find($id);
if (empty($data)) {
$this->error('数据异常');
}
$map['partner'] = $partner;
$res = $model->where($map)->getField('id');
if ($res && $res != $id) {
$this->error('合作方已存在');
}
$time = time();
$save['id'] = $id;
$save['partner'] = $partner;
$save['status'] = $status;
$save['last_up_time'] = $time;
$res = $model->save($save);
if ($res === false) {
$this->error('保存失败');
} else {
\Think\Log::actionLog('Partner/edit', 'partner', $id);
$this->success('保存成功', U('lists'));
}
} else {
$id = intval(I('get.id', 0));
$map['id'] = $id;
$data = $model->field('id,partner,status')->find($id);
if (empty($data)) {
$this->error('数据异常', U('lists'));
}
$this->assign('data', $data);
$this->assign('commonset', M('Kuaijieicon')->where(['url' => 'Partner/edit'])->find());
$this->meta_title = '编辑合作方';
$this->display();
}
}
//删除
public function del()
{
$id = intval(I('get.id', 0));
if ($id == 0) {
$this->error('参数异常');
}
$res = M($this->modelName, 'tab_')->delete($id);
if ($res === false) {
$this->error('删除失败');
}
$this->success('删除成功', U('lists'));
}
}

@ -188,6 +188,17 @@
</td>
<!-- -->
</tr>
<tr>
<td class="l" >合作方:</td>
<td class="r" >
<select id="partner_id" name="partner_id">
<option value="">请选择合作方</option>
<volist name=":getPartnerList()" id="vo">
<option value="{$vo.id}">{$vo.partner}</option>
</volist>
</select>
</td>
</tr>
<tr>
<td class="l">游戏详细介绍:</td>
<td class="r">

@ -196,6 +196,19 @@
</tr>
</empty>
<tr>
<td class="l" >合作方:</td>
<td class="r" >
<select id="partner_id" name="partner_id">
<option value="">请选择合作方</option>
<volist name=":getPartnerList()" id="vo">
<option value="{$vo.id}"
<eq name="data.partner_id" value="$vo.id"> selected </eq>>{$vo.partner}
</option>
</volist>
</select>
</td>
</tr>
<tr>
<td class="l">游戏详细介绍:</td>
<td class="r">

@ -138,6 +138,7 @@ text-indent:0;
<th>游戏类型</th>
<th>游戏Appid</th>
<th>推荐状态</th>
<th>合作方</th>
<th>显示状态</th>
<th>支付状态</th>
<th>下载次数</th>
@ -163,6 +164,7 @@ text-indent:0;
<td>{:get_game_type_name($data['game_type_id'])}</td>
<td>{$data.game_appid}</td>
<td>{:get_info_status($data['recommend_status'],1)}</td>
<td>{:getPartnerName($data['partner_id'])}</td>
<td>
<div class="display_status">
<span class="display_butnbox w70">
@ -254,6 +256,7 @@ text-indent:0;
<th>运营平台</th>
<th>游戏类型</th>
<th>游戏来源</th>
<th>合作方</th>
<th>排序设置</th>
<th>审核状态</th>
<th>显示状态</th>
@ -276,6 +279,7 @@ text-indent:0;
<td>{:get_systems_name($data['sdk_version'])}</td>
<td>{:get_game_type_name($data['game_type_id'])}</td>
<td>{:get_developer_name($data['developers'])}</td>
<td>{:getPartnerName($data['partner_id'])}</td>
<td>
<div name="sort" data-title="{$data.game_name} 排序设置" game-id="{$data.id}" class="tab_not_same editTab">
<span>{$data.sort}</span>

@ -0,0 +1,85 @@
<extend name="Public/base" />
<block name="css">
<link rel="stylesheet" type="text/css" href="__CSS__/admin_table.css" media="all">
<link rel="stylesheet" type="text/css" href="__STATIC__/webuploader/webuploader.css" media="all">
<style>
#form .txt_area.download_url {width:400px;}
.tabcon1711 .table_radio2 .table_btn {width:215px;}
</style>
</block>
<block name="body">
<script type="text/javascript" src="__STATIC__/uploadify/jquery.uploadify.min.js"></script>
<script src="__STATIC__/md5.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript" src="__STATIC__/webuploader/webuploader.js"></script>
<script src="__STATIC__/layer/layer.js" type="text/javascript"></script>
<script type="text/javascript" src="__STATIC__/layer/extend/layer.ext.js"></script>
<!-- 标签页导航 -->
<div class="tab-wrap">
<div class="cf main-place top_nav_list navtab_list">
<h3 class="page_title">{$meta_title}</h3>
</div>
<div class="tab-content tabcon1711">
<!-- 表单 -->
<form id="form" action="{:U('add')}" method="post" class="form-horizontal">
<!-- 基础 -->
<div id="tab1" class="tab-pane in tab1 ">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="l"><i class="mustmark" style="margin-left:-7px">*</i>合作方名称:</td>
<td class="r" >
<input type="text" class="txt " name="partner" value="" placeholder="请输入合作方名称">
</td>
</tr>
<tr>
<td class="l noticeinfo"><i class="mustmark" style="margin-left:-7px">*</i>显示状态:</td>
<td class="r table_radio">
<span class="form_radio table_btn">
<label>
<input type="radio" class="inp_radio" value="1" name="status" checked> 开启
</label>
<label>
<input type="radio" class="inp_radio" value="0" name="status"> 关闭
</label>
</span>
<span class="notice-text"></span>
</td>
</tr>
</tbody>
</table>
</div>
<div class="form-item cf">
<button class="submit_btn ajax-post" id="submit" type="submit" target-form="form-horizontal" style="margin-left:210px;">
保存
</button>
<a class="submit_btn " alt="返回上一页" title="返回上一页" href="{:U('Partner/lists')}" >
返回
</a>
</div>
</form>
</div>
</div>
<div class="common_settings">
<span class="plus_icon"><span><img src="__IMG__/zwmimages/icon_jia.png"></span></span>
<form class="addShortcutIcon">
<input type="hidden" name="title" value="{$meta_title}">
<input type="hidden" name="url" value="Partner/add">
</form>
<a class="ajax-post add-butn <notempty name='commonset'>addSIsetted</notempty>" href="javascript:;" target-form="addShortcutIcon" url="{:U('Think/addShortcutIcon')}"><img src="__IMG__/zwmimages/icon_jia.png"><span><notempty name='commonset'>已添加<else />添加至常用设置</notempty></span></a>
</div>
</block>
<block name="script">
<script type="text/javascript">
//导航高亮
highlight_subnav("{:U('Partner/lists')}");
$('#submit').click(function(){
$('#form').submit();
});
</script>
</block>

@ -0,0 +1,88 @@
<extend name="Public/base" />
<block name="css">
<link rel="stylesheet" type="text/css" href="__CSS__/admin_table.css" media="all">
<link rel="stylesheet" type="text/css" href="__STATIC__/webuploader/webuploader.css" media="all">
<style>
#form .txt_area.download_url {width:400px;}
.tabcon1711 .table_radio2 .table_btn {width:215px;}
</style>
</block>
<block name="body">
<script type="text/javascript" src="__STATIC__/uploadify/jquery.uploadify.min.js"></script>
<script src="__STATIC__/md5.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript" src="__STATIC__/webuploader/webuploader.js"></script>
<script src="__STATIC__/layer/layer.js" type="text/javascript"></script>
<script type="text/javascript" src="__STATIC__/layer/extend/layer.ext.js"></script>
<!-- 标签页导航 -->
<div class="tab-wrap">
<div class="cf main-place top_nav_list navtab_list">
<h3 class="page_title">{$meta_title}</h3>
</div>
<div class="tab-content tabcon1711">
<!-- 表单 -->
<form id="form" action="{:U('edit')}" method="post" class="form-horizontal">
<!-- 基础 -->
<div id="tab1" class="tab-pane in tab1 ">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="l"><i class="mustmark" style="margin-left:-7px">*</i>合作方名称:</td>
<td class="r" >
<input type="text" class="txt " name="partner" value="{$data.partner}" placeholder="请输入合作方名称">
</td>
</tr>
<tr>
<td class="l noticeinfo"><i class="mustmark" style="margin-left:-7px">*</i>显示状态:</td>
<td class="r table_radio">
<span class="form_radio table_btn">
<label>
<input type="radio" class="inp_radio" value="1" name="status"
<eq name="data.status" value="1"> checked </eq>> 开启
</label>
<label>
<input type="radio" class="inp_radio" value="0" name="status"
<eq name="data.status" value="0"> checked </eq>> 关闭
</label>
</span>
<span class="notice-text"></span>
</td>
</tr>
</tbody>
</table>
</div>
<div class="form-item cf">
<input type="hidden" name="id" value="{$data.id}">
<button class="submit_btn ajax-post" id="submit" type="submit" target-form="form-horizontal" style="margin-left:210px;">
保存
</button>
<a class="submit_btn " alt="返回上一页" title="返回上一页" href="{:U('Partner/lists')}" >
返回
</a>
</div>
</form>
</div>
</div>
<div class="common_settings">
<span class="plus_icon"><span><img src="__IMG__/zwmimages/icon_jia.png"></span></span>
<form class="addShortcutIcon">
<input type="hidden" name="title" value="{$meta_title}">
<input type="hidden" name="url" value="Partner/edit">
</form>
<a class="ajax-post add-butn <notempty name='commonset'>addSIsetted</notempty>" href="javascript:;" target-form="addShortcutIcon" url="{:U('Think/addShortcutIcon')}"><img src="__IMG__/zwmimages/icon_jia.png"><span><notempty name='commonset'>已添加<else />添加至常用设置</notempty></span></a>
</div>
</block>
<block name="script">
<script type="text/javascript">
//导航高亮
highlight_subnav("{:U('Partner/lists')}");
$('#submit').click(function(){
$('#form').submit();
});
</script>
</block>

@ -0,0 +1,169 @@
<extend name="Public/base"/>
<block name="body">
<link rel="stylesheet" href="__CSS__/select2.min.css" type="text/css" />
<script type="text/javascript" src="__JS__/bootstrap.min.js"></script>
<script type="text/javascript" src="__JS__/select2.min.js"></script>
<style>
.select2-container--default .select2-selection--single {
color: #000;
resize: none;
border-width: 1px;
border-style: solid;
border-color: #a7b5bc #ced9df #ced9df #a7b5bc;
box-shadow: 0px 3px 3px #F7F8F9 inset;height:35px;
height:28px;border-radius:3px;font-size:12px;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
line-height:35px;
line-height:28px;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
height:26px;
}
.select2-container--default .select2-search--dropdown .select2-search__field {
height:26px;line-height:26px;font-size:12px;
}
.select2-results__option[aria-selected] {font-size:12px;}
.data_list table td{
text-indent:0;
}
</style>
<div class="cf main-place top_nav_list navtab_list">
<h3 class="page_title">{$meta_title}</h3>
</div>
<div class="cf top_nav_list">
<div class="fl button_list">
<div class="tools">
<a class="" href="{:U('add')}"><span class="button_icon button_icon1"></span>新增</a>
<a class="ajax-post confirm " target-form="ids" url="{:U('del')}"><span class="button_icon button_icon2"></span>删除</a>
</div>
</div>
<div class="jssearch fl cf search_list" >
<div class="input-list search-title-box">
<label>搜索:</label>
</div>
<div class="input-list input-list-platform">
<select id="status" name="status" >
<option value="">显示状态</option>
<option value="1">已开启</option>
<option value="0">已关闭</option>
</select>
</div>
<div class="input-list">
<a class="sch-btn" href="javascript:;" id="search" url="{:U('lists','model='.$model['name'] .'&row='.I('row'),false)}">搜索</a>
</div>
</div>
</div>
<!-- 数据列表 -->
<div class="data_list data_game_list">
<div class="">
<table>
<!-- 表头 -->
<thead>
<tr>
<th>
<input class="check-all" type="checkbox">
</th>
<th>合作方</th>
<th>显示状态</th>
<th>添加人</th>
<th>添加时间</th>
<th style="width:10%;min-width:150px;">操作</th>
</tr>
</thead>
<!-- 列表 -->
<tbody>
<empty name ="listData">
<td colspan="6" class="text-center">aOh! 暂时还没有内容!</td>
<else />
<volist name="listData" id="data">
<tr>
<td><input class="ids" type="checkbox" value="{$data['id']}" name="ids[]"></td>
<td>{$data.partner}</td>
<td>{$data.status}</td>
<td>{$data.nickname}</td>
<td>{$data.create_time}</td>
<td>
<a href="{:U('edit',array('id'=>$data['id']))}">编辑</a>
<a href="{:U('del',array('id'=>$data['id']))}" class="confirm ajax-get">删除</a>
</td>
</tr>
</volist>
</empty>
</tbody>
</table>
</div>
</div>
<div class="page">
{$_page|default=''}
</div>
<div class="common_settings">
<span class="plus_icon"><span><img src="__IMG__/zwmimages/icon_jia.png"></span></span>
<form class="addShortcutIcon">
<input type="hidden" name="title" value="{$meta_title}">
<input type="hidden" name="url" value="Partner/lists">
</form>
<a class="ajax-post add-butn <notempty name='commonset'>addSIsetted</notempty>" href="javascript:;" target-form="addShortcutIcon" url="{:U('Think/addShortcutIcon')}"><img src="__IMG__/zwmimages/icon_jia.png"><span><notempty name='commonset'>已添加<else />添加至常用设置</notempty></span></a>
</div>
</block>
<block name="script">
<script src="__STATIC__/layer/layer.js"></script>
<script src="__STATIC__/layer/extend/layer.ext.js"></script>
<style>
.layui-layer-demo .layui-layer-title {background:#F0F5F7;font-weight:bold;}
.layui-layer-demo .layui-layer-content {}
.layui-layer-demo .layui-layer-content table{width:100%;border:0;border-spacing:0;padding:0;}
.layui-layer-demo .layui-layer-content td {height:42px;padding-left:20px;}
.layui-layer-demo .layui-layer-content tr:hover {background:#F0F5F7;}
.layui-layer-demo .layui-layer-content tr~tr {border-top:1px solid #ccc;}
.layui-layer-demo .layui-layer-content td~td {border-left:1px solid #ccc;}
.layui-layer-demo .layui-layer-content tr:last-child td {}
</style>
<script>
<volist name=":I('get.')" id="vo">
Think.setValue('{$key}',"{$vo}");
</volist>
$(".select_gallery").select2();
</script>
<script type="text/javascript">
//导航高亮
highlight_subnav("{:U('lists')}");
$(function(){
//搜索功能
$("#search").click(function(){
var url = $(this).attr('url');
var query = $('.jssearch').find('input').serialize();
query += "&"+$('.jssearch').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;
});
//回车自动提交
$('.jssearch').find('input').keyup(function(event){
if(event.keyCode===13){
$("#search").click();
}
});
});
</script>
</block>

@ -169,10 +169,22 @@ ADD COLUMN `user_token` char(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT
alter table `tab_giftbag` modify COLUMN `giftbag_version` tinyint(2) COMMENT '运营平台 0双平台 1and 2ios 3超级签'
-- 2019-10-22 cxj
UPDATE `sys_model` SET list_grid = "id:编号\r\nsort:排序\r\ngame_name:游戏名称\r\ngame_type_name:游戏类型\r\ngame_type_id:游戏类型\r\ngame_appid:游戏appid\r\ngame_status|get_info_status:显示状态\r\npay_status|get_info_status:支付状态\r\nicon:图片id\r\napply_status:审核状态\r\ncategory:开放类型\r\nrecommend_status|get_info_status*1:推荐状态\r\nrelation_game_id:关联游戏id\r\nrelation_game_name:关联游戏名称\r\nsdk_version:运营平台\r\ndevelopers:开发商\r\ndow_num:下载\r\nonline_status:上线状态\r\ncreate_time:创建时间\r\nserver_type:混服管理\r\nid:操作:[EDIT]&id=[id]|编辑,Game/del?ids=[id]|删除" where id = 15;
UPDATE `sys_model` SET list_grid = "id:编号\r\nsort:排序\r\ngame_name:游戏名称\r\ngame_type_name:游戏类型\r\ngame_type_id:游戏类型\r\ngame_appid:游戏appid\r\ngame_status|get_info_status:显示状态\r\npay_status|get_info_status:支付状态\r\nicon:图片id\r\napply_status:审核状态\r\ncategory:开放类型\r\nrecommend_status|get_info_status*1:推荐状态\r\nrelation_game_id:关联游戏id\r\nrelation_game_name:关联游戏名称\r\nsdk_version:运营平台\r\ndevelopers:开发商\r\ndow_num:下载\r\nonline_status:上线状态\r\ncreate_time:创建时间\r\nserver_type:混服管理\r\npartner_id:合作方\r\nid:操作:[EDIT]&id=[id]|编辑,Game/del?ids=[id]|删除" where id = 15;
-- 2019-10-23 zcl
ALTER TABLE `tab_coin_pay_order` CHANGE COLUMN `currency_num` `coin_num` int(11) NULL DEFAULT 0 COMMENT '代币数量' AFTER `auditor_time`;
-- 2019-10-23 zcl
update tab_quick_menu set name='订单查询' where name='充值明细'
update tab_quick_menu set name='订单查询' where name='充值明细'
-- 2019-10-28 cxj
CREATE TABLE `tab_partner` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
`partner` varchar(30) NOT NULL COMMENT '合作方名称',
`uid` int(11) NOT NULL DEFAULT '0' COMMENT '添加人ID',
`status` tinyint(3) NOT NULL DEFAULT '1' COMMENT '状态 0-禁用 1-启用',
`create_time` int(10) NOT NULL DEFAULT '0' COMMENT '添加时间',
`last_up_time` int(10) NOT NULL DEFAULT '0' COMMENT '最后更新时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
ALTER TABLE `tab_game` ADD COLUMN `partner_id` int(11) NOT NULL DEFAULT 0 COMMENT '合作方ID' AFTER `supersign_url`;
Loading…
Cancel
Save