|
|
@ -13,7 +13,6 @@ import com.epmet.commons.tools.feign.ResultDataResolver; |
|
|
|
import com.epmet.commons.tools.page.PageData; |
|
|
|
import com.epmet.commons.tools.redis.common.CustomerStaffRedis; |
|
|
|
import com.epmet.commons.tools.utils.ConvertUtils; |
|
|
|
import com.epmet.commons.tools.utils.EpmetRequestHolder; |
|
|
|
import com.epmet.commons.tools.utils.Result; |
|
|
|
import com.epmet.commons.tools.validator.ValidatorUtils; |
|
|
|
import com.epmet.dao.*; |
|
|
@ -27,7 +26,6 @@ import com.epmet.dto.form.policy.IcPolicyFormDTO; |
|
|
|
import com.epmet.dto.form.policy.IcPolicyPageFormDTO; |
|
|
|
import com.epmet.dto.form.policy.IcPolicyRuleDetailDTO; |
|
|
|
import com.epmet.dto.form.policy.IcPolicyRuleFormDTO; |
|
|
|
import com.epmet.dto.result.resi.ResiByPolicyInfoResultDTO; |
|
|
|
import com.epmet.entity.*; |
|
|
|
import com.epmet.feign.EpmetAdminOpenFeignClient; |
|
|
|
import com.epmet.service.IcPolicyService; |
|
|
@ -98,13 +96,14 @@ public class IcPolicyServiceImpl extends BaseServiceImpl<IcPolicyDao, IcPolicyEn |
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
@Override |
|
|
|
public void addOrUpdatePolicy(IcPolicyFormDTO formDTO) { |
|
|
|
// 校验参数
|
|
|
|
checkAddFormDTO(formDTO); |
|
|
|
// 设置所属组织
|
|
|
|
CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(formDTO.getCustomerId(), formDTO.getStaffId()); |
|
|
|
if (null == staffInfo || StringUtils.isBlank(staffInfo.getAgencyId())) { |
|
|
|
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "工作人员缓存信息异常", "工作人员信息异常"); |
|
|
|
} |
|
|
|
formDTO.setAgencyId(staffInfo.getAgencyId()); |
|
|
|
// 校验参数
|
|
|
|
checkAddFormDTO(formDTO); |
|
|
|
IcPolicyEntity icPolicyEntity = ConvertUtils.sourceToTarget(formDTO, IcPolicyEntity.class); |
|
|
|
icPolicyEntity.setOrgId(staffInfo.getAgencyId()); |
|
|
|
icPolicyEntity.setOrgIdPath(StringUtils.isNotBlank(staffInfo.getAgencyPIds()) ? staffInfo.getAgencyPIds().concat(StrConstant.COLON).concat(staffInfo.getAgencyId()) : staffInfo.getAgencyId()); |
|
|
@ -208,6 +207,15 @@ public class IcPolicyServiceImpl extends BaseServiceImpl<IcPolicyDao, IcPolicyEn |
|
|
|
|
|
|
|
|
|
|
|
private void checkAddFormDTO(IcPolicyFormDTO formDTO) { |
|
|
|
//同组织下,政策标题唯一
|
|
|
|
LambdaQueryWrapper<IcPolicyEntity> policyEntityLambdaQueryWrapper=new LambdaQueryWrapper<>(); |
|
|
|
policyEntityLambdaQueryWrapper.eq(IcPolicyEntity::getTitle,formDTO.getTitle()) |
|
|
|
.eq(IcPolicyEntity::getOrgId,formDTO.getAgencyId()); |
|
|
|
policyEntityLambdaQueryWrapper.ne(StringUtils.isNotBlank(formDTO.getPolicyId()),IcPolicyEntity::getId,formDTO.getPolicyId()); |
|
|
|
int count=baseDao.selectCount(policyEntityLambdaQueryWrapper); |
|
|
|
if(count>0){ |
|
|
|
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"当前组织内已经存在相同标题的政策","当前组织内已经存在相同标题的政策"); |
|
|
|
} |
|
|
|
List<IcPolicyRuleFormDTO> ruleList = formDTO.getRuleList(); |
|
|
|
for (IcPolicyRuleFormDTO rule : ruleList) { |
|
|
|
if (CollectionUtils.isEmpty(rule.getResiRuleList()) |
|
|
|