fix:87310

This commit is contained in:
梁琦涛
2024-07-31 18:19:50 +08:00
parent 0a4ad59d26
commit 818ef541fa
@@ -458,6 +458,10 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
if(Objects.isNull(lawsMarketStandard)){ if(Objects.isNull(lawsMarketStandard)){
return Result.error(ResultCommon.NO_CORRESPONDING_DATA_FOUND); return Result.error(ResultCommon.NO_CORRESPONDING_DATA_FOUND);
} }
LawsMarketStandard lawsMarketStandardOld = marketStandardService.getById(oldId);
if(Objects.isNull(lawsMarketStandardOld)){
return Result.error(ResultCommon.NO_CORRESPONDING_DATA_FOUND);
}
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
if(!Arrays.asList(sysUser.getRoleIds().split(",")).contains(lawsAdmin) if(!Arrays.asList(sysUser.getRoleIds().split(",")).contains(lawsAdmin)
&& !Arrays.stream(sysUser.getRoleIds().split(",")).anyMatch(otherAdmin::contains) && !Arrays.stream(sysUser.getRoleIds().split(",")).anyMatch(otherAdmin::contains)
@@ -482,11 +486,26 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
if(CollectionUtils.isEmpty(listOld)){ if(CollectionUtils.isEmpty(listOld)){
return Result.error(ResultCommon.NO_CORRESPONDING_DATA_FOUND); return Result.error(ResultCommon.NO_CORRESPONDING_DATA_FOUND);
} }
setData(newId, listOld); // 国家地区拼接
String allCountry = lawsMarketStandard.getCountry() + "," + lawsMarketStandardOld.getCountry();
List<String> listAllCountry = Arrays.stream(allCountry.split(",")).distinct().collect(Collectors.toList());
setDataByCopy(newId, listOld,String.join(",",listAllCountry));
saveBatch(listOld); saveBatch(listOld);
return Result.OK(ResultCommon.OK); return Result.OK(ResultCommon.OK);
} }
private void setDataByCopy(String newId, List<LawsMarketStandardDetail> listOld,String country) {
for (LawsMarketStandardDetail lawsMarketStandardDetail : listOld) {
lawsMarketStandardDetail.setId(null);
lawsMarketStandardDetail.setCreateBy(null);
lawsMarketStandardDetail.setCreateTime(null);
lawsMarketStandardDetail.setUpdateBy(null);
lawsMarketStandardDetail.setUpdateTime(null);
lawsMarketStandardDetail.setManifestId(newId);
lawsMarketStandardDetail.setCountry(country);
}
}
private void setData(String newId, List<LawsMarketStandardDetail> listOld) { private void setData(String newId, List<LawsMarketStandardDetail> listOld) {
for (LawsMarketStandardDetail lawsMarketStandardDetail : listOld) { for (LawsMarketStandardDetail lawsMarketStandardDetail : listOld) {
lawsMarketStandardDetail.setId(null); lawsMarketStandardDetail.setId(null);