优化打款

master
chenzhi 4 years ago
parent 340470be9d
commit 26d81ef8b8

@ -16,17 +16,19 @@ class WxPaymentController extends BaseController
"2"=>"下游个人",
"3"=>"上游CP"
];
public $ALIRSP=[
"out_biz_no"=>"商户订单号",
"order_id"=>"支付订单号",
"pay_fund_order_id"=>"资金流水号",
"status"=>"转账状态",
"trans_date"=>"订单支付时间",
"msg"=>"支付信息",
"sub_msg"=>"失败描述",
"sub_code"=>"失败码",
"remark"=>"打款备注",
"code"=>"打款状态码"
public $WXRSP=[
"return_code"=>"返回状态码",
"return_msg"=>"返回信息",
"mchid"=>"商户号",
'mch_appid'=>"商户appid",
"result_code"=>"业务结果",
"err_code"=>"错误代码",
"err_code_des"=>"错误描述",
"partner_trade_no"=>"商户订单号",
"payment_no"=>"微信付款单号",
"payment_time"=>"付款成功时间"
];
public function _initialize()
{
@ -129,26 +131,18 @@ class WxPaymentController extends BaseController
if(isset($_REQUEST['batch_num'])){
$map['batch_num'] = ["LIKE","%{$_REQUEST['batch_num']}%"];
}
$data = M("wx_payment","tab_")
->field("*")
->where($map)
->order("FIELD(pay_status,0,-1,1)");
if (isset($_REQUEST['export']) && $_REQUEST['export']==1) {
$data = M("excel_statement_info","tab_")
->alias('i')
->field("i.*")
->where($map)
->order("FIELD(pay_status,0,-1,1)")
->select();
$ids = array_column($data, 'id');
$ids = implode(',', $ids);
$this->viewPool($ids);
return ;
$data = $data->select();
}else{
$data = $data->page($page,$row)->select();
}
$data = M("wx_payment","tab_")
->field("*")
->where($map)
->page($page,$row)
->order("FIELD(pay_status,0,-1,1)")
->select();
foreach($data as $k=>&$v){
$v["pay_status_str"] = $this->PayStatus[$v['pay_status']];
@ -159,6 +153,17 @@ class WxPaymentController extends BaseController
$v['pay_time'] = date('Y-m-d H:i:s',$v['pay_time']);
}
}
if(isset($_REQUEST['export']) && $_REQUEST['export']==1){
data2csv($data,'微信线下打款导出',[
'realname'=>'真实姓名',
'openid'=>'openid',
'statement_money'=>'结算金额',
'batch_num'=>'批次号',
'pay_status_str'=>'打款状态',
'create_time'=>'创建时间',
'pay_time'=>'支付时间'
]);
}
//统计待打款金额
$field = "IFNULL(SUM(CASE WHEN pay_status = 1 THEN statement_money ELSE 0 END),0) as success_money,
@ -291,8 +296,41 @@ class WxPaymentController extends BaseController
} else {
$this->ajaxReturn(["success"=>"打款失败","data"=>['status'=>0]]);
}
}
public function paymentInfo()
{
if(!isset($_REQUEST['id'])) $this->error("参数错误");
$id = $_REQUEST['id'];
$info = M("wx_payment","tab_")->field("pay_info")->where("id='{$id}'")->find()['pay_info'];
$info = json_decode($info,true);
$senddata = [];
foreach($info as $k => &$v){
if(isset($this->WXRSP[$k])){
$senddata[$this->WXRSP[$k]] = $v;
}
}
$this->assign("info",$senddata);
$this->display();
}
public function delItem()
{
if(!isset($_REQUEST['ids'])){
$this->error('参数错误');
}
$ids = $_REQUEST['ids'];
$map = [
"pay_status"=>["NEQ",1],
"id"=>["IN",$ids]
];
$dbres = M("wx_payment","tab_")->where($map)->delete();
if($dbres === false){
$this->ajaxReturn(["status"=>0,"info"=>"删除失败"]);
}
$this->ajaxReturn(["status"=>1,"info"=>"删除成功"]);
}

