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

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 {
RENT("RENT", "租车"),
RETURN("RETURN", "还车"),
CONFIRM_RETURN("CONFIRM_RETURN", "确认还车"),
CAR_DAMAGE("CAR_DAMAGE", "车损"),
;
private final String code;

View File

@ -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"),

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("是否开通代扣")
private Boolean isAutoDeduct;
@ApiModelProperty("车损金额")
private String damageAmount;
@ApiModelProperty("车损说明")
private String damageDesc;
@ApiModelProperty("预计到期间隔天数")
private Integer expectedDays;

View File

@ -14,6 +14,13 @@ public class ReturnCarReq {
private String orderNo;
@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("订单总金额")
private BigDecimal orderAmount;
@ApiModelProperty("车损金额")
private String damageAmount;
@ApiModelProperty("车损说明")
private String damageDesc;
@ApiModelProperty("删除标志0代表存在 2代表删除")
private String delFlag;

View File

@ -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<OrderCarImgPO> 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<OrderMainPO> 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<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 变更车辆状态
return getOrderInfoByOrderNo(returnCarReq.getOrderNo());
return orderDTO;
}
@Override