diff --git a/Application/Admin/Controller/ServerNoticeController.class.php b/Application/Admin/Controller/ServerNoticeController.class.php new file mode 100644 index 000000000..51a118437 --- /dev/null +++ b/Application/Admin/Controller/ServerNoticeController.class.php @@ -0,0 +1,260 @@ + + */ +class ServerNoticeController extends ThinkController { + const model_name = 'ServerNotice'; + + public function lists(){ + if(isset($_REQUEST['show_status'])){ + $extend['show_status']=$_REQUEST['show_status']; + unset($_REQUEST['show_status']); + } + if(isset($_REQUEST['server_version'])){ + $extend['server_version']=$_REQUEST['server_version']; + unset($_REQUEST['server_version']); + } + if(isset($_REQUEST['timestart']) && isset($_REQUEST['timeend'])){ + $extend['start_time'] = array('BETWEEN',array(strtotime($_REQUEST['timestart']),strtotime($_REQUEST['timeend'])+24*60*60-1)); + unset($_REQUEST['timestart']);unset($_REQUEST['timeend']); + }elseif(isset($_REQUEST['timestart'])){ + $extend['start_time']=array('EGT',strtotime($_REQUEST['timestart'])); + }elseif(isset($_REQUEST['timeend'])){ + $extend['start_time']=array('ELT',strtotime($_REQUEST['timeend'])); + } + if(isset($_REQUEST['start']) && isset($_REQUEST['end'])){ + $extend['start_time'] = array('BETWEEN',array(strtotime($_REQUEST['start']),strtotime($_REQUEST['end'])+24*60*60-1)); + unset($_REQUEST['start']);unset($_REQUEST['end']); + } + if(isset($_REQUEST['game_name'])){ + if($_REQUEST['game_name']=='全部'){ + unset($_REQUEST['game_name']); + }else{ + $extend['game_name']=['like', "{$_REQUEST['game_name']}%"]; + unset($_REQUEST['game_name']); + } + } + if(isset($_REQUEST['server_name'])){ + $extend['server_name']=$_REQUEST['server_name']; + unset($_REQUEST['server_name']); + } + if(empty($_GET['type']) || $_GET['type'] == 1) { + $extend['developers'] = array('EQ',0); + }else{ + $extend['developers'] = array('NEQ',0); + $this->assign('show_status',1); + } + + $this->m_title = '区服预告'; + $this->assign('commonset',M('Kuaijieicon')->where(['url'=>'ServerNotice/lists','status'=>1])->find()); + + + parent::order_lists(self::model_name,$_GET["p"],$extend); + } + + public function add(){ + $model = M('Model')->getByName(self::model_name); + $this->m_title = '区服预告'; + $this->assign('commonset',M('Kuaijieicon')->where(['url'=>'ServerNotice/lists','status'=>1])->find()); + + parent::add($model["id"]); + } + + public function edit($id=0){ + $id || $this->error('请选择要编辑的用户!'); + $this->m_title = '区服预告'; + $this->assign('commonset',M('Kuaijieicon')->where(['url'=>'ServerNotice/lists','status'=>1])->find()); + + $model = M('Model')->getByName(self::model_name); /*通过Model名称获取Model完整信息*/ + parent::edit($model['id'],$id); + } + + public function del($model = null, $ids=null){ + $model = M('Model')->getByName(self::model_name); /*通过Model名称获取Model完整信息*/ + parent::del($model["id"],$ids); + } + + /** + * 批量导入游戏区服区服 + */ + public function batch(){ + if(IS_POST){ + switch($_POST['batchType']){ + case 1: + $this->batchExcel(); + break; + case 2: + $this->batchImport(); + break; + } + }else{ + $this->meta_title = '新增区服管理'; + + $this->m_title = '区服预告'; + $this->assign('commonset',M('Kuaijieicon')->where(['url'=>'Server/lists','status'=>1])->find()); + + $this->display(); + } + + } + + //批量新增 + public function batchImport(){ + $server_str = str_replace(array("\r\n", "\r", "\n"), "", I('server')); + $server_ar1 = explode(';',$server_str); + array_pop($server_ar1); + $num = count($server_ar1); + if ($num<1) {$this->error('请添加区服数据');} + if($num > 100 ){ + $this->error('区服数量过多,最多只允许添加100个!'); + } + $verify = ['game_id','server_name','time']; + $server_model = D('ServerNotice'); + foreach ($server_ar1 as $key=>$value) { + $arr = explode(',',$value); + foreach ($arr as $k=>$v) { + $att = explode('=',$v); + if(in_array($att[0],$verify)){ + switch ($att[0]){ + case 'time' : + $patten = '/^\d{4}-(0?[1-9]|1[012])-(0?[1-9]|[12][0-9]|3[01])(\s+(0[0-9]|1[0-9]|2[0-3])\:(0[0-9]|[1-5][0-9])(\:(0[0-9]|[1-5][0-9]))?)$/'; + if(!strtotime($att[1]) || !preg_match($patten,$att[1])){ + $this->error('开服时间不正确'); + }else{ + $time = $server[$key]['start_time'] = strtotime($att[1]); + } + break; + case 'game_id': + $game = M('Game','tab_')->where('developers = 0')->find($att[1]); + if(empty($game)){ + $this->error('game_id='.$att[1].' 数据错误,请重新上传'); + } + $server[$key]['game_id'] = $att[1]; + break; + default: + $server[$key][$att[0]] = $att[1]; + } + } + } + $server[$key]['game_name'] = get_game_name($server[$key]['game_id']); + $server[$key]['server_num'] = 0; + $server[$key]['recommend_status'] = 1; + $server[$key]['show_status'] = 1; + $server[$key]['stop_status'] = 0; + $server[$key]['server_status'] = 0; + $server[$key]['parent_id'] = 0; + $server[$key]['create_time'] = time(); + $version = get_sdk_version($server[$key]['game_id']); + $server[$key]['server_version'] = empty($version) ? 0 : $version; + + if(!$server_model->create($server[$key])){ + switch ($server_model->getError()) { + case '区服名称不能为空': + $msg = '游戏ID:'.$server[$key]['game_id'].' <'.$server[$key]['server_name'].'> 区服名称不能为空'; + break; + case '区服名称不能超过30个字符': + $msg = '游戏ID:'.$server[$key]['game_id'].' <'.$server[$key]['server_name'].'> 区服名称不能超过30个字符'; + break; + case '同游戏下区服名称已存在': + $msg = '游戏ID:'.$server[$key]['game_id'].' <'.$server[$key]['server_name'].'> 区服名称重复'; + break; + case '开始时间不能为空': + $msg = '游戏ID:'.$server[$key]['game_id'].' <'.$server[$key]['server_name'].'> 开始时间不能为空'; + break; + default: + $msg = "批量添加失败"; + break; + } + $this->error($msg); + } + } + $server = $this->array_unset_tt($server); + $res = M('ServerNotice','tab_')->addAll($server); + if($res !== false){ + $this->success('添加成功!',U('ServerNotice/lists')); + }else{ + $this->error('添加失败!'.M()->getError()); + } + } + + function array_unset_tt($arr){ + //建立一个目标数组 + $res = array(); + foreach ($arr as $key => $value) { + //查看有没有重复项 + if($res[$key-1]['game_id'] == $value['game_id'] && $res[$key-1]['server_name'] == $value['server_name']){ + + $this->error("游戏ID:{$value['game_id']} <{$value['server_name']}> 游戏区服名称重复"); + + //有:销毁 + //unset($arr[$key]); + } + else{ + $res[$key] = $value; + } + } + return $res; + } + + /** + * excel 批量导入游戏区服 + */ + public function batchExcel(){ + $excel = new BatchImportExcelEvent(); + if (empty($_FILES['fileExcel'])) {$this->ajaxReturn(["status"=>0,"info"=>'请选择文件']);exit;} + $info = $excel->uploadExcel($_FILES['fileExcel']); + $data = []; + if(is_array($info)){ + $filename = './Uploads/' . $info['savepath'] . $info['savename']; + $data = $excel->importExcel($filename); + if(is_array($data)){ + $excel->serverDataInsert($data,U('ServerNotice/lists'),true); + }else{ + $this->ajaxReturn(["status"=>0,"info"=>$data]); + } + }else{ + $this->ajaxReturn(["status"=>0,"info"=>$info]); + } + + } + + + + /** + * 区服状态修改 + * @author 鹿文学 + */ + public function change_status($field = null,$value=null) { + $id = array_unique((array)I('ids', 0)); + $id = is_array($id) ? implode(',', $id) : $id; + if (empty($id)) { + $this->error('请选择要操作的数据!'); + } + $map['id'] = array('in', $id); + $servermodel = D(self::model_name); + $server = $servermodel->where($map)->find(); + //开发者区服 + if($server['developers'] > 0){ + $save[$field] = $value; + $result = $servermodel->where($map)->save($save); + }else{ + $result = $servermodel->where($map)->setField($field,$value); + } + $msg = "操作"; + if($result !== false){ + $this->success($msg.'成功'); + }else{ + $this->error($msg.'失败'); + } + } + + + + + +} diff --git a/Application/Admin/Event/BatchImportExcelEvent.class.php b/Application/Admin/Event/BatchImportExcelEvent.class.php index 43d05a584..7ac435222 100644 --- a/Application/Admin/Event/BatchImportExcelEvent.class.php +++ b/Application/Admin/Event/BatchImportExcelEvent.class.php @@ -102,9 +102,15 @@ class BatchImportExcelEvent extends Controller{ /** * 插入区服数据到数据库 + * isnotice 是否是区服预告 */ - public function serverDataInsert($serverData,$url=''){ - $serverModel = new \Admin\Model\ServerModel(); + public function serverDataInsert($serverData,$url='',$isnotice=false){ + if($isnotice){ + $serverModel = new \Admin\Model\ServerNoticeModel(); + }else{ + $serverModel = new \Admin\Model\ServerModel(); + } + $sData = []; $key = 0; foreach($serverData as $server){ diff --git a/Application/Admin/Model/ServerNoticeModel.class.php b/Application/Admin/Model/ServerNoticeModel.class.php new file mode 100644 index 000000000..cbcf0e3c0 --- /dev/null +++ b/Application/Admin/Model/ServerNoticeModel.class.php @@ -0,0 +1,102 @@ + +// +---------------------------------------------------------------------- + +namespace Admin\Model; +use Think\Model; + +/** + * 文档基础模型 + */ +class ServerNoticeModel extends Model{ + + + + /* 自动验证规则 */ + protected $_validate = array( + array('game_id', '/^[1-9]\d*$/', '请选择游戏', self::MUST_VALIDATE, 'regex', self::MODEL_BOTH), + array('server_name', 'require', '区服名称不能为空', self::MUST_VALIDATE, 'regex', self::MODEL_BOTH), + array('server_name', '1,30', '区服名称不能超过30个字符', self::VALUE_VALIDATE, 'length', self::MODEL_BOTH), + array("server_name,game_id,id", 'checkServerName', '同游戏下区服名称已存在', self::MUST_VALIDATE, 'callback', self::MODEL_BOTH), + array('start_time', 'require', '开始时间不能为空', self::MUST_VALIDATE, 'regex', self::MODEL_BOTH), + ); + + /* 自动完成规则 */ + protected $_auto = array( + array('create_time', 'getCreateTime', self::MODEL_INSERT,'callback'), + array('server_num', 0, self::MODEL_INSERT), + array('start_time', 'strtotime', self::MODEL_BOTH, 'function'), + array('parent_id', 0,self::MODEL_INSERT,'string'), + ); + + /** + * 构造函数 + * @param string $name 模型名称 + * @param string $tablePrefix 表前缀 + * @param mixed $connection 数据库连接信息 + */ + public function __construct($name = '', $tablePrefix = '', $connection = '') { + /* 设置默认的表前缀 */ + $this->tablePrefix ='tab_'; + /* 执行构造方法 */ + parent::__construct($name, $tablePrefix, $connection); + } + + + + + /** + * 创建时间不写则取当前时间 + * @return int 时间戳 + * @author huajie + */ + protected function getCreateTime(){ + $create_time = I('post.create_time'); + return $create_time?strtotime($create_time):NOW_TIME; + } + + + + /** + * 生成不重复的name标识 + * @author huajie + */ + private function generateName(){ + $str = 'abcdefghijklmnopqrstuvwxyz0123456789'; //源字符串 + $min = 10; + $max = 39; + $name = false; + while (true){ + $length = rand($min, $max); //生成的标识长度 + $name = substr(str_shuffle(substr($str,0,26)), 0, 1); //第一个字母 + $name .= substr(str_shuffle($str), 0, $length); + //检查是否已存在 + $res = $this->getFieldByName($name, 'id'); + if(!$res){ + break; + } + } + return $name; + } + + /** + *判断同游戏下区服名称是否存在 + */ + public function checkServerName($args=null){ + $map['game_id'] = $args['game_id']; + $map['server_name'] = $args['server_name']; + if(empty($args['id'])){ + $data = $this->field('id')->where($map)->find(); + return empty($data); + }else{ + $data = $this->field('id')->where($map)->find(); + return empty($data['id'])?true:$data['id'] == $args['id'] ? true:false; + } + + } +} \ No newline at end of file diff --git a/Application/Admin/View/ServerNotice/add.html b/Application/Admin/View/ServerNotice/add.html new file mode 100644 index 000000000..862d085cb --- /dev/null +++ b/Application/Admin/View/ServerNotice/add.html @@ -0,0 +1,203 @@ + + + + + + + + + + + + + + +
+ +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
*游戏名称: + + +
运营平台 + + + + + + + +
*区服名称: + +
显示状态: + + + + +
*开服时间: + +
区服描述: + +
+
+ +
+ + + 返回 + +
+
+ +
+
+ + + +
+ + + +if(C('COLOR_STYLE')=='blue_color') echo ''; + + + + + diff --git a/Application/Admin/View/ServerNotice/batch.html b/Application/Admin/View/ServerNotice/batch.html new file mode 100644 index 000000000..7e5f3038a --- /dev/null +++ b/Application/Admin/View/ServerNotice/batch.html @@ -0,0 +1,168 @@ + + + + + + + + + + + + + +
+ +
+ +
+ +
+ + + + + + + +
添加方式: + + + + +
+ + + + + + + + + + + +
Execl模板:下载模板
导入模板
+ + + + + + + + + + +
+
+ + + + 返回 + +
+
+ +
+
+ + + +
+ + + +if(C('COLOR_STYLE')=='blue_color') echo ''; + + + + + diff --git a/Application/Admin/View/ServerNotice/edit.html b/Application/Admin/View/ServerNotice/edit.html new file mode 100644 index 000000000..08fda9125 --- /dev/null +++ b/Application/Admin/View/ServerNotice/edit.html @@ -0,0 +1,196 @@ + + + + + + + + + + + + + + + +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
*游戏名称: + + +
运营平台: + + + + + + +
*区服名称: + +
显示状态: + + + + + + + + + + +
*开服时间: + +
区服描述: + +
+
+ + +
+ + + 返回 + +
+
+ +
+
+ + + +
+ + + +if(C('COLOR_STYLE')=='blue_color') echo ''; + + + + + diff --git a/Application/Admin/View/ServerNotice/lists.html b/Application/Admin/View/ServerNotice/lists.html new file mode 100644 index 000000000..220741070 --- /dev/null +++ b/Application/Admin/View/ServerNotice/lists.html @@ -0,0 +1,354 @@ + + + + + + + + + + + + + +
+
+ +
+ + 新增 + 批量添加 + + 删除 +
+ +
+ +
+
+ +
+ +
+ +
+
+
+ +
+
+ +
+
+ +
+
+ + - +
+ + +
+
+
+ +
+ +
+ 搜索 +
+
+
+ + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + 游戏名称区服名称运营平台显示状态开服时间操作
aOh! 暂时还没有内容!
{$data.game_name}{$data.server_name}{:get_systems_name($data['server_version'])} + + {:set_show_time($data['start_time'])} + 编辑 + 删除 +
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + 开发者账号游戏名称区服名称运营平台显示状态开服时间
aOh! 暂时还没有内容!
{:get_developer_account($data['developers'])}{$data.game_name}{$data.server_name}{:get_systems_name($data['server_version'])} + + {:set_show_time($data['start_time'])}
+
+
+ +
+
+ 导出 + {$_page|default=''} +
+ + + +
+ + + + +if(C('COLOR_STYLE')=='blue_color') echo ''; + + + + + + diff --git a/Application/Home/Controller/PromoteController.class.php b/Application/Home/Controller/PromoteController.class.php index fff5f82d7..b718673a8 100644 --- a/Application/Home/Controller/PromoteController.class.php +++ b/Application/Home/Controller/PromoteController.class.php @@ -240,26 +240,25 @@ class PromoteController extends BaseController private function caculateSpend($pay_time, $condition, $create = [], $type = 0) { - $map1['promote_id'] = $map['promote_id'] = array('egt', 0); + $map['promote_id'] = array('egt', 0); $spend = M('Spend', 'tab_'); - $map1['pay_status'] = $map['pay_status'] = 1; + $map['pay_status'] = 1; $today = total(1); $yesterday = total(5); $week = total(2); $mounth = total(3); - unset( $map['create_time']); + $this->getLoginPromote(); - $promote_id = get_pid(); - - $promoteId = M("promote", "tab_") - ->field("id") - ->where(array('chain' => ['like', '/'.$promote_id . '/%'],'id'=>$promote_id,'_logic'=>'or')) - ->select(); - $promoteId = implode(',',array_column($promoteId,'id')); + $promoteId = $this->loginPromote['id']; - $whereUser['promote_id'] = ['IN', $promoteId]; + $promoteIds = M("promote", "tab_") + ->where(array('chain' => ['like', $this->loginPromote['chain'] . $promoteId . '/%'])) + ->getField('id', true); + $promoteIds[] = $promoteId; + $map['promote_id'] = ['IN', $promoteIds]; if (in_array($type, [1, 2])) { + $whereUser['promote_id'] = $map['promote_id']; if ($type == 1) { $pay_time = total(1); $start = mktime(0, 0, 0, date('m'), date('d'), date('Y')); @@ -271,78 +270,49 @@ class PromoteController extends BaseController } $whereUser['register_time'] = ['between', array($start, $end - 1)]; $userId = M('user', 'tab_')->where($whereUser)->getField('id', true); - } - if ($userId) { - $map1['user_id'] = $map['user_id'] = ['IN', $userId]; - } else if (!$userId && $type != 0) { - return array('sum_mounth' => 0, 'sum_today' => 0); + if ($userId) { + $map['user_id'] = ['IN', $userId]; + } else if (!$userId && $type != 0) { + return array('sum_mounth' => 0, 'sum_today' => 0); + } } - //获取所有会长 - $promote_map = "`chain` = '%/{$promote_id}/%' OR id = {$promote_id}"; - - $promote = M("promote","tab_")->field("id,account")->where($promote_map)->select(); - $data =array(); - for ($i=0; $i < count($promote); $i++) { - # code... - $proid = M("promote","tab_")->field("id")->where("`chain` like '%/{$promote[$i]['id']}/%'")->select(); - $str = ''; - for($k=0; $kfield(' - floor(sum(IF(pay_time ' . $pay_time . ',pay_amount,0))*100) as count, - floor(sum(IF(pay_time ' . $today . ',pay_amount,0))*100) as today, + $data = $spend + ->field(' + floor(sum(IF(pay_time ' . $pay_time . ',pay_amount,0))*100) as sum_count, + floor(sum(IF(pay_time ' . $today . ',pay_amount,0))*100) as sum_today, floor(sum(IF(pay_time ' . $yesterday . ',pay_amount,0))*100) as yesterday, - floor(sum(IF(pay_time ' . $week . ',pay_amount,0))*100) as week, - floor(sum(IF(pay_time ' . $mounth . ',pay_amount,0))*100) as mounth') - ->where($map) - ->where("pay_time".$pay_time) - ->find(); - $dbdata['promote_account'] = $promote[$i]['account']; - } else { - $dbdata = $spend - ->field(' - floor(sum(IF(pay_time ' . $pay_time . ',pay_amount,0))*100) as count, - floor(sum(IF(pay_time ' . $today . ',pay_amount,0))*100) as today, + floor(sum(IF(pay_time ' . $week . ',pay_amount,0))*100) as sum_week, + floor(sum(IF(pay_time ' . $mounth . ',pay_amount,0))*100) as sum_mounth') + ->where($map) + ->where("pay_time".$pay_time) + ->find(); + } else { + $data = $spend + ->field(' + floor(sum(IF(pay_time ' . $pay_time . ',pay_amount,0))*100) as sum_count, + floor(sum(IF(pay_time ' . $today . ',pay_amount,0))*100) as sum_today, floor(sum(IF(pay_time ' . $yesterday . ',pay_amount,0))*100) as yesterday, - floor(sum(IF(pay_time ' . $week . ',pay_amount,0))*100) as week, - floor(sum(IF(pay_time ' . $mounth . ',pay_amount,0))*100) as mounth') - ->where($map) - ->where("pay_time".$pay_time) - ->find(); - $dbdata['promote_account'] = $promote[$i]['account']; - } - $data[] = $dbdata; - } - foreach ($data as $key => $value) { - $value['count'] ?: 0; - $value['today'] ?: 0; - $value['week'] ?: 0; - $value['mounth'] ?: 0; - static $i = 0; - $i++; - $data[$key]['rand'] = $i; - $data[$key]['count'] = $value['count'] / 100; - $data[$key]['today'] = $value['today'] / 100; - $data[$key]['yesterday'] = $value['yesterday'] / 100; - $data[$key]['week'] = $value['week'] / 100; - $data[$key]['mounth'] = $value['mounth'] / 100; - } - $total = $this->data_total($data); + floor(sum(IF(pay_time ' . $week . ',pay_amount,0))*100) as sum_week, + floor(sum(IF(pay_time ' . $mounth . ',pay_amount,0))*100) as sum_mounth') + ->where($map) + ->where("pay_time".$pay_time) + ->find(); + } + $data['sum_count'] = empty($data['sum_count']) ? 0 : bcdiv($data['sum_count'], 100 ,2); + $data['sum_today'] = empty($data['sum_today']) ? 0 : bcdiv($data['sum_today'], 100 ,2); + $data['yesterday'] = empty($data['yesterday']) ? 0 : bcdiv($data['yesterday'], 100 ,2); + $data['sum_week'] = empty($data['sum_week']) ? 0 : bcdiv($data['sum_week'], 100 ,2); + $data['sum_mounth'] = empty($data['sum_mounth']) ? 0 : bcdiv($data['sum_mounth'], 100 ,2); - return $total; + return $data; } public function data_total($data) diff --git a/Data/update.sql b/Data/update.sql index 30522280a..cf6859817 100644 --- a/Data/update.sql +++ b/Data/update.sql @@ -621,4 +621,31 @@ ALTER TABLE `tab_game_source` add COLUMN `is_new_sdk` tinyint(2) DEFAULT '0' COM --游戏评分字段改为保留小数1位 2019-12-03 郑昌隆--- -ALTER TABLE tab_game MODIFY COLUMN `game_score` double(3,1) DEFAULT '0' COMMENT '游戏评分'; \ No newline at end of file +ALTER TABLE tab_game MODIFY COLUMN `game_score` double(3,1) DEFAULT '0' COMMENT '游戏评分'; + +--新增区服预告表 chenzhi 2019-12-04 +CREATE TABLE `tab_server_notice` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键自增', + `game_id` int(11) NOT NULL COMMENT '游戏id', + `game_name` varchar(30) NOT NULL COMMENT '游戏名称', + `server_name` varchar(30) NOT NULL COMMENT '区服名称', + `server_num` int(11) DEFAULT NULL COMMENT '对接区服id', + `recommend_status` tinyint(2) DEFAULT '1' COMMENT '推荐状态(0:否,1:是)', + `show_status` tinyint(2) DEFAULT '1' COMMENT '显示状态(0:否,1:是)', + `stop_status` tinyint(2) DEFAULT '0' COMMENT '是否停服(0:否,1:是)', + `server_status` tinyint(2) DEFAULT '0' COMMENT '区服状态(0:正常,1拥挤,2爆满)', + `icon` int(11) DEFAULT NULL COMMENT '区服图标', + `start_time` int(11) DEFAULT NULL COMMENT '开始时间', + `desride` varchar(300) DEFAULT NULL COMMENT '描述', + `prompt` varchar(300) DEFAULT NULL COMMENT '停服提示', + `parent_id` int(11) DEFAULT NULL COMMENT '父类id', + `create_time` int(11) DEFAULT NULL COMMENT '创建时间', + `server_version` tinyint(2) DEFAULT NULL COMMENT '运营平台 1and 2ios 0双平台', + `developers` int(11) DEFAULT '0' COMMENT '开发商', + `server_id` varchar(50) NOT NULL DEFAULT '' COMMENT '对接区服id', + PRIMARY KEY (`id`), + KEY `game_id` (`game_id`), + KEY `show_status` (`show_status`), + KEY `start_time` (`start_time`), + KEY `create_time` (`create_time`) +) ENGINE=InnoDB AUTO_INCREMENT=488 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='游戏区服预告表'; \ No newline at end of file