|
@@ -1,18 +1,21 @@
|
|
package com.dragoninfo.dcuc.auth.auth.service.impl.zerotrust;
|
|
package com.dragoninfo.dcuc.auth.auth.service.impl.zerotrust;
|
|
|
|
|
|
-import com.dragoninfo.dcuc.auth.auth.dto.zerotrust.approval.FlowApplyReqDto;
|
|
|
|
-import com.dragoninfo.dcuc.auth.auth.dto.zerotrust.approval.FlowSubmitRespDTO;
|
|
|
|
|
|
+import cn.hutool.core.bean.BeanUtil;
|
|
|
|
+import cn.hutool.core.util.StrUtil;
|
|
|
|
+import com.dragoninfo.dcuc.auth.auth.dto.zerotrust.approval.*;
|
|
import com.dragoninfo.dcuc.auth.auth.dto.zerotrust.authapply.ServiceAuthApplyDto;
|
|
import com.dragoninfo.dcuc.auth.auth.dto.zerotrust.authapply.ServiceAuthApplyDto;
|
|
import com.dragoninfo.dcuc.auth.auth.entity.zerotrust.ServiceAuthApply;
|
|
import com.dragoninfo.dcuc.auth.auth.entity.zerotrust.ServiceAuthApply;
|
|
import com.dragoninfo.dcuc.auth.auth.enumresources.zerotrust.approval.ApprovalApplyTypeEnum;
|
|
import com.dragoninfo.dcuc.auth.auth.enumresources.zerotrust.approval.ApprovalApplyTypeEnum;
|
|
import com.dragoninfo.dcuc.auth.auth.enumresources.zerotrust.approval.AuthApplyStatusEnum;
|
|
import com.dragoninfo.dcuc.auth.auth.enumresources.zerotrust.approval.AuthApplyStatusEnum;
|
|
import com.dragoninfo.dcuc.auth.auth.repo.zerotrust.ServiceAuthApplyRepository;
|
|
import com.dragoninfo.dcuc.auth.auth.repo.zerotrust.ServiceAuthApplyRepository;
|
|
import com.dragoninfo.dcuc.auth.auth.service.zerotrust.IServiceAuthApplyService;
|
|
import com.dragoninfo.dcuc.auth.auth.service.zerotrust.IServiceAuthApplyService;
|
|
|
|
+import com.dragoninfo.dcuc.auth.auth.vo.zerotrust.roleauthapply.ApplyRoleInVo;
|
|
import com.dragoninfo.dcuc.auth.business.zerotrust.IZeroTrustApprovalBusiness;
|
|
import com.dragoninfo.dcuc.auth.business.zerotrust.IZeroTrustApprovalBusiness;
|
|
import com.dragoninfo.dcuc.auth.config.zerotrust.ApprovalProperties;
|
|
import com.dragoninfo.dcuc.auth.config.zerotrust.ApprovalProperties;
|
|
import com.dragoninfo.dcuc.auth.sub.vo.ApplyInfoVo;
|
|
import com.dragoninfo.dcuc.auth.sub.vo.ApplyInfoVo;
|
|
import com.dragoninfo.dcuc.auth.sub.vo.ServiceResourceVo;
|
|
import com.dragoninfo.dcuc.auth.sub.vo.ServiceResourceVo;
|
|
import com.dragoninfo.dcuc.common.utils.ResponseUtil;
|
|
import com.dragoninfo.dcuc.common.utils.ResponseUtil;
|
|
|
|
+import com.dragoninfo.dcuc.duceap.enums.AuthApplyTypeEnum;
|
|
import com.dragonsoft.duceap.base.entity.http.ResponseDTO;
|
|
import com.dragonsoft.duceap.base.entity.http.ResponseDTO;
|
|
import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
|
|
import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
|
|
import com.dragonsoft.duceap.base.entity.security.BaseSecurityUser;
|
|
import com.dragonsoft.duceap.base.entity.security.BaseSecurityUser;
|
|
@@ -20,6 +23,8 @@ import com.dragonsoft.duceap.base.enums.BooleanEnum;
|
|
import com.dragonsoft.duceap.base.utils.UserContextUtils;
|
|
import com.dragonsoft.duceap.base.utils.UserContextUtils;
|
|
import com.dragonsoft.duceap.commons.util.UUIDUtils;
|
|
import com.dragonsoft.duceap.commons.util.UUIDUtils;
|
|
import com.dragonsoft.duceap.commons.util.collections.CollectionUtils;
|
|
import com.dragonsoft.duceap.commons.util.collections.CollectionUtils;
|
|
|
|
+import com.dragonsoft.duceap.commons.util.date.DateConst;
|
|
|
|
+import com.dragonsoft.duceap.commons.util.date.DateUtils;
|
|
import com.dragonsoft.duceap.commons.util.json.JsonUtils;
|
|
import com.dragonsoft.duceap.commons.util.json.JsonUtils;
|
|
import com.dragonsoft.duceap.commons.util.string.StringUtils;
|
|
import com.dragonsoft.duceap.commons.util.string.StringUtils;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
@@ -77,7 +82,7 @@ public class ServiceAuthApplyServiceImpl implements IServiceAuthApplyService {
|
|
public ResponseStatus applyAndPushToApproval(ServiceAuthApplyDto authApplyDto, String taskTypeClass) {
|
|
public ResponseStatus applyAndPushToApproval(ServiceAuthApplyDto authApplyDto, String taskTypeClass) {
|
|
String title = getAuthApplyTitle(UserContextUtils.getCurrentUser().getName());
|
|
String title = getAuthApplyTitle(UserContextUtils.getCurrentUser().getName());
|
|
// 填充业务数据
|
|
// 填充业务数据
|
|
- Map<String, String> bizData = getBizData(authApplyDto);
|
|
|
|
|
|
+ Map<String, Object> bizData = getBizData(authApplyDto);
|
|
|
|
|
|
if (StringUtils.isBlank(taskTypeClass)) {
|
|
if (StringUtils.isBlank(taskTypeClass)) {
|
|
taskTypeClass = approvalProperties.getRoleAuthTaskType();
|
|
taskTypeClass = approvalProperties.getRoleAuthTaskType();
|
|
@@ -161,25 +166,37 @@ public class ServiceAuthApplyServiceImpl implements IServiceAuthApplyService {
|
|
repository.setToBeAuthed(ids, value);
|
|
repository.setToBeAuthed(ids, value);
|
|
}
|
|
}
|
|
|
|
|
|
- private Map<String, String> getBizData(ServiceAuthApplyDto applyDto) {
|
|
|
|
- Map<String, String> bizData = new HashMap<>();
|
|
|
|
- List<Map<String, String>> list = new ArrayList<>();
|
|
|
|
-
|
|
|
|
- ApplyInfoVo applyInfoVo = applyDto.getApplyInfoVo();
|
|
|
|
- Map<String, String> map = new HashMap<>();
|
|
|
|
- // 授权主体人员信息
|
|
|
|
- map.put("authAppName", applyInfoVo.getApplyName());
|
|
|
|
- map.put("authAppCode", applyInfoVo.getApplyCode());
|
|
|
|
- // 授权客体角色信息
|
|
|
|
- List<ServiceResourceVo> applyVos = applyDto.getServiceVos();
|
|
|
|
- map.put("authServiceInfos", JsonUtils.toJSONString(applyVos));
|
|
|
|
- list.add(map);
|
|
|
|
-
|
|
|
|
- bizData.put("authInfos", JsonUtils.toJSONString(list));
|
|
|
|
- // 授权操作人信息
|
|
|
|
- BaseSecurityUser currentUser = UserContextUtils.getCurrentUser();
|
|
|
|
- bizData.put("authOperateUserName", currentUser.getName());
|
|
|
|
- bizData.put("authOperateUserIdcard", currentUser.getIdcard());
|
|
|
|
- return bizData;
|
|
|
|
|
|
+ private Map<String, Object> getBizData(ServiceAuthApplyDto applyDto) {
|
|
|
|
+ Date startTime = applyDto.getStartTime();
|
|
|
|
+ Date endTime = applyDto.getEndTime();
|
|
|
|
+ String startStr = DateUtils.getDateFormat(startTime, DateConst.HYPHEN_DISPLAY_TIME);
|
|
|
|
+ String endStr = DateUtils.getDateFormat(endTime, DateConst.HYPHEN_DISPLAY_TIME);
|
|
|
|
+
|
|
|
|
+ List<ServiceResourceVo> serviceVos = applyDto.getServiceVos();
|
|
|
|
+ String visitResourceCodes = serviceVos.stream().map(ServiceResourceVo::getServiceCode)
|
|
|
|
+ .collect(Collectors.joining(StrUtil.COMMA));
|
|
|
|
+
|
|
|
|
+ String visitResourceNames = serviceVos.stream().map(ServiceResourceVo::getServiceName)
|
|
|
|
+ .collect(Collectors.joining(StrUtil.COMMA));
|
|
|
|
+
|
|
|
|
+ ApprovalBizResourceDto resourceDto = ApprovalBizResourceDto.builder()
|
|
|
|
+ .visitorCode(applyDto.getApplyInfoVo().getApplyCode())
|
|
|
|
+ .visitorName(applyDto.getApplyInfoVo().getApplyName())
|
|
|
|
+ .visitResourceCode(visitResourceCodes)
|
|
|
|
+ .visitResourceName(visitResourceNames)
|
|
|
|
+ .build();
|
|
|
|
+
|
|
|
|
+ ApprovalBizContentDto contentDto = ApprovalBizContentDto.builder()
|
|
|
|
+ .flowType(AuthApplyTypeEnum.SERVICE_AUTH.getValue())
|
|
|
|
+ .resourceInfo(resourceDto)
|
|
|
|
+ .build();
|
|
|
|
+
|
|
|
|
+ ApprovalBizDataDto dto = ApprovalBizDataDto.builder()
|
|
|
|
+ .bizTermStart(startStr)
|
|
|
|
+ .bizTermEnd(endStr)
|
|
|
|
+ .bizContent(contentDto)
|
|
|
|
+ .bizType("auth")
|
|
|
|
+ .build();
|
|
|
|
+ return BeanUtil.beanToMap(dto);
|
|
}
|
|
}
|
|
}
|
|
}
|