线下 支付增加

master
lion 2 weeks ago
parent caa9843bc2
commit d9406c5455

@ -1673,7 +1673,7 @@ class OrdersController extends CommonController
* description="现金或pos刷卡充值", * description="现金或pos刷卡充值",
* @OA\Parameter(name="token", in="query", @OA\Schema(type="string"), required=true, description="token"), * @OA\Parameter(name="token", in="query", @OA\Schema(type="string"), required=true, description="token"),
* @OA\Parameter(name="id", in="path", @OA\Schema(type="integer"), required=true, description="订单id"), * @OA\Parameter(name="id", in="path", @OA\Schema(type="integer"), required=true, description="订单id"),
* @OA\Parameter(name="payment", in="query", @OA\Schema(type="string"), required=true, description="枚举pos=>pos机刷卡支付, cash=>现金支付"), * @OA\Parameter(name="payment", in="query", @OA\Schema(type="string"), required=true, description="枚举pos=>刷卡支付, cash=>现金支付, offline_pos=>线下POS收款, offline_cash=>线下现金收款, offline_qrcode=>线下二维码收款, transfer=>转账"),
* @OA\Parameter(name="money", in="query", @OA\Schema(type="number"), required=true, description="金额,非负数"), * @OA\Parameter(name="money", in="query", @OA\Schema(type="number"), required=true, description="金额,非负数"),
* @OA\Parameter(name="remark", in="query", @OA\Schema(type="string"), required=false, description="备注信息:现金支付时可以忽略;刷卡支付时,填入回单号或卡号以便财务对账"), * @OA\Parameter(name="remark", in="query", @OA\Schema(type="string"), required=false, description="备注信息:现金支付时可以忽略;刷卡支付时,填入回单号或卡号以便财务对账"),
* @OA\Response( * @OA\Response(
@ -1707,6 +1707,10 @@ class OrdersController extends CommonController
switch (request()->payment) { switch (request()->payment) {
case "pos": case "pos":
case "cash": case "cash":
case "offline_pos":
case "offline_cash":
case "offline_qrcode":
case "transfer":
$recharge["remark"] = request()->remark; $recharge["remark"] = request()->remark;
break; break;
default: default:
@ -1754,7 +1758,7 @@ class OrdersController extends CommonController
* @OA\Parameter(name="token", in="query", @OA\Schema(type="string"), required=true, description="token"), * @OA\Parameter(name="token", in="query", @OA\Schema(type="string"), required=true, description="token"),
* @OA\Parameter(name="id", in="path", @OA\Schema(type="integer"), required=true, description="订单id"), * @OA\Parameter(name="id", in="path", @OA\Schema(type="integer"), required=true, description="订单id"),
* @OA\Parameter(name="money", in="query", @OA\Schema(type="number"), required=true, description="金额,非负数"), * @OA\Parameter(name="money", in="query", @OA\Schema(type="number"), required=true, description="金额,非负数"),
* @OA\Parameter(name="payment", in="query", @OA\Schema(type="string"), required=true, description="退款方式枚举cashweixinalipay。注意可用的退款方式从支付明细或结单时的交互反馈得出随意提交金额可能会造成问题"), * @OA\Parameter(name="payment", in="query", @OA\Schema(type="string"), required=true, description="退款方式枚举cash,pos,offline_cash,offline_pos,offline_qrcode,transfer,weixin,alipay。注意可用的退款方式从支付明细或结单时的交互反馈得出随意提交金额可能会造成问题"),
* @OA\Parameter(name="recharge_id", in="query", @OA\Schema(type="integer"), required=false, description="相关在线支付的id用于原路返回。退款方式为weixin或alipay时必须给出"), * @OA\Parameter(name="recharge_id", in="query", @OA\Schema(type="integer"), required=false, description="相关在线支付的id用于原路返回。退款方式为weixin或alipay时必须给出"),
* @OA\Parameter(name="remark", in="query", @OA\Schema(type="string"), required=false, description="备注信息"), * @OA\Parameter(name="remark", in="query", @OA\Schema(type="string"), required=false, description="备注信息"),
* @OA\Response( * @OA\Response(
@ -1780,6 +1784,10 @@ class OrdersController extends CommonController
switch (request()->payment) { switch (request()->payment) {
case "cash": case "cash":
case "pos": case "pos":
case "offline_cash":
case "offline_pos":
case "offline_qrcode":
case "transfer":
$refund["payment"] = request()->payment; $refund["payment"] = request()->payment;
$refund["paid_at"] = date("Y-m-d H:i:s"); $refund["paid_at"] = date("Y-m-d H:i:s");
break; break;

@ -13,7 +13,11 @@ class Recharge extends SoftDeletesModel
"cash" => "现金", "cash" => "现金",
"weixin" => "微信", "weixin" => "微信",
"alipay" => "支付宝", "alipay" => "支付宝",
"pos" => "POS机" "pos" => "POS机",
"offline_pos" => "线下POS",
"offline_cash" => "线下现金",
"offline_qrcode" => "线下二维码",
"transfer" => "转账"
]; ];
public $payment_online_methods = [ public $payment_online_methods = [
"weixin" => "微信", "weixin" => "微信",

@ -25,6 +25,21 @@ class Refund extends SoftDeletesModel
case "cash": case "cash":
$payment_label = "现金"; $payment_label = "现金";
break; break;
case "pos":
$payment_label = "POS机";
break;
case "offline_cash":
$payment_label = "线下现金";
break;
case "offline_pos":
$payment_label = "线下POS";
break;
case "offline_qrcode":
$payment_label = "线下二维码";
break;
case "transfer":
$payment_label = "转账";
break;
} }
return $payment_label; return $payment_label;
} }
@ -70,7 +85,12 @@ class Refund extends SoftDeletesModel
public function autoRefund() public function autoRefund()
{ {
$threshold = 5; $threshold = 5;
$refunds = $this->with("relatedRecharge")->whereNull("paid_at")->where("payment", "<>", "cash")->where("try_times", "<", $this->tryTimes)->limit($threshold)->get(); $refunds = $this->with("relatedRecharge")
->whereNull("paid_at")
->whereIn("payment", ["weixin", "alipay"])
->where("try_times", "<", $this->tryTimes)
->limit($threshold)
->get();
foreach ($refunds as $refund) { foreach ($refunds as $refund) {
switch ($refund->relatedRecharge->payment) { switch ($refund->relatedRecharge->payment) {

Loading…
Cancel
Save