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 54a426d..d6642ca 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 @@ -191,7 +191,7 @@ public class OrderServiceImpl implements OrderService { BigDecimal totalReliefPrice = BigDecimal.ZERO; for (OrderDetailDto detailDto : list) { detailDto.setOriginDays(detailDto.getDays()); - if (Objects.nonNull(detailDto) && String.valueOf(OrderStatusEnum.ORDER_FINISHED.getStatus()).equals(detailDto.getOrderStatus())) { + if (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()); @@ -215,9 +215,7 @@ public class OrderServiceImpl implements OrderService { dto.setDetailsList(list); Optional minOrderStatus = list.stream() .min((p1, p2) -> Integer.compare(Integer.parseInt(p1.getOrderStatus()), Integer.parseInt(p2.getOrderStatus()))); - if (minOrderStatus.isPresent()) { - dto.setOrderStatus(minOrderStatus.get().getOrderStatus()); - } + minOrderStatus.ifPresent(orderDetailDto -> dto.setOrderStatus(orderDetailDto.getOrderStatus())); //根据订单id去lease_repair_record表中查询是否已填写退租检修信息 int count = leaseRepairRecordMapper.selectLeaseContent(String.valueOf(dto.getOrderId())); if (count > 0) { @@ -261,10 +259,8 @@ public class OrderServiceImpl implements OrderService { OrderInfoDto orderInfoDto = orderMapper.getOrderDetailsById(dto); List list = orderMapper.selectOrderDetailsByOrderId(dto.getOrderId().toString()); Optional minOrderStatus = list.stream() - .min((p1, p2) -> Integer.compare(Integer.parseInt(p1.getOrderStatus()), Integer.parseInt(p2.getOrderStatus()))); - if (minOrderStatus.isPresent()) { - orderInfoDto.setOrderStatus(minOrderStatus.get().getOrderStatus()); - } + .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()); orderInfoDto.setEndTime(list.get(0).getRentEndTime()); @@ -292,10 +288,6 @@ public class OrderServiceImpl implements OrderService { /** * 计算两个日期之间的天数差 - * - * @param preOutboundTimeStr - * @param rentEndTime - * @return */ public static long calculateDaysDifference(String preOutboundTimeStr, Date rentEndTime) { try { @@ -323,14 +315,9 @@ public class OrderServiceImpl implements OrderService { /** * 将 java.util.Date 转换为 java.time.LocalDate - * - * @param date - * @return */ public static LocalDate convertToLocalDate(Date date) { - return Instant.ofEpochMilli(date.getTime()) - .atZone(ZoneId.systemDefault()) - .toLocalDate(); + return Instant.ofEpochMilli(date.getTime()).atZone(ZoneId.systemDefault()).toLocalDate(); } @Override @@ -342,6 +329,12 @@ public class OrderServiceImpl implements OrderService { dto.setBuyerCompany(Optional.ofNullable(SecurityUtils.getLoginUser().getSysUser().getCompanyId()).orElse(SecurityUtils.getLoginUser().getSysUser().getDeptId()).intValue()); } List orderInfoDto = orderMapper.getOrderStatusCount(dto); + OrderInfoDto infoDto = getOrderInfoDto(orderInfoDto); + orderInfoDto.add(0, infoDto); + return orderInfoDto; + } + + private static OrderInfoDto getOrderInfoDto(List orderInfoDto) { int total = 0; OrderInfoDto infoDto = new OrderInfoDto(); if (!CollectionUtils.isEmpty(orderInfoDto)) { @@ -355,8 +348,7 @@ public class OrderServiceImpl implements OrderService { } infoDto.setOrderCount(total); } - orderInfoDto.add(0, infoDto); - return orderInfoDto; + return infoDto; } @Override @@ -398,20 +390,12 @@ public class OrderServiceImpl implements OrderService { orderMapper.updateDeviceStatus(dto); } } -// String sendMessage = sendMsgToSms(Arrays.asList(dtos.get(0).getBuyerPhoneNumber(), dtos.get(0).getSellerPhoneNumber()), orderInfoDto.getOrderCode() + "订单,退租成功"); -// if (StringUtils.isBlank(sendMessage)) { -// System.err.println("短信发送失败"); -// } else { -// System.out.println("短信发送消息:" + sendMessage); -// } - } } // 取消 if (orderInfoDto.getOrderStatus().equals(OrderStatusEnum.ORDER_CANCEL.getStatus().toString())) { - if (dtos.size() > 0 && CollectionUtil.isNotEmpty(dtos)) { + if (!dtos.isEmpty() && CollectionUtil.isNotEmpty(dtos)) { for (OrderDetailDto dto : dtos) { -// sendMsgToSms(Arrays.asList(dtos.get(0).getBuyerPhoneNumber(), dtos.get(0).getSellerPhoneNumber()), dto.getOrderCode() + "订单已被取消"); dto.setMaStatus(MaStatusEnum.LISTING.getCode().toString()); orderMapper.updateDeviceStatus(dto); } @@ -420,11 +404,9 @@ public class OrderServiceImpl implements OrderService { // 订单完成,修改装备为下架状态 if (orderInfoDto.getOrderStatus().equals(OrderStatusEnum.ORDER_FINISHED.getStatus().toString())) { if (!dtos.isEmpty() && CollectionUtil.isNotEmpty(dtos)) { - String orderCode = ""; if (CollectionUtil.isNotEmpty(orderInfoDto.getMaIds())) { for (OrderDetailDto dto : dtos) { if (orderInfoDto.getMaIds().contains(dto.getMaId())) { - orderCode = dto.getOrderCode(); dto.setMaStatus(MaStatusEnum.ON_HIRE.getCode().toString()); orderMapper.updateDeviceStatus(dto); } @@ -435,32 +417,27 @@ public class OrderServiceImpl implements OrderService { orderMapper.updateDeviceStatus(dto); } } -// sendMsgToSms(Arrays.asList(dtos.get(0).getBuyerPhoneNumber(), dtos.get(0).getSellerPhoneNumber()), orderCode + "订单已完成。"); } } String userName = SecurityUtils.getLoginUser().getUsername(); Integer i = orderMapper.updateOrderStatus(orderInfoDto.getOrderId(), orderInfoDto.getMaIds(), orderInfoDto.getOrderStatus(), userName, orderInfoDto.getOrderRemark()); if (!CollectionUtils.isEmpty(dtos)) { OptionalInt minOrderStatus = dtos.stream().mapToInt(o -> Integer.parseInt(o.getOrderStatus())).min(); - if (minOrderStatus.isPresent()) { - TmTask tmTask = new TmTask(); - tmTask.setTaskType(TmTaskTypeEnum.TM_TASK_ORDER.getTaskTypeId()); - tmTask.setTaskStatus(minOrderStatus.getAsInt()); - tmTask.setCode(dtos.get(0).getOrderCode()); - if (orderInfoDto.getOrderStatus().equals(OrderStatusEnum.ORDER_PENDING_SHIPMENT.getStatus().toString()) || - orderInfoDto.getOrderStatus().equals(OrderStatusEnum.ORDER_TERMINATED.getStatus().toString())) { - tmTask.setNoticeCompanyId(tmTask.getBuyerCompanyId()); -// sendMsgToSms(Arrays.asList(dtos.get(0).getBuyerPhoneNumber()), dtos.get(0).getOrderCode() + "订单已接单,请注意查收。"); + TmTask tmTask = new TmTask(); + tmTask.setTaskType(TmTaskTypeEnum.TM_TASK_ORDER.getTaskTypeId()); + tmTask.setTaskStatus(minOrderStatus.getAsInt()); + tmTask.setCode(dtos.get(0).getOrderCode()); + if (orderInfoDto.getOrderStatus().equals(OrderStatusEnum.ORDER_PENDING_SHIPMENT.getStatus().toString()) || + orderInfoDto.getOrderStatus().equals(OrderStatusEnum.ORDER_TERMINATED.getStatus().toString())) { + tmTask.setNoticeCompanyId(tmTask.getBuyerCompanyId()); - } else if (orderInfoDto.getOrderStatus().equals(OrderStatusEnum.ORDER_RECEIVE.getStatus().toString()) || - orderInfoDto.getOrderStatus().equals(OrderStatusEnum.ORDER_AWAITING_RECEIPT.getStatus().toString()) || - orderInfoDto.getOrderStatus().equals(OrderStatusEnum.ORDER_UNDER_LEASE.getStatus().toString()) || - orderInfoDto.getOrderStatus().equals(OrderStatusEnum.ORDER_REPAIRED.getStatus().toString())) { - tmTask.setNoticeCompanyId(tmTask.getSellerCompanyId()); -// sendMsgToSms(Arrays.asList(dtos.get(0).getBuyerPhoneNumber()), dtos.get(0).getOrderCode() + "订单已接单,请注意查收。"); - } - tmTaskMapper.updateTaskStatus(tmTask); + } else if (orderInfoDto.getOrderStatus().equals(OrderStatusEnum.ORDER_RECEIVE.getStatus().toString()) || + orderInfoDto.getOrderStatus().equals(OrderStatusEnum.ORDER_AWAITING_RECEIPT.getStatus().toString()) || + orderInfoDto.getOrderStatus().equals(OrderStatusEnum.ORDER_UNDER_LEASE.getStatus().toString()) || + orderInfoDto.getOrderStatus().equals(OrderStatusEnum.ORDER_REPAIRED.getStatus().toString())) { + tmTask.setNoticeCompanyId(tmTask.getSellerCompanyId()); } + tmTaskMapper.updateTaskStatus(tmTask); } try { if (!dtos.isEmpty() && CollectionUtil.isNotEmpty(dtos)) { @@ -469,9 +446,6 @@ public class OrderServiceImpl implements OrderService { bmMessage.setCreateTime(DateUtils.getNowDate()); Map maMachineMap = remoteConfig.getDictValue(MaterialConstants.DICT_TYPE_ORDER_STATUS); bmMessage.setMessageContent("您好,您的订单状态已变更为" + maMachineMap.get(orderInfoDto.getOrderStatus()) + ",请及时查看"); -// if (Objects.equals(orderInfoDto.getOrderStatus(), OrderStatusEnum.ORDER_AWAITING_RECEIPT.getStatus().toString())) { -// sendMsgToSms(Arrays.asList(dto.getSellerPhoneNumber()), dto.getOrderCode() + "订单已确认收货。"); -// } bmMessage.setMessageType(String.valueOf(MessageTypeEnum.ORDER_MESSAGE.getType())); bmMessage.setUuid(String.valueOf(UUID.randomUUID())); bmMessage.setFromCompany(0L); @@ -634,9 +608,7 @@ public class OrderServiceImpl implements OrderService { dto.setDetailsList(list); Optional minOrderStatus = list.stream() .min((p1, p2) -> Integer.compare(Integer.parseInt(p1.getOrderStatus()), Integer.parseInt(p2.getOrderStatus()))); - if (minOrderStatus.isPresent()) { - dto.setOrderStatus(minOrderStatus.get().getOrderStatus()); - } + minOrderStatus.ifPresent(orderDetailDto -> dto.setOrderStatus(orderDetailDto.getOrderStatus())); //根据订单id去lease_repair_record表中查询是否已填写退租检修信息 int count = leaseRepairRecordMapper.selectLeaseContent(String.valueOf(dto.getOrderId())); if (count > 0) { @@ -687,9 +659,6 @@ public class OrderServiceImpl implements OrderService { /** * 获取单个订单取件码 - * - * @param dto - * @return */ @Override public int getOrderCode(OrderDetailDto dto) { @@ -704,8 +673,7 @@ public class OrderServiceImpl implements OrderService { } /** - * @param orderId - * @return + * 订单确认 */ @Override public AjaxResult orderConfirm(String orderId) {