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