产品延期管理单元测试完善

This commit is contained in:
gaoqr
2025-12-09 14:06:27 +08:00
parent 5b6e13c092
commit 3be53feb11
9 changed files with 579 additions and 29 deletions
@@ -1,10 +1,10 @@
package com.cf.imes.module.system.service.funds.delay;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.cf.imes.framework.common.exception.ServiceException;
import com.cf.imes.framework.common.pojo.PageResult;
import com.cf.imes.framework.common.util.Assert.AssertUtils;
import com.cf.imes.framework.common.util.object.BeanUtils;
@@ -29,7 +29,9 @@ import org.springframework.stereotype.Service;
import java.time.LocalDate;
import java.util.List;
import java.util.Objects;
import static com.cf.imes.module.system.enums.ErrorCodeConstants.PRODUCT_DELAY_UNIT_NOT_SUPPORT;
import static com.cf.imes.module.system.enums.ErrorCodeConstants.PRODUCT_PURCHASE_NO_EXIST;
/**
@@ -120,11 +122,7 @@ public class ProductDelayServiceImpl implements ProductDelayService {
* @return
*/
private static LocalDate calculateEndTime(LocalDate startTime, Integer duration, Integer durationUnit) {
if (ObjectUtil.isNotNull(duration) && ObjectUtil.isNotNull(durationUnit)) {
startTime = addTime(startTime, duration, durationUnit);
}
return startTime;
return addTime(startTime, duration, durationUnit);
}
/**
@@ -136,15 +134,15 @@ public class ProductDelayServiceImpl implements ProductDelayService {
* @return
*/
private static LocalDate addTime(LocalDate time, int duration, int unit) {
switch (DurationUnitEnum.fromStatus(unit)) {
case YEAR:
return time.plusYears(duration);
case MONTH:
return time.plusMonths(duration);
case DAY:
return time.plusDays(duration);
default:
return time;
DurationUnitEnum e = DurationUnitEnum.fromStatus(unit);
if (Objects.equals(e, DurationUnitEnum.YEAR)) {
return time.plusYears(duration);
} else if (Objects.equals(e, DurationUnitEnum.MONTH)) {
return time.plusMonths(duration);
} else if (Objects.equals(e, DurationUnitEnum.DAY)) {
return time.plusDays(duration);
} else {
throw new ServiceException(PRODUCT_DELAY_UNIT_NOT_SUPPORT);
}
}
@@ -172,8 +170,7 @@ public class ProductDelayServiceImpl implements ProductDelayService {
.eq(PurchaseRecordDO::getStatus, PurchaseRecordStatusEnum.ACTIVE.getStatus())
.eq(PurchaseRecordDO::getDeleted, false)
);
List<ProductDelayRespVO> resultList;
if(ObjectUtil.isNotNull(purchaseRecordDO)) {
if (ObjectUtil.isNotNull(purchaseRecordDO)) {
previouProductDelayRespVO.setPreviouPurchaseRecord(purchaseRecordDO);
List<ProductDelayRecordDO> recordDOS = productDelayRecordMapper.selectList(new LambdaQueryWrapper<ProductDelayRecordDO>()
.eq(ProductDelayRecordDO::getProductId, productId)
@@ -182,19 +179,13 @@ public class ProductDelayServiceImpl implements ProductDelayService {
.eq(ProductDelayRecordDO::getDeleted, false)
.select(ProductDelayRecordDO::getDelayDuration, ProductDelayRecordDO::getDelayDurationUnit, ProductDelayRecordDO::getDelayTime, ProductDelayRecordDO::getEndTime, ProductDelayRecordDO::getId)
);
if(CollUtil.isNotEmpty(recordDOS)) {
resultList = BeanUtil.copyToList(recordDOS, ProductDelayRespVO.class);
previouProductDelayRespVO.setDelayRespVOList(resultList);
}
previouProductDelayRespVO.setDelayRespVOList(BeanUtil.copyToList(recordDOS, ProductDelayRespVO.class));
}
return previouProductDelayRespVO;
}
@Override
public void updatePurchaseDelayRecordsPaidAndRemark(List<ProductDelayRecordDO> list, Long organId, Boolean paid) {
if (CollUtil.isEmpty(list)) {
return;
}
for (ProductDelayRecordDO recordDO : list) {
productDelayRecordMapper.update(new LambdaUpdateWrapperX<ProductDelayRecordDO>()
.eq(ProductDelayRecordDO::getId, recordDO.getId())
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long