From a423324f4b694eae14d07cbff9f7cc12444d1184 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=81=E7=90=A6=E6=B6=9B?= Date: Fri, 12 Jul 2024 13:57:20 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B8=82=E5=9C=BA=E6=B3=95=E8=A7=84=E6=B8=85?= =?UTF-8?q?=E5=8D=95=E6=B7=BB=E5=8A=A0=E6=9D=83=E9=99=90=E9=AA=8C=E8=AF=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ocessMarketStandardReleaseServiceImpl.java | 4 ++ .../controller/MarketStandardController.java | 5 +- .../MarketStandardDetailController.java | 4 +- .../entity/LawsMarketStandard.java | 21 ------ .../LawsMarketStandardDetailServiceImpl.java | 69 +++++++++++++++++-- .../impl/LawsMarketStandardServiceImpl.java | 67 +++++++++++------- 6 files changed, 114 insertions(+), 56 deletions(-) diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/process/ms/service/impl/ProcessMarketStandardReleaseServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/activiti/process/ms/service/impl/ProcessMarketStandardReleaseServiceImpl.java index ab7d2779..904e3781 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/process/ms/service/impl/ProcessMarketStandardReleaseServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/process/ms/service/impl/ProcessMarketStandardReleaseServiceImpl.java @@ -115,6 +115,8 @@ public class ProcessMarketStandardReleaseServiceImpl extends ServiceImpl setVariables(Map userInfoMap) { @@ -186,6 +188,8 @@ public class ProcessMarketStandardReleaseServiceImpl extends ServiceImpl detail(LawsMarketStandardDetail marketStandardDetail) { MarketStandardDetailVO result = marketStandardService.detail(marketStandardDetail); return Result.OK(result); @@ -135,8 +136,8 @@ public class MarketStandardController { @AutoLog(value = "外部标准库-市场法规清单-批量删除") @ApiOperation(value = "外部标准库-市场法规清单-批量删除", notes = "外部标准库-市场法规清单-批量删除") @ApiOperationSupport(order = 4) - @PostMapping(value = "/deleteBatch") - @RequiresPermissions("marketStandard:deleteBatch") +// @PostMapping(value = "/deleteBatch") +// @RequiresPermissions("marketStandard:deleteBatch") public Result deleteBatch(@RequestBody Map map) { if (!map.containsKey("ids") || StringUtils.isEmpty(map.get("ids"))) { return Result.error("请选择数据!"); diff --git a/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/controller/MarketStandardDetailController.java b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/controller/MarketStandardDetailController.java index dfb4f032..f043e692 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/controller/MarketStandardDetailController.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/controller/MarketStandardDetailController.java @@ -75,8 +75,8 @@ public class MarketStandardDetailController { @AutoLog(value = "外部标准库-市场法规清单-新增") @ApiOperation(value = "外部标准库-市场法规清单-新增", notes = "外部标准库-市场法规清单-新增") @ApiOperationSupport(order = 5) - @PostMapping(value = "/add") - @RequiresPermissions("marketStandard:detail:operate") +// @PostMapping(value = "/add") +// @RequiresPermissions("marketStandard:detail:operate") public Result add(@RequestBody LawsMarketStandardDetail marketStandardDetail) { return lawsMarketStandardDetailService.add(marketStandardDetail); } diff --git a/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/entity/LawsMarketStandard.java b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/entity/LawsMarketStandard.java index 315b40cb..03c3b4cb 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/entity/LawsMarketStandard.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/entity/LawsMarketStandard.java @@ -77,13 +77,6 @@ public class LawsMarketStandard implements Serializable { @ApiModelProperty(value = "国家") private String country; - /** - * 国家翻译 - */ - @TableField(exist = false) - @ApiModelProperty(value = "国家翻译") - private String countryText; - /** * 清单编号 */ @@ -106,13 +99,6 @@ public class LawsMarketStandard implements Serializable { @Excel(name = "驾驶位置", width = 15,needMerge = true, dicCode = "drive_position") private String drivePosition; - /** - * 驾驶位置翻译 - */ - @TableField(exist = false) - @ApiModelProperty(value = "驾驶位置翻译") - private String drivePositionText; - /** * 清单版本 */ @@ -144,13 +130,6 @@ public class LawsMarketStandard implements Serializable { @ApiModelProperty(value = "密级") private String securityLevel; - /** - * 密级翻译 - */ - @TableField(exist = false) - @ApiModelProperty(value = "密级翻译") - private String securityLevelText; - /** * 清单状态 */ diff --git a/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/impl/LawsMarketStandardDetailServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/impl/LawsMarketStandardDetailServiceImpl.java index 91e06193..5c9c53fc 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/impl/LawsMarketStandardDetailServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/marketStandard/service/impl/LawsMarketStandardDetailServiceImpl.java @@ -11,6 +11,7 @@ import com.jero.common.system.query.QueryGenerator; import com.jero.common.system.vo.LoginUser; import com.jero.common.util.ImportExcelUtil; import com.jero.modules.laws.common.service.ILawsCommonService; +import com.jero.modules.laws.marketStandard.constans.MarketStandardConstants; import com.jero.modules.laws.marketStandard.entity.LawsMarketStandard; import com.jero.modules.laws.marketStandard.entity.LawsMarketStandardDetail; import com.jero.modules.laws.marketStandard.entity.LawsMarketStandardDetailExcel; @@ -25,6 +26,7 @@ import org.jeecgframework.poi.excel.ExcelImportUtil; import org.jeecgframework.poi.excel.entity.ImportParams; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import org.springframework.beans.factory.annotation.Value; import org.springframework.core.io.ClassPathResource; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -60,6 +62,17 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl getPage(LawsMarketStandardDetail marketStandardDetail, HttpServletRequest request, @@ -68,12 +81,20 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl(pageNo, pageSize)); } + LawsMarketStandard lawsMarketStandardOld = marketStandardService.getById(manifestId); + if(Objects.isNull(lawsMarketStandardOld)){ + return Result.error(NOT_DATA); + } + // 已发布的清单所有人都可以查看,未发布的数据只能作者和管理管查看、编辑、删除 + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + if(!Arrays.asList(sysUser.getRoleIds().split(",")).contains(lawsAdmin) + && !Arrays.asList(sysUser.getRoleIds().split(",")).contains(superAdmin) + && !Objects.equals(lawsMarketStandardOld.getAuthor(),sysUser.getId()) + && !Objects.equals(lawsMarketStandardOld.getManifestStatus(), MarketStandardConstants.MANIFEST_STATUS_PUBLISH)){ + return Result.error("没有权限"); + } String manifestVersion = marketStandardDetail.getManifestVersion(); if(!StringUtils.isBlank(marketStandardDetail.getManifestVersion())){ - LawsMarketStandard lawsMarketStandardOld = marketStandardService.getById(manifestId); - if(Objects.isNull(lawsMarketStandardOld)){ - return Result.error(NOT_DATA); - } LambdaQueryWrapper queryLawsMarketStandard = new LambdaQueryWrapper<>(); queryLawsMarketStandard.eq(LawsMarketStandard::getVersionFlag,lawsMarketStandardOld.getVersionFlag()); queryLawsMarketStandard.eq(LawsMarketStandard::getManifestVersion,manifestVersion); @@ -123,6 +144,17 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl importExcel(MultipartFile file,String manifestId) { + LawsMarketStandard lawsMarketStandardOld = marketStandardService.getById(manifestId); + if(Objects.isNull(lawsMarketStandardOld)){ + return Result.error(NOT_DATA); + } + // 已发布的清单所有人都可以查看,未发布的数据只能作者和管理管查看、编辑、删除 + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + if(!Arrays.asList(sysUser.getRoleIds().split(",")).contains(lawsAdmin) + && !Arrays.asList(sysUser.getRoleIds().split(",")).contains(superAdmin) + && !Objects.equals(lawsMarketStandardOld.getAuthor(),sysUser.getId())){ + return Result.error("没有权限"); + } // 校验文件是否为excel if (!ImportExcelUtil.checkExcelFile(file)) { return Result.error("请导入excel文件"); @@ -301,7 +333,13 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl copy(String oldId,String newId) { + LawsMarketStandard lawsMarketStandard = marketStandardService.getById(newId); + if(Objects.isNull(lawsMarketStandard)){ + return Result.error("数据不存在"); + } + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + if(!Arrays.asList(sysUser.getRoleIds().split(",")).contains(lawsAdmin) + && !Arrays.asList(sysUser.getRoleIds().split(",")).contains(superAdmin) + && !Objects.equals(lawsMarketStandard.getAuthor(),sysUser.getId())){ + return Result.error("没有权限"); + } LambdaQueryWrapper queryOld = new LambdaQueryWrapper<>(); queryOld.in(LawsMarketStandardDetail::getManifestId,Arrays.asList(oldId.split(","))); queryOld.groupBy(LawsMarketStandardDetail::getStandardId); @@ -360,6 +408,16 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl edit(LawsMarketStandardDetail marketStandardDetail) { + LawsMarketStandard lawsMarketStandard = marketStandardService.getById(marketStandardDetail.getManifestId()); + if(Objects.isNull(lawsMarketStandard)){ + return Result.error("数据不存在"); + } + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + if(!Arrays.asList(sysUser.getRoleIds().split(",")).contains(lawsAdmin) + && !Arrays.asList(sysUser.getRoleIds().split(",")).contains(superAdmin) + && !Objects.equals(lawsMarketStandard.getAuthor(),sysUser.getId())){ + return Result.error("没有权限"); + } LambdaQueryWrapper queryLawsMarketStandardDetail = new LambdaQueryWrapper<>(); queryLawsMarketStandardDetail.eq(LawsMarketStandardDetail::getStandardId,marketStandardDetail.getStandardId()); queryLawsMarketStandardDetail.eq(LawsMarketStandardDetail::getManifestId,marketStandardDetail.getManifestId()); @@ -421,7 +479,8 @@ public class LawsMarketStandardDetailServiceImpl extends ServiceImpl implements ILawsMarketStandardService { @@ -53,14 +53,9 @@ public class LawsMarketStandardServiceImpl extends ServiceImpli.eq("ms.manifest_status",MarketStandardConstants.MANIFEST_STATUS_PUBLISH).or() + .eq("ms.author",sysUser.getId())); + } return queryWrapper; } @@ -174,11 +176,17 @@ public class LawsMarketStandardServiceImpl extends ServiceImpl update = new LambdaUpdateWrapper<>(); update.set(LawsMarketStandard::getManifestVersion,""); @@ -238,14 +246,16 @@ public class LawsMarketStandardServiceImpl extends ServiceImpl deleteById(String id) { LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - if(!Arrays.asList(sysUser.getRoleIds().split(",")).contains(lawsAdmin) - && !Arrays.asList(sysUser.getRoleIds().split(",")).contains(superAdmin)){ - return Result.error("没有权限"); - } LawsMarketStandard lawsMarketStandard = getById(id); if(Objects.isNull(lawsMarketStandard)){ return Result.error("数据不存在"); } + // 已发布的清单所有人都可以查看,未发布的数据只能作者和管理管查看、编辑、删除 + if(!Arrays.asList(sysUser.getRoleIds().split(",")).contains(lawsAdmin) + && !Arrays.asList(sysUser.getRoleIds().split(",")).contains(superAdmin) + && !Objects.equals(sysUser.getId(),lawsMarketStandard.getAuthor())){ + return Result.error("没有权限"); + } // 获取不同版本的数据 LambdaQueryWrapper queryLawsMarketStandard = new LambdaQueryWrapper<>(); queryLawsMarketStandard.select(LawsMarketStandard::getId); @@ -289,6 +299,18 @@ public class LawsMarketStandardServiceImpl extends ServiceImpl queryLawsMarketStandard = new LambdaQueryWrapper<>(); @@ -301,18 +323,6 @@ public class LawsMarketStandardServiceImpl extends ServiceImpl(); idList.add(manifest.getId()); } - Map> map = sysBaseAPI. - translateManyDict("market_state,security_class,drive_position,", - manifest.getCountry() + "," + manifest.getSecurityLevel() + "," + manifest.getDrivePosition()); - String countryText = map.get("market_state").stream().map(DictModel::getText) - .collect(Collectors.joining(",")); - manifest.setCountryText(countryText); - String securityLevelText = map.get("security_class").stream().map(DictModel::getText) - .collect(Collectors.joining(",")); - manifest.setSecurityLevelText(securityLevelText); - String drivePositionText = map.get("drive_position").stream().map(DictModel::getText) - .collect(Collectors.joining(",")); - manifest.setDrivePositionText(drivePositionText); result.setManifest(manifest); // 如果不是合并查看列表页面 @@ -322,7 +332,6 @@ public class LawsMarketStandardServiceImpl extends ServiceImpl updateLawsMarketStandard = new LambdaUpdateWrapper<>(); updateLawsMarketStandard.eq(LawsMarketStandard::getId,id); updateLawsMarketStandard.set(LawsMarketStandard::getReleaseDate,new Date());