diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/controller/OrderController.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/controller/OrderController.java index 59b4f04..d359c77 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/controller/OrderController.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/controller/OrderController.java @@ -85,7 +85,7 @@ public class OrderController extends BaseController { return error("参数错误"); } // 退租 - if (orderInfoDto.getOrderStatus().equals(OrderStatusEnum.ORDER_UNDER_LEASE.getStatus())) { + if (orderInfoDto.getOrderStatus().equals(OrderStatusEnum.ORDER_UNDER_LEASE.getStatus().toString())) { List dtos = orderMapper.getOrderDetailsByOrderId(orderInfoDto.getOrderId()); if (dtos.size() > 0 && CollectionUtil.isNotEmpty(dtos)) { if (CollectionUtil.isNotEmpty(orderInfoDto.getMaIds())) { @@ -104,7 +104,7 @@ public class OrderController extends BaseController { } } // 取消 - if (orderInfoDto.getOrderStatus().equals(OrderStatusEnum.ORDER_CANCEL.getStatus())) { + if (orderInfoDto.getOrderStatus().equals(OrderStatusEnum.ORDER_CANCEL.getStatus().toString())) { List dtos = orderMapper.getOrderDetailsByOrderId(orderInfoDto.getOrderId()); if (dtos.size() > 0 && CollectionUtil.isNotEmpty(dtos)) { for (OrderDetailDto dto : dtos) { @@ -119,7 +119,7 @@ public class OrderController extends BaseController { } } } - Integer i = orderMapper.updateOrderStatus(orderInfoDto.getOrderId(), orderInfoDto.getOrderStatus(), userName); + Integer i = orderMapper.updateOrderStatus(orderInfoDto.getOrderId(), orderInfoDto.getMaIds(), orderInfoDto.getOrderStatus(), userName); if (i > 0) { return success(); } else { diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/domain/OrderInfoDto.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/domain/OrderInfoDto.java index 5efa218..67dd2f1 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/domain/OrderInfoDto.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/domain/OrderInfoDto.java @@ -17,9 +17,6 @@ public class OrderInfoDto { @ApiModelProperty(value = "主键id") private Integer orderId; - @ApiModelProperty(value = "设备id") - private Integer maId; - @ApiModelProperty(value = "订单装备套数") private Integer maNumber; diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/mapper/OrderMapper.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/mapper/OrderMapper.java index bf378ae..c62e681 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/mapper/OrderMapper.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/mapper/OrderMapper.java @@ -28,7 +28,7 @@ public interface OrderMapper { void updateMaStatus(OrderDetailDto orderDetailDto); - Integer updateOrderStatus(@Param("orderId") Integer orderId, @Param("orderStatus") String orderStatus,@Param("userName") String userName); + Integer updateOrderStatus(@Param("orderId") Integer orderId, @Param("maIds") List maIds, @Param("orderStatus") String orderStatus,@Param("userName") String userName); Integer updateDevCount(OrderDetailDto orderDetailDto); Integer updateAddDevCount(OrderDetailDto orderDetailDto); diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/service/impl/OrderServiceImpl.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/service/impl/OrderServiceImpl.java index c54f770..377b632 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/service/impl/OrderServiceImpl.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/service/impl/OrderServiceImpl.java @@ -14,6 +14,8 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; +import java.util.Optional; +import java.util.OptionalInt; /** * @Author:liang.chao @@ -96,14 +98,11 @@ public class OrderServiceImpl implements OrderService { list.add(orderDetailDto); } dto.setDetailsList(list); - boolean orderStatus = list.stream() - .map(OrderDetailDto::getOrderStatus) - .allMatch(name -> name.equals(list.get(0).getOrderStatus())); - if (orderStatus) { - dto.setOrderStatus(list.get(0).getOrderStatus()); - } else { - throw new Exception("订单状态不一致,请检查订单状态"); - } + Optional minOrderStatus = list.stream() + .min((p1, p2) -> Integer.compare(Integer.parseInt(p1.getOrderStatus()), Integer.parseInt(p2.getOrderStatus()))); + if (minOrderStatus.isPresent()) { + dto.setOrderStatus(minOrderStatus.get().getOrderStatus()); + }//TODO外层订单状态 dto.setStartTime(list.get(0).getRentBeginTime()); dto.setEndTime(list.get(0).getRentEndTime()); //根据订单id去lease_repair_record表中查询是否已填写退租检修信息 @@ -126,9 +125,7 @@ public class OrderServiceImpl implements OrderService { .allMatch(name -> name.equals(list.get(0).getOrderStatus())); if (orderStatus) { orderInfoDto.setOrderStatus(list.get(0).getOrderStatus()); - } else { - throw new Exception("订单状态不一致,请检查订单状态"); - } + }//TODO外层订单状态 orderInfoDto.setStartTime(list.get(0).getRentBeginTime()); orderInfoDto.setEndTime(list.get(0).getRentEndTime()); orderInfoDto.setDetailsList(list); diff --git a/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/order/OrderInfoMapper.xml b/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/order/OrderInfoMapper.xml index be342c8..2529ed7 100644 --- a/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/order/OrderInfoMapper.xml +++ b/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/order/OrderInfoMapper.xml @@ -62,6 +62,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ,refuse_time = now() where order_id = #{orderId} + + and ma_id in + + #{item} + + update ma_dev_info set device_count = device_count - #{num} where ma_id = #{maId} and is_active = 1 @@ -91,7 +97,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" su.phonenumber AS phoneNumber, moi.address, moi.order_id, - hh.ma_id as maId, sum(hh.costs) cost, dept.dept_name as companyName FROM @@ -146,6 +151,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" hh.days, bfi.url, hh.id, + hh.ma_id, hh.num, hh.costs, hh.rent_begin_time,