订单处理

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 {
TO_BE_LISTED(0, "草稿"),
ON_HIRE(1, "下架"),
LISTING(2, "上架"),
UNDER_RENT(3,"在租"),
OWN(4,"自有");
ON_HIRE(1, "在库"),
LISTING(2, "自用中"),
UNDER_RENT(3,"共享中"),
OWN(4,"退役"),
REPAIR(5, "维修中");
private final Integer code;
private final String name;

View File

@ -26,6 +26,7 @@ public interface OrderMapper {
Integer updateDeviceStatus(OrderDetailDto orderDetailDto);
List<OrderInfoDto> getOrderDetails(OrderInfoDto orderInfoDto);
OrderInfoDto getOrderDetailsById(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 updateDevCount(OrderDetailDto orderDetailDto);
Integer updateAddDevCount(OrderDetailDto orderDetailDto);
List<OrderDetailDto> selectOrderDetailsByOrderId(String orderId);

View File

@ -107,17 +107,17 @@ public class OrderServiceImpl implements OrderService {
if (maInfo == null || maInfo.getMaStatus() == null) {
throw new RuntimeException("设备信息异常");
}
if (!maInfo.getMaStatus().equals(MaStatusEnum.LISTING.getCode())) {
throw new RuntimeException("设备非上架状态,无法下单!");
if (!maInfo.getMaStatus().equals(MaStatusEnum.ON_HIRE.getCode())) {
throw new RuntimeException("设备非在库状态,无法下单!");
}
String devPersonPhone = maInfo.getPersonPhone();
//如果是编码设备改设备状态为在租
orderDetailDto.setMaStatus(MaStatusEnum.UNDER_RENT.getCode().toString());
Integer updateDeviceStatus = orderMapper.updateDeviceStatus(orderDetailDto);
if (updateDeviceStatus < 1) {
throw new RuntimeException("设备状态修改失败");
}
//如果是编码设备改设备状态为共享中
// orderDetailDto.setMaStatus(MaStatusEnum.UNDER_RENT.getCode().toString());
// Integer updateDeviceStatus = orderMapper.updateDeviceStatus(orderDetailDto);
// if (updateDeviceStatus < 1) {
// throw new RuntimeException("设备状态修改失败");
// }
// 更改购物车状态为已下单
orderMapper.updateMaStatus(orderDetailDto);
}
@ -532,6 +532,7 @@ public class OrderServiceImpl implements OrderService {
OrderDetailDto orderDetailDto = orderMapper.selectOrderDetailsById(id);
list.add(orderDetailDto);
}
list.removeIf(Objects::isNull);
dto.setDetailsList(list);
Optional<OrderDetailDto> minOrderStatus = list.stream().min(Comparator.comparingInt(p -> Integer.parseInt(p.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
order by moi.order_time desc
</select>
<select id="selectOrderDetailsById" resultType="com.bonus.material.order.domain.OrderDetailDto">
SELECT
mdi.device_name,
@ -233,12 +234,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
ma_order_details hh
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 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
AND bfi.file_type = 0
WHERE
hh.id = #{id} and bfi.task_type = 17 and bfi.file_type = 0 limit 1
hh.id = #{id} limit 1
</select>
<select id="getOrderDetailsById" resultType="com.bonus.material.order.domain.OrderInfoDto">
SELECT
moi.code AS code,