feat: 完成分享、单会话与发布审批改造
- 增加工作流协作分享与知识库卡片分享入口,统一低版本浏览器复制反馈 - Web 新登录替换旧会话,并保持 API Key 会话隔离 - 发布审批增加必填说明并在审批详情展示 - 账号重置与导入改用可配置默认强密码
This commit is contained in:
@@ -93,6 +93,7 @@ public class ApprovalInstanceServiceImpl implements ApprovalInstanceService {
|
||||
instance.setCurrentStepNo(firstStep.getStepNo());
|
||||
instance.setSnapshotJson(buildInstanceSnapshot(request, flow, steps));
|
||||
instance.setSummary(request.getSummary());
|
||||
instance.setApplicationReason(request.getApplicationReason());
|
||||
instance.setApplicantId(request.getApplicantId());
|
||||
instance.setSubmittedAt(now);
|
||||
instance.setCreated(now);
|
||||
@@ -102,11 +103,15 @@ public class ApprovalInstanceServiceImpl implements ApprovalInstanceService {
|
||||
approvalInstanceMapper.insert(instance);
|
||||
|
||||
createTask(instance.getId(), firstStep, request.getApplicantId(), now);
|
||||
appendLog(instance.getId(), ApprovalEventType.SUBMITTED.getCode(), request.getApplicantId(), Map.of(
|
||||
"flowId", flow.getId(),
|
||||
"flowVersion", flow.getVersion(),
|
||||
"summary", request.getSummary()
|
||||
), now);
|
||||
Map<String, Object> submittedPayload = new LinkedHashMap<>();
|
||||
submittedPayload.put("flowId", flow.getId());
|
||||
submittedPayload.put("flowVersion", flow.getVersion());
|
||||
submittedPayload.put("summary", request.getSummary());
|
||||
if (request.getApplicationReason() != null) {
|
||||
submittedPayload.put("applicationReason", request.getApplicationReason());
|
||||
}
|
||||
appendLog(instance.getId(), ApprovalEventType.SUBMITTED.getCode(), request.getApplicantId(),
|
||||
submittedPayload, now);
|
||||
appendLog(instance.getId(), ApprovalEventType.STEP_CREATED.getCode(), request.getApplicantId(),
|
||||
buildStepCreatedPayload(firstStep), now);
|
||||
return instance.getId();
|
||||
@@ -228,6 +233,9 @@ public class ApprovalInstanceServiceImpl implements ApprovalInstanceService {
|
||||
snapshot.put("deptId", request.getDeptId());
|
||||
snapshot.put("flowId", flow.getId());
|
||||
snapshot.put("flowVersion", flow.getVersion());
|
||||
if (request.getApplicationReason() != null) {
|
||||
snapshot.put("applicationReason", request.getApplicationReason());
|
||||
}
|
||||
snapshot.put("steps", steps.stream().map(item -> {
|
||||
Map<String, Object> map = new LinkedHashMap<>();
|
||||
map.put("stepNo", item.getStepNo());
|
||||
|
||||
@@ -18,6 +18,7 @@ import tech.easyflow.approval.entity.vo.ApprovalFlowStepVo;
|
||||
import tech.easyflow.approval.entity.vo.ApprovalLogVo;
|
||||
import tech.easyflow.approval.entity.vo.ApprovalTaskVo;
|
||||
import tech.easyflow.approval.enums.ApprovalActionType;
|
||||
import tech.easyflow.approval.enums.ApprovalEventType;
|
||||
import tech.easyflow.approval.enums.ApprovalInstanceStatus;
|
||||
import tech.easyflow.approval.enums.ApprovalResourceType;
|
||||
import tech.easyflow.approval.enums.ApprovalTaskStatus;
|
||||
@@ -144,6 +145,7 @@ public class ApprovalQueryServiceImpl implements ApprovalQueryService {
|
||||
detail.setStatus(instance.getStatus());
|
||||
detail.setCurrentStepNo(instance.getCurrentStepNo());
|
||||
detail.setSummary(instance.getSummary());
|
||||
detail.setApplicationReason(instance.getApplicationReason());
|
||||
detail.setApplicantId(instance.getApplicantId());
|
||||
detail.setSubmittedAt(instance.getSubmittedAt());
|
||||
detail.setFinishedAt(instance.getFinishedAt());
|
||||
@@ -165,6 +167,7 @@ public class ApprovalQueryServiceImpl implements ApprovalQueryService {
|
||||
taskVo.setId(item.getId());
|
||||
taskVo.setStepNo(item.getStepNo());
|
||||
taskVo.setStepName(resolveStepName(frozenStepMap, item.getStepNo()));
|
||||
taskVo.setApplicationReason(instance.getApplicationReason());
|
||||
taskVo.setStatus(item.getStatus());
|
||||
taskVo.setAssigneeRoleCode(item.getAssigneeRoleCode());
|
||||
taskVo.setAssigneeType(item.getAssigneeType());
|
||||
@@ -185,6 +188,9 @@ public class ApprovalQueryServiceImpl implements ApprovalQueryService {
|
||||
ApprovalLogVo logVo = new ApprovalLogVo();
|
||||
logVo.setId(item.getId());
|
||||
logVo.setEventType(item.getEventType());
|
||||
if (ApprovalEventType.SUBMITTED.getCode().equals(item.getEventType())) {
|
||||
logVo.setApplicationReason(instance.getApplicationReason());
|
||||
}
|
||||
logVo.setOperatorId(item.getOperatorId());
|
||||
logVo.setOperatorAccount(resolveAccountLoginName(accountMap.get(item.getOperatorId())));
|
||||
logVo.setOperatorName(resolveAccountName(accountMap.get(item.getOperatorId())));
|
||||
@@ -305,6 +311,7 @@ public class ApprovalQueryServiceImpl implements ApprovalQueryService {
|
||||
item.setCurrentStepNo(record.getCurrentStepNo());
|
||||
item.setCurrentStepName(resolveCurrentStepName(record));
|
||||
item.setSummary(record.getSummary());
|
||||
item.setApplicationReason(record.getApplicationReason());
|
||||
item.setApplicantId(record.getApplicantId());
|
||||
item.setSubmittedAt(record.getSubmittedAt());
|
||||
item.setFinishedAt(record.getFinishedAt());
|
||||
|
||||
Reference in New Issue
Block a user