@ -169,7 +169,6 @@
<a class='butn' id='doPayment'>打款</a>
</if>
<a class='butn' id='leadExcel'>Excel导入</a>
<a class='butn' id='export'>导出所选记录</a>
<a class='butn' id='delItem' style="background-color: red;">批量删除</a>
</div>
</div>
@ -234,6 +233,8 @@
</div>
<div class="page">
<a class="sch-btn export-btn"
href="{:U(CONTROLLER_NAME.'/'.ACTION_NAME,array_merge(['export'=>1],I('get.')))}" target="_blank">导出</a>
{$_page|default=''}
</div>
<div style="width: 800vw;height:600vh;padding: 0;position: absolute;top: 0;z-index: 9999;background-color:rgba(0,0,0,.6);right: 1px;display: none" id="window">
@ -428,73 +429,7 @@
});
$(".verify").click(function () {
var status = $(this).data('value');
var verifytip = 0;
var paytip = 0;
var text = $("input:checkbox[name='ids[]']:checked").map(function(index,elem) {
var verifystatus = $(elem).data('verifystatus');
var pay_status = $(elem).data('paystatus');
if (verifystatus > 0) {
verifytip = 1;
return ;
}
if (pay_status != 0) {
paytip = 1;
return ;
}
return $(elem).val();
}).get();
if (verifytip == 1) {
layer.msg("<font style='color:white'>" + '请选择未审核的打款单' + "</font>");
return;
}
if (paytip == 1) {
layer.msg("<font style='color:white'>" + '请选择未打款的打款单' + "</font>");
return;
}
if(text.length < 1){
layer.msg("<font style='color:white'>" + '请先选择要操作的打款单' + "</font>");
return;
}
layer.confirm('【提示】是否确认审核'+((status==1)?'通过':'拒绝'), {
btn: ['确认','取消'],
title:false
}, function(){
$.ajax({
type:'post',
dataType:'json',
data: {'id':text,'status':status},
url:"{:U('verify')}",
success:function(data) {
layer.msg("<font style='color:white'>" + data.msg + "</font>");
if (data.status ==1) {
//弹框
setTimeout(function(){
window.location.reload();
},1500);
}
},
error:function() {
alert('服务器开小差了,请稍后再试。');
// checkcode(mobile);
}
});
});
});
$("#export").click(function () {
var flag = false;
@ -688,13 +623,19 @@
return $(elem).val();
}
}).get();
console.log(text);
if(text.length < 1){
layer.msg("<font style='color:white'>请先选择需要打款的结算单仅大于0.1元的打款单才能进行打款</font>");
return;
}
text = text.join(",");
window.location.href = "{:U('showPayment')}"+"&ids="+text;
layer.open({
type: 2,
title: "打款详情",
shadeClose: true,
shade: 0.8,
area: ['100%', '100%'],
content: "{:U('showPayment')}"+"&ids="+text
});
})
$("#leadExcel").on("click",function(){

@ -0,0 +1,65 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta charset="UTF-8">
<title></title>
<link rel="stylesheet" type="text/css" href="__CSS__/base.css" media="all">
<link rel="stylesheet" type="text/css" href="__CSS__/common.css" media="all">
<link rel="stylesheet" type="text/css" href="__CSS__/style.css" media="all">
<link rel="stylesheet" type="text/css" href="__CSS__/default_color.css" media="all">
<link href="__STATIC__/datetimepicker/css/datetimepicker.css" rel="stylesheet" type="text/css">
<link href="__STATIC__/datetimepicker/css/dropdown.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="__CSS__/select2.min.css" type="text/css" />
<script type="text/javascript" src="__STATIC__/jquery-2.0.3.min.js"></script>
<script type="text/javascript" src="__JS__/select2.min.js"></script>
<script type="text/javascript" src="__STATIC__/layer3/layer.js"></script>
<script type="text/javascript" src="__STATIC__/datetimepicker/js/bootstrap-datetimepicker.min.js"></script>
<script type="text/javascript" src="__STATIC__/datetimepicker/js/locales/bootstrap-datetimepicker.zh-CN.js"charset="UTF-8"></script>
<script src="__STATIC__/juicer-min.js" type="text/javascript"></script>
<script src="__STATIC__/table2excel.js"></script>
</head>
<style>
html {
min-width:100%;
}
body {
padding: 0px 10px 150px 10px;
/* width: 960px; */
}
</style>
<body>
<div class="tab-wrap">
<div class="tab-content tabcon1711 tabcon17112">
<div id="tab1" class="tab-pane in tab1">
<form method="post" class="form-horizontal qq_login form_info_ml">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<foreach name="info" item="v" key="k">
<tr>
<td class="l noticeinfo">{$k}:</td>
<td class="r table_radio">
{$v}
</td>
</tr>
</foreach>
</tbody>
</table>
</form>
</div>
</div>
</div>
<body>
<script type="text/javascript">
</script>
</html>
Loading…
Cancel
Save