This commit is contained in:
sxu 2024-12-18 16:36:35 +08:00
parent c4ebd6a1d3
commit 9082068c29
6 changed files with 52 additions and 4 deletions

View File

@ -173,7 +173,21 @@ public class OrderController extends BaseController {
@ApiOperation(value = "发起减免") @ApiOperation(value = "发起减免")
@PostMapping("/costRelief") @PostMapping("/costRelief")
public AjaxResult costRelief(@RequestBody OrderInfoDto orderInfoDto) { public AjaxResult costRelief(@RequestBody OrderInfoDto orderInfoDto) {
Integer i = orderService.submitCostRelief(orderInfoDto); Integer i = orderService.inputCostRelief(orderInfoDto);
if (i > 0) {
return success("发起减免成功");
} else {
return error("发起减免失败");
}
}
/**
* 发起减免
*/
@ApiOperation(value = "确认减免")
@PostMapping("/confirmCostRelief")
public AjaxResult confirmCostRelief(@RequestBody OrderInfoDto orderInfoDto) {
Integer i = orderService.confirmCostRelief(orderInfoDto);
if (i > 0) { if (i > 0) {
return success("发起减免成功"); return success("发起减免成功");
} else { } else {

View File

@ -125,6 +125,9 @@ public class OrderDetailDto {
@ApiModelProperty(value = "减免费用") @ApiModelProperty(value = "减免费用")
private BigDecimal reliefCost; private BigDecimal reliefCost;
@ApiModelProperty(value = "减免天数")
private Integer reliefDays;
@ApiModelProperty(value = "减免开始时间") @ApiModelProperty(value = "减免开始时间")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private String reliefStartTime; private String reliefStartTime;

View File

@ -43,6 +43,8 @@ public interface OrderMapper {
int updateOrder4Relief(OrderDetailDto dto); int updateOrder4Relief(OrderDetailDto dto);
int confirmOrder4Relief(OrderDetailDto dto);
// int deleteCostReliefs(@Param("orderId") Integer orderId); // int deleteCostReliefs(@Param("orderId") Integer orderId);
// //
// int insertCostReliefs(@Param("list") List<OrderDetailCostReliefDto> reliefList); // int insertCostReliefs(@Param("list") List<OrderDetailCostReliefDto> reliefList);

View File

@ -19,7 +19,9 @@ public interface OrderService {
OrderInfoDto getOrderDetailsById(OrderDetailDto dto) throws Exception; OrderInfoDto getOrderDetailsById(OrderDetailDto dto) throws Exception;
Integer submitCostRelief(OrderInfoDto orderInfoDto); Integer inputCostRelief(OrderInfoDto orderInfoDto);
Integer confirmCostRelief(OrderInfoDto orderInfoDto);
OrderInfoDto getAgreementByOrderId(String orderId); OrderInfoDto getAgreementByOrderId(String orderId);

View File

@ -189,7 +189,7 @@ public class OrderServiceImpl implements OrderService {
} }
@Override @Override
public Integer submitCostRelief(OrderInfoDto orderInfoDto) { public Integer inputCostRelief(OrderInfoDto orderInfoDto) {
List<OrderDetailDto> list = orderInfoDto.getDetailsList(); List<OrderDetailDto> list = orderInfoDto.getDetailsList();
if (!CollectionUtils.isEmpty(list)) { if (!CollectionUtils.isEmpty(list)) {
for (OrderDetailDto dto : list) { for (OrderDetailDto dto : list) {
@ -199,6 +199,20 @@ public class OrderServiceImpl implements OrderService {
return 0; return 0;
} }
@Override
public Integer confirmCostRelief(OrderInfoDto orderInfoDto) {
List<OrderDetailDto> list = orderMapper.getOrderDetailsByOrderId(orderInfoDto.getOrderId());
if (!CollectionUtils.isEmpty(list)) {
for (OrderDetailDto dto : list) {
if (Objects.nonNull(dto.getReliefDays())) {
dto.setReliefCost(BigDecimal.ONE.multiply(dto.getDayLeasePrice()).multiply(new BigDecimal(dto.getReliefDays())));
orderMapper.confirmOrder4Relief(dto);
}
}
}
return 0;
}
@Override @Override
public OrderInfoDto getAgreementByOrderId(String orderId) { public OrderInfoDto getAgreementByOrderId(String orderId) {
return orderMapper.getAgreementByOrderId(orderId); return orderMapper.getAgreementByOrderId(orderId);

View File

@ -99,6 +99,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
WHERE order_id = #{orderId} and ma_id = #{maId} WHERE order_id = #{orderId} and ma_id = #{maId}
</update> </update>
<update id="confirmOrder4Relief">
UPDATE
ma_order_details
set relief_cost = #{reliefCost}
update_time = now()
WHERE order_id = #{orderId} and ma_id = #{maId}
</update>
<select id="getdeviceCount" resultType="com.bonus.material.device.domain.DevInfo"> <select id="getdeviceCount" resultType="com.bonus.material.device.domain.DevInfo">
select device_count,device_name from ma_dev_info where ma_id = #{maId} and is_active = 1 select device_count,device_name from ma_dev_info where ma_id = #{maId} and is_active = 1
</select> </select>
@ -285,7 +293,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
hh.id, hh.id,
hh.ma_id, hh.ma_id,
hh.num, hh.num,
mt.manage_type mt.manage_type,
mt.lease_price as dayLeasePrice,
CASE
WHEN DATE(hh.relief_start_time) = DATE(hh.relief_end_time) THEN 1
ELSE TIMESTAMPDIFF(DAY, hh.relief_start_time, hh.relief_end_time) + 1
END AS reliefDays
FROM FROM
ma_order_details hh ma_order_details hh
LEFT JOIN ma_dev_info mdi ON hh.ma_id = mdi.ma_id LEFT JOIN ma_dev_info mdi ON hh.ma_id = mdi.ma_id