feat: 重构标准 Skill 管理与发布链路
- 统一标准 ZIP 导入导出与通用资源模型 - 收口分类范围权限和创建人查询 - 完善发布快照、审批幂等与数据库清理迁移
This commit is contained in:
@@ -61,4 +61,14 @@ public interface ApprovalInstanceService {
|
||||
* @return 审批实例
|
||||
*/
|
||||
ApprovalInstance getById(BigInteger instanceId);
|
||||
|
||||
/**
|
||||
* 判断给定实例是否仍是资源最近创建的审批实例。
|
||||
*
|
||||
* @param instanceId 审批实例 ID
|
||||
* @param resourceType 资源类型
|
||||
* @param resourceId 资源 ID
|
||||
* @return 没有更新实例时返回 {@code true}
|
||||
*/
|
||||
boolean isLatestResourceInstance(BigInteger instanceId, String resourceType, BigInteger resourceId);
|
||||
}
|
||||
|
||||
@@ -274,6 +274,20 @@ public class ApprovalInstanceServiceImpl implements ApprovalInstanceService {
|
||||
.eq(ApprovalInstance::getTenantId, requireCurrentTenantId()));
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public boolean isLatestResourceInstance(BigInteger instanceId,
|
||||
String resourceType,
|
||||
BigInteger resourceId) {
|
||||
return approvalInstanceMapper.selectCountByQuery(QueryWrapper.create()
|
||||
.eq(ApprovalInstance::getTenantId, requireCurrentTenantId())
|
||||
.eq(ApprovalInstance::getResourceType, resourceType)
|
||||
.eq(ApprovalInstance::getResourceId, resourceId)
|
||||
.gt(ApprovalInstance::getId, instanceId)) == 0;
|
||||
}
|
||||
|
||||
private Map<String, Object> buildInstanceSnapshot(ApprovalSubmitRequest request, ApprovalFlowDetailVo flow,
|
||||
List<ApprovalFlowStepVo> steps, SysDept applicantDept) {
|
||||
Map<String, Object> snapshot = new LinkedHashMap<>();
|
||||
|
||||
Reference in New Issue
Block a user