|
@@ -5,6 +5,7 @@ import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
|
|
|
import com.yonge.cooleshow.auth.api.entity.SysUser;
|
|
|
import com.yonge.cooleshow.biz.dal.dto.req.OrderRefundReq;
|
|
|
import com.yonge.cooleshow.biz.dal.dto.search.UserOrderRefundSearch;
|
|
|
+import com.yonge.cooleshow.biz.dal.service.UserPaymentCoreService;
|
|
|
import com.yonge.cooleshow.common.enums.CacheNameEnum;
|
|
|
import com.yonge.cooleshow.biz.dal.service.UserOrderRefundService;
|
|
|
import com.yonge.toolset.payment.util.DistributedLock;
|
|
@@ -34,6 +35,9 @@ public class UserOrderRefundController extends BaseController {
|
|
|
@Autowired
|
|
|
private UserOrderRefundService userOrderRefundService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private UserPaymentCoreService userPaymentCoreService;
|
|
|
+
|
|
|
/**
|
|
|
* 查询单条
|
|
|
*/
|
|
@@ -87,4 +91,29 @@ public class UserOrderRefundController extends BaseController {
|
|
|
return HttpResponseResult.failed("订单退款失败");
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+ @ApiOperation(value = "订单退款")
|
|
|
+ @PostMapping("/orderRefund/v2")
|
|
|
+ public HttpResponseResult<Boolean> orderRefundV2(@RequestBody OrderRefundReq refundReq) {
|
|
|
+ SysUser user = sysUserFeignService.queryUserInfo();
|
|
|
+ if (user == null || null == user.getId()) {
|
|
|
+ return failed(HttpStatus.FORBIDDEN, "请登录");
|
|
|
+ }
|
|
|
+ refundReq.setUserId(user.getId());
|
|
|
+
|
|
|
+ try {
|
|
|
+ DistributedLock.of(redissonClient)
|
|
|
+ .runIfLockCanGet(CacheNameEnum.LOCK_EXECUTE_ORDER.getRedisKey(refundReq.getUserId())
|
|
|
+ , () -> {
|
|
|
+ userPaymentCoreService.refundPayment(refundReq.getOrderNo(),refundReq.getReason());
|
|
|
+ }, 10L,TimeUnit.SECONDS);
|
|
|
+ return HttpResponseResult.succeed();
|
|
|
+ } catch (BizException e) {
|
|
|
+ return HttpResponseResult.failed(e.getMessage());
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ return HttpResponseResult.failed("订单退款失败");
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|