From 38b4be520a418e07034703daca105ba819cbaf39 Mon Sep 17 00:00:00 2001 From: syruan <15555146157@163.com> Date: Mon, 13 Oct 2025 21:11:56 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8E=BB=E9=99=A4=E8=B4=B9=E7=94=A8=E7=9B=B8?= =?UTF-8?q?=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../order/service/impl/OrderServiceImpl.java | 113 ++---------------- 1 file changed, 8 insertions(+), 105 deletions(-) diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/service/impl/OrderServiceImpl.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/service/impl/OrderServiceImpl.java index d6642ca..58a66fb 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/service/impl/OrderServiceImpl.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/service/impl/OrderServiceImpl.java @@ -97,11 +97,6 @@ public class OrderServiceImpl implements OrderService { if (orderDetailDtos == null) { continue; } -// orderDetailDtos.removeIf(Objects::isNull); -// if (orderDetailDtos.isEmpty()) { -// continue; -//// throw new RuntimeException("请正确添加设备"); -// } //生成订单信息 String code = "D" + System.currentTimeMillis(); orderInfoDto.setCode(code); @@ -125,20 +120,6 @@ public class OrderServiceImpl implements OrderService { } // 更改购物车状态为已下单 orderMapper.updateMaStatus(orderDetailDto); -// if (devPersonPhone != null) { -// if (devPersonPhone.length() == 11) { -// SmsUtils.smsToken(devPersonPhone, "订单编号:" + code + "已下单,请尽快处理。", ""); -// JSONObject sendResult = SmsTool.sendSms(new SmsParam(devPersonPhone, "订单编号:" + code + "已下单,请尽快处理。"), BmConfigItems.ANHUI_COMPANY_SMS_KEY); -// System.out.println("短信发送结果:" + sendResult.toString()); -// } else if (devPersonPhone.length() > 11) { -// JSONObject sendResult = SmsTool.sendSms(new SmsParam(Sm4Utils.decrypt(devPersonPhone), "订单编号:" + code + "已下单,请尽快处理。"), BmConfigItems.ANHUI_COMPANY_SMS_KEY); -// System.out.println("短信发送结果:" + sendResult.toString()); -// } else { -// System.err.println("-----------用户绑定手机号,格式异常!!!---------------"); -// } -// } else { -// System.err.println("-----------设备联系人手机号为空!!!---------------"); -// } } Long userid = SecurityUtils.getLoginUser().getUserid(); @@ -181,7 +162,7 @@ public class OrderServiceImpl implements OrderService { List orderInfoDtos = orderMapper.getOrderDetails(orderInfoDto); for (OrderInfoDto dto : orderInfoDtos) { dto.setPhoneNumber(Sm4Utils.decrypt(dto.getPhoneNumber())); - List list = new ArrayList(); + List list = new ArrayList<>(); String ids = dto.getIds(); for (String id : ids.split(",")) { OrderDetailDto orderDetailDto = orderMapper.selectOrderDetailsById(id); @@ -196,8 +177,7 @@ public class OrderServiceImpl implements OrderService { if (detailDto.getChangeCost() != null) { totalRentalPrice = totalRentalPrice.add(detailDto.getChangeCost()); } else { - if (detailDto.getDateDays() != null && detailDto.getDateDays() > 0 - && detailDto.getDayLeasePrice() != null) { + if (detailDto.getDateDays() != null && detailDto.getDateDays() > 0 && detailDto.getDayLeasePrice() != null) { BigDecimal newTotalPrice = detailDto.getDayLeasePrice().multiply(new BigDecimal(detailDto.getDateDays())) .setScale(2, RoundingMode.HALF_UP); totalRentalPrice = totalRentalPrice.add(newTotalPrice); @@ -213,8 +193,7 @@ public class OrderServiceImpl implements OrderService { } dto.setTotalRentalPrice(totalRentalPrice); dto.setDetailsList(list); - Optional minOrderStatus = list.stream() - .min((p1, p2) -> Integer.compare(Integer.parseInt(p1.getOrderStatus()), Integer.parseInt(p2.getOrderStatus()))); + Optional minOrderStatus = list.stream().min(Comparator.comparingInt(p -> Integer.parseInt(p.getOrderStatus()))); minOrderStatus.ifPresent(orderDetailDto -> dto.setOrderStatus(orderDetailDto.getOrderStatus())); //根据订单id去lease_repair_record表中查询是否已填写退租检修信息 int count = leaseRepairRecordMapper.selectLeaseContent(String.valueOf(dto.getOrderId())); @@ -224,42 +203,17 @@ public class OrderServiceImpl implements OrderService { dto.setIsLeaseContent(0); } dto.setPartBacked(list.stream().anyMatch(o -> OrderStatusEnum.ORDER_UNDER_LEASE.getStatus().toString().equals(o.getOrderStatus()))); - //TODO计算总费用 LeaseRepair leaseRepair = new LeaseRepair(); leaseRepair.setOrderId(String.valueOf(dto.getOrderId())); - List leaseRepairRecords = leaseRepairRecordMapper.getLeaseRepairRecordList(leaseRepair); - BigDecimal totalRepairScrapLossPrice = BigDecimal.ZERO; - if (!CollectionUtils.isEmpty(leaseRepairRecords)) { - for (LeaseRepairRecord leaseRepairRecord : leaseRepairRecords) { - if (leaseRepairRecord.getRepairChangePrice() != null) { - totalRepairScrapLossPrice = totalRepairScrapLossPrice.add(leaseRepairRecord.getRepairChangePrice()); - } else if (leaseRepairRecord.getRepairPrice() != null) { - totalRepairScrapLossPrice = totalRepairScrapLossPrice.add(leaseRepairRecord.getRepairPrice()); - } - if (leaseRepairRecord.getScrapChangePrice() != null) { - totalRepairScrapLossPrice = totalRepairScrapLossPrice.add(leaseRepairRecord.getScrapChangePrice()); - } else if (leaseRepairRecord.getScrapPrice() != null) { - totalRepairScrapLossPrice = totalRepairScrapLossPrice.add(leaseRepairRecord.getScrapPrice()); - } - if (leaseRepairRecord.getLossChangePrice() != null) { - totalRepairScrapLossPrice = totalRepairScrapLossPrice.add(leaseRepairRecord.getLossChangePrice()); - } else if (leaseRepairRecord.getLossPrice() != null) { - totalRepairScrapLossPrice = totalRepairScrapLossPrice.add(leaseRepairRecord.getLossPrice()); - } - } - dto.setTotalRepairScrapLossPrice(totalRepairScrapLossPrice); - } - dto.setTotalRealPrice(BigDecimal.ZERO.add(totalRentalPrice).add(totalRepairScrapLossPrice).subtract(totalReliefPrice)); } return orderInfoDtos; } @Override - public OrderInfoDto getOrderDetailsById(OrderDetailDto dto) throws Exception { + public OrderInfoDto getOrderDetailsById(OrderDetailDto dto) { OrderInfoDto orderInfoDto = orderMapper.getOrderDetailsById(dto); List list = orderMapper.selectOrderDetailsByOrderId(dto.getOrderId().toString()); - Optional minOrderStatus = list.stream() - .min(Comparator.comparingInt(p -> Integer.parseInt(p.getOrderStatus()))); + Optional minOrderStatus = list.stream().min(Comparator.comparingInt(p -> Integer.parseInt(p.getOrderStatus()))); minOrderStatus.ifPresent(orderDetailDto -> orderInfoDto.setOrderStatus(orderDetailDto.getOrderStatus())); orderInfoDto.setPhoneNumber(Sm4Utils.decrypt(orderInfoDto.getPhoneNumber())); orderInfoDto.setStartTime(list.get(0).getRentBeginTime()); @@ -302,11 +256,7 @@ public class OrderServiceImpl implements OrderService { // 计算天数差 long days = ChronoUnit.DAYS.between(preOutboundLocalDate, rentEndLocalDate); - if (days == 0) { - days = 1; - } else { - days = days + 1; - } + if (days == 0) { days = 1;} else {days = days + 1;} return days; } catch (ParseException e) { throw new RuntimeException("日期转换错误", e); @@ -575,7 +525,7 @@ public class OrderServiceImpl implements OrderService { List orderInfoDtos = orderMapper.getOrderDetails(devInfo); for (OrderInfoDto dto : orderInfoDtos) { dto.setPhoneNumber(Sm4Utils.decrypt(dto.getPhoneNumber())); - List list = new ArrayList(); + List list = new ArrayList<>(); String ids = dto.getIds(); for (String id : ids.split(",")) { OrderDetailDto orderDetailDto = orderMapper.selectOrderDetailsById(id); @@ -583,31 +533,8 @@ public class OrderServiceImpl implements OrderService { } BigDecimal totalRentalPrice = BigDecimal.ZERO; BigDecimal totalReliefPrice = BigDecimal.ZERO; - for (OrderDetailDto detailDto : list) { - if (Objects.nonNull(detailDto) && String.valueOf(OrderStatusEnum.ORDER_FINISHED.getStatus()).equals(detailDto.getOrderStatus())) { - detailDto.setDays(detailDto.getDateDays() == null ? detailDto.getDays() : String.valueOf(detailDto.getDateDays())); - if (detailDto.getChangeCost() != null) { - totalRentalPrice = totalRentalPrice.add(detailDto.getChangeCost()); - } else { - if (detailDto.getDateDays() != null && detailDto.getDateDays() > 0 - && detailDto.getDayLeasePrice() != null) { - BigDecimal newTotalPrice = detailDto.getDayLeasePrice().multiply(new BigDecimal(detailDto.getDateDays())) - .setScale(2, RoundingMode.HALF_UP); - totalRentalPrice = totalRentalPrice.add(newTotalPrice); - detailDto.setCosts(newTotalPrice); - } - } - if (detailDto.getReliefChangeCost() != null) { - totalReliefPrice.add(detailDto.getReliefChangeCost()); - } else if (detailDto.getReliefCost() != null) { - totalReliefPrice.add(detailDto.getReliefCost()); - } - } - } - dto.setTotalRentalPrice(totalRentalPrice); dto.setDetailsList(list); - Optional minOrderStatus = list.stream() - .min((p1, p2) -> Integer.compare(Integer.parseInt(p1.getOrderStatus()), Integer.parseInt(p2.getOrderStatus()))); + Optional minOrderStatus = list.stream().min(Comparator.comparingInt(p -> Integer.parseInt(p.getOrderStatus()))); minOrderStatus.ifPresent(orderDetailDto -> dto.setOrderStatus(orderDetailDto.getOrderStatus())); //根据订单id去lease_repair_record表中查询是否已填写退租检修信息 int count = leaseRepairRecordMapper.selectLeaseContent(String.valueOf(dto.getOrderId())); @@ -617,32 +544,8 @@ public class OrderServiceImpl implements OrderService { dto.setIsLeaseContent(0); } dto.setPartBacked(list.stream().anyMatch(o -> OrderStatusEnum.ORDER_UNDER_LEASE.getStatus().toString().equals(o.getOrderStatus()))); - //TODO计算总费用 LeaseRepair leaseRepair = new LeaseRepair(); leaseRepair.setOrderId(String.valueOf(dto.getOrderId())); - List leaseRepairRecords = leaseRepairRecordMapper.getLeaseRepairRecordList(leaseRepair); - BigDecimal totalRepairScrapLossPrice = BigDecimal.ZERO; - if (!CollectionUtils.isEmpty(leaseRepairRecords)) { - for (LeaseRepairRecord leaseRepairRecord : leaseRepairRecords) { - if (leaseRepairRecord.getRepairChangePrice() != null) { - totalRepairScrapLossPrice = totalRepairScrapLossPrice.add(leaseRepairRecord.getRepairChangePrice()); - } else if (leaseRepairRecord.getRepairPrice() != null) { - totalRepairScrapLossPrice = totalRepairScrapLossPrice.add(leaseRepairRecord.getRepairPrice()); - } - if (leaseRepairRecord.getScrapChangePrice() != null) { - totalRepairScrapLossPrice = totalRepairScrapLossPrice.add(leaseRepairRecord.getScrapChangePrice()); - } else if (leaseRepairRecord.getScrapPrice() != null) { - totalRepairScrapLossPrice = totalRepairScrapLossPrice.add(leaseRepairRecord.getScrapPrice()); - } - if (leaseRepairRecord.getLossChangePrice() != null) { - totalRepairScrapLossPrice = totalRepairScrapLossPrice.add(leaseRepairRecord.getLossChangePrice()); - } else if (leaseRepairRecord.getLossPrice() != null) { - totalRepairScrapLossPrice = totalRepairScrapLossPrice.add(leaseRepairRecord.getLossPrice()); - } - } - dto.setTotalRepairScrapLossPrice(totalRepairScrapLossPrice); - } - dto.setTotalRealPrice(BigDecimal.ZERO.add(totalRentalPrice).add(totalRepairScrapLossPrice).subtract(totalReliefPrice)); } return orderInfoDtos; }