From be27539d342fe9e0fbd2ecf60fb3e41c20ed5ace Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=81=E7=90=A6=E6=B6=9B?= Date: Fri, 27 Sep 2024 15:36:21 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=B8=82=E5=9C=BA=E6=B3=95?= =?UTF-8?q?=E8=A7=84=E6=B8=85=E5=8D=95=E7=9B=B4=E6=8E=A5=E5=8F=91=E5=B8=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/LawsMarketStandardServiceImpl.java | 54 ++++++++++++++----- 1 file changed, 40 insertions(+), 14 deletions(-) diff --git a/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/impl/LawsMarketStandardServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/impl/LawsMarketStandardServiceImpl.java index cb84914d..d9a8f06e 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/impl/LawsMarketStandardServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/impl/LawsMarketStandardServiceImpl.java @@ -511,6 +511,7 @@ public class LawsMarketStandardServiceImpl extends ServiceImpl directRelease(String ids) { List listIds = Arrays.asList(ids.split(",")); List lawsMarketStandardOldList = listByIds(listIds); @@ -519,14 +520,8 @@ public class LawsMarketStandardServiceImpl extends ServiceImpl op = lawsMarketStandardOldList.stream().filter(o->Objects.equals(o.getId(),listId)).findFirst(); - if(!op.isPresent()){ - continue; - } - LawsMarketStandard lawsMarketStandard = op.get(); + for (LawsMarketStandard lawsMarketStandard : lawsMarketStandardOldList) { // 已发布的清单所有人都可以查看,未发布的数据只能作者和管理管查看、编辑、删除 - if(!Arrays.asList(sysUser.getRoleIds().split(",")).contains(lawsAdmin) && Arrays.stream(sysUser.getRoleIds().split(",")).noneMatch(otherAdmin::contains) && !Arrays.asList(sysUser.getRoleIds().split(",")).contains(superAdmin) @@ -543,21 +538,52 @@ public class LawsMarketStandardServiceImpl extends ServiceImpl updateLawsMarketStandard = new LambdaUpdateWrapper<>(); - updateLawsMarketStandard.in(LawsMarketStandard::getId,listIds); - updateLawsMarketStandard.set(LawsMarketStandard::getUpdateBy,sysUser.getUsername()); - updateLawsMarketStandard.set(LawsMarketStandard::getUpdateBy,new Date()); - updateLawsMarketStandard.set(LawsMarketStandard::getManifestStatus,MarketStandardConstants.MANIFEST_STATUS_PUBLISH); - update(updateLawsMarketStandard); + for (LawsMarketStandard lawsMarketStandardOld : lawsMarketStandardOldList) { + LambdaQueryWrapper queryLawsMarketStandard = new LambdaQueryWrapper<>(); + queryLawsMarketStandard.eq(LawsMarketStandard::getVersionFlag,lawsMarketStandardOld.getVersionFlag()); + long l = count(queryLawsMarketStandard); + // 更新状态 + LambdaUpdateWrapper updateLawsMarketStandard = new LambdaUpdateWrapper<>(); + updateLawsMarketStandard.eq(LawsMarketStandard::getId, lawsMarketStandardOld.getId()); + updateLawsMarketStandard.set(LawsMarketStandard::getReleaseDate,new Date()); + updateLawsMarketStandard.set(LawsMarketStandard::getManifestVersion, "V" + l + ".0"); + updateLawsMarketStandard.set(LawsMarketStandard::getManifestStatus,MarketStandardConstants.MANIFEST_STATUS_PUBLISH); + updateLawsMarketStandard.set(LawsMarketStandard::getUpdateTime,new Date()); + updateLawsMarketStandard.set(LawsMarketStandard::getUpdateBy,sysUser.getUsername()); + update(updateLawsMarketStandard); + + // 更新标准的市场数据 + LambdaQueryWrapper queryLawsMarketStandardDetail = new LambdaQueryWrapper<>(); + queryLawsMarketStandardDetail.eq(LawsMarketStandardDetail::getManifestId,lawsMarketStandardOld.getId()); + List listLawsMarketStandardDetail = lawsMarketStandardDetailService + .list(queryLawsMarketStandardDetail); + if(CollectionUtils.isEmpty(listLawsMarketStandardDetail)){ + continue; + } + List listLawsDomesticStandard = new ArrayList<>(); + String country = lawsMarketStandardOld.getCountry(); + for (LawsMarketStandardDetail lawsMarketStandardDetail : listLawsMarketStandardDetail) { + String countryDetail = lawsMarketStandardDetail.getCountry(); + String dis = StringUtils.isEmpty(countryDetail) ? country : country + "," + countryDetail; + List data = Arrays.stream(dis.split(",")).distinct().collect(Collectors.toList()); + LawsDomesticStandard lawsDomesticStandard = new LawsDomesticStandard(); + lawsDomesticStandard.setId(lawsMarketStandardDetail.getStandardId()); + lawsDomesticStandard.setApplicableMarket(String.join(",",data)); + listLawsDomesticStandard.add(lawsDomesticStandard); + } + lawsDomesticStandardService.updateBatchById(listLawsDomesticStandard); + lawsStandardMasterPlanService.syncMarketRegulationListUpdate(lawsMarketStandardOld.getId(),lawsMarketStandardOld.getCountry()); + } return Result.OK(ResultCommon.OK); }