diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointAdditiveRuleServiceImpl.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointAdditiveRuleServiceImpl.java index d65d63dd92..81790a602c 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointAdditiveRuleServiceImpl.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/PointAdditiveRuleServiceImpl.java @@ -12,11 +12,13 @@ import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.dao.PointAdditiveRuleDao; +import com.epmet.dao.PointApplyDao; import com.epmet.dto.CategorydetailResultDTO; import com.epmet.dto.PointAdditiveRuleDTO; import com.epmet.dto.form.*; import com.epmet.dto.result.List4ApplyResultDTO; import com.epmet.entity.PointAdditiveRuleEntity; +import com.epmet.entity.PointApplyEntity; import com.epmet.redis.PointAdditiveRuleRedis; import com.epmet.service.PointAdditiveRuleService; import org.apache.commons.collections4.CollectionUtils; @@ -39,6 +41,9 @@ public class PointAdditiveRuleServiceImpl extends BaseServiceImpl page(Map params) { IPage page = baseDao.selectPage( @@ -88,6 +93,31 @@ public class PointAdditiveRuleServiceImpl extends BaseServiceImpl wrapper = new QueryWrapper<>(queryData); + List applyList = baseDao.selectList(wrapper); + if(CollectionUtils.isNotEmpty(applyList)){ + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "请先删除下级的积分规则。","请先删除下级的积分规则。"); + } + }else{ + //判断其规则下面是否有待审核的积分申请,如果有则不允许修改/删除 + PointApplyEntity queryData = new PointApplyEntity(); + queryData.setRuleId(entity.getId()); + QueryWrapper wrapper = new QueryWrapper<>(queryData); + List applyList = pointApplyDao.selectList(wrapper); + if(CollectionUtils.isNotEmpty(applyList)){ + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "该规则下有积分申请尚未完成,请处理完成后再执行该操作。","该规则下有积分申请尚未完成,请处理完成后再执行该操作。"); + } + } + } baseDao.deleteBatchIds(Arrays.asList(ids)); } @@ -214,7 +244,7 @@ public class PointAdditiveRuleServiceImpl extends BaseServiceImpl wrapper = new QueryWrapper<>(queryData); + List applyList = pointApplyDao.selectList(wrapper); + if(CollectionUtils.isNotEmpty(applyList)){ + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "该规则下有积分申请尚未完成,请处理完成后再执行该操作。","该规则下有积分申请尚未完成,请处理完成后再执行该操作。"); + } + entity.setRuleName(dto.getRuleName()); entity.setPointValue(dto.getPointValue()); entity.setApplyFlag(dto.getApplyFlag()); diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/PointAdditiveRuleDao.xml b/epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/PointAdditiveRuleDao.xml index 958888b414..058d6db765 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/PointAdditiveRuleDao.xml +++ b/epmet-module/epmet-point/epmet-point-server/src/main/resources/mapper/PointAdditiveRuleDao.xml @@ -100,7 +100,7 @@ where DEL_FLAG='0' and CUSTOMER_ID=#{customerId} - and id= #{id} + and id != #{id} and CATEGORY_NAME= #{categoryName}