|
|
|
@@ -13,7 +13,9 @@ import com.ruoyi.platform.mapper.*; |
|
|
|
import com.ruoyi.platform.service.*; |
|
|
|
import com.ruoyi.platform.utils.*; |
|
|
|
import com.ruoyi.platform.vo.*; |
|
|
|
import com.ruoyi.system.api.RemoteInfoPublishService; |
|
|
|
import com.ruoyi.system.api.constant.Constant; |
|
|
|
import com.ruoyi.system.api.domain.NewSysNotificationParamsVo; |
|
|
|
import com.ruoyi.system.api.model.LoginUser; |
|
|
|
import io.minio.messages.Item; |
|
|
|
import org.apache.commons.io.FileUtils; |
|
|
|
@@ -43,7 +45,6 @@ import java.nio.file.Files; |
|
|
|
import java.nio.file.Path; |
|
|
|
import java.nio.file.Paths; |
|
|
|
import java.util.*; |
|
|
|
import java.util.concurrent.CompletableFuture; |
|
|
|
import java.util.regex.Matcher; |
|
|
|
import java.util.regex.Pattern; |
|
|
|
import java.util.stream.Collectors; |
|
|
|
@@ -98,6 +99,12 @@ public class ModelsServiceImpl implements ModelsService { |
|
|
|
@Resource |
|
|
|
private DVCUtils dvcUtils; |
|
|
|
|
|
|
|
@Resource |
|
|
|
private ApprovalService approvalService; |
|
|
|
|
|
|
|
@Resource |
|
|
|
private RemoteInfoPublishService remoteInfoPublishService; |
|
|
|
|
|
|
|
@Resource |
|
|
|
private AssetWorkflowDao assetWorkflowDao; |
|
|
|
|
|
|
|
@@ -1355,6 +1362,45 @@ public class ModelsServiceImpl implements ModelsService { |
|
|
|
return incrementVersion(versionList); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public String publish(ModelsVo modelsVo, LoginUser loginUser) throws Exception { |
|
|
|
Set<String> roles = loginUser.getRoles(); |
|
|
|
if (roles.contains("admin")) { |
|
|
|
//无需审批,直接通过 |
|
|
|
return "发布成功"; |
|
|
|
} |
|
|
|
ModelsVo modelDetail = getModelDetail(modelsVo.getId(), modelsVo.getIdentifier(), modelsVo.getOwner(), null, false); |
|
|
|
String username = loginUser.getUsername(); |
|
|
|
Long userid = loginUser.getUserid(); |
|
|
|
ApprovalRequest approvalRequest = new ApprovalRequest(); |
|
|
|
approvalRequest.setApplicantName(username); |
|
|
|
approvalRequest.setType(ApprovalType.DATASET.getCode()); |
|
|
|
approvalRequest.setApplicantId(userid); |
|
|
|
approvalRequest.setApproverId(1L); |
|
|
|
approvalRequest.setStatus(ApprovalStatus.PENDING.getCode()); |
|
|
|
|
|
|
|
String titleTemplate = "{}发布的模型<b>\"{}\"</b>需要审核,请查看"; |
|
|
|
String urlTemplate = "/dataset/model/info/{}?name={}&owner={}&identifier={}&is_public={}"; |
|
|
|
|
|
|
|
String titleFormat = StrUtil.format(titleTemplate, username, modelDetail.getName()); |
|
|
|
String urlFormat = StrUtil.format(urlTemplate, modelDetail.getId(), modelDetail.getName(), modelDetail.getOwner(), modelDetail.getIdentifier(), modelDetail.getIsPublic()); |
|
|
|
|
|
|
|
approvalRequest.setTitle(titleFormat); |
|
|
|
approvalRequest.setUrl(urlFormat); |
|
|
|
approvalRequest.setContent(JSON.toJSONString(modelDetail)); |
|
|
|
approvalService.submit(approvalRequest); |
|
|
|
|
|
|
|
NewSysNotificationParamsVo paramsVo = new NewSysNotificationParamsVo(); |
|
|
|
paramsVo.setContent(titleFormat); |
|
|
|
paramsVo.setReceivers("1"); |
|
|
|
paramsVo.setSender(userid); |
|
|
|
paramsVo.setType(2); |
|
|
|
paramsVo.setNotification_url("/system/approval"); |
|
|
|
remoteInfoPublishService.pushSysInfo(paramsVo); |
|
|
|
|
|
|
|
return "发布成功,待管理员审核"; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 从Map列表中提取"v+数字"格式的版本号并升级 |
|
|
|
* |
|
|
|
|