From a4d7071da2aad6fd86cae6e0cb7a4f45c1f85b29 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 14:47:53 +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?= =?UTF-8?q?=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/MarketStandardController.java | 21 +++++++++++++++- .../service/ILawsMarketStandardService.java | 7 ++++++ .../impl/LawsMarketStandardServiceImpl.java | 25 +++++++++++++++++-- 3 files changed, 50 insertions(+), 3 deletions(-) diff --git a/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/controller/MarketStandardController.java b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/controller/MarketStandardController.java index aa762203..8ca8738e 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/controller/MarketStandardController.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/controller/MarketStandardController.java @@ -191,6 +191,7 @@ public class MarketStandardController { return Result.OK(ResultCommon.OK); } + /** * 发布 * @@ -203,10 +204,28 @@ public class MarketStandardController { @PostMapping(value = "/publish") @RequiresPermissions("marketStandard:publish") public Result publish(@RequestBody Map map) { + if (!map.containsKey("id") || StringUtils.isEmpty(map.get("id"))) { + return Result.error(ResultCommon.SELECT_DATA); + } + return marketStandardService.checkPublish(map.get("id")); + } + + /** + * 直接发布 + * + * @param map + * @return + */ + @AutoLog(value = "外部标准库-市场法规清单-直接发布") + @ApiOperation(value = "外部标准库-市场法规清单-直接发布", notes = "外部标准库-市场法规清单-直接发布") + @ApiOperationSupport(order = 7) + @PostMapping(value = "/directRelease") + @RequiresPermissions("marketStandard:directRelease") + public Result directRelease(@RequestBody Map map) { if (!map.containsKey("ids") || StringUtils.isEmpty(map.get("ids"))) { return Result.error(ResultCommon.SELECT_DATA); } - return marketStandardService.checkPublish(map.get("ids")); + return marketStandardService.directRelease(map.get("ids")); } /** diff --git a/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/ILawsMarketStandardService.java b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/ILawsMarketStandardService.java index 6717eade..29207305 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/ILawsMarketStandardService.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/ILawsMarketStandardService.java @@ -94,6 +94,13 @@ public interface ILawsMarketStandardService extends IService */ Result checkPublish(String id); + /** + * 直接发布 + * @param ids + * @return + */ + Result directRelease(String ids); + /** * 发布 * @param id 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 1a7f393c..cb84914d 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 @@ -490,7 +490,28 @@ public class LawsMarketStandardServiceImpl extends ServiceImpl checkPublish(String ids) { + public synchronized Result checkPublish(String id) { + LawsMarketStandard lawsMarketStandardOld = getById(id); + 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(",")).noneMatch(otherAdmin::contains) + && !Arrays.asList(sysUser.getRoleIds().split(",")).contains(superAdmin) + && !Objects.equals(lawsMarketStandardOld.getAuthor(),sysUser.getId())){ + return Result.error(ResultCommon.NO_PERMISSION); + } + if(Objects.equals(lawsMarketStandardOld.getManifestStatus(),MarketStandardConstants.MANIFEST_STATUS_PUBLISH)){ + return Result.error(ResultCommon.DATA_PUBLISHED); + } + processMarketStandardReleaseService.checkProcessStatus(id); + return Result.OK(ResultCommon.OK); + } + + @Override + public Result directRelease(String ids) { List listIds = Arrays.asList(ids.split(",")); List lawsMarketStandardOldList = listByIds(listIds); if(listIds.size() != lawsMarketStandardOldList.size()){ @@ -518,7 +539,7 @@ public class LawsMarketStandardServiceImpl extends ServiceImpl