| | |
| | | package org.dromara.workflow.flowable.cmd; |
| | | |
| | | import cn.hutool.core.collection.CollUtil; |
| | | import cn.hutool.core.util.StrUtil; |
| | | import org.dromara.common.core.domain.dto.OssDTO; |
| | | import org.dromara.common.core.service.OssService; |
| | | import org.dromara.common.core.utils.SpringUtils; |
| | | import org.dromara.common.core.utils.StreamUtils; |
| | | import org.dromara.common.core.utils.StringUtils; |
| | | import org.dromara.common.satoken.utils.LoginHelper; |
| | | import org.dromara.system.domain.vo.SysOssVo; |
| | | import org.dromara.system.service.ISysOssService; |
| | | import org.flowable.common.engine.impl.interceptor.Command; |
| | | import org.flowable.common.engine.impl.interceptor.CommandContext; |
| | | import org.flowable.engine.impl.persistence.entity.AttachmentEntity; |
| | | import org.flowable.engine.impl.persistence.entity.AttachmentEntityManager; |
| | | import org.flowable.engine.impl.util.CommandContextUtil; |
| | | |
| | | import java.util.Arrays; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | |
| | | public Boolean execute(CommandContext commandContext) { |
| | | try { |
| | | if (StringUtils.isNotBlank(fileId)) { |
| | | List<Long> fileIds = StreamUtils.toList(Arrays.asList(fileId.split(StrUtil.COMMA)), Long::valueOf); |
| | | List<SysOssVo> sysOssVos = SpringUtils.getBean(ISysOssService.class).listByIds(fileIds); |
| | | if (CollUtil.isNotEmpty(sysOssVos)) { |
| | | for (SysOssVo sysOssVo : sysOssVos) { |
| | | List<OssDTO> ossList = SpringUtils.getBean(OssService.class).selectByIds(fileId); |
| | | if (CollUtil.isNotEmpty(ossList)) { |
| | | for (OssDTO oss : ossList) { |
| | | AttachmentEntityManager attachmentEntityManager = CommandContextUtil.getAttachmentEntityManager(); |
| | | AttachmentEntity attachmentEntity = attachmentEntityManager.create(); |
| | | attachmentEntity.setRevision(1); |
| | | attachmentEntity.setUserId(LoginHelper.getUserId().toString()); |
| | | attachmentEntity.setName(sysOssVo.getOriginalName()); |
| | | attachmentEntity.setDescription(sysOssVo.getOriginalName()); |
| | | attachmentEntity.setType(sysOssVo.getFileSuffix()); |
| | | attachmentEntity.setName(oss.getOriginalName()); |
| | | attachmentEntity.setDescription(oss.getOriginalName()); |
| | | attachmentEntity.setType(oss.getFileSuffix()); |
| | | attachmentEntity.setTaskId(taskId); |
| | | attachmentEntity.setProcessInstanceId(processInstanceId); |
| | | attachmentEntity.setContentId(sysOssVo.getOssId().toString()); |
| | | attachmentEntity.setContentId(oss.getOssId().toString()); |
| | | attachmentEntity.setTime(new Date()); |
| | | attachmentEntityManager.insert(attachmentEntity); |
| | | } |