2018-08-04 17:54:43 +00:00
< ? php
namespace Admin\Controller ;
/**
* 支付日志管理
* @ author Devil
* @ blog http :// gong . gg /
* @ version 0.0 . 1
* @ datetime 2016 - 12 - 01 T21 : 51 : 08 + 0800
*/
class PayLogController extends CommonController
{
/**
* [ _initialize 前置操作 - 继承公共前置方法 ]
* @ author Devil
* @ blog http :// gong . gg /
* @ version 0.0 . 1
* @ datetime 2016 - 12 - 03 T12 : 39 : 08 + 0800
*/
public function _initialize ()
{
// 调用父类前置方法
parent :: _initialize ();
// 登录校验
$this -> Is_Login ();
// 权限校验
$this -> Is_Power ();
}
/**
* [ Index 支付日志列表 ]
* @ author Devil
* @ blog http :// gong . gg /
* @ version 0.0 . 1
* @ datetime 2016 - 12 - 06 T21 : 31 : 53 + 0800
*/
public function Index ()
{
// 参数
$param = array_merge ( $_POST , $_GET );
// 条件
$where = $this -> GetIndexWhere ();
// 模型
$m = M ( 'PayLog' );
// 分页
$number = MyC ( 'admin_page_number' );
$page_param = array (
'number' => $number ,
'total' => $m -> alias ( 'p' ) -> join ( '__USER__ AS u ON u.id=p.user_id' ) -> where ( $where ) -> count (),
'where' => $param ,
'url' => U ( 'Admin/PayLog/Index' ),
);
$page = new \Library\Page ( $page_param );
// 获取列表
$field = 'p.*,u.username,u.nickname,u.mobile,u.gender' ;
$list = $this -> SetDataHandle ( $m -> alias ( 'p' ) -> join ( '__USER__ AS u ON u.id=p.user_id' ) -> field ( $field ) -> where ( $where ) -> limit ( $page -> GetPageStarNumber (), $number ) -> order ( 'p.id desc' ) -> select ());
// 性别
$this -> assign ( 'common_gender_list' , L ( 'common_gender_list' ));
// 支付日志类型
2018-10-05 17:09:25 +00:00
$pay_list = $m -> field ( 'payment AS id, payment_name AS name' ) -> group ( 'payment' ) -> select ();
$this -> assign ( 'common_pay_type_list' , $pay_list );
2018-08-04 17:54:43 +00:00
// 业务类型
2018-10-05 17:09:25 +00:00
$this -> assign ( 'common_busines_type_list' , L ( 'common_busines_type_list' ));
2018-08-04 17:54:43 +00:00
// 参数
$this -> assign ( 'param' , $param );
// 分页
$this -> assign ( 'page_html' , $page -> GetPageHtml ());
// 数据列表
$this -> assign ( 'list' , $list );
$this -> display ( 'Index' );
}
/**
* [ SetDataHandle 数据处理 ]
* @ author Devil
* @ blog http :// gong . gg /
* @ version 0.0 . 1
* @ datetime 2016 - 12 - 29 T21 : 27 : 15 + 0800
* @ param [ array ] $data [ 支付日志数据 ]
* @ return [ array ] [ 处理好的数据 ]
*/
private function SetDataHandle ( $data )
{
if ( ! empty ( $data ))
{
$common_gender_list = L ( 'common_gender_list' );
2018-10-05 17:09:25 +00:00
$common_busines_type_list = L ( 'common_busines_type_list' );
2018-08-04 17:54:43 +00:00
foreach ( $data as & $v )
{
// 业务类型
2018-10-05 17:09:25 +00:00
$v [ 'busines_type_text' ] = $common_busines_type_list [ $v [ 'busines_type' ]][ 'name' ];
2018-08-04 17:54:43 +00:00
// 性别
$v [ 'gender_text' ] = $common_gender_list [ $v [ 'gender' ]][ 'name' ];
// 添加时间
$v [ 'add_time' ] = date ( 'Y-m-d H:i:s' , $v [ 'add_time' ]);
}
}
return $data ;
}
/**
* [ GetIndexWhere 支付日志列表条件 ]
* @ author Devil
* @ blog http :// gong . gg /
* @ version 0.0 . 1
* @ datetime 2016 - 12 - 10 T22 : 16 : 29 + 0800
*/
private function GetIndexWhere ()
{
$where = array ();
// 模糊
if ( ! empty ( $_REQUEST [ 'keyword' ]))
{
$like_keyword = array ( 'like' , '%' . I ( 'keyword' ) . '%' );
$where [] = array (
'u.username' => $like_keyword ,
'u.nickname' => $like_keyword ,
'u.mobile' => $like_keyword ,
'p.trade_no' => $like_keyword ,
'_logic' => 'or' ,
);
}
// 是否更多条件
if ( I ( 'is_more' , 0 ) == 1 )
{
// 等值
2018-10-05 17:09:25 +00:00
if ( ! empty ( $_REQUEST [ 'pay_type' ]))
2018-08-04 17:54:43 +00:00
{
2018-10-05 17:09:25 +00:00
$where [ 'p.payment' ] = I ( 'pay_type' );
2018-08-04 17:54:43 +00:00
}
2018-10-05 17:09:25 +00:00
if ( I ( 'busines_type' , - 1 ) > - 1 )
2018-08-04 17:54:43 +00:00
{
2018-10-05 17:09:25 +00:00
$where [ 'p.busines_type' ] = intval ( I ( 'busines_type' , 0 ));
2018-08-04 17:54:43 +00:00
}
if ( I ( 'gender' , - 1 ) > - 1 )
{
$where [ 'u.gender' ] = intval ( I ( 'gender' , 0 ));
}
// 表达式
if ( ! empty ( $_REQUEST [ 'time_start' ]))
{
$where [ 'p.add_time' ][] = array ( 'gt' , strtotime ( I ( 'time_start' )));
}
if ( ! empty ( $_REQUEST [ 'time_end' ]))
{
$where [ 'p.add_time' ][] = array ( 'lt' , strtotime ( I ( 'time_end' )));
}
}
return $where ;
}
}
?>