REQ-2752-审批管理员相关功能接口实现
This commit is contained in:
parent
3f1c4ac868
commit
bcce548998
@ -0,0 +1,27 @@
|
||||
package cn.axzo.workflow.client.feign.manage;
|
||||
|
||||
import cn.axzo.workflow.client.config.CommonFeignConfiguration;
|
||||
import cn.axzo.workflow.common.model.request.admin.ProcessAdminCreateDTO;
|
||||
import cn.azxo.framework.common.model.CommonResponse;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@FeignClient(name = "workflow-engine", url = "${axzo.service.workflow-engine:http://workflow-engine:8080}", configuration = CommonFeignConfiguration.class)
|
||||
public interface ProcessAdminApi {
|
||||
|
||||
/**
|
||||
* 添加管理员
|
||||
* @param dto 管理员数据
|
||||
* @return 管理员id
|
||||
*/
|
||||
CommonResponse<Long> createProcessAdmin(ProcessAdminCreateDTO dto);
|
||||
|
||||
/**
|
||||
* 批量添加管理员
|
||||
* @param dtos
|
||||
* @return
|
||||
*/
|
||||
CommonResponse<Void> createProcessAdminBatch(List<ProcessAdminCreateDTO> dtos);
|
||||
|
||||
}
|
||||
@ -15,5 +15,24 @@
|
||||
<groupId>cn.axzo.workflow</groupId>
|
||||
<artifactId>workflow-engine-common</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cn.axzo.basics</groupId>
|
||||
<artifactId>basics-common</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cn.axzo.framework</groupId>
|
||||
<artifactId>axzo-processor-spring-boot-starter</artifactId>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cn.axzo.framework</groupId>
|
||||
<artifactId>axzo-mybatisplus-spring-boot-starter</artifactId>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cn.hutool</groupId>
|
||||
<artifactId>hutool-all</artifactId>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
||||
|
||||
@ -0,0 +1,65 @@
|
||||
package cn.axzo.workflow.admin.repository.entity;
|
||||
|
||||
import cn.axzo.framework.data.mybatisplus.model.BaseEntity;
|
||||
import cn.axzo.workflow.common.enums.AdminDataSource;
|
||||
import cn.axzo.workflow.common.enums.AdminRoleType;
|
||||
import cn.axzo.workflow.common.enums.AdminTypeEnum;
|
||||
import cn.axzo.workflow.common.enums.WorkspaceType;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.ToString;
|
||||
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName(value = "ext_ax_process_admin", autoResultMap = true)
|
||||
@Data
|
||||
@ToString(callSuper = true)
|
||||
public class ExtAxProcessAdmin extends BaseEntity<ExtAxProcessAdmin> {
|
||||
|
||||
private static final long serialVersionUID = 7342715107163876733L;
|
||||
|
||||
/**
|
||||
* 自然人id
|
||||
*/
|
||||
private Integer personId;
|
||||
|
||||
/**
|
||||
* 单位id
|
||||
*/
|
||||
private Integer organizationalUnitId;
|
||||
|
||||
/**
|
||||
* 工作台ID
|
||||
*/
|
||||
private Integer workspaceId;
|
||||
|
||||
/**
|
||||
* 工作台类型,1-企业, 2-项目, 3-政务监管平台, 6-oms工作台,参考 WorkspaceType枚举
|
||||
*/
|
||||
private WorkspaceType workspaceType;
|
||||
|
||||
/**
|
||||
* 管理员类型, super_admin-超级管理员, common_admin-普通管理员
|
||||
*/
|
||||
private AdminTypeEnum adminType;
|
||||
|
||||
/**
|
||||
* 角色类型, organization_admin-单位超管, organization_worksapce_admin-项目内单位负责人, workspace_admin-项目超管,other-其他用户
|
||||
*/
|
||||
private AdminRoleType roleType;
|
||||
|
||||
/**
|
||||
* 数据来源, system-系统录入, user-用户手动录入
|
||||
*/
|
||||
private AdminDataSource dataSource;
|
||||
|
||||
/**
|
||||
* 创建者
|
||||
*/
|
||||
private Long createBy;
|
||||
|
||||
/**
|
||||
* 更新者
|
||||
*/
|
||||
private Long updateBy;
|
||||
}
|
||||
@ -0,0 +1,9 @@
|
||||
package cn.axzo.workflow.admin.repository.mapper;
|
||||
|
||||
import cn.axzo.workflow.admin.repository.entity.ExtAxProcessAdmin;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
@Mapper
|
||||
public interface ExtAxProcessAdminMapper extends BaseMapper<ExtAxProcessAdmin> {
|
||||
}
|
||||
@ -0,0 +1,21 @@
|
||||
package cn.axzo.workflow.admin.service;
|
||||
|
||||
import cn.axzo.workflow.admin.repository.entity.ExtAxProcessAdmin;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface ExtAxProcessAdminService {
|
||||
|
||||
/**
|
||||
* 新增管理员
|
||||
* @param processAdmin 流程配置管理员
|
||||
* @return id
|
||||
*/
|
||||
Long insert(ExtAxProcessAdmin processAdmin);
|
||||
|
||||
/**
|
||||
* 批量新增
|
||||
* @param processAdmins 配置管理员列表
|
||||
*/
|
||||
void batchInsert(List<ExtAxProcessAdmin> processAdmins);
|
||||
}
|
||||
@ -0,0 +1,28 @@
|
||||
package cn.axzo.workflow.admin.service.impl;
|
||||
|
||||
import cn.axzo.workflow.admin.repository.entity.ExtAxProcessAdmin;
|
||||
import cn.axzo.workflow.admin.repository.mapper.ExtAxProcessAdminMapper;
|
||||
import cn.axzo.workflow.admin.service.ExtAxProcessAdminService;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
public class ExtAxProcessAdminServiceImpl implements ExtAxProcessAdminService {
|
||||
|
||||
@Resource
|
||||
private ExtAxProcessAdminMapper extAxProcessAdminMapper;
|
||||
|
||||
@Override
|
||||
public Long insert(ExtAxProcessAdmin processAdmin) {
|
||||
extAxProcessAdminMapper.insert(processAdmin);
|
||||
return processAdmin.getId();
|
||||
}
|
||||
|
||||
public void batchInsert(List<ExtAxProcessAdmin> processAdmins) {
|
||||
if(CollectionUtils.isEmpty(processAdmins)){
|
||||
return;
|
||||
}
|
||||
processAdmins.forEach(this::insert);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,17 @@
|
||||
package cn.axzo.workflow.common.enums;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
public enum AdminDataSource {
|
||||
SYSTEM_ENTRY("systemEntry", "系统录入"),
|
||||
USER_ENTRY("userEntry", "用户手动录入");
|
||||
|
||||
private final String type;
|
||||
private final String desc;
|
||||
|
||||
AdminDataSource(String type, String desc) {
|
||||
this.type = type;
|
||||
this.desc = desc;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,19 @@
|
||||
package cn.axzo.workflow.common.enums;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
public enum AdminRoleType {
|
||||
ORGANIZATION_ADMIN("organizationAdmin", "单位超管"),
|
||||
ORG_WORKSPACE_ADMIN("organizationWorkspaceAdmin", "项目内单位负责人"),
|
||||
WORKSPACE_ADMIN("workspaceAdmin", "项目超管"),
|
||||
OTHER("other", "其他用户");
|
||||
|
||||
private final String type;
|
||||
private final String desc;
|
||||
|
||||
AdminRoleType(String type, String desc) {
|
||||
this.type = type;
|
||||
this.desc = desc;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,20 @@
|
||||
package cn.axzo.workflow.common.enums;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* 审批管理员类型
|
||||
*/
|
||||
@Getter
|
||||
public enum AdminTypeEnum {
|
||||
SUPER_ADMIN("super_admin", "超级管理员"),
|
||||
COMMON_ADMIN("common_admin", "普通管理员");
|
||||
|
||||
private final String type;
|
||||
private final String desc;
|
||||
|
||||
AdminTypeEnum(String type, String desc) {
|
||||
this.type = type;
|
||||
this.desc = desc;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,65 @@
|
||||
package cn.axzo.workflow.common.model.request.admin;
|
||||
|
||||
import cn.axzo.workflow.common.enums.AdminDataSource;
|
||||
import cn.axzo.workflow.common.enums.AdminRoleType;
|
||||
import cn.axzo.workflow.common.enums.AdminTypeEnum;
|
||||
import cn.axzo.workflow.common.enums.WorkspaceType;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
/**
|
||||
* 新增管理员模型
|
||||
*/
|
||||
@ApiModel("新增管理员模型")
|
||||
@Data
|
||||
public class ProcessAdminCreateDTO {
|
||||
|
||||
/**
|
||||
* 自然人id
|
||||
*/
|
||||
@ApiModelProperty(value = "自然人id")
|
||||
@NotNull(message = "人员不能为空")
|
||||
private Integer personId;
|
||||
|
||||
/**
|
||||
* 单位id
|
||||
*/
|
||||
@ApiModelProperty(value = "单位id")
|
||||
@NotNull(message = "单位id不能为空")
|
||||
private Integer organizationalUnitId;
|
||||
|
||||
/**
|
||||
* 工作台ID
|
||||
*/
|
||||
@ApiModelProperty(value = "工作台id")
|
||||
@NotNull(message = "工作台id不能为空")
|
||||
private Integer workspaceId;
|
||||
|
||||
/**
|
||||
* 工作台类型,1-企业, 2-项目, 3-政务监管平台, 6-oms工作台,参考 WorkspaceType枚举
|
||||
*/
|
||||
@ApiModelProperty(value = "工作台类型")
|
||||
@NotNull(message = "工作台类型不能为空")
|
||||
private WorkspaceType workspaceType;
|
||||
|
||||
/**
|
||||
* 管理员类型, super_admin-超级管理员, common_admin-普通管理员
|
||||
*/
|
||||
@ApiModelProperty(value = "管理员类型, super_admin-超级管理员, common_admin-普通管理员")
|
||||
private AdminTypeEnum adminType;
|
||||
|
||||
/**
|
||||
* 角色类型, organization_admin-单位超管, organization_workspace_admin-项目内单位负责人, workspace_admin-项目超管,other-其他用户
|
||||
*/
|
||||
@ApiModelProperty(value = "角色类型, organization_admin-单位超管, organization_workspace_admin-项目内单位负责人, workspace_admin-项目超管,other-其他用户")
|
||||
private AdminRoleType roleType;
|
||||
|
||||
/**
|
||||
* 数据来源, system-系统录入, user-用户手动录入
|
||||
*/
|
||||
@ApiModelProperty(value = "数据来源, system-系统录入, user-用户手动录入")
|
||||
private AdminDataSource dataSource;
|
||||
}
|
||||
@ -71,6 +71,10 @@
|
||||
<groupId>${project.groupId}</groupId>
|
||||
<artifactId>workflow-engine-elasticsearch</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>${project.groupId}</groupId>
|
||||
<artifactId>workflow-engine-axzo-ext</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.projectlombok</groupId>
|
||||
<artifactId>lombok</artifactId>
|
||||
|
||||
@ -0,0 +1,43 @@
|
||||
package cn.axzo.workflow.server.controller.web.manage;
|
||||
|
||||
import cn.axzo.workflow.admin.repository.entity.ExtAxProcessAdmin;
|
||||
import cn.axzo.workflow.admin.service.ExtAxProcessAdminService;
|
||||
import cn.axzo.workflow.client.feign.manage.ProcessAdminApi;
|
||||
import cn.axzo.workflow.common.model.request.admin.ProcessAdminCreateDTO;
|
||||
import cn.axzo.workflow.server.common.annotation.ErrorReporter;
|
||||
import cn.azxo.framework.common.model.CommonResponse;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 流程管理员控制器
|
||||
*/
|
||||
@Slf4j
|
||||
@RequestMapping({"/web/v1/api/process/admin", "/api/process/admin"})
|
||||
@RestController
|
||||
@ErrorReporter
|
||||
@Validated
|
||||
public class ProcessAdminController implements ProcessAdminApi {
|
||||
|
||||
@Resource
|
||||
private ExtAxProcessAdminService extAxProcessAdminService;
|
||||
|
||||
@Override
|
||||
public CommonResponse<Long> createProcessAdmin(ProcessAdminCreateDTO dto) {
|
||||
ExtAxProcessAdmin processAdmin = new ExtAxProcessAdmin();
|
||||
BeanUtils.copyProperties(dto, processAdmin);
|
||||
Long id = extAxProcessAdminService.insert(processAdmin);
|
||||
return CommonResponse.success(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public CommonResponse<Void> createProcessAdminBatch(List<ProcessAdminCreateDTO> dtos) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user