From 3a3daebb07c3b144676ab7c1adfad5cce32a1541 Mon Sep 17 00:00:00 2001 From: Cui Zhi Feng <7426394+wuxixiaocui@user.noreply.gitee.com> Date: 星期四, 26 九月 2024 12:16:39 +0800 Subject: [PATCH] 售后退款验证 大小比较 --- src/main/java/com/mzl/flower/service/payment/DeliveryOrderService.java | 49 +++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 41 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/mzl/flower/service/payment/DeliveryOrderService.java b/src/main/java/com/mzl/flower/service/payment/DeliveryOrderService.java index cebb508..359d8f6 100644 --- a/src/main/java/com/mzl/flower/service/payment/DeliveryOrderService.java +++ b/src/main/java/com/mzl/flower/service/payment/DeliveryOrderService.java @@ -120,7 +120,14 @@ public Page<DeliveryOrderListDTO> selectDeliveryOrderList(Page page, DeliveryOrderQueryDTO dto) { Supplier s = getCurrentSupplier(); - dto.setStatusList(splitParam(dto.getStatus())); + if(Constants.DELIVERY_ORDER_STATUS.ARRIVED.name().equals(dto.getStatus())){ + List<String> statusLs = new ArrayList<>(); + statusLs.add(Constants.DELIVERY_ORDER_STATUS.ARRIVED.name()); + statusLs.add(Constants.DELIVERY_ORDER_STATUS.CHECKED.name()); + dto.setStatusList(statusLs); + } else { + dto.setStatusList(splitParam(dto.getStatus())); + } List<DeliveryOrderListDTO> ls = deliveryOrderMapper.selectDoList(page, s.getId(), dto); if (ls != null && ls.size() > 0) { List<String> dIds = new ArrayList<>(); @@ -250,13 +257,33 @@ return ls; } + public List<DeliveryOrderItemDTO> getSupplierDeliveryOrderItemsByItemId(PostQueryDTO dto){ + List<String> idList = dto.getIds(); + List<DeliveryOrderItemDTO> ls = new ArrayList<>(); + if(idList != null && idList.size() > 0){ + for(String id : idList){ + DeliveryOrderItem item = deliveryOrderItemMapper.selectOne(new QueryWrapper<DeliveryOrderItem>() + .eq("order_item_id", id)); + ls.add(getSupplierDeliveryOrderItem(item)); + } + } + + return ls; + } + public DeliveryOrderItemDTO getSupplierDeliveryOrderItem(String id) { + DeliveryOrderItem item = deliveryOrderItemMapper.selectById(id); + + return getSupplierDeliveryOrderItem(item); + } + + public DeliveryOrderItemDTO getSupplierDeliveryOrderItem(DeliveryOrderItem item) { DeliveryOrderItemDTO dto = new DeliveryOrderItemDTO(); Supplier s = getCurrentSupplier(); dto.setSupplierName(s.getName()); - DeliveryOrderItem item = deliveryOrderItemMapper.selectById(id); + Order d = orderMapper.selectById(item.getOrderId()); dto.setOrderNo(d.getOrderNo()); dto.setWarehouseName(d.getWarehouseName()); @@ -624,6 +651,8 @@ User user = userMapper.selectById(c.getCreateBy()); dto.setCreateName(user.getNickName()); + dto.setPictureList(parseArray(c.getPictures(), String.class)); + if(Constants.CHECK_TYPE.lack.name().equals(c.getType()) && isSupplier){ OrderItem oi = orderItemMapper.selectById(itemId); BigDecimal lackFeeSupplier = oi.getSupplierPrice().multiply(new BigDecimal(c.getNum())); @@ -636,14 +665,18 @@ public void doReduceCheck(OrderItemCheckCommitReduceDTO dto){ dto.setType(Constants.CHECK_TYPE.reduce.name()); - doCheck(dto, dto.getPictureList(), dto.getTargetLevel(), dto.getDeductAmount()); + doCheck(dto, dto.getTargetLevel(), dto.getDeductAmount()); } - public void doCheck(OrderItemCheckCommitDTO dto - , List<String> pictureList, String targetLevel, BigDecimal deductAmount) { + public void doCheck(OrderItemCheckCommitDTO dto, String targetLevel, BigDecimal deductAmount) { if(dto.getNum() == null || dto.getNum() == 0){ throw new ValidationException("处理数量不能为0"); } + + List<String> pictureList = dto.getPictureList(); + /*if(pictureList == null || pictureList.size() == 0){ + throw new ValidationException("质检图片不能为空"); + }*/ OrderItem oi = orderItemMapper.selectById(dto.getOrderItemId()); if(dto.getNum() > oi.getNum()){ @@ -694,12 +727,12 @@ } deduct = deductAmount.multiply(new BigDecimal(dto.getNum())); BigDecimal dt = realPrice.multiply(new BigDecimal(dto.getNum())); - if(deduct.doubleValue() > dt.doubleValue() - || (oi.getRealTotal() != null && deduct.doubleValue() > oi.getRealTotal().doubleValue())){ + if(deduct.compareTo(dt) > 0 + || (oi.getRealTotal() != null && deduct.compareTo(oi.getRealTotal()) > 0)){ throw new ValidationException("降级金额不能大于商品处理数量的支付的金额"); } BigDecimal st = oi.getSupplierPrice().multiply(new BigDecimal(dto.getNum())); - if(deduct.doubleValue() > st.doubleValue()){ + if(deduct.compareTo(st) > 0){ throw new ValidationException("降级金额不能大于商品处理数量的供应商的金额"); } } -- Gitblit v1.9.3