From a41ca5df78d3655e6dc1ff38824f0df9b36f45e3 Mon Sep 17 00:00:00 2001 From: gongzuming <gongzuming> Date: 星期三, 09 十月 2024 09:29:09 +0800 Subject: [PATCH] 支付 --- src/main/java/com/mzl/flower/service/payment/DeliveryOrderService.java | 53 ++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 44 insertions(+), 9 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 f921a0d..ade0675 100644 --- a/src/main/java/com/mzl/flower/service/payment/DeliveryOrderService.java +++ b/src/main/java/com/mzl/flower/service/payment/DeliveryOrderService.java @@ -125,6 +125,11 @@ statusLs.add(Constants.DELIVERY_ORDER_STATUS.ARRIVED.name()); statusLs.add(Constants.DELIVERY_ORDER_STATUS.CHECKED.name()); dto.setStatusList(statusLs); + } else if (Constants.DELIVERY_ORDER_STATUS.PENDING.name().equals(dto.getStatus())) { + List<String> statusLs = new ArrayList<>(); + statusLs.add(Constants.DELIVERY_ORDER_STATUS.NO_LOCATION.name()); + statusLs.add(Constants.DELIVERY_ORDER_STATUS.PENDING.name()); + dto.setStatusList(statusLs); } else { dto.setStatusList(splitParam(dto.getStatus())); } @@ -257,13 +262,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()); @@ -482,11 +507,17 @@ } dto.setSalesRate(salesRate); - Integer deliverCount = deliveryOrderItemMapper.getDoItemCount(supplierId, Constants.DELIVERY_ORDER_STATUS.NO_LOCATION.name(), startDate, endDate); - dto.setDeliverCount(deliverCount == null ? 0 : deliverCount); + Integer deliverCount1 = deliveryOrderItemMapper.getDoItemCount(supplierId, Constants.DELIVERY_ORDER_STATUS.NO_LOCATION.name(), startDate, endDate); + Integer deliverCount2 = deliveryOrderItemMapper.getDoItemCount(supplierId, Constants.DELIVERY_ORDER_STATUS.PENDING.name(), startDate, endDate); + Integer deliverCount = getInteger(deliverCount1) + getInteger(deliverCount2); + dto.setDeliverCount(deliverCount); + + Integer deliverCount3 = deliveryOrderItemMapper.getDoItemCount(supplierId, Constants.DELIVERY_ORDER_STATUS.ARRIVED.name(), startDate, endDate); + Integer deliverCount4 = deliveryOrderItemMapper.getDoItemCount(supplierId, Constants.DELIVERY_ORDER_STATUS.CHECKED.name(), startDate, endDate); + Integer dc = getInteger(deliverCount3) + getInteger(deliverCount4); + dto.setDeliverTotal(dc); Integer deliverTotal = deliveryOrderItemMapper.getDoItemCount(supplierId, null, startDate, endDate); - dto.setDeliverTotal(deliverTotal == null ? 0 : deliverTotal); dto.setDealCountToday(deliverTotal); LocalDateTime e = LocalDate.now().withDayOfMonth(1).atTime(17, 0, 0).plusDays(-1); @@ -500,6 +531,10 @@ } return dto; + } + + private Integer getInteger(Integer c){ + return c == null ? 0 : c; } public List<StationStatisticDTO> statisticStationList(String name, LocalDateTime startDate @@ -654,9 +689,9 @@ } List<String> pictureList = dto.getPictureList(); - if(pictureList == null || pictureList.size() == 0){ + /*if(pictureList == null || pictureList.size() == 0){ throw new ValidationException("质检图片不能为空"); - } + }*/ OrderItem oi = orderItemMapper.selectById(dto.getOrderItemId()); if(dto.getNum() > oi.getNum()){ @@ -707,12 +742,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