From 49f2aa85f980049b7559d11855fe54b91c32fa22 Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Fri, 14 Mar 2025 16:50:13 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=AF=E4=BB=98=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../czg/controller/OrderPayController.java | 5 --- .../com/czg/controller/VipPayController.java | 33 ++++++++++++++++--- .../czg/service/order/service/PayService.java | 3 -- .../order/service/impl/PayServiceImpl.java | 30 +++++------------ 4 files changed, 37 insertions(+), 34 deletions(-) diff --git a/cash-api/order-server/src/main/java/com/czg/controller/OrderPayController.java b/cash-api/order-server/src/main/java/com/czg/controller/OrderPayController.java index dc24c680..3e839b33 100644 --- a/cash-api/order-server/src/main/java/com/czg/controller/OrderPayController.java +++ b/cash-api/order-server/src/main/java/com/czg/controller/OrderPayController.java @@ -177,9 +177,4 @@ public class OrderPayController { } return result; } - - @GetMapping("/queryOrderPay") - public CzgResult> queryOrderPay(Long orderId) { - return payService.queryPayOrder(orderId); - } } diff --git a/cash-api/order-server/src/main/java/com/czg/controller/VipPayController.java b/cash-api/order-server/src/main/java/com/czg/controller/VipPayController.java index d97bc7cf..ba3efd84 100644 --- a/cash-api/order-server/src/main/java/com/czg/controller/VipPayController.java +++ b/cash-api/order-server/src/main/java/com/czg/controller/VipPayController.java @@ -2,6 +2,8 @@ package com.czg.controller; import com.czg.annotation.Debounce; import com.czg.annotation.SaStaffCheckPermission; +import com.czg.entity.resp.CzgBaseResp; +import com.czg.order.entity.OrderInfo; import com.czg.resp.CzgResult; import com.czg.service.order.dto.VipPayParamDTO; import com.czg.service.order.dto.VipRefundDTO; @@ -11,10 +13,7 @@ import com.czg.utils.ServletUtil; import jakarta.annotation.Resource; import jakarta.servlet.http.HttpServletRequest; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.math.BigDecimal; import java.util.Map; @@ -128,4 +127,30 @@ public class VipPayController { payParam.setPlatformType(ServletUtil.getHeaderIgnoreCase(request, "platformType")); return payService.refundVip(payParam); } + + /** + * 获取支付状态 + */ + @GetMapping("/queryPayStatus") + public CzgResult queryOrderStatus(Long shopId, String payOrderNo) { + AssertUtil.isNull(shopId, "店铺id不能为空"); + AssertUtil.isBlank(payOrderNo, "支付单号不能为空"); + CzgResult result = CzgResult.success(); + CzgResult queryPayOrder = payService.queryPayOrder(shopId, payOrderNo, null); + if (queryPayOrder.getCode() == 200 && queryPayOrder.getData() != null) { + String state = queryPayOrder.getData().getState(); + result.setData(state); + switch (state) { + case "TRADE_AWAIT" -> result.setMsg("等待用户付款"); + case "TRADE_SUCCESS" -> result.setMsg("支付成功"); + case "TRADE_FAIL" -> result.setMsg("支付失败"); + case "TRADE_CANCEL" -> result.setMsg("交易取消"); + case "REFUND_ING" -> result.setMsg("退款中"); + case "TRADE_CLOSE" -> result.setMsg("订单关闭"); + } + } else { + return CzgResult.failure(queryPayOrder.getMsg()); + } + return result; + } } diff --git a/cash-service/order-service/src/main/java/com/czg/service/order/service/PayService.java b/cash-service/order-service/src/main/java/com/czg/service/order/service/PayService.java index 906f78e1..be11a211 100644 --- a/cash-service/order-service/src/main/java/com/czg/service/order/service/PayService.java +++ b/cash-service/order-service/src/main/java/com/czg/service/order/service/PayService.java @@ -104,9 +104,6 @@ public interface PayService { */ void refundOrder(Long shopId, Long orderId, Long payOrderId, String refPayOrderNo, String refundReason, BigDecimal refundAmount); - - CzgResult> queryPayOrder(@NonNull Long orderId); - /** * 支付查询 * diff --git a/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/PayServiceImpl.java b/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/PayServiceImpl.java index 7eb3286e..20ad1226 100644 --- a/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/PayServiceImpl.java +++ b/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/PayServiceImpl.java @@ -328,7 +328,11 @@ public class PayServiceImpl implements PayService { } } if (shopUser.getIsVip().equals(0)) { - UpdateChain.of(ShopUser.class).set(ShopUser::getIsVip, 1).eq(ShopUser::getId, payParam.getShopUserId()).update(); + UpdateChain.of(ShopUser.class) + .set(ShopUser::getIsVip, 1) + .set(ShopUser::getJoinTime, LocalDateTime.now()) + .eq(ShopUser::getId, payParam.getShopUserId()) + .update(); } ShopUserMoneyEditDTO shopUserMoneyEditDTO = new ShopUserMoneyEditDTO() .setId(shopUser.getId()) @@ -406,8 +410,10 @@ public class PayServiceImpl implements PayService { String payOrderNo = payParam.getPlatformType() + IdUtil.getSnowflakeNextId(); initOrderPayment(new OrderPayment(payParam.getShopId(), shopUser.getId(), isFree ? "free" : "memberIn", payOrderNo, payParam.getAuthCode(), payParam.getAmount(), isFree ? payParam.getOrderId() : payParam.getActivateId())); - return microPay(payParam.getShopId(), new CzgMicroPayReq(payOrderNo, payParam.getAmount().multiply(MONEY_RATE).longValue(), + CzgResult> mapCzgResult = microPay(payParam.getShopId(), new CzgMicroPayReq(payOrderNo, payParam.getAmount().multiply(MONEY_RATE).longValue(), "会员充值", payParam.getAuthCode(), payParam.getBuyerRemark(), "")); + mapCzgResult.setData(Map.of("payOrderNo", payOrderNo)); + return mapCzgResult; } @Override @@ -642,26 +648,6 @@ public class PayServiceImpl implements PayService { } } - @Override - @Transactional - public CzgResult> queryPayOrder(@NonNull Long orderId) { - OrderInfo orderInfo = orderInfoService.getById(orderId); - AssertUtil.isNull(orderInfo, "订单不存在"); - OrderPayment payment = paymentService.getById(orderInfo.getPayOrderId()); - AssertUtil.isNull(payment, "订单不存在"); - CzgResult res = queryPayOrder(orderInfo.getShopId(), payment.getOrderNo(), null); - CzgResult> result = CzgResult.success(); - if (res.getCode() != 200 || res.getData() == null) { - result.setCode(500); - result.setMsg(res.getMsg()); - return result; - } - Map map = new HashMap<>(); - map.put("payOrderId", payment.getOrderNo()); - result.setData(map); - return result; - } - @Override @Transactional public CzgResult queryPayOrder(@NonNull Long shopId, String payOrderId, String mchOrderNo) {