【类 型】:
【主 题】: 【描 述】: [原因]: [过程]: [影响]: 【结 束】 # 类型 包含: # feat:新功能(feature) # fix:修补bug # docs:文档(documentation) # style: 格式(不影响代码运行的变动) # refactor:重构(即不是新增功能,也不是修改bug的代码变动) # test:增加测试 # chore:构建过程或辅助工具的变动
This commit is contained in:
parent
3c2429c10f
commit
388991acb1
@ -55,7 +55,11 @@ class PayController extends PublicController
|
||||
|
||||
// 总管理员 可接收任何shop_id 非总管理员 只可以调用自身shop_id 否则会中断
|
||||
$this->isPower();
|
||||
|
||||
// post参数检查
|
||||
if ($_REQUEST['refund_price'] && $_REQUEST['order_sn'] && $_REQUEST['shop_id'] && ($_REQUEST['refundType'] == 'buyer' || $_REQUEST['refundType'] == 'seller')) {
|
||||
echo json_encode(array('status' => 0, 'msg' => '退款参数有误'));
|
||||
exit();
|
||||
}
|
||||
// 获取订单信息
|
||||
$where['shop_id'] = $_REQUEST['shop_id'];
|
||||
$where['order_sn'] = $_REQUEST['order_sn'];
|
||||
@ -107,23 +111,28 @@ class PayController extends PublicController
|
||||
try {
|
||||
// 实例化 Yansongda Pay 并处理回调
|
||||
$result = Pay::wechat($this->config)->callback();
|
||||
$outRefundNo = $result['resource']['ciphertext']['out_refund_no'];
|
||||
$refundType = substr($outRefundNo, strrpos($outRefundNo, '_') + 1);
|
||||
$this->publish("demo", $refundType);
|
||||
|
||||
// 验证成功,处理业务逻辑
|
||||
if ($result['resource']['ciphertext']['refund_status'] == 'SUCCESS') {
|
||||
$where['order_sn'] = $result['resource']['ciphertext']['out_trade_no']; // 获取订单号
|
||||
$orderDb = D('order'); // 实例化订单模型
|
||||
$data['main_status'] = '已退款'; // 更新订单状态为已退款
|
||||
$data['main_status'] = "已退款"; // 更新订单状态为已退款
|
||||
$data['refund_time'] = time(); // 标记退款时间
|
||||
$data['refund_sn'] = $result['resource']['ciphertext']['refund_id']; // 退款单号
|
||||
$data['refund_price'] = $result['resource']['ciphertext']['amount']['refund'] / 100; // 退款金额,单位:元
|
||||
$outRefundNo = $result['resource']['ciphertext']['out_refund_no'];
|
||||
$refundType = substr($outRefundNo, strrpos($outRefundNo, '_') + 1); //截取退款类型
|
||||
if ($refundType == "buyer") { //买家申请
|
||||
$data['refund_status'] = "已同意";
|
||||
} elseif ($refundType == "seller") { //卖家主动退
|
||||
$data['refund_status'] = "主动退";
|
||||
}
|
||||
// 更新订单
|
||||
$orderDb->where($where)->data($data)->save();
|
||||
}
|
||||
// 构建发布主题 并向地面终端提示刷新信息
|
||||
$topic = 'refreshQuestList/' . $result['resource']['ciphertext']['shop_id'];
|
||||
$field = array('shop_id');
|
||||
$shop_id = $orderDb->where($where)->field($field)->find();
|
||||
$topic = 'refreshQuestList/' . $shop_id;
|
||||
$this->publish($topic, 1);
|
||||
} catch (\Exception $e) {
|
||||
// 捕获并记录可能的异常
|
||||
|
Loading…
Reference in New Issue
Block a user