From 34a5c00c80235213fca81689636c79fbad47a5fe Mon Sep 17 00:00:00 2001 From: gongzuming <gongzuming> Date: 星期五, 11 十月 2024 09:24:26 +0800 Subject: [PATCH] 支付优化 --- src/main/java/com/mzl/flower/service/payment/OrderService.java | 24 ++++++++++++++---------- 1 files changed, 14 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/mzl/flower/service/payment/OrderService.java b/src/main/java/com/mzl/flower/service/payment/OrderService.java index 3bdc188..75ffe19 100644 --- a/src/main/java/com/mzl/flower/service/payment/OrderService.java +++ b/src/main/java/com/mzl/flower/service/payment/OrderService.java @@ -44,6 +44,7 @@ import com.mzl.flower.mapper.supplier.StationMapper; import com.mzl.flower.mapper.system.UserWechatMapper; import com.mzl.flower.mapper.warehouse.WarehouseLocationMapper; +import com.mzl.flower.pay.SybPayService; import com.mzl.flower.service.BaseService; import com.mzl.flower.service.comment.FlowerCommentService; import com.mzl.flower.service.coupon.CouponRecordService; @@ -99,6 +100,9 @@ @Autowired private UserPaymentV3Service paymentV3Service; + + @Autowired + private UserPaymentSybService paymentSybService; @Autowired private SequenceNo sequenceNo; @@ -453,7 +457,7 @@ } } - public Map commitOrder(OrderCommitDTO dto, PreOrderDTO p, Map<Long, PriceDTO> priceMap) { + public Map commitOrder(OrderCommitDTO dto, PreOrderDTO p, Map<Long, PriceDTO> priceMap) throws Exception { String userId = SecurityUtils.getUserId(); p.getFlowers().forEach(flower -> { // 限购数量 鲜花数量校验 @@ -465,6 +469,7 @@ } }); + /* 替换支付修改 WxMaJscode2SessionResult session = null; try { session = weChatService.getWxMaSessionInfo(dto.getWxcode()); @@ -475,6 +480,7 @@ if (StringUtils.isBlank(openId)) { throw new ValidationException("微信登录失败"); } + */ Address address = addressMapper.selectById(dto.getAddressId()); List<TransportOrderDTO> tLs = transportService.getPreOrderTransportList(address @@ -528,7 +534,7 @@ } totalAmount = totalAmount.add(p.getPacking()).add(transportFee); if(totalAmount.doubleValue() <= 0){//假如总价小于等于0,则支付0.01元 - totalAmount = new BigDecimal(0.01); + totalAmount = new BigDecimal("0.01"); } order.setTotalAmount(totalAmount); @@ -605,7 +611,7 @@ } order.setOrderNo(getOrderNo()); - order.setPayOpenid(openId); + //order.setPayOpenid(openId);替换支付修改 orderMapper.insert(order); //处理积分商品兑换券 @@ -620,9 +626,7 @@ } } - Map map = paymentV3Service.wxPrepay(order); - map.put("_testV2OrderId", order.getId()); - return map; + return paymentSybService.prepay(order); } private void usePointGoods(String orderId, List<Long> goodsRecordIdList){ @@ -1432,7 +1436,7 @@ return dto; } - public void processAbnormalOrder(String id) { + public void processAbnormalOrder(String id) throws Exception { Order o = orderMapper.selectById(id); String transferId = o.getTransferId(); if (StringUtils.isNotEmpty(transferId)) { @@ -1471,13 +1475,13 @@ transferId = "NoNeedRefund"; if (deductAmount.doubleValue() > 0) { - transferId = paymentV3Service.refundOrderSub(o, deductAmount); + transferId = paymentSybService.refundOrderSub(o, deductAmount); } o.setTransferId(transferId); orderMapper.updateById(o); } - public void processLevelDown(OrderReduceDTO dto) { + public void processLevelDown(OrderReduceDTO dto) throws Exception { Order o = orderMapper.selectById(dto.getId()); String transferId = o.getTransferId(); if (StringUtils.isNotEmpty(transferId)) { @@ -1492,7 +1496,7 @@ } BigDecimal amount = dto.getAmount(); - transferId = paymentV3Service.refundOrderSub(o, amount); + transferId = paymentSybService.refundOrderSub(o, amount); o.setTransferId(transferId); o.setTransferTime(LocalDateTime.now()); o.update(SecurityUtils.getUserId()); -- Gitblit v1.9.3