订单里面增加车辆图片信息
This commit is contained in:
		| @ -0,0 +1,20 @@ | ||||
| package com.sczx.order.common.enums; | ||||
|  | ||||
| import lombok.AllArgsConstructor; | ||||
| import lombok.Getter; | ||||
|  | ||||
| /** | ||||
|  * @Author: 张黎 | ||||
|  * @Date: 2024/03/08/17:42 | ||||
|  * @Description: 订单图片类型 | ||||
|  */ | ||||
| @AllArgsConstructor | ||||
| @Getter | ||||
| public enum OrderCarImgTypeEnum { | ||||
|     RENT("RENT", "租车"), | ||||
|     RETURN("RETURN", "还车"), | ||||
|     ; | ||||
|     private final String code; | ||||
|  | ||||
|     private final String msg; | ||||
| } | ||||
| @ -5,6 +5,8 @@ import io.swagger.annotations.ApiModelProperty; | ||||
| import lombok.Builder; | ||||
| import lombok.Data; | ||||
|  | ||||
| import java.util.List; | ||||
|  | ||||
|  | ||||
| @Builder | ||||
| @ApiModel(value = "绑定车辆到订单请求参数") | ||||
| @ -16,4 +18,7 @@ public class BindCarToOrderReq { | ||||
|  | ||||
|     @ApiModelProperty(value = "车辆编号") | ||||
|     private String vin; | ||||
|  | ||||
|     @ApiModelProperty(value = "车辆照片") | ||||
|     private List<String> imageList; | ||||
| } | ||||
|  | ||||
| @ -142,4 +142,7 @@ public class OrderDTO { | ||||
|  | ||||
|     @ApiModelProperty("租车子订单信息") | ||||
|     private List<OrderSubDTO> orderSubDTOList; | ||||
|  | ||||
|     @ApiModelProperty("订单车辆图片") | ||||
|     private List<String> orderCarImgList; | ||||
| } | ||||
|  | ||||
| @ -7,6 +7,7 @@ import lombok.Data; | ||||
|  | ||||
| import java.math.BigDecimal; | ||||
| import java.time.LocalDateTime; | ||||
| import java.util.List; | ||||
|  | ||||
| @ApiModel(value = "订单详情dto", description = "租车订单详情信息") | ||||
| @Data | ||||
| @ -131,4 +132,7 @@ public class OrderDetailDTO { | ||||
|  | ||||
|     @ApiModelProperty("充电次数") | ||||
|     private Integer chargeTimes; | ||||
|  | ||||
|     @ApiModelProperty("订单车辆图片") | ||||
|     private List<String> orderCarImgList; | ||||
| } | ||||
|  | ||||
| @ -4,6 +4,8 @@ import io.swagger.annotations.ApiModel; | ||||
| import io.swagger.annotations.ApiModelProperty; | ||||
| import lombok.Data; | ||||
|  | ||||
| import java.util.List; | ||||
|  | ||||
| @Data | ||||
| @ApiModel(value = "还车请求参数") | ||||
| public class ReturnCarReq { | ||||
| @ -11,4 +13,7 @@ public class ReturnCarReq { | ||||
|     @ApiModelProperty(value = "订单编号") | ||||
|     private String orderNo; | ||||
|  | ||||
|     @ApiModelProperty(value = "车辆照片") | ||||
|     private List<String> imageList; | ||||
|  | ||||
| } | ||||
|  | ||||
							
								
								
									
										16
									
								
								src/main/java/com/sczx/order/mapper/OrderCarImgMapper.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								src/main/java/com/sczx/order/mapper/OrderCarImgMapper.java
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,16 @@ | ||||
| package com.sczx.order.mapper; | ||||
|  | ||||
| import com.sczx.order.po.OrderCarImgPO; | ||||
| import com.baomidou.mybatisplus.core.mapper.BaseMapper; | ||||
|  | ||||
| /** | ||||
|  * <p> | ||||
|  * 订单租车车辆图片信息 Mapper 接口 | ||||
|  * </p> | ||||
|  * | ||||
|  * @author zhangli | ||||
|  * @since 2025-08-07 21:15:07 | ||||
|  */ | ||||
| public interface OrderCarImgMapper extends BaseMapper<OrderCarImgPO> { | ||||
|  | ||||
| } | ||||
							
								
								
									
										56
									
								
								src/main/java/com/sczx/order/po/OrderCarImgPO.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										56
									
								
								src/main/java/com/sczx/order/po/OrderCarImgPO.java
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,56 @@ | ||||
| package com.sczx.order.po; | ||||
|  | ||||
| import com.baomidou.mybatisplus.annotation.IdType; | ||||
| import com.baomidou.mybatisplus.annotation.TableId; | ||||
| import com.baomidou.mybatisplus.annotation.TableName; | ||||
| import java.io.Serializable; | ||||
| import java.math.BigDecimal; | ||||
| import java.time.LocalDateTime; | ||||
| import io.swagger.annotations.ApiModel; | ||||
| import io.swagger.annotations.ApiModelProperty; | ||||
| import lombok.Getter; | ||||
| import lombok.Setter; | ||||
|  | ||||
| /** | ||||
|  * <p> | ||||
|  * 订单租车车辆图片信息 | ||||
|  * </p> | ||||
|  * | ||||
|  * @author zhangli | ||||
|  * @since 2025-08-07 21:15:07 | ||||
|  */ | ||||
| @Getter | ||||
| @Setter | ||||
| @TableName("zc_order_car_img") | ||||
| @ApiModel(value = "OrderCarImgPO对象", description = "订单租车车辆图片信息") | ||||
| public class OrderCarImgPO implements Serializable { | ||||
|  | ||||
|     private static final long serialVersionUID = 1L; | ||||
|  | ||||
|     @ApiModelProperty("主键id") | ||||
|     @TableId(value = "id", type = IdType.AUTO) | ||||
|     private Long id; | ||||
|  | ||||
|     @ApiModelProperty("订单ID(外键)") | ||||
|     private Long orderId; | ||||
|  | ||||
|     @ApiModelProperty("订单编号") | ||||
|     private String orderNo; | ||||
|  | ||||
|     @ApiModelProperty("图片类型:RENT租车,RETURN还车") | ||||
|     private String imgType; | ||||
|  | ||||
|     @ApiModelProperty("图片地址") | ||||
|     private String imgUrl; | ||||
|  | ||||
|     @ApiModelProperty("删除标志(0代表存在 2代表删除)") | ||||
|     private String delFlag; | ||||
|  | ||||
|     @ApiModelProperty("创建时间") | ||||
|     private LocalDateTime createTime; | ||||
|  | ||||
|     @ApiModelProperty("更新时间") | ||||
|     private LocalDateTime updateTime; | ||||
|  | ||||
|  | ||||
| } | ||||
							
								
								
									
										16
									
								
								src/main/java/com/sczx/order/repository/OrderCarImgRepo.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								src/main/java/com/sczx/order/repository/OrderCarImgRepo.java
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,16 @@ | ||||
| package com.sczx.order.repository; | ||||
|  | ||||
| import com.sczx.order.po.OrderCarImgPO; | ||||
| import com.baomidou.mybatisplus.extension.service.IService; | ||||
|  | ||||
| /** | ||||
|  * <p> | ||||
|  * 订单租车车辆图片信息 服务类 | ||||
|  * </p> | ||||
|  * | ||||
|  * @author zhangli | ||||
|  * @since 2025-08-07 21:15:07 | ||||
|  */ | ||||
| public interface OrderCarImgRepo extends IService<OrderCarImgPO> { | ||||
|  | ||||
| } | ||||
| @ -0,0 +1,20 @@ | ||||
| package com.sczx.order.repository.impl; | ||||
|  | ||||
| import com.sczx.order.po.OrderCarImgPO; | ||||
| import com.sczx.order.mapper.OrderCarImgMapper; | ||||
| import com.sczx.order.repository.OrderCarImgRepo; | ||||
| import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; | ||||
| import org.springframework.stereotype.Service; | ||||
|  | ||||
| /** | ||||
|  * <p> | ||||
|  * 订单租车车辆图片信息 服务实现类 | ||||
|  * </p> | ||||
|  * | ||||
|  * @author zhangli | ||||
|  * @since 2025-08-07 21:15:07 | ||||
|  */ | ||||
| @Service | ||||
| public class OrderCarImgRepoImpl extends ServiceImpl<OrderCarImgMapper, OrderCarImgPO> implements OrderCarImgRepo { | ||||
|  | ||||
| } | ||||
| @ -10,8 +10,10 @@ import com.sczx.order.convert.OrderSubConvert; | ||||
| import com.sczx.order.dto.*; | ||||
| import com.sczx.order.exception.BizException; | ||||
| import com.sczx.order.exception.InnerException; | ||||
| import com.sczx.order.po.OrderCarImgPO; | ||||
| import com.sczx.order.po.OrderMainPO; | ||||
| import com.sczx.order.po.OrderSubPO; | ||||
| import com.sczx.order.repository.OrderCarImgRepo; | ||||
| import com.sczx.order.repository.OrderMainRepo; | ||||
| import com.sczx.order.repository.OrderSubRepo; | ||||
| import com.sczx.order.service.OrderService; | ||||
| @ -27,6 +29,7 @@ import org.apache.commons.lang.StringUtils; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
| import org.springframework.stereotype.Service; | ||||
| import org.springframework.transaction.annotation.Transactional; | ||||
| import org.springframework.util.CollectionUtils; | ||||
|  | ||||
| import java.math.BigDecimal; | ||||
| import java.time.LocalDateTime; | ||||
| @ -58,6 +61,9 @@ public class OrderServiceImpl implements OrderService { | ||||
|     @Autowired | ||||
|     private RedisUtil redisUtil; | ||||
|  | ||||
|     @Autowired | ||||
|     private OrderCarImgRepo orderCarImgRepo; | ||||
|  | ||||
|     @Transactional(rollbackFor = Exception.class) | ||||
|     @Override | ||||
|     public RentCarOrderResultDTO submitRentCarOrder(RentCarOrderReq rentCarOrderReq) { | ||||
| @ -213,6 +219,14 @@ public class OrderServiceImpl implements OrderService { | ||||
|         List<OrderSubPO> orderSubPOList = orderSubRepo.list(orderSubLambdaQueryWrapper); | ||||
|         List<OrderSubDTO> orderSubDTOList = OrderSubConvert.INSTANCE.posToDtos(orderSubPOList); | ||||
|         orderDTO.setOrderSubDTOList(orderSubDTOList); | ||||
|  | ||||
|         //查询订单车辆图片 | ||||
|         List<OrderCarImgPO> orderCarImgPOList = orderCarImgRepo.list(new LambdaQueryWrapper<OrderCarImgPO>().eq(OrderCarImgPO::getOrderId, orderDetailDTO.getOrderId())); | ||||
|         if(!CollectionUtils.isEmpty(orderCarImgPOList)){ | ||||
|             List<String> orderCarImgList = orderCarImgPOList.stream().map(OrderCarImgPO::getImgUrl).collect(Collectors.toList()); | ||||
|             orderDTO.setOrderCarImgList(orderCarImgList); | ||||
|         } | ||||
|  | ||||
|         return orderDTO; | ||||
|     } | ||||
|  | ||||
| @ -247,8 +261,12 @@ public class OrderServiceImpl implements OrderService { | ||||
|             SysDictDataDTO rentCarBatteyDictDataDTO = storeInteg.getDictDataByDicTypeAndValue("key_rental_type", orderDetailDTO.getDurationType().toString()); | ||||
|             orderDetailDTO.setDurationTypeLabel(Optional.ofNullable(rentCarBatteyDictDataDTO).map(SysDictDataDTO::getDictLabel).orElse(null)); | ||||
|         } | ||||
|  | ||||
|  | ||||
|         //查询订单车辆图片 | ||||
|         List<OrderCarImgPO> orderCarImgPOList = orderCarImgRepo.list(new LambdaQueryWrapper<OrderCarImgPO>().eq(OrderCarImgPO::getOrderId, orderDetailDTO.getOrderId())); | ||||
|         if(!CollectionUtils.isEmpty(orderCarImgPOList)){ | ||||
|             List<String> orderCarImgList = orderCarImgPOList.stream().map(OrderCarImgPO::getImgUrl).collect(Collectors.toList()); | ||||
|             orderDetailDTO.setOrderCarImgList(orderCarImgList); | ||||
|         } | ||||
|         return orderDetailDTO; | ||||
|     } | ||||
|  | ||||
| @ -309,6 +327,22 @@ public class OrderServiceImpl implements OrderService { | ||||
|         updateWrapper.set(OrderMainPO::getVehicleId, carDTO.getId()); | ||||
|         updateWrapper.eq(OrderMainPO::getOrderNo, bindCarToOrderReq.getOrderNo()); | ||||
|         orderMainRepo.update(updateWrapper); | ||||
|  | ||||
|         if(!CollectionUtils.isEmpty(bindCarToOrderReq.getImageList())){ | ||||
|             //添加车辆图片 | ||||
|             List<OrderCarImgPO> carImagePOList = new ArrayList<>(); | ||||
|             for(String image:bindCarToOrderReq.getImageList()){ | ||||
|                 OrderCarImgPO imgPO = new OrderCarImgPO(); | ||||
|                 imgPO.setOrderId(orderMainPO.getOrderId()); | ||||
|                 imgPO.setOrderNo(orderMainPO.getOrderNo()); | ||||
|                 imgPO.setImgType(OrderCarImgTypeEnum.RENT.getCode()); | ||||
|                 imgPO.setImgUrl(image); | ||||
|                 carImagePOList.add(imgPO); | ||||
|             } | ||||
|             orderCarImgRepo.saveBatch(carImagePOList); | ||||
|         } | ||||
|  | ||||
|  | ||||
|         //TODO 变更车辆状态 | ||||
|  | ||||
|         return getOrderInfoByOrderNo(bindCarToOrderReq.getOrderNo()); | ||||
| @ -321,7 +355,21 @@ public class OrderServiceImpl implements OrderService { | ||||
|         updateWrapper.set(OrderMainPO::getReqEndRentTime, LocalDateTime.now()); | ||||
|         updateWrapper.eq(OrderMainPO::getOrderNo, returnCarReq.getOrderNo()); | ||||
|         orderMainRepo.update(updateWrapper); | ||||
|         return getOrderInfoByOrderNo(returnCarReq.getOrderNo()); | ||||
|         OrderDTO orderDTO = getOrderInfoByOrderNo(returnCarReq.getOrderNo()); | ||||
|         if(!CollectionUtils.isEmpty(returnCarReq.getImageList())){ | ||||
|             //添加车辆图片 | ||||
|             List<OrderCarImgPO> carImagePOList = new ArrayList<>(); | ||||
|             for(String image:returnCarReq.getImageList()){ | ||||
|                 OrderCarImgPO imgPO = new OrderCarImgPO(); | ||||
|                 imgPO.setOrderId(orderDTO.getOrderId()); | ||||
|                 imgPO.setOrderNo(orderDTO.getOrderNo()); | ||||
|                 imgPO.setImgType(OrderCarImgTypeEnum.RETURN.getCode()); | ||||
|                 imgPO.setImgUrl(image); | ||||
|                 carImagePOList.add(imgPO); | ||||
|             } | ||||
|             orderCarImgRepo.saveBatch(carImagePOList); | ||||
|         } | ||||
|         return orderDTO; | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
| @ -341,6 +389,7 @@ public class OrderServiceImpl implements OrderService { | ||||
|         return orderMainRepo.storeOrderStatistics(storeId); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public IPage<OrderSimpleDTO> pageCustOrder(Integer pageNo, Integer pageSize, OrderQueryReq orderQueryReq) { | ||||
|         orderQueryReq.setCustomerId(Long.valueOf(jwtUtil.getUserInfoFromToken().getUserId().toString())); | ||||
|         List<String> orderStatusList = orderQueryReq.getOrderStatusList().stream().map(OrderStatusEnum::getCode).collect(Collectors.toList()); | ||||
|  | ||||
							
								
								
									
										5
									
								
								src/main/resources/mapper/OrderCarImgMapper.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								src/main/resources/mapper/OrderCarImgMapper.xml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,5 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | ||||
| <mapper namespace="com.sczx.order.mapper.OrderCarImgMapper"> | ||||
|  | ||||
| </mapper> | ||||
		Reference in New Issue
	
	Block a user