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)){
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();
if(!Arrays.asList(sysUser.getRoleIds().split(",")).contains(lawsAdmin)
&& !Arrays.stream(sysUser.getRoleIds().split(",")).anyMatch(otherAdmin::contains)
@@ -482,11 +486,26 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl<LawsMarketS
if(CollectionUtils.isEmpty(listOld)){
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);
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) {
for (LawsMarketStandardDetail lawsMarketStandardDetail : listOld) {
lawsMarketStandardDetail.setId(null);