isJson()) { $data = [ 'pay_status' => input('pay_status', 0),//支付状态 'bank' => [ 'status' => input('bank_status', 0),//是否开启 'bank_name' => input('bank_bank_name', ''),//银行名称 'account_name' => input('bank_account_name', ''),//账户名称 'account_number' => input('bank_account_number', ''),//账号 'branch_name' => input('bank_branch_name', ''),//支行名称 ], 'wechat' => [ 'status' => input('wechat_status', 0),//是否开启 'account_name' => input('wechat_account_name', ''),//账户名称 'payment_code' => input('wechat_payment_code', ''),//收款码 ], 'alipay' => [ 'status' => input('alipay_status', 0),//是否开启 'account_name' => input('alipay_account_name', ''),//账户名称 'payment_code' => input('alipay_payment_code', ''),//收款码 ], ]; $result = $config_model->setPayConfig($data, $this->site_id, $this->app_module); return $result; } else { $config_info = $config_model->getPayConfig($this->site_id, $this->app_module)[ 'data' ][ 'value' ]; $this->assign("config_info", $config_info); return $this->fetch("pay/config"); } } public function lists() { if (request()->isJson()) { $page_index = input('page', 1); $page_size = input('page_size', PAGE_LIST_ROWS); $status = input('status', 0); $search_field = input('search_field', ''); $search_field_value = input('search_field_value', ''); $out_trade_no = input('out_trade_no', ''); $alias = 'po'; $join = [ ['member m', 'm.member_id = po.member_id', 'left'], ['pay p', 'p.out_trade_no = po.out_trade_no', 'left'], ]; $field = [ 'po.*', 'm.nickname,m.mobile', 'p.pay_detail,p.pay_money,p.event,p.relate_id', ]; $condition = []; if($status !== 'all'){ $condition[] = ['po.status', '=', $status]; } if($search_field_value != ''){ $condition[] = [$search_field, 'like', '%'.$search_field_value.'%']; } if($out_trade_no){ $condition[] = ['po.out_trade_no', '=', $out_trade_no]; } $order = 'po.create_time desc'; $pay_model = new PayModel(); $res = $pay_model->getPageList($condition, $page_index, $page_size, $order, $field, $alias, $join); //各种状态统计 foreach ($condition as $key=>$val){ if($val[0] == 'po.status') unset($condition[$key]); } $condition = array_values($condition); $status_num_list = $pay_model->getList($condition, '', 'count(*) as num, po.status', $alias, $join, 'po.status')['data']; $status_num_data = array_column($status_num_list, 'num', 'status'); $res['data']['status_num_data'] = $status_num_data; $res['c'] = $condition; return $res; } else { $status_list = PayModel::getStatus(); $this->assign('status_list', $status_list); $out_trade_no = input('out_trade_no', ''); $this->assign('out_trade_no', $out_trade_no); return $this->fetch('pay/lists'); } } public function auditPass() { if(request()->isJson()){ $id = input('id', 0); $pay_model = new PayModel(); return $pay_model->auditPass([['id', '=', $id]]); } } public function auditRefuse() { if(request()->isJson()){ $id = input('id', 0); $audit_remark = input('audit_remark', ''); $pay_model = new PayModel(); return $pay_model->auditRefuse([['id', '=', $id]], $audit_remark); } } public function pay() { if(request()->isJson()){ $imgs = input('imgs', ''); $desc = input('desc', ''); $out_trade_no = input('out_trade_no', ''); $member_id = input('member_id', 0); $pay_model = new PayModel(); //支付 $pay_res = $pay_model->pay([ 'member_id' => $member_id, 'out_trade_no' => $out_trade_no, 'imgs' => $imgs, 'desc' => $desc, ]); if($pay_res['code'] < 0) return $pay_res; //审核 $audit_res = $pay_model->auditPass([ ['out_trade_no', '=', $out_trade_no], ['member_id', '=', $member_id], ]); return $audit_res; }else{ $out_trade_no = input('out_trade_no', ''); $this->assign("out_trade_no", $out_trade_no); $member_id = input('member_id', 0); $this->assign("member_id", $member_id); return $this->fetch("pay/pay"); } } public function test() { $out_trade_no = '171997599310581711000'; $member_id = 171; $imgs = join(',', [ 'http://b2cv4.com/upload/1/common/images/20240618/20240618105545171867934599817_BIG.jpg', 'http://b2cv4.com/upload/1/common/goods_grab/images/20240527/20240527032610171679477043213_BIG.jpg', 'http://b2cv4.com/upload/1/common/images/20240618/20240618105545171867934599817_BIG.jpg', ]); $desc = '支付了33333次'; $pay_model = new PayModel(); $res = $pay_model->pay([ 'member_id' => $member_id, 'out_trade_no' => $out_trade_no, 'imgs' => $imgs, 'desc' => $desc, ]); dd($res); } }