diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/funds/purchase/PurchaseRecordMapper.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/funds/purchase/PurchaseRecordMapper.java index 020f3b49d..0e3390630 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/funds/purchase/PurchaseRecordMapper.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/funds/purchase/PurchaseRecordMapper.java @@ -132,4 +132,12 @@ public interface PurchaseRecordMapper extends BaseMapperX { PurchaseRecordDO::getCreator, PurchaseRecordDO::getCreateTime, PurchaseRecordDO::getPaymentMethod) ); } + + /** + * 根据id列表物理删除 + * + * @param ids + * @return 改动数量 + */ + int physicalDeleteByIds(@Param("ids") List ids, @Param("organId") Long organId); } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/funds/delay/ProductDelayServiceImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/funds/delay/ProductDelayServiceImpl.java index 8d9fd3738..9a6446183 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/funds/delay/ProductDelayServiceImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/funds/delay/ProductDelayServiceImpl.java @@ -162,7 +162,7 @@ public class ProductDelayServiceImpl implements ProductDelayService { .eq(ProductDelayRecordDO::getPurchaseId, purchaseId) .eq(ProductDelayRecordDO::getOrganId, organId) .orderByDesc(ProductDelayRecordDO::getId) - .select(ProductDelayRecordDO::getDelayDuration, ProductDelayRecordDO::getDelayDurationUnit, ProductDelayRecordDO::getDelayTime)), ProductDelayRespVO.class); + .select(ProductDelayRecordDO::getDelayDuration, ProductDelayRecordDO::getDelayDurationUnit, ProductDelayRecordDO::getDelayTime, ProductDelayRecordDO::getPaid)), ProductDelayRespVO.class); } @Override diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/funds/purchase/PurchaseServiceImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/funds/purchase/PurchaseServiceImpl.java index 5c3290773..49dae32c7 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/funds/purchase/PurchaseServiceImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/funds/purchase/PurchaseServiceImpl.java @@ -283,10 +283,7 @@ public class PurchaseServiceImpl implements PurchaseService { .set(PurchaseRecordDO::getOriginalAmount, price)); } - // 7、新增 - createOrgInitProductPurchaseRecord(organId, createList); - - // 8、删除首购记录关联的延期记录如果有已经支付的不允许删除 + // 7、删除首购记录关联的延期记录如果有已经支付的不允许删除 for (Long purchaseId : deleteIdList) { List recordsByPurchaseId = productDelayService.getRecordsByPurchaseId(purchaseId, organId); if (CollUtil.isNotEmpty(recordsByPurchaseId)) { @@ -298,8 +295,13 @@ public class PurchaseServiceImpl implements PurchaseService { } } - // 9、删除 - purchaseRecordMapper.deleteByIds(deleteIdList); + // 8、删除 + if (CollUtil.isNotEmpty(deleteIdList)) { + purchaseRecordMapper.physicalDeleteByIds(deleteIdList, organId); + } + + // 9、新增 + createOrgInitProductPurchaseRecord(organId, createList); } diff --git a/cf-module-system/cf-module-system-biz/src/main/resources/mapper/funds/purchase/PurchaseMapper.xml b/cf-module-system/cf-module-system-biz/src/main/resources/mapper/funds/purchase/PurchaseMapper.xml index 72e74513d..1943767c1 100644 --- a/cf-module-system/cf-module-system-biz/src/main/resources/mapper/funds/purchase/PurchaseMapper.xml +++ b/cf-module-system/cf-module-system-biz/src/main/resources/mapper/funds/purchase/PurchaseMapper.xml @@ -80,4 +80,17 @@ ,CONCAT(YEAR(o.create_time), '-', MONTH(o.create_time), '-', DAY(o.create_time)) as date + + + DELETE FROM purchase_record + WHERE organ_id = #{organId} + AND id IN + + #{id} + + \ No newline at end of file