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){
@@ -775,6 +779,7 @@
        if(orders == null || orders.size() == 0){
            return;
        }
        /*
        for (Order o : orders) {
            //set status_backend = 'RECEIVE', status = 'RECEIVE'
            o.setStatusBackend("RECEIVE");
@@ -791,7 +796,8 @@
            orderMapper.updateById(o);
        }
        //orderMapper.setPartnerOrderReceive();
        */
        orderMapper.setPartnerOrderReceive();
    }
    /**
@@ -812,6 +818,7 @@
        o.setStatusBackend(Constants.ORDER_STATUS_BACKEND.RECEIVE.name());
        o.update(SecurityUtils.getUserId());
        /*
        //发送微信发货请求
        JSONObject jsonObject = sendWxDeliveryGood(o);
        if (jsonObject != null && (int) jsonObject.get("errcode") == 0) {
@@ -821,7 +828,7 @@
            o.setWxDeliveryGood(false);
            o.setWxDeliveryMsg(GsonUtil.toJson(jsonObject));
        }
        */
        orderMapper.updateById(o);
    }
@@ -1235,6 +1242,7 @@
        customerPointService.consumptionPoint(totalAmount, o.getOrderNo(), o.getCreateBy());
    }
    /*
    public JSONObject sendWxDeliveryGood(Order o) {
        JSONObject json = new JSONObject();
        List<OrderItem> items = orderItemMapper.selectList(new LambdaQueryWrapper<OrderItem>()
@@ -1273,6 +1281,7 @@
            return json;
        }
    }
    */
    public Order confirmOrderReceive(String id) {
        Order o = orderMapper.selectById(id);
@@ -1427,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)) {
@@ -1466,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)) {
@@ -1487,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());