还车增加车损和车损说明以及图片

This commit is contained in:
2025-08-13 22:40:18 +08:00
parent f4c93e7a00
commit 9155fcd11c
7 changed files with 62 additions and 9 deletions

View File

@ -13,6 +13,8 @@ import lombok.Getter;
public enum OrderCarImgTypeEnum { public enum OrderCarImgTypeEnum {
RENT("RENT", "租车"), RENT("RENT", "租车"),
RETURN("RETURN", "还车"), RETURN("RETURN", "还车"),
CONFIRM_RETURN("CONFIRM_RETURN", "确认还车"),
CAR_DAMAGE("CAR_DAMAGE", "车损"),
; ;
private final String code; private final String code;

View File

@ -71,6 +71,8 @@ public interface OrderConvert {
@Mapping(source = "orderMainPO.orderAmount", target = "orderAmount"), @Mapping(source = "orderMainPO.orderAmount", target = "orderAmount"),
@Mapping(source = "orderMainPO.isDepositFree", target = "isDepositFree"), @Mapping(source = "orderMainPO.isDepositFree", target = "isDepositFree"),
@Mapping(source = "orderMainPO.isAutoDeduct", target = "isAutoDeduct"), @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.name", target = "storeName"),
@Mapping(source = "companyStoreDTO.detailedAddress", target = "detailedAddress"), @Mapping(source = "companyStoreDTO.detailedAddress", target = "detailedAddress"),
@Mapping(source = "companyStoreDTO.latitude", target = "latitude"), @Mapping(source = "companyStoreDTO.latitude", target = "latitude"),

View File

@ -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;
}

View File

@ -146,6 +146,13 @@ public class OrderDetailDTO {
@ApiModelProperty("是否开通代扣") @ApiModelProperty("是否开通代扣")
private Boolean isAutoDeduct; private Boolean isAutoDeduct;
@ApiModelProperty("车损金额")
private String damageAmount;
@ApiModelProperty("车损说明")
private String damageDesc;
@ApiModelProperty("预计到期间隔天数") @ApiModelProperty("预计到期间隔天数")
private Integer expectedDays; private Integer expectedDays;

View File

@ -14,6 +14,13 @@ public class ReturnCarReq {
private String orderNo; private String orderNo;
@ApiModelProperty(value = "车辆照片") @ApiModelProperty(value = "车辆照片")
private List<String> imageList; private List<OrderCarImgDTO> imageList;
@ApiModelProperty("车损金额")
private String damageAmount;
@ApiModelProperty("车损说明")
private String damageDesc;
} }

View File

@ -131,6 +131,12 @@ public class OrderMainPO implements Serializable {
@ApiModelProperty("订单总金额") @ApiModelProperty("订单总金额")
private BigDecimal orderAmount; private BigDecimal orderAmount;
@ApiModelProperty("车损金额")
private String damageAmount;
@ApiModelProperty("车损说明")
private String damageDesc;
@ApiModelProperty("删除标志0代表存在 2代表删除") @ApiModelProperty("删除标志0代表存在 2代表删除")
private String delFlag; private String delFlag;

View File

@ -33,10 +33,7 @@ import org.springframework.util.CollectionUtils;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.*;
import java.util.Arrays;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@Slf4j @Slf4j
@ -587,12 +584,12 @@ public class OrderServiceImpl implements OrderService {
if(!CollectionUtils.isEmpty(returnCarReq.getImageList())){ if(!CollectionUtils.isEmpty(returnCarReq.getImageList())){
//添加车辆图片 //添加车辆图片
List<OrderCarImgPO> carImagePOList = new ArrayList<>(); List<OrderCarImgPO> carImagePOList = new ArrayList<>();
for(String image:returnCarReq.getImageList()){ for(OrderCarImgDTO image:returnCarReq.getImageList()){
OrderCarImgPO imgPO = new OrderCarImgPO(); OrderCarImgPO imgPO = new OrderCarImgPO();
imgPO.setOrderId(orderDTO.getOrderId()); imgPO.setOrderId(orderDTO.getOrderId());
imgPO.setOrderNo(orderDTO.getOrderNo()); imgPO.setOrderNo(orderDTO.getOrderNo());
imgPO.setImgType(OrderCarImgTypeEnum.RETURN.getCode()); imgPO.setImgType(image.getImgType());
imgPO.setImgUrl(image); imgPO.setImgUrl(image.getImgUrl());
carImagePOList.add(imgPO); carImagePOList.add(imgPO);
} }
orderCarImgRepo.saveBatch(carImagePOList); orderCarImgRepo.saveBatch(carImagePOList);
@ -606,10 +603,26 @@ public class OrderServiceImpl implements OrderService {
LambdaUpdateWrapper<OrderMainPO> updateWrapper = new LambdaUpdateWrapper<>(); LambdaUpdateWrapper<OrderMainPO> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.set(OrderMainPO::getOrderStatus, OrderStatusEnum.AUTO_END.getCode()); updateWrapper.set(OrderMainPO::getOrderStatus, OrderStatusEnum.AUTO_END.getCode());
updateWrapper.set(OrderMainPO::getActEndRentTime, LocalDateTime.now()); 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()); updateWrapper.eq(OrderMainPO::getOrderNo, returnCarReq.getOrderNo());
orderMainRepo.update(updateWrapper); orderMainRepo.update(updateWrapper);
OrderDTO orderDTO = getOrderInfoByOrderNo(returnCarReq.getOrderNo());
if(!CollectionUtils.isEmpty(returnCarReq.getImageList())){
//添加车辆图片
List<OrderCarImgPO> 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 变更车辆状态 //TODO 变更车辆状态
return getOrderInfoByOrderNo(returnCarReq.getOrderNo()); return orderDTO;
} }
@Override @Override