|
|
@@ -232,4 +232,44 @@ public class StoreReservationController {
|
|
|
return R.fail("查询失败:" + e.getMessage());
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ @ApiOperationSupport(order = 8)
|
|
|
+ @ApiOperation("商家端主动退款(调用支付退款接口并发送通知和短信)")
|
|
|
+ @ApiImplicitParams({
|
|
|
+ @ApiImplicitParam(name = "storeId", value = "门店ID", required = true, paramType = "query", dataType = "int"),
|
|
|
+ @ApiImplicitParam(name = "outTradeNo", value = "商户订单号", required = true, paramType = "query", dataType = "String"),
|
|
|
+ @ApiImplicitParam(name = "refundAmount", value = "退款金额(元)", required = true, paramType = "query", dataType = "String"),
|
|
|
+ @ApiImplicitParam(name = "refundType", value = "退款类型 0:用户取消 1:商家退款 2:部分退款等 3.扫码核销成功", required = false, paramType = "query", dataType = "int"),
|
|
|
+ @ApiImplicitParam(name = "refundReason", value = "退款原因", paramType = "query", dataType = "String"),
|
|
|
+ @ApiImplicitParam(name = "payType", value = "支付类型 alipay/wechatPay", paramType = "query", dataType = "String")
|
|
|
+ })
|
|
|
+ @PostMapping("/refundByOrder")
|
|
|
+ public R<String> refundByOrder(
|
|
|
+ @RequestParam Integer storeId,
|
|
|
+ @RequestParam String outTradeNo,
|
|
|
+ @RequestParam String refundAmount,
|
|
|
+ @RequestParam(required = false) Integer refundType,
|
|
|
+ @RequestParam(required = false) String refundReason,
|
|
|
+ @RequestParam(defaultValue = "alipay") String payType) {
|
|
|
+ log.info("StoreReservationController.refundByOrder storeId={}, outTradeNo={}, refundAmount={}, refundType={}, refundReason={}, payType={}",
|
|
|
+ storeId, outTradeNo, refundAmount, refundType, refundReason, payType);
|
|
|
+
|
|
|
+ if (storeId == null) {
|
|
|
+ return R.fail("门店ID不能为空");
|
|
|
+ }
|
|
|
+ if (outTradeNo == null || outTradeNo.trim().isEmpty()) {
|
|
|
+ return R.fail("商户订单号不能为空");
|
|
|
+ }
|
|
|
+ if (refundAmount == null || refundAmount.trim().isEmpty()) {
|
|
|
+ return R.fail("退款金额不能为空");
|
|
|
+ }
|
|
|
+
|
|
|
+ try {
|
|
|
+ R<String> result = storeReservationService.refundByOrder(storeId, outTradeNo, refundAmount, refundReason, refundType, payType);
|
|
|
+ return result;
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("商家端主动退款失败", e);
|
|
|
+ return R.fail("退款失败:" + e.getMessage());
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|