Commit 4320a9e8 authored by zw's avatar zw

退款申请

parent 71d46e0c
......@@ -30,7 +30,6 @@ class OrderLog extends Basic
{
private $o_march_in_model;
private $o_refund_model;
private $service_;
private $verifyService_;
......@@ -38,7 +37,6 @@ class OrderLog extends Basic
{
parent::__construct($request);
$this->o_march_in_model = new OMarchInModel();
$this->o_refund_model = new ORefundModel();
$this->service_ = new OrderLogService();
$this->verifyService_ = new VerifyRepetitionService();
}
......@@ -308,38 +306,7 @@ class OrderLog extends Basic
}
}
/**
* 新增退款申请
* @return \think\Response
*/
public function refund()
{
$params = $this->params;
if (!isset($params["agent_id"]) || !isset($params["agent_name"]) || !isset($params["report_id"]) || !isset($params["order_id"]) || !isset($params["order_no"])
|| !isset($params["refund_money"])) {
return $this->response("101", "请求参数错误");
}
/* $params = array(
"agent_id" => 1,//退款经纪人id
"agent_name" => 1,//退款经纪人id
"report_id" => 1,//报备id
"order_id" => 1, //关联order表id
"order_no" => "12312312312312", //订单no
"refund_money" => 1200, //退款金额 存分
"name" => "qweqwe", //收款人姓名
"bank" => "asdasdasd", //收款人银行
"card_no" => "123123123123", //银行卡号
"remark" => "没什么备注",
"remark_img" => "12312312312"
);*/
//todo 判断此单是否有付款
$is_ok = $this->o_refund_model->addRefund($params);
if ($is_ok > 0) {
return $this->response("200", "request success", []);
}
return $this->response("101", "request faild");
}
/**
* 成交报告
......
......@@ -53,9 +53,9 @@ class PayLog extends Basic
public function adjustment()
{
$params = $this->params;
/* $params = array(
"pay_id" => 1,
);*/
/* $params = array(
"pay_id" => 1,
);*/
if (empty($params["pay_id"])) {
return $this->response("101", "请求参数错误");
}
......@@ -63,7 +63,72 @@ class PayLog extends Basic
if ($result == -1) {
return $this->response("101", "不存在此条记录");
}
return $this->response("200","success",["residue_money"=>$result]);
return $this->response("200", "success", ["residue_money" => $result]);
}
/**
* 新增退款申请
* @return \think\Response
* @throws \think\Exception
*/
public function refund()
{
$params = $this->params;
if (!isset($params["agent_id"]) || !isset($params["agent_name"]) || !isset($params["report_id"]) ||
!isset($params["order_id"]) || !isset($params["order_no"]) || !isset($params["name"]) || !isset($params["phone"])
|| !isset($params["refund_money"]) || !isset($params["bank"]) || !isset($params["card_no"])
|| !isset($params["remark_img"]) || !isset($params["receipt_number"]) || !isset($params["type"])
|| !isset($params["refund_cause"]) || !isset($params["refund_way"])) {
return $this->response("101", "请求参数错误");
}
/* $params = array(
"agent_id" => 1,//退款经纪人id
"agent_name" => 1,//退款经纪人id
"report_id" => 1,//报备id
"order_id" => 1, //关联order表id
"order_no" => "12312312312312", //订单no
"refund_money" => 1200, //退款金额
"name" => "qweqwe", //收款人姓名
"phone" => "123123123", //收款人电话
"bank" => "asdasdasd", //收款人银行
"card_no" => "123123123123", //银行卡号
"remark" => "没什么备注", //其他说明
"remark_img" => "12312312312",
"receipt_number" => "12312312312",
"type" => "12312312312", //退款类型:0退意向金1意向金转定2退保管金3保管金转定4退中介费5退案场费
"refund_cause" => "12312312312", //退款原因
"pay_log_id" => 1, //支付id
"refund_way" => 0, //退款方式:0银行卡
);*/
$agent_id = $params["agent_id"];
$agent_name = $params["agent_name"];
$report_id = $params["report_id"];
$order_id = $params["order_id"];
$order_no = $params["order_no"];
$refund_money = $params["refund_money"];
$name = $params["name"];
$phone = $params["phone"];
$bank = $params["bank"];
$card_no = $params["card_no"];
$receipt_number = $params["receipt_number"];
$type = $params["type"];
$refund_cause = $params["refund_cause"];
$pay_log_id = $params["pay_log_id"];
$refund_way = $params["refund_way"];
$remark = isset($params["remark"]) ? $params["remark"] : "";
$remark_img = isset($params["remark_img"]) ? json_decode($params["remark_img"], true) : "";
//todo 判断此单是否有付款
$is_ok = $this->service_->addRefund($agent_id,$agent_name,$report_id,$order_id,$order_no,$refund_money,$name,
$phone, $bank,$card_no,$receipt_number,$type,$refund_cause,$pay_log_id,$refund_way,$remark,$remark_img);
if ($is_ok > 0) {
return $this->response("200", "request success", []);
}elseif($is_ok == -2){
return $this->response("101", "退款金不能大于剩余的支付金额");
}
return $this->response("101", "request faild");
}
}
\ No newline at end of file
......@@ -2,8 +2,10 @@
namespace app\api_broker\service;
use app\model\OImg;
use app\model\OPayLogAdjustment;
use app\model\OPayLogModel;
use app\model\ORefundModel;
/**
* Created by PhpStorm.
......@@ -45,7 +47,7 @@ class PayLogService
$pay_log_arr = $pay_log_arr[0];
$where_["paylog_id"] = $pay_id;
$where_["is_del"] = 0;
$where_["is_del"] = 0;
//调整
$adjustment_sum = $this->payLogAdjustmentModel->getAdjustmentSum("money", $where_);
......@@ -126,4 +128,97 @@ class PayLogService
return $arr;
}
/**
* 退款
* @param $agent_id
* @param $agent_name
* @param $report_id
* @param $order_id
* @param $order_no
* @param $refund_money
* @param $name
* @param $phone
* @param $bank
* @param $card_no
* @param $receipt_number
* @param $type
* @param $refund_cause
* @param $pay_log_id
* @param $refund_way
* @param $remark
* @param $remark_img
* @return int|string
* @throws \think\Exception
*/
public function addRefund($agent_id, $agent_name, $report_id, $order_id, $order_no, $refund_money, $name,
$phone, $bank, $card_no, $receipt_number, $type, $refund_cause, $pay_log_id,
$refund_way, $remark, $remark_img)
{
//验证金额是否合法
$payLogService = new PayLogService();
$residue_money = $payLogService->adjustment($pay_log_id);
if ($residue_money < $refund_money) {
return -2;
}
$oRefundModel = new ORefundModel();
$insert_id = $oRefundModel->addRefund($this->refundBin($agent_id, $agent_name, $report_id, $order_id, $order_no, $refund_money, $name,
$phone, $bank, $card_no, $receipt_number, $type, $refund_cause, $pay_log_id,
$refund_way, $remark)
);
if ($insert_id > 0) {
$oImgModel = new OImg();
$oImgModel->addImgAll($insert_id, 3, $remark_img);
}
return $insert_id;
}
/**
* @param $agent_id
* @param $agent_name
* @param $report_id
* @param $order_id
* @param $order_no
* @param $refund_money
* @param $name
* @param $phone
* @param $bank
* @param $card_no
* @param $receipt_number
* @param $type
* @param $refund_cause
* @param $pay_log_id
* @param $refund_way
* @param $remark
* @return mixed
*/
private function refundBin($agent_id, $agent_name, $report_id, $order_id, $order_no, $refund_money, $name,
$phone, $bank, $card_no, $receipt_number, $type, $refund_cause, $pay_log_id,
$refund_way, $remark)
{
$arr["report_id"] = $report_id;
$arr["agent_id"] = $agent_id;
$arr["agent_name"] = $agent_name;
$arr["order_no"] = $order_no;
$arr["order_id"] = $order_id;
$arr["refund_money"] = $refund_money;
$arr["status"] = 0;
$arr["name"] = $name;
$arr["phone"] = $phone;
$arr["bank"] = $bank;
$arr["card_no"] = $card_no;
$arr["remark"] = $remark;
$arr["receipt_number"] = $receipt_number;
$arr["type"] = $type;
$arr["refund_cause"] = $refund_cause;
$arr["pay_log_id"] = $pay_log_id;
$arr["refund_way"] = $refund_way;
$arr["create_time"] = date("Y-m-d H:i:s", time());
$arr["update_time"] = date("Y-m-d H:i:s", time());
return $arr;
}
}
\ No newline at end of file
......@@ -563,7 +563,7 @@ Route::group('broker', [
'savePosBillMessage' => ['api_broker/OrderLog/savePosBillMessage', ['method' => 'get|post']],
'collectingBill' => ['api_broker/OrderLog/collectingBill', ['method' => 'get|post']],
'collectingBillV2' => ['api_broker/OrderLog/collectingBillV2', ['method' => 'get|post']],
'refund' => ['api_broker/OrderLog/refund', ['method' => 'get|post']],
'refund' => ['api_broker/PayLog/refund', ['method' => 'get|post']],
'bargain' => ['api_broker/OrderLog/bargain', ['method' => 'get|post']],
'statusBargain' => ['api_broker/OrderLog/statusBargain', ['method' => 'get|post']],
'getIsAccountStatement' => ['api_broker/OrderLog/getIsAccountStatement', ['method' => 'get|post']],
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment