单独退租

This commit is contained in:
sxu 2024-12-11 15:36:26 +08:00
parent bf1b71ad55
commit 9a98981b64
5 changed files with 19 additions and 19 deletions

View File

@ -85,7 +85,7 @@ public class OrderController extends BaseController {
return error("参数错误"); return error("参数错误");
} }
// 退租 // 退租
if (orderInfoDto.getOrderStatus().equals(OrderStatusEnum.ORDER_UNDER_LEASE.getStatus())) { if (orderInfoDto.getOrderStatus().equals(OrderStatusEnum.ORDER_UNDER_LEASE.getStatus().toString())) {
List<OrderDetailDto> dtos = orderMapper.getOrderDetailsByOrderId(orderInfoDto.getOrderId()); List<OrderDetailDto> dtos = orderMapper.getOrderDetailsByOrderId(orderInfoDto.getOrderId());
if (dtos.size() > 0 && CollectionUtil.isNotEmpty(dtos)) { if (dtos.size() > 0 && CollectionUtil.isNotEmpty(dtos)) {
if (CollectionUtil.isNotEmpty(orderInfoDto.getMaIds())) { 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<OrderDetailDto> dtos = orderMapper.getOrderDetailsByOrderId(orderInfoDto.getOrderId()); List<OrderDetailDto> dtos = orderMapper.getOrderDetailsByOrderId(orderInfoDto.getOrderId());
if (dtos.size() > 0 && CollectionUtil.isNotEmpty(dtos)) { if (dtos.size() > 0 && CollectionUtil.isNotEmpty(dtos)) {
for (OrderDetailDto dto : 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) { if (i > 0) {
return success(); return success();
} else { } else {

View File

@ -17,9 +17,6 @@ public class OrderInfoDto {
@ApiModelProperty(value = "主键id") @ApiModelProperty(value = "主键id")
private Integer orderId; private Integer orderId;
@ApiModelProperty(value = "设备id")
private Integer maId;
@ApiModelProperty(value = "订单装备套数") @ApiModelProperty(value = "订单装备套数")
private Integer maNumber; private Integer maNumber;

View File

@ -28,7 +28,7 @@ public interface OrderMapper {
void updateMaStatus(OrderDetailDto orderDetailDto); 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<Integer> maIds, @Param("orderStatus") String orderStatus,@Param("userName") String userName);
Integer updateDevCount(OrderDetailDto orderDetailDto); Integer updateDevCount(OrderDetailDto orderDetailDto);
Integer updateAddDevCount(OrderDetailDto orderDetailDto); Integer updateAddDevCount(OrderDetailDto orderDetailDto);

View File

@ -14,6 +14,8 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Optional;
import java.util.OptionalInt;
/** /**
* @Authorliang.chao * @Authorliang.chao
@ -96,14 +98,11 @@ public class OrderServiceImpl implements OrderService {
list.add(orderDetailDto); list.add(orderDetailDto);
} }
dto.setDetailsList(list); dto.setDetailsList(list);
boolean orderStatus = list.stream() Optional<OrderDetailDto> minOrderStatus = list.stream()
.map(OrderDetailDto::getOrderStatus) .min((p1, p2) -> Integer.compare(Integer.parseInt(p1.getOrderStatus()), Integer.parseInt(p2.getOrderStatus())));
.allMatch(name -> name.equals(list.get(0).getOrderStatus())); if (minOrderStatus.isPresent()) {
if (orderStatus) { dto.setOrderStatus(minOrderStatus.get().getOrderStatus());
dto.setOrderStatus(list.get(0).getOrderStatus()); }//TODO外层订单状态
} else {
throw new Exception("订单状态不一致,请检查订单状态");
}
dto.setStartTime(list.get(0).getRentBeginTime()); dto.setStartTime(list.get(0).getRentBeginTime());
dto.setEndTime(list.get(0).getRentEndTime()); dto.setEndTime(list.get(0).getRentEndTime());
//根据订单id去lease_repair_record表中查询是否已填写退租检修信息 //根据订单id去lease_repair_record表中查询是否已填写退租检修信息
@ -126,9 +125,7 @@ public class OrderServiceImpl implements OrderService {
.allMatch(name -> name.equals(list.get(0).getOrderStatus())); .allMatch(name -> name.equals(list.get(0).getOrderStatus()));
if (orderStatus) { if (orderStatus) {
orderInfoDto.setOrderStatus(list.get(0).getOrderStatus()); orderInfoDto.setOrderStatus(list.get(0).getOrderStatus());
} else { }//TODO外层订单状态
throw new Exception("订单状态不一致,请检查订单状态");
}
orderInfoDto.setStartTime(list.get(0).getRentBeginTime()); orderInfoDto.setStartTime(list.get(0).getRentBeginTime());
orderInfoDto.setEndTime(list.get(0).getRentEndTime()); orderInfoDto.setEndTime(list.get(0).getRentEndTime());
orderInfoDto.setDetailsList(list); orderInfoDto.setDetailsList(list);

View File

@ -62,6 +62,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
,refuse_time = now() ,refuse_time = now()
</if> </if>
where order_id = #{orderId} where order_id = #{orderId}
<if test="maIds != null and maIds.size() > 0">
and ma_id in
<foreach item="item" collection="maIds" open="(" separator="," close=")">
#{item}
</foreach>
</if>
</update> </update>
<update id="updateDevCount"> <update id="updateDevCount">
update ma_dev_info set device_count = device_count - #{num} where ma_id = #{maId} and is_active = 1 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, su.phonenumber AS phoneNumber,
moi.address, moi.address,
moi.order_id, moi.order_id,
hh.ma_id as maId,
sum(hh.costs) cost, sum(hh.costs) cost,
dept.dept_name as companyName dept.dept_name as companyName
FROM FROM
@ -146,6 +151,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
hh.days, hh.days,
bfi.url, bfi.url,
hh.id, hh.id,
hh.ma_id,
hh.num, hh.num,
hh.costs, hh.costs,
hh.rent_begin_time, hh.rent_begin_time,