123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- <?php
- declare (strict_types=1);
- namespace app\store\model\user;
- use app\common\model\user\Withdraw as WithdrawModel;
- /**
- * 用户提现模型
- * Class Withdraw
- * @package app\store\model\user
- */
- class Withdraw extends WithdrawModel
- {
- public function getList($query = [])
- {
- // 检索查询条件
- $filter = $this->getFilter($query);
- return $this->with(['user','user.idcard'])
- ->alias('t')->field('t.*')
- ->where($filter)
- ->leftJoin('user', 'user.user_id = t.user_id')
- ->order("t.create_time","desc")
- ->paginate()->each(function(&$item){
- $item->tax = bcadd($item['tax'],'0',2);
- });
- }
- private function getFilter($query = []) {
- $filter =[];
- if(!empty($query['transaction_no'])){
- $filter[] = ['transaction_no', 'like', '%'.$query['transaction_no'].'%'];
- }
- if(!empty($query['nick_name'])){
- $filter[] = ['user.nick_name', 'like', '%'.$query['nick_name'].'%'];
- }
- if(!empty($query['mobile'])){
- $filter[] = ['user.mobile', 'like', '%'.$query['mobile'].'%'];
- }
- if (!empty($query['betweenTime'])) {
- $times = between_time_format($query['betweenTime']);
- $filter[] = ['t.create_time', '>=', date('Y-m-d H:i:s',$times['start_time'])];
- $filter[] = ['t.create_time', '<', date('Y-m-d H:i:s',$times['end_time'])];
- /*
- $times = between_time($query['betweenTime']);
- $filter[] = ['t.create_time', '>=', $times['start_time']];
- $filter[] = ['t.create_time', '<', $times['end_time'] + 86400];*/
- }
- $query['count'] = $query['count']??'';
- if($query['count']=="all"||$query['count']==""){
- }
- if(isset($query['audit'])&&$query['audit']>-1){
- $filter[] = ['t.audit','=',$query['audit']];
- }
- if(isset($query['pay_state'])&&$query['pay_state']>-1){
- $filter[] = ['t.pay_state','=',$query['pay_state']];
- }
- if($query['count']=="audit_0"){
- $filter[] = ['t.audit', '=', 0];
- }
- if($query['count']=="audit_1"){
- $filter[] = ['t.audit', '=', 1];
- }
- if($query['count']=="audit_2"){
- $filter[] = ['t.audit', '=', 2];
- }
- if($query['count']=="pay_state_0"){
- $filter[] = ['t.pay_state', '=', 0];
- }
- if($query['count']=="pay_state_1"){
- $filter[] = ['t.pay_state', '=', 1];
- }
- if($query['count']=="pay_state_2"){
- $filter[] = ['t.pay_state', '=', 2];
- }
- return $filter;
- }
- /**
- * 导出提现列表
- * @param array $param
- * @author: zq
- * @Time: 2021/10/15 13:51
- */
- public function listExport(array $param)
- {
- $filter = $this->getFilter($param);
- //$ids = $param['id'];
- $data['header'] = ['序号', '提现单号', '提现金额', '个人所得税',
- '本月累计提现(含本次)','本月已扣个税','申请时间', '审核状态', '打款状态', '打款时间','微信交易流水号','用户昵称','手机号','真实姓名','身份证号'];
- $data['filename'] = '提现列表导出';
- $data['data'] = [];
- $list = $this->with(['user','user.idcard'])
- ->alias('t')->field('t.*')
- ->leftJoin('user', 'user.user_id = t.user_id')
- ->where($filter)
- ->order('id','desc')
- ->select();
- //dd($list->toArray());
- foreach ($list as $arr){
- $new_list['id'] = $arr['id'];
- $new_list['tx_no'] = $arr['transaction_no'];
- //$new_list['tx_account'] = $arr['tx_account'];
- //$new_list['transaction_type'] = $arr['transaction_type_text'];
- $new_list['amount'] = $arr['amount'];
- $new_list['tax'] = $arr['tax'];
- $new_list['amount_sum_monthly'] = $arr['amount_sum_monthly'];
- $new_list['tax_sum_monthly'] = $arr['tax_sum_monthly'];
- $new_list['create_time'] = $arr['create_time'];
- $new_list['audit'] = self::AUDIT[$arr['audit']];
- $new_list['pay_state'] = self::PAYSTATE[$arr['pay_state']];
- $new_list['pay_time'] = $arr['pay_time'];
- $new_list['third_trans_no'] = $arr['third_trans_no'];
- $new_list['nick_name'] = $arr['user']['nick_name'];
- $new_list['mobile'] = $arr['user']['mobile'];
- $new_list['real_name'] = $arr['user']['idcard']['real_name'];
- $new_list['id_card'] = $arr['user']['idcard']['id_card'];
- $data['data'][] = $new_list;
- }
- return $data;
- }
- }
|