update:修改审批定义的创建

This commit is contained in:
sunzheng
2024-07-30 09:42:57 +08:00
parent f770424b01
commit de438686d3
3 changed files with 19 additions and 12 deletions
@@ -40,8 +40,8 @@ public class FeiShuDockingController {
* @return
*/
@PostMapping("/createApprovalDefinition")
public String createApprovalDefinition() {
return feiShuDockingService.createApprovalDefinition();
public String createApprovalDefinition(String approvalCode, String approvalName) {
return feiShuDockingService.createApprovalDefinition(approvalCode, approvalName);
}
/**
@@ -18,7 +18,7 @@ public interface IFeiShuDockingService {
* 创建三方审批的定义
* @return
*/
String createApprovalDefinition();
String createApprovalDefinition(String approvalCode, String approvalName);
/**
* 查看指定三方审批定义
@@ -9,6 +9,7 @@ import com.jero.common.api.vo.Result;
import com.jero.common.constant.CommonConstant;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.util.JwtUtil;
import com.jero.common.system.vo.DictModel;
import com.jero.common.system.vo.SysDictItemCore;
import com.jero.common.util.RedisUtil;
import com.jero.common.util.oConvertUtils;
@@ -77,8 +78,6 @@ public class FeiShuDockingServiceImpl implements IFeiShuDockingService {
private String appSecret;
@Value("${feishu.managersIds}")
private String managersIds;
@Value("${feishu.approvalName}")
private String approvalName;
private static final String USER_INFO = "userInfo";
@@ -100,13 +99,13 @@ public class FeiShuDockingServiceImpl implements IFeiShuDockingService {
}
@Override
public String createApprovalDefinition() {
public String createApprovalDefinition(String approvalCode, String approvalName) {
String url = env.getProperty("feishu.create_approval_definition");
assert url != null;
// 获取token
String accessToken = getAccessToken();
// 构建对象
ApprovalsDefinitionVo approvalsDefinitionVo = buildDefinitionVo();
ApprovalsDefinitionVo approvalsDefinitionVo = buildDefinitionVo(approvalCode, approvalName);
// 设置请求头
HttpHeaders headers = createHeaders(accessToken);
// 构建包含查询参数的 URL
@@ -129,12 +128,12 @@ public class FeiShuDockingServiceImpl implements IFeiShuDockingService {
}
// 构建创建审批定义的入参对象
public ApprovalsDefinitionVo buildDefinitionVo() {
public ApprovalsDefinitionVo buildDefinitionVo(String approvalCode, String approvalName) {
ApprovalsDefinitionVo approvalsDefinitionVo = new ApprovalsDefinitionVo();
// 构建审批定义vo
approvalsDefinitionVo.setApproval_name("@i18n@1");
approvalsDefinitionVo.setApproval_code("permission_test3");
approvalsDefinitionVo.setGroup_code("work_group");
approvalsDefinitionVo.setApproval_code(approvalCode);
approvalsDefinitionVo.setGroup_code(approvalCode);
approvalsDefinitionVo.setGroup_name("@i18n@2");
// 构建三方审批相关对象.
DefinitionExternal definitionExternal = new DefinitionExternal();
@@ -265,7 +264,9 @@ public class FeiShuDockingServiceImpl implements IFeiShuDockingService {
String promoterUserId = instanceDto.getPromoterUserId();
if (StringUtils.isNoneBlank(promoterUserId)) {
SysUser promoterUser = sysUserService.getById(promoterUserId);
promoterUserId = promoterUser.getFeishuId();
if (!Objects.isNull(promoterUser) && StringUtils.isNotBlank(promoterUser.getFeishuId())) {
promoterUserId = promoterUser.getFeishuId();
}
}
// 审核人的id(可能为多个),查出对应的飞书id
String reviewedIds = instanceDto.getReviewedIds();
@@ -337,7 +338,13 @@ public class FeiShuDockingServiceImpl implements IFeiShuDockingService {
promoterMobileLink = url.replace("{REDIRECT_URI}", promoterMobileLink);
}
// 审批定义的code
String approvalDefinition = createApprovalDefinition();
Integer processType = instanceDto.getProcessType();
// 拿到这个流程的名称
List<DictModel> prcTypeList = sysDictService.getDictItems("prc_type");
// 将列表转换为Map
Map<String, String> prcTypeMap = prcTypeList.stream().collect(Collectors.toMap(DictModel::getValue, DictModel::getText));
String processName = prcTypeMap.get(String.valueOf(processType));
String approvalDefinition = createApprovalDefinition("process_" + processType, processName);
// 发起人相关的信息
ApprovalsInstanceVo approvalsInstanceVo = new ApprovalsInstanceVo();
approvalsInstanceVo.setApproval_code(approvalDefinition);