认证-参数清单-删除 变更 配置权限限制
This commit is contained in:
+12
-7
@@ -10,6 +10,7 @@ import com.jero.common.system.base.controller.JeroController;
|
||||
import com.jero.modules.cert.collect.entity.ParamsManifestEO;
|
||||
import com.jero.modules.cert.collect.service.IParamsManifestEOService;
|
||||
import com.jero.modules.cert.collect.vo.ParamsManifestHistoryVO;
|
||||
import com.jero.modules.cert.collect.vo.ParamsManifestVO;
|
||||
import com.jero.modules.cert.template.entity.ParamsTemplateEO;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
@@ -40,6 +41,7 @@ public class ParamsManifestEOController extends JeroController<ParamsManifestEO,
|
||||
@Autowired
|
||||
private IParamsManifestEOService paramsManifestEOService;
|
||||
|
||||
/**
|
||||
/**
|
||||
* 分页列表查询
|
||||
*
|
||||
@@ -153,8 +155,8 @@ public class ParamsManifestEOController extends JeroController<ParamsManifestEO,
|
||||
@ApiOperation(value="参数清单-通过id删除", notes="参数清单-通过id删除")
|
||||
@GetMapping(value = "/delete")
|
||||
// @RequiresPermissions("params:manifest:delete")
|
||||
public Result<?> delete(@RequestParam(name="id",required=true) String id) {
|
||||
boolean isSuccess = paramsManifestEOService.deleteById(id);
|
||||
public Result<?> delete(@RequestParam(name="id",required=true) String id, @RequestParam(name="cut",required=true) String cut) {
|
||||
boolean isSuccess = paramsManifestEOService.deleteById(id, cut);
|
||||
if (isSuccess) {
|
||||
return Result.OK("删除成功!");
|
||||
} else {
|
||||
@@ -165,15 +167,18 @@ public class ParamsManifestEOController extends JeroController<ParamsManifestEO,
|
||||
/**
|
||||
* 批量删除
|
||||
*
|
||||
* @param ids
|
||||
* @param paramsManifestVO
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "参数清单-批量删除")
|
||||
@ApiOperation(value="参数清单-批量删除", notes="参数清单-批量删除")
|
||||
@PostMapping(value = "/deleteBatch")
|
||||
// @RequiresPermissions("params:manifest:deleteBatch")
|
||||
public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
|
||||
boolean isSuccess = paramsManifestEOService.deleteByIds(Arrays.asList(ids.split(",")));
|
||||
public Result<?> deleteBatch(@RequestBody ParamsManifestVO paramsManifestVO) {
|
||||
if (StringUtils.isEmpty(paramsManifestVO.getIds()) || StringUtils.isEmpty(paramsManifestVO.getCut())) {
|
||||
return Result.error("参数不能为空!");
|
||||
}
|
||||
boolean isSuccess = paramsManifestEOService.deleteByIds(Arrays.asList(paramsManifestVO.getIds().split(",")), paramsManifestVO.getCut());
|
||||
if (isSuccess) {
|
||||
return Result.OK("批量删除成功!");
|
||||
} else {
|
||||
@@ -191,8 +196,8 @@ public class ParamsManifestEOController extends JeroController<ParamsManifestEO,
|
||||
@ApiOperation(value="参数清单-变更扩展", notes="参数清单-变更扩展")
|
||||
@GetMapping(value = "/changeExtension")
|
||||
// @RequiresPermissions("params:manifest:change")
|
||||
public Result<?> changeExtension(@RequestParam(name="id",required=true) String id) {
|
||||
boolean isSuccess = paramsManifestEOService.changeExtension(id);
|
||||
public Result<?> changeExtension(@RequestParam(name="id",required=true) String id, @RequestParam(name="cut",required=true) String cut) {
|
||||
boolean isSuccess = paramsManifestEOService.changeExtension(id, cut);
|
||||
if(isSuccess) {
|
||||
return Result.OK("变更扩展成功!");
|
||||
} else {
|
||||
|
||||
+3
@@ -98,4 +98,7 @@ public class ParamsManifestEO implements Serializable {
|
||||
|
||||
@TableField(exist = false)
|
||||
private String paramsTemplateName;
|
||||
|
||||
@TableField(exist = false)
|
||||
private Boolean configFlag; // true-可添加配置;false-不可添加配置
|
||||
}
|
||||
|
||||
+2
@@ -93,6 +93,8 @@ public interface IParamsCollectManifestEOService extends IService<ParamsCollectM
|
||||
|
||||
Map<String, Object> isCollectFinished(String paramsManifestId);
|
||||
|
||||
boolean getManifestConfigFlag(String paramsManifestId);
|
||||
|
||||
// 退回
|
||||
boolean goBack(ParamsCollectManifestVO paramsCollectManifestVO);
|
||||
|
||||
|
||||
+3
-3
@@ -39,7 +39,7 @@ public interface IParamsManifestEOService extends IService<ParamsManifestEO> {
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
boolean deleteById(String id);
|
||||
boolean deleteById(String id, String cut);
|
||||
|
||||
/**
|
||||
* 批量删除
|
||||
@@ -47,7 +47,7 @@ public interface IParamsManifestEOService extends IService<ParamsManifestEO> {
|
||||
* @param ids
|
||||
* @return
|
||||
*/
|
||||
boolean deleteByIds(List<String> ids);
|
||||
boolean deleteByIds(List<String> ids, String cut);
|
||||
|
||||
/**
|
||||
* 通过id查询
|
||||
@@ -72,7 +72,7 @@ public interface IParamsManifestEOService extends IService<ParamsManifestEO> {
|
||||
|
||||
IPage pageInfo(IPage page, ParamsManifestEO paramsManifestEO);
|
||||
|
||||
boolean changeExtension(String id);
|
||||
boolean changeExtension(String id, String cut);
|
||||
|
||||
List<ParamsManifestHistoryVO> getHistoryVersionList(String title);
|
||||
|
||||
|
||||
+14
@@ -896,6 +896,20 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
return map;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean getManifestConfigFlag(String paramsManifestId) {
|
||||
LambdaQueryWrapper<ParamsCollectManifestEO> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(ParamsCollectManifestEO::getParamsManifestId, paramsManifestId);
|
||||
List<ParamsCollectManifestEO> list = list(queryWrapper);
|
||||
int number = (int) list.stream().filter(e->CollectManifestStateEnum.WAIT_COLLECT.getValue().equals(e.getState())
|
||||
|| CollectManifestStateEnum.CHANGE.getValue().equals(e.getState())).count();
|
||||
if (number == list.size() && list.size() > 0) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean goBack(ParamsCollectManifestVO paramsCollectManifestVO) {
|
||||
String paramsCollectManifestIds = paramsCollectManifestVO.getIds();
|
||||
|
||||
+32
-4
@@ -3,13 +3,17 @@ package com.jero.modules.cert.collect.service.impl;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.common.constant.enums.CutEnum;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.modules.cert.collect.entity.ParamsCollectManifestEO;
|
||||
import com.jero.modules.cert.collect.entity.ParamsConfigEO;
|
||||
import com.jero.modules.cert.collect.enums.CollectManifestStateEnum;
|
||||
import com.jero.modules.cert.collect.enums.ConfigLockEnum;
|
||||
import com.jero.modules.cert.collect.mapper.ParamsCollectManifestEOMapper;
|
||||
import com.jero.modules.cert.collect.mapper.ParamsConfigDataEOMapper;
|
||||
import com.jero.modules.cert.collect.mapper.ParamsConfigEOMapper;
|
||||
import com.jero.modules.cert.collect.service.IParamsCollectManifestEOService;
|
||||
import com.jero.modules.cert.collect.service.IParamsConfigEOService;
|
||||
import com.jero.modules.cert.collect.vo.ParamsConfigVO;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
@@ -42,6 +46,9 @@ public class ParamsConfigEOServiceImpl extends ServiceImpl<ParamsConfigEOMapper,
|
||||
@Autowired
|
||||
private ParamsCollectManifestEOMapper paramsCollectManifestEOMapper;
|
||||
|
||||
@Autowired
|
||||
private IParamsCollectManifestEOService paramsCollectManifestEOService;
|
||||
|
||||
/**
|
||||
* 保存
|
||||
*
|
||||
@@ -68,15 +75,16 @@ public class ParamsConfigEOServiceImpl extends ServiceImpl<ParamsConfigEOMapper,
|
||||
ind++;
|
||||
}
|
||||
|
||||
ParamsCollectManifestEO paramsCollectManifestEO = new ParamsCollectManifestEO();
|
||||
paramsCollectManifestEO.setParamsManifestId(paramsManifestId);
|
||||
List<ParamsCollectManifestEO> paramsCollectManifestEOList = paramsCollectManifestEOMapper.listInfo(paramsCollectManifestEO);
|
||||
|
||||
// 删除的配置
|
||||
String deleteConfigIds = paramsConfigVO.getDeleteConfigIds();
|
||||
if (StringUtils.isNotBlank(deleteConfigIds)) {
|
||||
List<String> deleteConfigIdList = Arrays.asList(deleteConfigIds.split(","));
|
||||
paramsConfigEOMapper.deleteBatchIds(deleteConfigIdList);
|
||||
// TODO 级联删除配置数据
|
||||
ParamsCollectManifestEO paramsCollectManifestEO = new ParamsCollectManifestEO();
|
||||
paramsCollectManifestEO.setParamsManifestId(paramsManifestId);
|
||||
List<ParamsCollectManifestEO> paramsCollectManifestEOList = paramsCollectManifestEOMapper.listInfo(paramsCollectManifestEO);
|
||||
// 级联删除配置数据
|
||||
if (CollectionUtil.isNotEmpty(paramsCollectManifestEOList)) {
|
||||
String paramsCollectManifestIds = paramsCollectManifestEOList.stream()
|
||||
.map(ParamsCollectManifestEO::getId).collect(Collectors.joining(","));
|
||||
@@ -85,10 +93,30 @@ public class ParamsConfigEOServiceImpl extends ServiceImpl<ParamsConfigEOMapper,
|
||||
}
|
||||
// 新增的配置
|
||||
if (CollectionUtil.isNotEmpty(addConfigList)) {
|
||||
// 判断是否可新增配置,清单参数项状态为 待发起、变更时,可添加配置
|
||||
boolean configFlag = paramsCollectManifestEOService.getManifestConfigFlag(paramsManifestId);
|
||||
if (!configFlag) {
|
||||
if (CutEnum.CN.getValue().equals(paramsConfigVO.getCut())) {
|
||||
throw new JeroBootException("当前不可添加配置!");
|
||||
} else {
|
||||
throw new JeroBootException("Currently not available to add a configuration!");
|
||||
}
|
||||
}
|
||||
addConfigList.forEach(paramsConfigEO -> {
|
||||
paramsConfigEO.setParamsManifestId(paramsManifestId);
|
||||
});
|
||||
// saveBatch(addConfigList);
|
||||
// 修改所有参数项状态为:待发起收集
|
||||
if (CollectionUtil.isNotEmpty(paramsCollectManifestEOList)) {
|
||||
List<ParamsCollectManifestEO> updateCollectManifestEOList = new ArrayList<>();
|
||||
paramsCollectManifestEOList.forEach(collectManifestEO -> {
|
||||
ParamsCollectManifestEO updateCollectManifestEO = new ParamsCollectManifestEO();
|
||||
updateCollectManifestEO.setId(collectManifestEO.getId());
|
||||
updateCollectManifestEO.setState(CollectManifestStateEnum.WAIT_COLLECT.getValue());
|
||||
updateCollectManifestEOList.add(updateCollectManifestEO);
|
||||
});
|
||||
paramsCollectManifestEOService.updateBatchById(updateCollectManifestEOList);
|
||||
}
|
||||
}
|
||||
// 修改的配置
|
||||
if (CollectionUtil.isNotEmpty(updateConfigList)) {
|
||||
|
||||
+52
-7
@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.constant.enums.CutEnum;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.modules.cert.collect.entity.ParamsCollectManifestEO;
|
||||
import com.jero.modules.cert.collect.entity.ParamsConfigDataEO;
|
||||
@@ -168,7 +169,17 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl<ParamsManifestEOMap
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public boolean deleteById(String id) {
|
||||
public boolean deleteById(String id, String cut) {
|
||||
// 判断清单收集状态,已完成状态才可删除
|
||||
Map<String, Object> map = paramsCollectManifestEOService.isCollectFinished(id);
|
||||
Boolean finish = (Boolean) map.get("finish");
|
||||
if (!finish) {
|
||||
if (CutEnum.CN.getValue().equals(cut)) {
|
||||
throw new JeroBootException("清单收集中,无法删除!");
|
||||
} else {
|
||||
throw new JeroBootException("Manifest collection, and cannot be deleted!");
|
||||
}
|
||||
}
|
||||
// 关联删除配置
|
||||
LambdaQueryWrapper<ParamsConfigEO> configEOQueryWrapper = new LambdaQueryWrapper<>();
|
||||
configEOQueryWrapper.eq(ParamsConfigEO::getParamsManifestId, id);
|
||||
@@ -194,8 +205,21 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl<ParamsManifestEOMap
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public boolean deleteByIds(List<String> ids) {
|
||||
public boolean deleteByIds(List<String> ids, String cut) {
|
||||
// 判断清单收集状态,已完成状态才可删除
|
||||
ids.forEach(id-> {
|
||||
Map<String, Object> map = paramsCollectManifestEOService.isCollectFinished(id);
|
||||
Boolean finish = (Boolean) map.get("finish");
|
||||
if (!finish) {
|
||||
ParamsManifestEO manifestEO = getById(id);
|
||||
|
||||
if (CutEnum.CN.getValue().equals(cut)) {
|
||||
throw new JeroBootException("清单:" + manifestEO.getTitle() + "收集中,无法删除!");
|
||||
} else {
|
||||
throw new JeroBootException("Manifest " + manifestEO.getTitle() + "collection, and cannot be deleted!");
|
||||
}
|
||||
}
|
||||
});
|
||||
// 关联删除配置
|
||||
LambdaQueryWrapper<ParamsConfigEO> configEOQueryWrapper = new LambdaQueryWrapper<>();
|
||||
configEOQueryWrapper.in(ParamsConfigEO::getParamsManifestId, ids);
|
||||
@@ -279,6 +303,10 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl<ParamsManifestEOMap
|
||||
}
|
||||
}
|
||||
|
||||
// 添加配置标识,清单参数项状态为 待发起、变更时,可添加配置
|
||||
boolean configFlag = paramsCollectManifestEOService.getManifestConfigFlag(manifestEO.getId());
|
||||
manifestEO.setConfigFlag(configFlag);
|
||||
|
||||
});
|
||||
|
||||
return rows;
|
||||
@@ -295,23 +323,40 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl<ParamsManifestEOMap
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public boolean changeExtension(String id) {
|
||||
public boolean changeExtension(String id, String cut) {
|
||||
// 变更扩展时,将历史清单数据 连同历史参数项收集数据 备份到相关历史表中
|
||||
paramsManifestHistoryEOService.addForChangeExtension(id);
|
||||
|
||||
// 将模板最新版本和项目中参数项进行比对
|
||||
ParamsManifestEO paramsManifestEO = getById(id);
|
||||
if (paramsManifestEO.getState().equals(ManifestStateEnum.COLLECTING.getValue())) {
|
||||
throw new JeroBootException("清单收集中,无法发起变更!");
|
||||
Map<String, Object> map = paramsCollectManifestEOService.isCollectFinished(id);
|
||||
Boolean finish = (Boolean) map.get("finish");
|
||||
if (!finish) {
|
||||
if (CutEnum.CN.getValue().equals(cut)) {
|
||||
throw new JeroBootException("清单收集中,无法发起变更!");
|
||||
} else {
|
||||
throw new JeroBootException("Manifest collection, and cannot be initiated change!");
|
||||
}
|
||||
}
|
||||
// if (paramsManifestEO.getState().equals(ManifestStateEnum.COLLECTING.getValue())) {
|
||||
// throw new JeroBootException("清单收集中,无法发起变更!");
|
||||
// }
|
||||
// 查询项目引用的模板是否是最新版本
|
||||
Integer newestVersion = paramsInfoPublishEOService.getNewestVersionByParamsTemplateId(paramsManifestEO.getParamsTemplateId());
|
||||
if (newestVersion == null) {
|
||||
throw new JeroBootException("查询不到模板最新发布版本!");
|
||||
if (CutEnum.CN.getValue().equals(cut)) {
|
||||
throw new JeroBootException("查询不到模板最新发布版本!");
|
||||
} else {
|
||||
throw new JeroBootException("Can not find the latest template!");
|
||||
}
|
||||
}
|
||||
|
||||
if (newestVersion == paramsManifestEO.getParamsTemplatePublishVersion()) {
|
||||
throw new JeroBootException("当前已是模板最新发布版本!");
|
||||
if (CutEnum.CN.getValue().equals(cut)) {
|
||||
throw new JeroBootException("当前已是模板最新发布版本!");
|
||||
} else {
|
||||
throw new JeroBootException("This is the latest template!");
|
||||
}
|
||||
}
|
||||
|
||||
// 查询最新版模板参数项
|
||||
|
||||
+1
@@ -16,4 +16,5 @@ public class ParamsConfigVO {
|
||||
private String paramsManifestId;
|
||||
private String deleteConfigIds;
|
||||
private List<ParamsConfigEO> paramsConfigEOList;
|
||||
private String cut;
|
||||
}
|
||||
|
||||
+3
@@ -18,4 +18,7 @@ public class ParamsManifestVO {
|
||||
private String paramsTemplateName;
|
||||
private String paramsTemplateId;
|
||||
private Integer paramsTemplatePublishVersion;
|
||||
|
||||
private String ids;
|
||||
private String cut;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user