From 8c9ad0bd2fc6591fe606c793d6e11e2cfbe5a165 Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期三, 28 八月 2024 16:23:42 +0800 Subject: [PATCH] 合并代码 --- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TShoppingOrderController.java | 47 +++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 45 insertions(+), 2 deletions(-) diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TShoppingOrderController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TShoppingOrderController.java index ba052cc..381bf65 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TShoppingOrderController.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TShoppingOrderController.java @@ -3,6 +3,7 @@ import java.time.LocalDateTime; +import com.ruoyi.account.api.feignClient.AppCouponClient; import com.ruoyi.account.api.feignClient.AppUserClient; import com.ruoyi.account.api.model.TAppUserAddress; import com.ruoyi.common.core.domain.R; @@ -18,6 +19,11 @@ import com.ruoyi.order.service.TShoppingOrderService; import com.ruoyi.other.api.feignClient.CouponClient; import com.ruoyi.other.api.feignClient.GoodsClient; +import com.ruoyi.payment.api.feignClient.AliPaymentClient; +import com.ruoyi.payment.api.feignClient.WxPaymentClient; +import com.ruoyi.payment.api.model.RefundReq; +import com.ruoyi.payment.api.model.RefundResp; +import com.ruoyi.payment.api.model.WxPaymentRefundModel; import com.ruoyi.system.api.domain.SysUser; import com.ruoyi.system.api.feignClient.SysUserClient; import io.swagger.annotations.Api; @@ -111,6 +117,12 @@ } @Resource private TokenService tokenService; + @Resource + private AliPaymentClient aliPaymentClient; + @Resource + private WxPaymentClient wxPaymentClient; + @Resource + private AppCouponClient appCouponClient; @GetMapping("/cancelShoppingOrder") @ApiOperation(value = "取消订单", tags = {"管理后台-购物订单"}) public AjaxResult cancelShoppingOrder(String id) { @@ -123,9 +135,40 @@ switch (byId.getPaymentType()){ case 1: // 微信 + WxPaymentRefundModel wxPaymentRefundModel = new WxPaymentRefundModel(); + wxPaymentRefundModel.setTransaction_id(byId.getSerialNumber()); + wxPaymentRefundModel.setOut_trade_no(byId.getCode()); + wxPaymentRefundModel.setOut_refund_no(OrderCodeUtil.getOrderCode("GW")); + // todo 部署到线上之后写回调地址 +// wxPaymentRefundModel.setNotify_url(""); + String string = byId.getPaymentAmount().multiply(new BigDecimal("100")).toString(); + int i = Integer.parseInt(string); + WxPaymentRefundModel.RefundAmount refundAmount = new WxPaymentRefundModel.RefundAmount(); + refundAmount.setTotal(i); + refundAmount.setRefund(i); + wxPaymentRefundModel.setAmount(refundAmount); + wxPaymentClient.refundOrderR(wxPaymentRefundModel); break; case 2: // 支付宝 + RefundReq refundReq = new RefundReq(); + refundReq.setOutTradeNo(byId.getSerialNumber()); + String gw = OrderCodeUtil.getOrderCode("GW"); + refundReq.setOutRequestNo(gw); + refundReq.setRefundAmount(byId.getPaymentAmount().toString()); + refundReq.setRefundReason("后台退款"); + RefundResp data = aliPaymentClient.refund(refundReq).getData(); + if (data!=null){ + // 退款成功 回退优惠券 +// byId.setStatus(4); + if (byId.getAppCouponId()!=null){ + appCouponClient.refund(byId.getAppCouponId().toString()); + byId.setRefundCode(gw); + byId.setRefundAmount(byId.getPaymentAmount()); + byId.setRefundStatus(2); + byId.setRefundSerialNumber(data.getTradeNo()); + } + } break; } shoppingOrderService.updateById(byId); @@ -152,7 +195,7 @@ @GetMapping("/getMyShoppingOrderInfo/{id}") - @ApiOperation(value = "获取购买订单详情", tags = {"小程序-商城购买订单"}) + @ApiOperation(value = "获取购买订单详情", tags = {"小程序-商城购买订单","管理后台-支付订单-订单信息"}) public AjaxResult<MyShoppingOrderInfo> getMyShoppingOrderInfo(@PathVariable String id){ MyShoppingOrderInfo info = shoppingOrderService.getMyShoppingOrderInfo(id); return AjaxResult.success(info); @@ -207,7 +250,7 @@ shoppingOrder.setCouponId(exchangeDto.getGoodId()); } shoppingOrder.setPurchaseQuantity(exchangeDto.getNum()); - shoppingOrder.setAppUserAddressId(Long.valueOf(exchangeDto.getAddressId())); + shoppingOrder.setAppUserAddressId(exchangeDto.getAddressId()); shoppingOrder.setOrderAmount(exchangeDto.getOrderPrice()); if (exchangeDto.getCouponId()!=null) { shoppingOrder.setAppCouponId(exchangeDto.getCouponId()); -- Gitblit v1.7.1