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.

203 lines
5.9 KiB
PHTML

5 years ago
<?php
// +----------------------------------------------------------------------
// | 徐州梦创信息科技有限公司—专业的游戏运营,推广解决方案.
// +----------------------------------------------------------------------
// | Copyright (c) 2013 http://www.vlcms.com All rights reserved.
// +----------------------------------------------------------------------
// | Author: kefu@vlcms.com QQ97471547
// +----------------------------------------------------------------------
namespace Home\Model;
use Think\Model;
/**
* 文档基础模型
*/
class BalanceModel extends Model{
/**
* 构造函数
* @param string $name 模型名称
* @param string $tablePrefix 表前缀
* @param mixed $connection 数据库连接信息
*/
public function __construct($name = '', $tablePrefix = '', $connection = '') {
/* 设置默认的表前缀 */
$this->tablePrefix ='tab_';
/* 执行构造方法 */
parent::__construct($name, $tablePrefix, $connection);
}
/* 自动验证规则 */
protected $_validate = array(
);
/* 自动完成规则 */
protected $_auto = array(
);
/*
* 平台币充值记录
* @param array $map 条件数组
* @param integer $page 页数
* @param integer $row 每页条数
* @param integer $flag 标志1:自主充值2:渠道充值3:充值渠道4:充值子渠道)
* @author 鹿文学
*/
public function recharge($map,$page,$row,$flag='') {
$map['pay_status'] = 1;
$map['status'] = 1;
empty($_REQUEST['order_number']) || $map['pay_order_number'] = array('like','%'.$_REQUEST['order_number'].'%');
$field = 'id,pay_order_number as order_number,create_time,case recharge_type when 1 then "支付宝" when 2 then "微信" else "--" end as way';
switch($flag) {
case 1:{/* 自主充值 */
$map['promote_id'] = $map['recharge_id'] = PID;
$field .= ',"自己" as recharge_id,money as num,2 as source';
};break;
case 2:{/* 渠道充值 */
if(!empty($_REQUEST['account'])) {
$map['promote_account']=['like','%'.$_REQUEST['account'].'%'];
}
$map['promote_id'] = array('neq',PID);
$map['recharge_id'] = PID;
$field .= ',"自己" as recharge_id,money as num,3 as source';
};break;
case 3:{/* 充值渠道 */
if(!empty($_REQUEST['account'])) {
$map['recharge_account']=['like','%'.$_REQUEST['account'].'%'];
}
$child = $this->get_sub_all_promote_list();
$child[]=PID;
$map['recharge_id'] = array('not in',$child);
$map['promote_id'] = PID;
$field .= ',recharge_id,money as num,4 as source';
};break;
case 4:{/* 充值子渠道 */
if(!empty($_REQUEST['account'])) {
$map['recharge_account']=['like','%'.$_REQUEST['account'].'%'];
}
$map['recharge_id'] = array('in',$this->get_sub_all_promote_list());
$map['promote_id'] = PID;
$field .= ',recharge_id,money as num,5 as source';
};break;
default:
$field .= 'money as num';
}
$list = $this->field($field)->where($map)->order('create_time desc')->page($page,$row)->select();
$count = $this->where($map)->count();
return ['count'=>$count,'list'=>$list];
}
/*
* 所有平台币充值记录
* @param integer $flag 标志1:自主充值2:渠道充值3:充值渠道4:充值子渠道)
* @author 鹿文学
*/
public function recharge_all($flag='') {
$map['pay_status'] = 1;
$map['status'] = 1;
empty($_REQUEST['order_number']) || $map['pay_order_number'] = array('like','%'.$_REQUEST['order_number'].'%');
$field = 'id,pay_order_number as order_number,create_time,case recharge_type when 1 then "支付宝" when 2 then "微信" else "--" end as way';
switch($flag) {
case 1:{/* 自主充值 */
$map['promote_id'] = $map['recharge_id'] = PID;
$field .= ',"自己" as recharge_id,money as num,2 as source';
};break;
case 2:{/* 渠道充值 */
if(!empty($_REQUEST['account'])) {
$map['promote_account']=['like','%'.$_REQUEST['account'].'%'];
}
$map['promote_id'] = array('neq',PID);
$map['recharge_id'] = PID;
$field .= ',"自己" as recharge_id,money as num,3 as source';
};break;
case 3:{/* 充值渠道 */
if(!empty($_REQUEST['account'])) {
$map['recharge_account']=['like','%'.$_REQUEST['account'].'%'];
}
$child = $this->get_sub_all_promote_list();
$child[]=PID;
$map['recharge_id'] = array('not in',$child);
$map['promote_id'] = PID;
$field .= ',recharge_id,money as num,4 as source';
};break;
case 4:{/* 充值子渠道 */
if(!empty($_REQUEST['account'])) {
$map['recharge_account']=['like','%'.$_REQUEST['account'].'%'];
}
$map['recharge_id'] = array('in',$this->get_sub_all_promote_list());
$map['promote_id'] = PID;
$field .= ',recharge_id,money as num,5 as source';
};break;
default:
$field .= 'money as num';
}
$list = $this->field($field)->where($map)->order('create_time desc')->select();
return $list;
}
/*
* 删除记录
* @author 鹿文学
*/
public function del($id=0) {
if(is_numeric($id) && $id>0) {
return $this->where(['id'=>$id])->setField('status',0);
} elseif(is_array($id)) {
return $this->where(['id'=>['in',$id]])->setField('status',0);
} else {
return 0;
}
}
/*
* 获取子渠道
* @author 鹿文学
*/
public function get_sub_all_promote_list() {
if(PRO_GRADE==1) {
$map['parent_id'] = PID;
$map['grand_id'] = PID;
$map['_logic'] = 'or';
} elseif(PRO_GRADE==2) {
$map['parent_id'] = PID;
} else {
return [PID];
}
$result = M('Promote','tab_')->field('id')->where($map)->select();
return is_array($result)?array_column($result,'id'):'';
}
}