Merge remote-tracking branch 'origin/master'

This commit is contained in:
liang.chao 2024-12-18 17:59:16 +08:00
commit 6ad88a582d
7 changed files with 45 additions and 22 deletions

View File

@ -120,7 +120,9 @@ public class LeaseRepairRecordServiceImpl implements LeaseRepairRecordService {
detailDto.setCosts(newTotalPrice); detailDto.setCosts(newTotalPrice);
} }
} }
if (detailDto.getReliefCost() != null) { if (detailDto.getReliefChangeCost() != null) {
totalCost.subtract(detailDto.getReliefChangeCost());
} else if (detailDto.getReliefCost() != null) {
totalCost.subtract(detailDto.getReliefCost()); totalCost.subtract(detailDto.getReliefCost());
} }
} }

View File

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

View File

@ -125,6 +125,9 @@ public class OrderDetailDto {
@ApiModelProperty(value = "减免费用") @ApiModelProperty(value = "减免费用")
private BigDecimal reliefCost; private BigDecimal reliefCost;
@ApiModelProperty(value = "改价后的减免费用")
private BigDecimal reliefChangeCost;
@ApiModelProperty(value = "减免天数") @ApiModelProperty(value = "减免天数")
private Integer reliefDays; private Integer reliefDays;

View File

@ -43,7 +43,7 @@ public interface OrderMapper {
int updateOrder4Relief(OrderDetailDto dto); int updateOrder4Relief(OrderDetailDto dto);
int confirmOrder4Relief(OrderDetailDto dto); int changeReliefPrice(OrderDetailDto dto);
// int deleteCostReliefs(@Param("orderId") Integer orderId); // int deleteCostReliefs(@Param("orderId") Integer orderId);
// //

View File

@ -21,7 +21,7 @@ public interface OrderService {
Integer inputCostRelief(OrderInfoDto orderInfoDto); Integer inputCostRelief(OrderInfoDto orderInfoDto);
Integer confirmCostRelief(OrderInfoDto orderInfoDto); Integer changeReliefPrice(OrderInfoDto orderInfoDto);
OrderInfoDto getAgreementByOrderId(String orderId); OrderInfoDto getAgreementByOrderId(String orderId);

View File

@ -123,7 +123,9 @@ public class OrderServiceImpl implements OrderService {
detailDto.setCosts(newTotalPrice); detailDto.setCosts(newTotalPrice);
} }
} }
if (detailDto.getReliefCost() != null) { if (detailDto.getReliefChangeCost() != null) {
totalReliefPrice.add(detailDto.getReliefChangeCost());
} else if (detailDto.getReliefCost() != null) {
totalReliefPrice.add(detailDto.getReliefCost()); totalReliefPrice.add(detailDto.getReliefCost());
} }
} }
@ -190,23 +192,33 @@ public class OrderServiceImpl implements OrderService {
@Override @Override
public Integer inputCostRelief(OrderInfoDto orderInfoDto) { public Integer inputCostRelief(OrderInfoDto orderInfoDto) {
int result = 0;
try {
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) {
orderMapper.updateOrder4Relief(dto); if (Objects.nonNull(dto.getReliefStartTime()) && Objects.nonNull(dto.getReliefEndTime())) {
Date reliefStartTime = sdf.parse(dto.getReliefStartTime());
Date reliefEndTime = sdf.parse(dto.getReliefEndTime());
long days = DateUtils.daysBetween(reliefStartTime, reliefEndTime) + 1;
dto.setReliefDays((int) days);
result += orderMapper.updateOrder4Relief(dto);
} }
} }
}
return result;
} catch (Exception e) {
return 0; return 0;
} }
}
@Override @Override
public Integer confirmCostRelief(OrderInfoDto orderInfoDto) { public Integer changeReliefPrice(OrderInfoDto orderInfoDto) {
List<OrderDetailDto> list = orderMapper.getOrderDetailsByOrderId(orderInfoDto.getOrderId()); List<OrderDetailDto> list = orderInfoDto.getDetailsList();
if (!CollectionUtils.isEmpty(list)) { if (!CollectionUtils.isEmpty(list)) {
for (OrderDetailDto dto : list) { for (OrderDetailDto dto : list) {
if (Objects.nonNull(dto.getReliefDays())) { if (Objects.nonNull(dto.getReliefChangeCost())) {
dto.setReliefCost(BigDecimal.ONE.multiply(dto.getDayLeasePrice()).multiply(new BigDecimal(dto.getReliefDays()))); orderMapper.changeReliefPrice(dto);
orderMapper.confirmOrder4Relief(dto);
} }
} }
} }

View File

@ -95,14 +95,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
ma_order_details ma_order_details
set relief_start_time = #{reliefStartTime}, set relief_start_time = #{reliefStartTime},
relief_end_time = #{reliefEndTime}, relief_end_time = #{reliefEndTime},
relief_days = #{reliefDays},
update_time = now() update_time = now()
WHERE order_id = #{orderId} and ma_id = #{maId} WHERE order_id = #{orderId} and ma_id = #{maId}
</update> </update>
<update id="confirmOrder4Relief"> <update id="changeReliefPrice">
UPDATE UPDATE
ma_order_details ma_order_details
set relief_cost = #{reliefCost} set relief_change_cost = #{reliefChangeCost},
update_time = now() update_time = now()
WHERE order_id = #{orderId} and ma_id = #{maId} WHERE order_id = #{orderId} and ma_id = #{maId}
</update> </update>
@ -193,6 +194,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
hh.rent_over_time, hh.rent_over_time,
hh.change_cost as changeCost, hh.change_cost as changeCost,
hh.relief_cost as reliefCost, hh.relief_cost as reliefCost,
hh.relief_change_cost as reliefChangeCost,
CASE CASE
WHEN DATE(hh.rent_over_time) = DATE(hh.pre_outbound_time) THEN 1 WHEN DATE(hh.rent_over_time) = DATE(hh.pre_outbound_time) THEN 1
ELSE TIMESTAMPDIFF(DAY, hh.pre_outbound_time, hh.rent_over_time) + 1 ELSE TIMESTAMPDIFF(DAY, hh.pre_outbound_time, hh.rent_over_time) + 1
@ -273,6 +275,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
hh.rent_over_user, hh.rent_over_user,
hh.rent_over_time, hh.rent_over_time,
hh.change_cost as changeCost, hh.change_cost as changeCost,
hh.relief_cost as reliefCost,
hh.relief_change_cost as reliefChangeCost,
CASE CASE
WHEN DATE(hh.rent_over_time) = DATE(hh.pre_outbound_time) THEN 1 WHEN DATE(hh.rent_over_time) = DATE(hh.pre_outbound_time) THEN 1
ELSE TIMESTAMPDIFF(DAY, hh.pre_outbound_time, hh.rent_over_time) + 1 ELSE TIMESTAMPDIFF(DAY, hh.pre_outbound_time, hh.rent_over_time) + 1
@ -295,6 +299,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
hh.num, hh.num,
mt.manage_type, mt.manage_type,
mt.lease_price as dayLeasePrice, mt.lease_price as dayLeasePrice,
hh.relief_cost as reliefCost,
hh.relief_change_cost as reliefChangeCost,
CASE CASE
WHEN DATE(hh.relief_start_time) = DATE(hh.relief_end_time) THEN 1 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 ELSE TIMESTAMPDIFF(DAY, hh.relief_start_time, hh.relief_end_time) + 1