还车增加车损和车损说明以及图片
This commit is contained in:
@ -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;
|
||||||
|
|
||||||
|
|||||||
@ -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"),
|
||||||
|
|||||||
16
src/main/java/com/sczx/order/dto/OrderCarImgDTO.java
Normal file
16
src/main/java/com/sczx/order/dto/OrderCarImgDTO.java
Normal 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;
|
||||||
|
}
|
||||||
@ -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;
|
||||||
|
|
||||||
|
|||||||
@ -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;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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;
|
||||||
|
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user