From 9155fcd11cf0c612fd31b364018647021da4c0e6 Mon Sep 17 00:00:00 2001 From: zhangli <123879394@qq.com> Date: Wed, 13 Aug 2025 22:40:18 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=98=E8=BD=A6=E5=A2=9E=E5=8A=A0=E8=BD=A6?= =?UTF-8?q?=E6=8D=9F=E5=92=8C=E8=BD=A6=E6=8D=9F=E8=AF=B4=E6=98=8E=E4=BB=A5?= =?UTF-8?q?=E5=8F=8A=E5=9B=BE=E7=89=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/enums/OrderCarImgTypeEnum.java | 2 ++ .../com/sczx/order/convert/OrderConvert.java | 2 ++ .../com/sczx/order/dto/OrderCarImgDTO.java | 16 ++++++++++ .../com/sczx/order/dto/OrderDetailDTO.java | 7 +++++ .../java/com/sczx/order/dto/ReturnCarReq.java | 9 +++++- .../java/com/sczx/order/po/OrderMainPO.java | 6 ++++ .../order/service/impl/OrderServiceImpl.java | 29 ++++++++++++++----- 7 files changed, 62 insertions(+), 9 deletions(-) create mode 100644 src/main/java/com/sczx/order/dto/OrderCarImgDTO.java diff --git a/src/main/java/com/sczx/order/common/enums/OrderCarImgTypeEnum.java b/src/main/java/com/sczx/order/common/enums/OrderCarImgTypeEnum.java index 87c845d..893c5e9 100644 --- a/src/main/java/com/sczx/order/common/enums/OrderCarImgTypeEnum.java +++ b/src/main/java/com/sczx/order/common/enums/OrderCarImgTypeEnum.java @@ -13,6 +13,8 @@ import lombok.Getter; public enum OrderCarImgTypeEnum { RENT("RENT", "租车"), RETURN("RETURN", "还车"), + CONFIRM_RETURN("CONFIRM_RETURN", "确认还车"), + CAR_DAMAGE("CAR_DAMAGE", "车损"), ; private final String code; diff --git a/src/main/java/com/sczx/order/convert/OrderConvert.java b/src/main/java/com/sczx/order/convert/OrderConvert.java index 3b1fe07..d836d90 100644 --- a/src/main/java/com/sczx/order/convert/OrderConvert.java +++ b/src/main/java/com/sczx/order/convert/OrderConvert.java @@ -71,6 +71,8 @@ public interface OrderConvert { @Mapping(source = "orderMainPO.orderAmount", target = "orderAmount"), @Mapping(source = "orderMainPO.isDepositFree", target = "isDepositFree"), @Mapping(source = "orderMainPO.isAutoDeduct", target = "isAutoDeduct"), + @Mapping(source = "orderMainPO.damageAmount", target = "damageAmount"), + @Mapping(source = "orderMainPO.damageDesc", target = "damageDesc"), @Mapping(source = "companyStoreDTO.name", target = "storeName"), @Mapping(source = "companyStoreDTO.detailedAddress", target = "detailedAddress"), @Mapping(source = "companyStoreDTO.latitude", target = "latitude"), diff --git a/src/main/java/com/sczx/order/dto/OrderCarImgDTO.java b/src/main/java/com/sczx/order/dto/OrderCarImgDTO.java new file mode 100644 index 0000000..dd4e799 --- /dev/null +++ b/src/main/java/com/sczx/order/dto/OrderCarImgDTO.java @@ -0,0 +1,16 @@ +package com.sczx.order.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@ApiModel(value = "OrderCarImgDTO对象", description = "订单租车车辆图片信息") +@Data +public class OrderCarImgDTO { + + @ApiModelProperty("图片类型:RENT租车,RETURN还车") + private String imgType; + + @ApiModelProperty("图片地址") + private String imgUrl; +} diff --git a/src/main/java/com/sczx/order/dto/OrderDetailDTO.java b/src/main/java/com/sczx/order/dto/OrderDetailDTO.java index 02324d0..bf285d7 100644 --- a/src/main/java/com/sczx/order/dto/OrderDetailDTO.java +++ b/src/main/java/com/sczx/order/dto/OrderDetailDTO.java @@ -146,6 +146,13 @@ public class OrderDetailDTO { @ApiModelProperty("是否开通代扣") private Boolean isAutoDeduct; + + @ApiModelProperty("车损金额") + private String damageAmount; + + @ApiModelProperty("车损说明") + private String damageDesc; + @ApiModelProperty("预计到期间隔天数") private Integer expectedDays; diff --git a/src/main/java/com/sczx/order/dto/ReturnCarReq.java b/src/main/java/com/sczx/order/dto/ReturnCarReq.java index d9b7bca..e1ffdb5 100644 --- a/src/main/java/com/sczx/order/dto/ReturnCarReq.java +++ b/src/main/java/com/sczx/order/dto/ReturnCarReq.java @@ -14,6 +14,13 @@ public class ReturnCarReq { private String orderNo; @ApiModelProperty(value = "车辆照片") - private List imageList; + private List imageList; + + + @ApiModelProperty("车损金额") + private String damageAmount; + + @ApiModelProperty("车损说明") + private String damageDesc; } diff --git a/src/main/java/com/sczx/order/po/OrderMainPO.java b/src/main/java/com/sczx/order/po/OrderMainPO.java index ad36c44..5448856 100644 --- a/src/main/java/com/sczx/order/po/OrderMainPO.java +++ b/src/main/java/com/sczx/order/po/OrderMainPO.java @@ -131,6 +131,12 @@ public class OrderMainPO implements Serializable { @ApiModelProperty("订单总金额") private BigDecimal orderAmount; + @ApiModelProperty("车损金额") + private String damageAmount; + + @ApiModelProperty("车损说明") + private String damageDesc; + @ApiModelProperty("删除标志(0代表存在 2代表删除)") private String delFlag; diff --git a/src/main/java/com/sczx/order/service/impl/OrderServiceImpl.java b/src/main/java/com/sczx/order/service/impl/OrderServiceImpl.java index c083ec1..0f983f6 100644 --- a/src/main/java/com/sczx/order/service/impl/OrderServiceImpl.java +++ b/src/main/java/com/sczx/order/service/impl/OrderServiceImpl.java @@ -33,10 +33,7 @@ import org.springframework.util.CollectionUtils; import java.math.BigDecimal; import java.time.LocalDateTime; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Optional; +import java.util.*; import java.util.stream.Collectors; @Slf4j @@ -587,12 +584,12 @@ public class OrderServiceImpl implements OrderService { if(!CollectionUtils.isEmpty(returnCarReq.getImageList())){ //添加车辆图片 List carImagePOList = new ArrayList<>(); - for(String image:returnCarReq.getImageList()){ + for(OrderCarImgDTO image:returnCarReq.getImageList()){ OrderCarImgPO imgPO = new OrderCarImgPO(); imgPO.setOrderId(orderDTO.getOrderId()); imgPO.setOrderNo(orderDTO.getOrderNo()); - imgPO.setImgType(OrderCarImgTypeEnum.RETURN.getCode()); - imgPO.setImgUrl(image); + imgPO.setImgType(image.getImgType()); + imgPO.setImgUrl(image.getImgUrl()); carImagePOList.add(imgPO); } orderCarImgRepo.saveBatch(carImagePOList); @@ -606,10 +603,26 @@ public class OrderServiceImpl implements OrderService { LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); updateWrapper.set(OrderMainPO::getOrderStatus, OrderStatusEnum.AUTO_END.getCode()); updateWrapper.set(OrderMainPO::getActEndRentTime, LocalDateTime.now()); + updateWrapper.set(Objects.nonNull(returnCarReq.getDamageAmount()),OrderMainPO::getDamageAmount, returnCarReq.getDamageAmount()); + updateWrapper.set(StringUtils.isNotBlank(returnCarReq.getDamageDesc()),OrderMainPO::getDamageDesc, returnCarReq.getDamageDesc()); updateWrapper.eq(OrderMainPO::getOrderNo, returnCarReq.getOrderNo()); orderMainRepo.update(updateWrapper); + OrderDTO orderDTO = getOrderInfoByOrderNo(returnCarReq.getOrderNo()); + if(!CollectionUtils.isEmpty(returnCarReq.getImageList())){ + //添加车辆图片 + List carImagePOList = new ArrayList<>(); + for(OrderCarImgDTO image:returnCarReq.getImageList()){ + OrderCarImgPO imgPO = new OrderCarImgPO(); + imgPO.setOrderId(orderDTO.getOrderId()); + imgPO.setOrderNo(orderDTO.getOrderNo()); + imgPO.setImgType(image.getImgType()); + imgPO.setImgUrl(image.getImgUrl()); + carImagePOList.add(imgPO); + } + orderCarImgRepo.saveBatch(carImagePOList); + } //TODO 变更车辆状态 - return getOrderInfoByOrderNo(returnCarReq.getOrderNo()); + return orderDTO; } @Override