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
PHP

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<?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'):'';
}
}