gongzuming
2024-10-11 34a5c00c80235213fca81689636c79fbad47a5fe
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());