订单处理

This commit is contained in:
syruan 2025-10-14 20:18:12 +08:00
parent f55cd76970
commit 5d025d86b8
4 changed files with 20 additions and 14 deletions

View File

@ -12,10 +12,11 @@ import java.util.Objects;
public enum MaStatusEnum { public enum MaStatusEnum {
TO_BE_LISTED(0, "草稿"), TO_BE_LISTED(0, "草稿"),
ON_HIRE(1, "下架"), ON_HIRE(1, "在库"),
LISTING(2, "上架"), LISTING(2, "自用中"),
UNDER_RENT(3,"在租"), UNDER_RENT(3,"共享中"),
OWN(4,"自有"); OWN(4,"退役"),
REPAIR(5, "维修中");
private final Integer code; private final Integer code;
private final String name; private final String name;

View File

@ -26,6 +26,7 @@ public interface OrderMapper {
Integer updateDeviceStatus(OrderDetailDto orderDetailDto); Integer updateDeviceStatus(OrderDetailDto orderDetailDto);
List<OrderInfoDto> getOrderDetails(OrderInfoDto orderInfoDto); List<OrderInfoDto> getOrderDetails(OrderInfoDto orderInfoDto);
OrderInfoDto getOrderDetailsById(OrderDetailDto orderInfoDto); OrderInfoDto getOrderDetailsById(OrderDetailDto orderInfoDto);
List<OrderInfoDto> getOrderStatusCount(OrderDetailDto orderInfoDto); List<OrderInfoDto> getOrderStatusCount(OrderDetailDto orderInfoDto);
@ -37,6 +38,7 @@ public interface OrderMapper {
Integer updateOrderStatus(@Param("orderId") Integer orderId, @Param("maIds") List<Integer> maIds, @Param("orderStatus") String orderStatus, @Param("userName") String userName, @Param("remark") String remark); Integer updateOrderStatus(@Param("orderId") Integer orderId, @Param("maIds") List<Integer> maIds, @Param("orderStatus") String orderStatus, @Param("userName") String userName, @Param("remark") String remark);
Integer updateDevCount(OrderDetailDto orderDetailDto); Integer updateDevCount(OrderDetailDto orderDetailDto);
Integer updateAddDevCount(OrderDetailDto orderDetailDto); Integer updateAddDevCount(OrderDetailDto orderDetailDto);
List<OrderDetailDto> selectOrderDetailsByOrderId(String orderId); List<OrderDetailDto> selectOrderDetailsByOrderId(String orderId);

View File

@ -107,17 +107,17 @@ public class OrderServiceImpl implements OrderService {
if (maInfo == null || maInfo.getMaStatus() == null) { if (maInfo == null || maInfo.getMaStatus() == null) {
throw new RuntimeException("设备信息异常"); throw new RuntimeException("设备信息异常");
} }
if (!maInfo.getMaStatus().equals(MaStatusEnum.LISTING.getCode())) { if (!maInfo.getMaStatus().equals(MaStatusEnum.ON_HIRE.getCode())) {
throw new RuntimeException("设备非上架状态,无法下单!"); throw new RuntimeException("设备非在库状态,无法下单!");
} }
String devPersonPhone = maInfo.getPersonPhone(); String devPersonPhone = maInfo.getPersonPhone();
//如果是编码设备改设备状态为在租 //如果是编码设备改设备状态为共享中
orderDetailDto.setMaStatus(MaStatusEnum.UNDER_RENT.getCode().toString()); // orderDetailDto.setMaStatus(MaStatusEnum.UNDER_RENT.getCode().toString());
Integer updateDeviceStatus = orderMapper.updateDeviceStatus(orderDetailDto); // Integer updateDeviceStatus = orderMapper.updateDeviceStatus(orderDetailDto);
if (updateDeviceStatus < 1) { // if (updateDeviceStatus < 1) {
throw new RuntimeException("设备状态修改失败"); // throw new RuntimeException("设备状态修改失败");
} // }
// 更改购物车状态为已下单 // 更改购物车状态为已下单
orderMapper.updateMaStatus(orderDetailDto); orderMapper.updateMaStatus(orderDetailDto);
} }
@ -532,6 +532,7 @@ public class OrderServiceImpl implements OrderService {
OrderDetailDto orderDetailDto = orderMapper.selectOrderDetailsById(id); OrderDetailDto orderDetailDto = orderMapper.selectOrderDetailsById(id);
list.add(orderDetailDto); list.add(orderDetailDto);
} }
list.removeIf(Objects::isNull);
dto.setDetailsList(list); dto.setDetailsList(list);
Optional<OrderDetailDto> minOrderStatus = list.stream().min(Comparator.comparingInt(p -> Integer.parseInt(p.getOrderStatus()))); Optional<OrderDetailDto> minOrderStatus = list.stream().min(Comparator.comparingInt(p -> Integer.parseInt(p.getOrderStatus())));
minOrderStatus.ifPresent(orderDetailDto -> dto.setOrderStatus(orderDetailDto.getOrderStatus())); minOrderStatus.ifPresent(orderDetailDto -> dto.setOrderStatus(orderDetailDto.getOrderStatus()));

View File

@ -202,6 +202,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
moi.order_time moi.order_time
order by moi.order_time desc order by moi.order_time desc
</select> </select>
<select id="selectOrderDetailsById" resultType="com.bonus.material.order.domain.OrderDetailDto"> <select id="selectOrderDetailsById" resultType="com.bonus.material.order.domain.OrderDetailDto">
SELECT SELECT
mdi.device_name, mdi.device_name,
@ -233,12 +234,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
ma_order_details hh ma_order_details hh
LEFT JOIN ma_order_info moi ON hh.order_id = moi.order_id LEFT JOIN ma_order_info moi ON hh.order_id = moi.order_id
LEFT JOIN ma_dev_info mdi ON hh.ma_id = mdi.ma_id LEFT JOIN ma_dev_info mdi ON hh.ma_id = mdi.ma_id
LEFT JOIN bm_file_info bfi ON hh.ma_id = bfi.model_id LEFT JOIN bm_file_info bfi ON hh.ma_id = bfi.model_id and bfi.task_type = 17 and bfi.file_type = 0
left join ma_type mt ON mdi.type_id = mt.type_id left join ma_type mt ON mdi.type_id = mt.type_id
AND bfi.file_type = 0 AND bfi.file_type = 0
WHERE WHERE
hh.id = #{id} and bfi.task_type = 17 and bfi.file_type = 0 limit 1 hh.id = #{id} limit 1
</select> </select>
<select id="getOrderDetailsById" resultType="com.bonus.material.order.domain.OrderInfoDto"> <select id="getOrderDetailsById" resultType="com.bonus.material.order.domain.OrderInfoDto">
SELECT SELECT
moi.code AS code, moi.code AS code,