REQ-2752-增加流程管理员数量校验,修复管理员查询数据问题
This commit is contained in:
parent
3e464bf108
commit
ce627a6bc8
@ -14,6 +14,12 @@ public interface ExtAxProcessAdminService {
|
||||
*/
|
||||
Long insert(ExtAxProcessAdmin processAdmin);
|
||||
|
||||
/**
|
||||
* 批量新增
|
||||
* @param processAdmins 配置管理员列表
|
||||
*/
|
||||
void batchInsert(List<ExtAxProcessAdmin> processAdmins);
|
||||
|
||||
/**
|
||||
* 根据条件查询
|
||||
* @param queryDTO
|
||||
@ -21,12 +27,6 @@ public interface ExtAxProcessAdminService {
|
||||
*/
|
||||
List<ExtAxProcessAdmin> query(ProcessAdminQueryDTO queryDTO);
|
||||
|
||||
/**
|
||||
* 批量新增
|
||||
* @param processAdmins 配置管理员列表
|
||||
*/
|
||||
void batchInsert(List<ExtAxProcessAdmin> processAdmins);
|
||||
|
||||
/**
|
||||
* 根据条件删除管理员配置
|
||||
* @param processAdmin 删除条件
|
||||
|
||||
@ -29,6 +29,14 @@ public class ExtAxProcessAdminServiceImpl implements ExtAxProcessAdminService {
|
||||
return processAdmin.getId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void batchInsert(List<ExtAxProcessAdmin> processAdmins) {
|
||||
if (CollectionUtils.isEmpty(processAdmins)) {
|
||||
return;
|
||||
}
|
||||
processAdmins.forEach(this::insert);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ExtAxProcessAdmin> query(ProcessAdminQueryDTO queryDTO) {
|
||||
if (queryDTO == null) {
|
||||
@ -40,17 +48,10 @@ public class ExtAxProcessAdminServiceImpl implements ExtAxProcessAdminService {
|
||||
.eq(Objects.nonNull(queryDTO.getOrganizationalUnitId()), ExtAxProcessAdmin::getOrganizationalUnitId, queryDTO.getOrganizationalUnitId())
|
||||
.eq(!CollectionUtils.isEmpty(queryDTO.getPersonIds()), ExtAxProcessAdmin::getPersonId, queryDTO.getPersonIds())
|
||||
.eq(Objects.nonNull(queryDTO.getDataSource()), ExtAxProcessAdmin::getDataSource, queryDTO.getDataSource())
|
||||
.eq(ExtAxProcessAdmin::getIsDelete, TableIsDeleteEnum.NORMAL);
|
||||
.eq(ExtAxProcessAdmin::getIsDelete, TableIsDeleteEnum.NORMAL.value);
|
||||
return extAxProcessAdminMapper.selectList(queryWrapper);
|
||||
}
|
||||
|
||||
public void batchInsert(List<ExtAxProcessAdmin> processAdmins) {
|
||||
if (CollectionUtils.isEmpty(processAdmins)) {
|
||||
return;
|
||||
}
|
||||
processAdmins.forEach(this::insert);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void delete(ExtAxProcessAdmin processAdmin) {
|
||||
if (processAdmin == null) {
|
||||
|
||||
@ -194,4 +194,9 @@ public interface BpmnConstants {
|
||||
* 固定父子文档在相同分片
|
||||
*/
|
||||
String ES_FIXED_ROUTING = "routing";
|
||||
|
||||
/**
|
||||
* ouId+workspaceId 下限制人员数量为20
|
||||
*/
|
||||
Integer MAX_ORG_WORKSPACE_ADMIN_COUNT = 20;
|
||||
}
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package cn.axzo.workflow.server.controller.web.manage;
|
||||
|
||||
import cn.axzo.framework.domain.ServiceException;
|
||||
import cn.axzo.workflow.admin.repository.entity.ExtAxProcessAdmin;
|
||||
import cn.axzo.workflow.admin.service.ExtAxProcessAdminService;
|
||||
import cn.axzo.workflow.client.feign.manage.ProcessAdminApi;
|
||||
@ -24,6 +25,8 @@ import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static cn.axzo.workflow.common.constant.BpmnConstants.MAX_ORG_WORKSPACE_ADMIN_COUNT;
|
||||
|
||||
/**
|
||||
* 流程管理员控制器
|
||||
*/
|
||||
@ -58,6 +61,14 @@ public class ProcessAdminController implements ProcessAdminApi {
|
||||
@PostMapping("/create")
|
||||
@Override
|
||||
public CommonResponse<Long> createProcessAdmin(@RequestBody ProcessAdminCreateDTO dto) {
|
||||
List<ExtAxProcessAdmin> extAxProcessAdmins = extAxProcessAdminService.query(ProcessAdminQueryDTO
|
||||
.builder()
|
||||
.organizationalUnitId(dto.getOrganizationalUnitId())
|
||||
.workspaceId(dto.getWorkspaceId())
|
||||
.build());
|
||||
if (!CollectionUtils.isEmpty(extAxProcessAdmins) && extAxProcessAdmins.size() > MAX_ORG_WORKSPACE_ADMIN_COUNT) {
|
||||
throw new ServiceException(String.format("管理员最多不超过%d人", MAX_ORG_WORKSPACE_ADMIN_COUNT));
|
||||
}
|
||||
ExtAxProcessAdmin processAdmin = new ExtAxProcessAdmin();
|
||||
BeanUtils.copyProperties(dto, processAdmin);
|
||||
Long id = extAxProcessAdminService.insert(processAdmin);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user