diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/basic/domain/ToDoBean.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/basic/domain/ToDoBean.java index 194316a..ae393e5 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/basic/domain/ToDoBean.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/basic/domain/ToDoBean.java @@ -59,12 +59,12 @@ public class ToDoBean extends BaseEntity { private Integer buyerCompanyId; @ApiModelProperty(value = "承租方公司名称") - private Integer buyerCompanyName; + private String buyerCompanyName; @ApiModelProperty(value = "出租方公司id") private Integer sellerCompanyId; @ApiModelProperty(value = "出租方公司名称") - private Integer sellerCompanyName; + private String sellerCompanyName; } 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 d584e02..3102e4e 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 @@ -127,46 +127,10 @@ public class OrderController extends BaseController { @ApiOperation(value = "订单状态流转修改") @PostMapping("/updateOrderStatus") public AjaxResult updateOrderStatus(@RequestBody OrderDetailDto orderInfoDto) { - String userName = SecurityUtils.getLoginUser().getUsername(); if (orderInfoDto.getOrderId() == null || StringUtils.isBlank(orderInfoDto.getOrderStatus())) { return error("参数错误"); } - // 退租 - 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())) { - for (OrderDetailDto dto : dtos) { - if (orderInfoDto.getMaIds().contains(dto.getMaId())) { - dto.setMaStatus("1"); - orderMapper.updateDeviceStatus(dto); - } - } - } else { - for (OrderDetailDto dto : dtos) { - dto.setMaStatus("1"); - orderMapper.updateDeviceStatus(dto); - } - } - } - } - // 取消 - 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) { -// if ("0".equals(dto.getManageType())) { - // 编码设备已取消的继续上架 - dto.setMaStatus(MaStatusEnum.LISTING.getCode().toString()); - orderMapper.updateDeviceStatus(dto); - /* } else { - // 数量设备已退租的增加库存 - orderMapper.updateAddDevCount(dto); - }*/ - } - } - } - Integer i = orderMapper.updateOrderStatus(orderInfoDto.getOrderId(), orderInfoDto.getMaIds(), orderInfoDto.getOrderStatus(), userName); + Integer i = orderService.updateOrderStatus(orderInfoDto); if (i > 0) { return success(); } else { diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/service/OrderService.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/service/OrderService.java index 3b60989..cb4e525 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/service/OrderService.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/service/OrderService.java @@ -23,6 +23,8 @@ public interface OrderService { List getOrderStatusCount(OrderDetailDto dto) throws Exception; + Integer updateOrderStatus(OrderDetailDto orderInfoDto); + Integer inputCostRelief(OrderInfoDto orderInfoDto); Integer changeReliefPrice(OrderInfoDto orderInfoDto); 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 2c65067..d1e42e6 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 @@ -1,5 +1,6 @@ package com.bonus.material.order.service.impl; +import cn.hutool.core.collection.CollectionUtil; import com.bonus.common.biz.enums.MaStatusEnum; import com.bonus.common.biz.enums.OrderStatusEnum; import com.bonus.common.biz.enums.TmTaskTypeEnum; @@ -220,6 +221,52 @@ public class OrderServiceImpl implements OrderService { return orderInfoDto; } + public Integer updateOrderStatus(OrderDetailDto orderInfoDto) { + // 退租 + 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())) { + for (OrderDetailDto dto : dtos) { + if (orderInfoDto.getMaIds().contains(dto.getMaId())) { + dto.setMaStatus("1"); + orderMapper.updateDeviceStatus(dto); + } + } + } else { + for (OrderDetailDto dto : dtos) { + dto.setMaStatus("1"); + orderMapper.updateDeviceStatus(dto); + } + } + } + } + // 取消 + 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) { + dto.setMaStatus(MaStatusEnum.LISTING.getCode().toString()); + orderMapper.updateDeviceStatus(dto); + } + } + } + String userName = SecurityUtils.getLoginUser().getUsername(); + Integer i = orderMapper.updateOrderStatus(orderInfoDto.getOrderId(), orderInfoDto.getMaIds(), orderInfoDto.getOrderStatus(), userName); + List dtos = orderMapper.getOrderDetailsByOrderId(orderInfoDto.getOrderId()); + if (!CollectionUtils.isEmpty(dtos)) { + OptionalInt minOrderStatus = dtos.stream().mapToInt(person -> Integer.parseInt(person.getOrderStatus())).min(); + if (minOrderStatus.isPresent()) { + TmTask tmTask = new TmTask(); + tmTask.setTaskType(TmTaskTypeEnum.TM_TASK_ORDER.getTaskTypeId()); + tmTask.setTaskStatus(minOrderStatus.getAsInt()); + tmTask.setCode(dtos.get(0).getCode()); + tmTaskMapper.updateTaskStatus(tmTask); + } + } + return i; + } + @Override public Integer inputCostRelief(OrderInfoDto orderInfoDto) { int result = 0; diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/task/mapper/TmTaskMapper.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/task/mapper/TmTaskMapper.java index c6bae28..8ba660e 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/task/mapper/TmTaskMapper.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/task/mapper/TmTaskMapper.java @@ -6,6 +6,8 @@ import org.apache.ibatis.annotations.Mapper; @Mapper public interface TmTaskMapper { - int insertSelective(TmTask record); + int insertSelective(TmTask tmTask); + + int updateTaskStatus(TmTask tmTask); } \ No newline at end of file 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 1d2abc8..d01f044 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 @@ -57,7 +57,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ,rent_over_user = #{userName} ,rent_over_time = now() - + ,refuse_user = #{userName} ,refuse_time = now() @@ -297,6 +297,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" hh.id, hh.ma_id, hh.num, + moi.`code` as orderCode, mt.manage_type, mt.lease_price as dayLeasePrice, hh.relief_cost as reliefCost, @@ -307,6 +308,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" END AS reliefDays FROM ma_order_details hh + LEFT JOIN ma_order_info moi on moi.order_id = hh.order_id LEFT JOIN ma_dev_info mdi ON hh.ma_id = mdi.ma_id LEFT JOIN ma_type mt ON mdi.type_id = mt.type_id WHERE diff --git a/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/task/TmTaskMapper.xml b/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/task/TmTaskMapper.xml index 2346f23..62ccd9c 100644 --- a/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/task/TmTaskMapper.xml +++ b/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/task/TmTaskMapper.xml @@ -42,9 +42,13 @@ where task_id = #{taskId,jdbcType=BIGINT} - - update tm_task set `status` = '0',update_time = NOW() - where task_id = #{taskId} + + update + tm_task + set + task_status = #{taskStatus}, update_time = NOW() + where + task_type = #{taskType} and code = #{code}