0, "msg" => "参数缺失" ); $this->ajaxReturn($res); } $cashierInfo = D('RetailCashier')->getFind(array('id' => $cashier_id), "cashier_show_other_sell"); if ($cashierInfo['cashier_show_other_sell'] == 2) { $where[$PayOrderModel::CASHIER_ID] = $cashier_id; } if(empty($out_trade_no)){ switch ($type){ case 1: $start_time = strtotime(date('Y-m-d 00:00:00',time())); $end_time = $start_time + 86399; break; case 2: $start_time = strtotime(date("Y-m-d 00:00:00",strtotime("-1 day"))); $end_time = $start_time + 86399; break; case 3: $start_time=strtotime(date('Y-m-d',(time()-((date('w')==0?7:date('w'))-1)*24*3600))); $end_time=strtotime(date('Y-m-d',(time()+(7-(date('w')==0?7:date('w')))*24*3600))); break; case 4: $start_time = strtotime(date('Y-m-d', (time() - ((date('w') == 0 ? 7 : date('w')) - 1) * 24 * 3600))); } if($type != 4){ $where[$PayOrderModel::ADD_TIME] = array('between', array($start_time, $end_time)); }else{ $where[$PayOrderModel::ADD_TIME] = array('lt', $start_time); } }else if(!empty($out_trade_no)){ $where[$PayOrderModel::OUT_TRADE_NO] = array('like','%'.$out_trade_no.'%'); } $where[$PayOrderModel::MERCHANT_ID] = $merchant_id; $where[$PayOrderModel::STORE_ID] = $store_id; $where[$PayOrderModel::ORDER_TYPE] = 6; $where[$PayOrderModel::ORDER_STATE] = array('in', "SUCCESS,REFUND"); $order = "id desc"; $page = $page . ',' . $limit; $list = $PayOrderModel->getSelect($where, "pay_order_id,pay_type,order_state,trade_date,shopowner_id,cashier_id,out_trade_no,trade_amount,refund_money,pay_coupon_fee", $order, $page); $count = $PayOrderModel->getCount($where); if ($list) { foreach ($list as $key => &$val) { $val['index'] = $key + 1; switch ($val['pay_type']) { case 1: $val['pay_name'] = "微信"; break; case 2: $val['pay_name'] = "支付宝"; break; case 3: $val['pay_name'] = "现金"; break; case 6: $val['pay_name'] = "会员"; break; } switch ($val['order_state']) { case "SUCCESS": $val["order_name"] = "支付订单"; if ($val['refund_money'] == 0) { $val['type'] = 1; //可退款 } else if ($val['refund_money'] == $val['trade_amount']) { $val['type'] = 2; //已退款 } $val['payment_order'] = ''; break; case "REFUND": $val['type'] = 3; //退款订单 $val["order_name"] = "退款订单"; $val['payment_order'] = $PayOrderModel->getFindField(array('id'=>$val['pay_order_id']),'out_trade_no'); break; } $val['trade_date'] = date("Y-m-d H:i:s", $val['trade_date']); //支付时间 if(!empty($val['shopowner_id'])) { $val['operator_name'] = M("retail_manager")->where(array('id' => $val['shopowner_id']))->getField("name"); } else if (!empty($val['cashier_id'])) { $cashierInfo = D("RetailCashier")->getFind(array('id' => $val['cashier_id']), "name"); $val['operator_name'] = $cashierInfo['name']; } $val['pay_coupon_fee'] = $val['pay_coupon_fee']>0?floatval($val['pay_coupon_fee']):0; } } $WeChat_pay = 0; //微信 $Ali_pay = 0; //支付宝 $Vip_pay = 0; //会员 $Cash_pay = 0; //现金 $Refund_pay = 0; //退款金额 $listTotal = $PayOrderModel->getSelect($where, "pay_type,order_state,trade_date,trade_amount", $order); if($listTotal){ foreach ($list as $key => &$val) { switch ($val['order_state']) { case "SUCCESS": switch ($val['pay_type']){ case 1: $WeChat_pay += $val['trade_amount']; break; case 2: $Ali_pay += $val['trade_amount']; break; case 3: $Cash_pay += $val['trade_amount']; break; case 6: $Vip_pay += $val['trade_amount']; break; } break; case "REFUND": $Refund_pay += $val['trade_amount']; break; } } } $pay = array( 'WeChat_pay'=>$WeChat_pay, 'Ali_pay'=>$Ali_pay, 'Vip_pay'=>$Vip_pay, 'Cash_pay'=>$Cash_pay, 'Refund_pay'=>$Refund_pay ); $res['status'] = 1; $res['count'] = $count?$count:0; $res["data"] = $list ? $list : array(); $res['pay'] = $pay; $this->ajaxReturn($res); } //快捷收银退款 public function QuickRefundOperation(){ A("Terminalapi/Base")->QuickRefund_v1(); } }