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 d359c77..f5de88a 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 @@ -8,6 +8,7 @@ import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.common.core.web.page.TableDataInfo; import com.bonus.common.security.utils.SecurityUtils; import com.bonus.material.book.domain.BookCarInfoDto; +import com.bonus.material.order.domain.OrderDetailCostReliefDto; import com.bonus.material.order.domain.OrderDetailDto; import com.bonus.material.order.domain.OrderInfoDto; import com.bonus.material.order.mapper.OrderMapper; @@ -127,5 +128,17 @@ public class OrderController extends BaseController { } } - + /** + * 发起减免 + */ + @ApiOperation(value = "发起减免") + @PostMapping("/costRelief") + public AjaxResult costRelief(@RequestBody OrderInfoDto orderInfoDto) { + Integer i = orderService.submitCostRelief(orderInfoDto); + if (i > 0) { + return success("发起减免成功"); + } else { + return error("发起减免失败"); + } + } } diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/domain/OrderDetailCostReliefDto.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/domain/OrderDetailCostReliefDto.java new file mode 100644 index 0000000..83e57fc --- /dev/null +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/order/domain/OrderDetailCostReliefDto.java @@ -0,0 +1,26 @@ +package com.bonus.material.order.domain; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class OrderDetailCostReliefDto { + + @ApiModelProperty(value = "主键id") + private Integer id; + + @ApiModelProperty(value = "订单id") + private Integer orderId; + + @ApiModelProperty(value = "设备id") + private Integer maId; + + @ApiModelProperty(value = "收货时间") + private String reliefStartTime; + + @ApiModelProperty(value = "租赁结束时间") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private String reliefEndTime; + +} 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 67dd2f1..9d0d7c4 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 @@ -86,6 +86,8 @@ public class OrderInfoDto { private List detailsList; + private List reliefList; + @ApiModelProperty(value = "承租方公司名称") private String companyName; 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 c62e681..3615ebf 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 @@ -2,6 +2,7 @@ package com.bonus.material.order.mapper; import com.bonus.material.device.domain.DevInfo; import com.bonus.material.lease.domain.LeaseRepairRecord; +import com.bonus.material.order.domain.OrderDetailCostReliefDto; import com.bonus.material.order.domain.OrderDetailDto; import com.bonus.material.order.domain.OrderInfoDto; import org.apache.ibatis.annotations.Param; @@ -38,4 +39,8 @@ public interface OrderMapper { List getOrderDetailsByOrderId(Integer orderId); int updateOrder(LeaseRepairRecord leaseRepairRecord); + + int deleteCostReliefs(@Param("orderId") Integer orderId); + + int insertCostReliefs(@Param("list") List reliefList); } 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 8d347b3..ba13eba 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 @@ -1,5 +1,6 @@ package com.bonus.material.order.service; +import com.bonus.material.order.domain.OrderDetailCostReliefDto; import com.bonus.material.order.domain.OrderDetailDto; import com.bonus.material.order.domain.OrderInfoDto; @@ -16,4 +17,6 @@ public interface OrderService { List getOrderDetails(OrderInfoDto orderInfoDto) throws Exception; OrderInfoDto getOrderDetailsById(OrderDetailDto dto) throws Exception; + + Integer submitCostRelief(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 16e22b9..3ae1745 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 @@ -4,12 +4,14 @@ import com.bonus.common.biz.enums.MaStatusEnum; import com.bonus.common.security.utils.SecurityUtils; import com.bonus.material.device.domain.DevInfo; import com.bonus.material.lease.mapper.LeaseRepairRecordMapper; +import com.bonus.material.order.domain.OrderDetailCostReliefDto; import com.bonus.material.order.domain.OrderDetailDto; import com.bonus.material.order.domain.OrderInfoDto; import com.bonus.material.order.mapper.OrderMapper; import com.bonus.material.order.service.OrderService; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; import javax.annotation.Resource; import java.util.ArrayList; @@ -130,4 +132,14 @@ public class OrderServiceImpl implements OrderService { orderInfoDto.setDetailsList(list); return orderInfoDto; } + + @Override + public Integer submitCostRelief(OrderInfoDto orderInfoDto) { + List list = orderInfoDto.getReliefList(); + if (!CollectionUtils.isEmpty(list)) { + orderMapper.deleteCostReliefs(list.get(0).getOrderId()); + return orderMapper.insertCostReliefs(orderInfoDto.getReliefList()); + } + return 0; + } } 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 2529ed7..f7c2e4a 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 @@ -266,4 +266,22 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" mt.del_flag = 0 and hh.order_id = #{orderId} + + delete from ma_order_details_relief + where order_id = #{orderId} + + + + insert into ma_order_details_relief(order_id, ma_id, relief_begin_time, relief_end_time, create_time) + values + + ( + #{item.orderId}, + #{item.maId}, + #{item.reliefStartTime}, + #{item.reliefEndTime}, + now() + ) + + \ No newline at end of file