From e468d0b56e1c33f047bee84ca8c9a142c769fe16 Mon Sep 17 00:00:00 2001 From: gongzuming <gongzuming> Date: 星期四, 26 九月 2024 13:12:35 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master-v2' into master-v2 --- src/main/java/com/mzl/flower/service/flower/FlowerCategoryService.java | 4 +- src/main/java/com/mzl/flower/service/payment/OrderItemSalesService.java | 31 +++++++++------ src/main/java/com/mzl/flower/service/payment/OrderService.java | 2 src/main/java/com/mzl/flower/web/supplier/DeliverySupplierController.java | 6 +++ src/main/java/com/mzl/flower/service/payment/DeliveryOrderService.java | 28 ++++++++++++-- 5 files changed, 51 insertions(+), 20 deletions(-) diff --git a/src/main/java/com/mzl/flower/service/flower/FlowerCategoryService.java b/src/main/java/com/mzl/flower/service/flower/FlowerCategoryService.java index b90f6c8..2cbfd39 100644 --- a/src/main/java/com/mzl/flower/service/flower/FlowerCategoryService.java +++ b/src/main/java/com/mzl/flower/service/flower/FlowerCategoryService.java @@ -204,11 +204,11 @@ BigDecimal priceHigh = null; for (Flower f : ls) { BigDecimal price = getFinalPrice(partnerId, categoryId, f.getId(), f.getPrice(), f.getLevel()); - if(priceLow == null || priceLow.doubleValue() > price.doubleValue()){ + if(priceLow == null || priceLow.compareTo(price) > 0){ priceLow = price; } - if(priceHigh == null || priceHigh.doubleValue() < price.doubleValue()){ + if(priceHigh == null || priceHigh.compareTo(price) < 0){ priceHigh = price; } } 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 f04dac7..359d8f6 100644 --- a/src/main/java/com/mzl/flower/service/payment/DeliveryOrderService.java +++ b/src/main/java/com/mzl/flower/service/payment/DeliveryOrderService.java @@ -257,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()); @@ -707,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("降级金额不能大于商品处理数量的供应商的金额"); } } diff --git a/src/main/java/com/mzl/flower/service/payment/OrderItemSalesService.java b/src/main/java/com/mzl/flower/service/payment/OrderItemSalesService.java index 4fb68da..ef5b163 100644 --- a/src/main/java/com/mzl/flower/service/payment/OrderItemSalesService.java +++ b/src/main/java/com/mzl/flower/service/payment/OrderItemSalesService.java @@ -343,17 +343,20 @@ } BigDecimal feeSupplier = getAmount(dto.getFeeSupplier()); - BigDecimal supplierTotal = oi.getSupplierPrice().multiply(new BigDecimal(sl.getNum()));//申请数量的供应商价格 + BigDecimal supplierTotal = getAmount(oi.getSupplierPrice()).multiply(new BigDecimal(sl.getNum()));//申请数量的供应商价格 + log.info(">>>>>>feeSupplier: " + feeSupplier.doubleValue()); + log.info(">>>>>>supplierTotal: " + supplierTotal.doubleValue()); + log.info(">>>>>>sl.getNum(): " + sl.getNum()); //1.输入不能大于商品申请数量"供应商上架价格 - if(feeSupplier.doubleValue() > supplierTotal.doubleValue()){ + if(feeSupplier.compareTo(supplierTotal) > 0){ throw new ValidationException("供应商扣款金额不能大于商品申请数量的供应商售价"); } BigDecimal feePartner = getAmount(dto.getFeePartner()); //合伙人输入框限制: //1.输入金额不能大于输入金额申请数量"加价 - BigDecimal partnerTotal = oi.getMarkupPartner().multiply(new BigDecimal(sl.getNum()));//申请数量的合伙人加价 - if(feePartner.doubleValue() > partnerTotal.doubleValue()){ + BigDecimal partnerTotal = getAmount(oi.getMarkupPartner()).multiply(new BigDecimal(sl.getNum()));//申请数量的合伙人加价 + if(feePartner.compareTo(partnerTotal) > 0){ throw new ValidationException("合伙人扣款金额不能大于商品申请数量的合伙人加价"); } @@ -364,7 +367,9 @@ BigDecimal feePackingTransport = getAmount(dto.getFeePackingTransport()); BigDecimal totalFee = feeSupplier.add(feePartner).add(feePlatform).add(feePlatformPack) - .add(feePlatformCheck).add(feePlatformTransport).add(feePackingTransport); + .add(feePlatformCheck).add(feePlatformTransport); + + BigDecimal totalFeeWithPacking = totalFee.add(feePackingTransport); List<OrderItemSales> ls = orderItemSalesMapper.selectList(new QueryWrapper<OrderItemSales>() .eq("order_item_id", oi.getId()) @@ -376,7 +381,7 @@ int preNum = 0; if(ls != null && ls.size() > 0){ for(OrderItemSales s : ls){ - preFee = preFee.add(s.getTotalFee()); + preFee = preFee.add(s.getTotalFee()).subtract(s.getFeePackingTransport()); preFeeSupplier = preFeeSupplier.add(s.getFeeSupplier()); preNum += s.getNum(); preFeePackingTransport = preFeePackingTransport.add(s.getFeePackingTransport()); @@ -387,7 +392,7 @@ //打包运费限制不能超过订单的运费和打包费 Order o = orderMapper.selectById(oi.getOrderId()); BigDecimal packingTransport = getAmount(o.getPackingFee()).add(getAmount(o.getTransportFee())); - if(preFeePackingTransport.doubleValue() > packingTransport.doubleValue()){ + if(preFeePackingTransport.compareTo(packingTransport) > 0){ throw new ValidationException("打包运费不能超过订单的运费和打包费"); } @@ -399,7 +404,7 @@ if(sl.getNum() == leftNum){//剩下的所有的商品都售后时用减法计算 st = oi.getRealTotal().subtract(oi.getRealPrice().multiply(new BigDecimal(usedNum))); } - if(totalFee.doubleValue() > st.doubleValue()){ + if(totalFee.compareTo(st) > 0){ throw new ValidationException("退款金额不能大于商品申请数量的售价"); } @@ -410,7 +415,7 @@ .add(ois.getLackFeeSupplier()) .add(ois.getReplaceFee()); //2.不能大于商品购买数量"花材底价-质检总扣款-第一次售后全额扣供应商的全额 - if(preFeeSupplier.doubleValue() > supplierTotal.doubleValue()){ + if(preFeeSupplier.compareTo(supplierTotal) > 0){ throw new ValidationException("供应商总扣款金额不能大于商品购买数量的供应商售价"); } @@ -422,7 +427,7 @@ BigDecimal deduct = deliveryOrderService.calculateOrderItemDeduct(sl.getOrderItemId());//质检已扣款金额 preFee = preFee.add(deduct); //券后总金额-未申请售后的数量(商品购买数量-申请数量)券后单价 - if(preFee.doubleValue() > oi.getRealTotal().doubleValue()){ + if(preFee.compareTo(oi.getRealTotal()) > 0){ throw new ValidationException("退款总金额(包含质检退款)不能大于商品总价"); } @@ -434,14 +439,14 @@ sl.setFeePlatformCheck(feePlatformCheck); sl.setFeePlatformTransport(feePlatformTransport); sl.setFeePackingTransport(feePackingTransport); - sl.setTotalFee(totalFee); + sl.setTotalFee(totalFeeWithPacking); sl.setStatus(status); sl.setAuditTime(LocalDateTime.now()); sl.update(SecurityUtils.getUserId()); if(Constants.ORDER_SALES_STATUS.AGREED.name().equals(sl.getStatus())){ - if(totalFee.doubleValue() > 0) { - String refundId = paymentV3Service.refundOrderSub(o, totalFee); + if(totalFeeWithPacking.doubleValue() > 0) { + String refundId = paymentV3Service.refundOrderSub(o, totalFeeWithPacking); sl.setRefundId(refundId); } } 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 3b76438..64182c8 100644 --- a/src/main/java/com/mzl/flower/service/payment/OrderService.java +++ b/src/main/java/com/mzl/flower/service/payment/OrderService.java @@ -642,7 +642,7 @@ return new BigDecimal(0); } - if(couponAmount.doubleValue() >= totalAmount.doubleValue()){ + if(couponAmount.compareTo(totalAmount) >= 0){ return price; } if(isLastOne){//最后的商品使用优惠券剩下的面值 diff --git a/src/main/java/com/mzl/flower/web/supplier/DeliverySupplierController.java b/src/main/java/com/mzl/flower/web/supplier/DeliverySupplierController.java index b305f77..7a0926b 100644 --- a/src/main/java/com/mzl/flower/web/supplier/DeliverySupplierController.java +++ b/src/main/java/com/mzl/flower/web/supplier/DeliverySupplierController.java @@ -118,6 +118,12 @@ return returnData(R.SUCCESS.getCode(), deliveryOrderService.getSupplierDeliveryOrderItems(dto)); } + @PostMapping("/list/items/views/new") + @ApiOperation(value = "获取商品详情列表-使用订单商品id") + public ResponseEntity<ReturnDataDTO<List<DeliveryOrderItemDTO>>> getSupplierDeliveryOrderItemsByItemId(@RequestBody PostQueryDTO dto){ + return returnData(R.SUCCESS.getCode(), deliveryOrderService.getSupplierDeliveryOrderItemsByItemId(dto)); + } + @PostMapping("/list/arrive") @ApiOperation(value = "确认入位") public ResponseEntity<ReturnDataDTO> arrived(@RequestBody DeliveryOrderArriveDTO dto) { -- Gitblit v1.9.3