You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
189 lines
5.7 KiB
PHP
189 lines
5.7 KiB
PHP
<?php
|
|
// +----------------------------------------------------------------------
|
|
// | OneThink [ WE CAN DO IT JUST THINK IT ]
|
|
// +----------------------------------------------------------------------
|
|
// | Copyright (c) 2013 http://www.onethink.cn All rights reserved.
|
|
// +----------------------------------------------------------------------
|
|
// | Author: huajie <banhuajie@163.com>
|
|
// +----------------------------------------------------------------------
|
|
|
|
namespace Admin\Model;
|
|
use Think\Model;
|
|
|
|
/**
|
|
* 文档基础模型
|
|
*/
|
|
class ApplyModel extends Model{
|
|
|
|
/* 自动验证规则 */
|
|
protected $_validate = array(
|
|
array('ratio', '/^(\d{1,2}(\.\d{1,3})?|100)$/', '代充折扣错误', self::VALUE_VALIDATE, 'regex', self::MODEL_BOTH),
|
|
);
|
|
|
|
/* 自动完成规则 */
|
|
protected $_auto = array(
|
|
array('apply_time', 'getCreateTime', self::MODEL_BOTH,'callback'),
|
|
);
|
|
|
|
/**
|
|
* 构造函数
|
|
* @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 <banhuajie@163.com>
|
|
*/
|
|
protected function getCreateTime(){
|
|
$create_time = I('post.create_time');
|
|
return $create_time?strtotime($create_time):NOW_TIME;
|
|
}
|
|
|
|
/**
|
|
*查找推广员申请成功的游戏信息
|
|
*@param int $promote_id 推广员id
|
|
*@param strng $fields 显示字段
|
|
*@return bool|array
|
|
*@author 小纯洁
|
|
*/
|
|
public function getPromoteGame($promote_id = 0,$fields=""){
|
|
$data = $this->FIELD($fields)
|
|
->JOIN('tab_game on tab_apply.game_id = tab_game.id AND tab_apply.status = 1 AND tab_apply.promote_id = '.$promote_id)
|
|
->SELECT();
|
|
if(empty($data)){
|
|
return false;
|
|
}else{
|
|
return $data;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 链表查询
|
|
* @author 小纯洁
|
|
*/
|
|
public function joinList($fields=true,$join='',$map=[],$order=''){
|
|
$page = intval($_GET['p']);
|
|
$page = $page ? $page : 1; //默认显示第一页数据
|
|
|
|
if(isset($_REQUEST['row'])) {$row = $_REQUEST['row'];}else{$row = 10;}
|
|
|
|
$listData = [];
|
|
$data = $this
|
|
->field($fields)
|
|
->join($join)
|
|
->where($map)
|
|
->order($order)
|
|
->page($page, $row)
|
|
->select();
|
|
$sql = $this->getLastSql();
|
|
/* 查询记录数 */
|
|
$count = $this->join($join)->where($map)->count();
|
|
$listData['data'] = $data;
|
|
//分页
|
|
|
|
$page = set_pagination($count,$row);
|
|
if($page) {$listData['page'] = $page;}
|
|
|
|
return $listData;
|
|
}
|
|
|
|
/**
|
|
* 设置分成比例
|
|
*/
|
|
public function setRatio($data){
|
|
$map['game_id'] = $data["game_id"];
|
|
$map['promote_id'] = $data["promote_id"];
|
|
$result = $this->where($map)->setField($data['field'],$data['value']);
|
|
if($result !== false){
|
|
return true;
|
|
}else{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
|
|
/*
|
|
* 未审核游戏分包列表
|
|
* @return array 检测结果数据集
|
|
* @author 鹿文学
|
|
*/
|
|
public function checkPackageApply() {
|
|
|
|
$list = $this->field('tab_apply.id,tab_apply.game_id,tab_apply.promote_id,tab_promote.account,tab_apply.sdk_version,tab_game.game_name')
|
|
|
|
->join('tab_game on (tab_game.id = tab_apply.game_id)','left')
|
|
|
|
->join('tab_promote on (tab_promote.id = tab_apply.promote_id)','left')
|
|
|
|
->where(array('tab_apply.status'=>0))->select();
|
|
$type=302;
|
|
if ($list[0]) {
|
|
|
|
$list = D('check')->dealWithCheckList($type,$list);
|
|
|
|
if (empty($list[0])) {return '';}
|
|
|
|
foreach ($list as $k => $v) {
|
|
$data[$k]['info'] = '推广员账号:'.$v['account'].'['.$v['game_name'].']分包申请,审核状态:未审核';
|
|
$data[$k]['type'] = $type;
|
|
$data[$k]['url'] = U('Apply/and_lists',array('type'=>$v['sdk_version'],'game_id'=>$v['game_id'],'promote_id'=>$v['promote_id'],'status'=>0));
|
|
$data[$k]['create_time'] = time();
|
|
$data[$k]['status']=0;
|
|
$data[$k]['position'] = $v['id'];
|
|
}
|
|
return $data;
|
|
}else {
|
|
D('check')->dealWithCheckListOnNull($type);
|
|
return '';
|
|
}
|
|
|
|
}
|
|
|
|
|
|
/*
|
|
* 未打包游戏分包列表
|
|
* @return array 检测结果数据集
|
|
* @author 鹿文学
|
|
*/
|
|
public function checkPackApply() {
|
|
|
|
$list = $this->field('tab_apply.id,tab_apply.game_id,tab_apply.promote_id,tab_promote.account,tab_apply.sdk_version,tab_game.game_name')
|
|
|
|
->join('tab_game on (tab_game.id = tab_apply.game_id)','left')
|
|
|
|
->join('tab_promote on (tab_promote.id = tab_apply.promote_id)','left')
|
|
|
|
->where(array('tab_apply.status'=>1,'tab_apply.enable_status'=>0))->select();
|
|
$type=303;
|
|
if ($list[0]) {
|
|
|
|
$list = D('check')->dealWithCheckList($type,$list);
|
|
|
|
if (empty($list[0])) {return '';}
|
|
|
|
foreach ($list as $k => $v) {
|
|
$data[$k]['info'] = '推广员账号:'.$v['account'].'['.$v['game_name'].']分包申请,打包状态:未打包';
|
|
$data[$k]['type'] = $type;
|
|
$data[$k]['url'] = U('Apply/and_lists',array('type'=>$v['sdk_version'],'game_id'=>$v['game_id'],'promote_id'=>$v['promote_id'],'enable_status'=>0));
|
|
$data[$k]['create_time'] = time();
|
|
$data[$k]['status']=0;
|
|
$data[$k]['position'] = $v['id'];
|
|
}
|
|
return $data;
|
|
}else {
|
|
D('check')->dealWithCheckListOnNull($type);
|
|
return '';
|
|
}
|
|
|
|
}
|
|
|
|
} |