From d77fc8f4e2e15ff2b2d0f0300e5864f1d47a1153 Mon Sep 17 00:00:00 2001 From: ddmte32 Date: Fri, 29 Aug 2025 17:33:27 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=A1=E6=89=B9=E6=8E=A5=E5=8F=A3=E5=BC=80?= =?UTF-8?q?=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/api/RemoteInfoPublishService.java | 5 +- .../core/constant/ServiceNameConstants.java | 5 + .../approval/SysApprovalController.java | 103 +++++++++++- .../ruoyi/platform/domain/ApplyRequest.java | 35 +++++ .../com/ruoyi/platform/domain/Approval.java | 31 ++++ .../platform/domain/ApprovalRequest.java | 3 + .../ruoyi/platform/domain/ApprovalStatus.java | 16 +- .../ruoyi/platform/domain/ApprovalType.java | 32 ++++ .../platform/mapper/ApprovalInfoMapper.java | 30 ++++ .../platform/service/ApprovalService.java | 23 ++- .../service/impl/ApprovalServiceImpl.java | 146 ++++++++++++++++-- .../service/impl/NewDatasetServiceImpl.java | 32 +++- .../managementPlatform/ApprovalInfoMapper.xml | 139 +++++++++++++++++ 13 files changed, 562 insertions(+), 38 deletions(-) create mode 100644 ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/ApplyRequest.java create mode 100644 ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/Approval.java create mode 100644 ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/ApprovalType.java create mode 100644 ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/mapper/ApprovalInfoMapper.java create mode 100644 ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/ApprovalInfoMapper.xml diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/RemoteInfoPublishService.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/RemoteInfoPublishService.java index 45c615d0..f1682ad5 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/RemoteInfoPublishService.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/RemoteInfoPublishService.java @@ -4,7 +4,6 @@ import com.ruoyi.common.core.constant.SecurityConstants; import com.ruoyi.common.core.constant.ServiceNameConstants; import com.ruoyi.common.core.domain.R; import com.ruoyi.system.api.domain.NewSysNotificationParamsVo; -import com.ruoyi.system.api.domain.SysUser; import com.ruoyi.system.api.factory.RemoteInfoPublishFallbackFactory; import com.ruoyi.system.api.model.LoginUser; import org.springframework.cloud.openfeign.FeignClient; @@ -15,7 +14,7 @@ import org.springframework.web.bind.annotation.*; * * @author ruoyi */ -@FeignClient(contextId = "remoteUserService", value = ServiceNameConstants.SYSTEM_SERVICE, fallbackFactory = RemoteInfoPublishFallbackFactory.class) +@FeignClient(contextId = "remoteSysGnsWriterService", value = ServiceNameConstants.SYS_NOTIFICATION_WRITER, fallbackFactory = RemoteInfoPublishFallbackFactory.class) public interface RemoteInfoPublishService { /** @@ -24,6 +23,6 @@ public interface RemoteInfoPublishService * @param newSysNotificationParamsVo 系统通知 * @return 结果 */ - @PostMapping("/gns/notification/gitlink") + @PostMapping("/notification/gitlink") public R pushSysInfo(NewSysNotificationParamsVo newSysNotificationParamsVo); } diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/ServiceNameConstants.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/ServiceNameConstants.java index 32f01374..5015d840 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/ServiceNameConstants.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/ServiceNameConstants.java @@ -23,4 +23,9 @@ public class ServiceNameConstants public static final String FILE_SERVICE = "ruoyi-file"; public static final String MANAGEMENT_SERVICE = "management-platform"; + + /** + * 系统通知 + */ + public static final String SYS_NOTIFICATION_WRITER = "microservices-gns-writer"; } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/approval/SysApprovalController.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/approval/SysApprovalController.java index 1e109e89..be85754b 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/approval/SysApprovalController.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/approval/SysApprovalController.java @@ -1,18 +1,18 @@ package com.ruoyi.platform.controller.approval; +import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.web.domain.AjaxResult; +import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.platform.domain.ApprovalRequest; import com.ruoyi.platform.service.ApprovalService; -import com.ruoyi.platform.vo.NewDatasetVo; +import com.ruoyi.system.api.model.LoginUser; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.util.List; @RestController @RequestMapping("sysApproval") @@ -22,12 +22,99 @@ public class SysApprovalController { @Resource private ApprovalService approvalService; - @PostMapping("/publish") - public AjaxResult publish(@RequestBody ApprovalRequest approvalRequest) { - approvalService.publish(approvalRequest); + /** + * 申请人提交审批 + * @param approvalRequest + * @return + */ + @PostMapping("/submit") + public AjaxResult submit(@RequestBody ApprovalRequest approvalRequest) { + approvalService.submit(approvalRequest); + return AjaxResult.success("审批完成"); + } + + /** + * 获取申请人申请列表 + * @return + */ + @GetMapping("/my-apply") + public R> getMyApplyList() { + LoginUser loginUser = SecurityUtils.getLoginUser(); + return R.ok(approvalService.getMyApplyList(loginUser)); + } + + /** + * 获取申请人已申请列表 + * @return + */ + @GetMapping("/my-applied") + public R> getMyAppliedList() { + LoginUser loginUser = SecurityUtils.getLoginUser(); + return R.ok(approvalService.getMyAppliedList(loginUser)); + } + + /** + * 获取申请人被拒绝列表 + * @return + */ + @GetMapping("/my-rejected") + public R> getMyRejectedList() { + LoginUser loginUser = SecurityUtils.getLoginUser(); + return R.ok(approvalService.getMyRejectedList(loginUser)); + } + + /** + * 审批人审批 + * @param approval + * @return + */ + @PostMapping("/approve") + public AjaxResult approve(@RequestBody ApprovalRequest approval) { + approvalService.approve(approval); return AjaxResult.success("审批完成"); } + /** + * 审批人 + * @param approval + * @return + */ + @PostMapping("/reject") + public AjaxResult reject(@RequestBody ApprovalRequest approval) { + approvalService.reject(approval); + return AjaxResult.success("审批完成"); + } + + /** + * 获取审批人审批列表 + * @return + */ + @GetMapping("/my-approve") + public R> getMyApproveList() { + LoginUser loginUser = SecurityUtils.getLoginUser(); + return R.ok(approvalService.getMyApproveList(loginUser)); + } + + /** + * 获取审批人待审批列表 + * @return + */ + @GetMapping("/to-approve") + public R> getToApproveList() { + LoginUser loginUser = SecurityUtils.getLoginUser(); + return R.ok(approvalService.getToApproveList(loginUser)); + } + + /** + * 获取审批人已审批列表 + * @return + */ + @GetMapping("/approved") + public R> getApprovedList() { + LoginUser loginUser = SecurityUtils.getLoginUser(); + return R.ok(approvalService.getApprovedList(loginUser)); + } + /** * 新增审批单 * diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/ApplyRequest.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/ApplyRequest.java new file mode 100644 index 00000000..43290bd6 --- /dev/null +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/ApplyRequest.java @@ -0,0 +1,35 @@ +package com.ruoyi.platform.domain; + +import com.fasterxml.jackson.databind.PropertyNamingStrategy; +import com.fasterxml.jackson.databind.annotation.JsonNaming; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +@Data +@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class) +@ApiModel(description = "审批") +public class ApplyRequest { + + @ApiModelProperty(name = "status", value = "审批状态:0待审批;1已通过;2未通过") + private Integer status; + + @ApiModelProperty(name = "applicantId",value = "申请人ID") + private Long applicantId; + + @ApiModelProperty(name = "applicantTime",value = "申请时间") + private Date applicantTime; + + @ApiModelProperty(name = "title",value = "审批标题") + private String title; + + @ApiModelProperty(name = "type",value = "审批类型") + private String type; + + @ApiModelProperty(name = "url",value = "内容详情链接") + private String url; + + +} diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/Approval.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/Approval.java new file mode 100644 index 00000000..f2039ba7 --- /dev/null +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/Approval.java @@ -0,0 +1,31 @@ +package com.ruoyi.platform.domain; + +import com.fasterxml.jackson.databind.PropertyNamingStrategy; +import com.fasterxml.jackson.databind.annotation.JsonNaming; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +@Data +@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class) +@ApiModel(description = "审批") +public class Approval { + + @ApiModelProperty(name = "status", value = "审批状态:0待审批;1已通过;2未通过") + private Integer status; + + @ApiModelProperty(name = "result",value = "审批结果") + private String result; + + @ApiModelProperty(name = "content",value = "审批内容") + private String content; + + @ApiModelProperty(name = "approverId",value = "审批人ID") + private Long approverId; + + @ApiModelProperty(name = "approverTime",value = "审批时间") + private Date approverTime; + +} diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/ApprovalRequest.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/ApprovalRequest.java index 9ccc7c12..72b6f6bf 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/ApprovalRequest.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/ApprovalRequest.java @@ -28,6 +28,9 @@ public class ApprovalRequest { @ApiModelProperty(name = "applicantId",value = "申请人ID") private Long applicantId; + @ApiModelProperty(name = "applicantName",value = "申请人名称") + private String applicantName; + @ApiModelProperty(name = "applicantTime",value = "申请时间") private Date applicantTime; diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/ApprovalStatus.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/ApprovalStatus.java index ace7428c..28331f43 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/ApprovalStatus.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/ApprovalStatus.java @@ -4,13 +4,16 @@ package com.ruoyi.platform.domain; public enum ApprovalStatus { PENDING(0,"待审批"), APPROVED(1,"已通过"), - REJECTED(2,"未通过"), + REJECTED(2,"未通过") ; private String description; private Integer code; - ApprovalStatus(Integer code,String description) {} + ApprovalStatus(Integer code,String description) { + this.code = code; + this.description = description; + } public Integer getCode() { return code; @@ -18,6 +21,13 @@ public enum ApprovalStatus { public String getDescription() { return description; } - + public static String getDescription(Integer code) { + for (ApprovalStatus approvalStatus : ApprovalStatus.values()) { + if (approvalStatus.getCode().equals(code)) { + return approvalStatus.getDescription(); + } + } + return null; + } } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/ApprovalType.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/ApprovalType.java new file mode 100644 index 00000000..ce609d95 --- /dev/null +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/ApprovalType.java @@ -0,0 +1,32 @@ +package com.ruoyi.platform.domain; + + +public enum ApprovalType { + DATASET("DATASET","数据集"), + MODEL("MODEL","模型") + ; + private String description; + + private String code; + + ApprovalType(String code, String description) { + this.description = description; + this.code = code; + } + + public String getCode() { + return code; + } + public String getDescription() { + return description; + } + + public static String getDescription(String code) { + for (ApprovalType approvalType : ApprovalType.values()) { + if (approvalType.getCode().equals(code)) { + return approvalType.getDescription(); + } + } + return null; + } +} diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/mapper/ApprovalInfoMapper.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/mapper/ApprovalInfoMapper.java new file mode 100644 index 00000000..2c494f1e --- /dev/null +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/mapper/ApprovalInfoMapper.java @@ -0,0 +1,30 @@ +package com.ruoyi.platform.mapper; + +import com.ruoyi.platform.domain.ApprovalRequest; +import feign.Param; + +import java.util.List; + +/** + * 参数配置 数据层 + * + * @author ruoyi + */ +public interface ApprovalInfoMapper +{ + /** + * 新增参数配置 + * + * @param approvalRequest 参数配置信息 + * @return 结果 + */ + public int insertApproval(ApprovalRequest approvalRequest); + + public int updateApproval(ApprovalRequest approvalRequest); + + List selectMyApplyList(@Param("applicantId") Long userid,@Param("status") Integer status); + + List selectMyApproveList(@Param("approverId") Long userid,@Param("status") List statusList); + + +} \ No newline at end of file diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/ApprovalService.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/ApprovalService.java index ee85f211..e04c82bd 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/ApprovalService.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/ApprovalService.java @@ -1,11 +1,30 @@ package com.ruoyi.platform.service; - import com.ruoyi.platform.domain.ApprovalRequest; +import com.ruoyi.system.api.model.LoginUser; + +import java.util.List; public interface ApprovalService { - void publish(ApprovalRequest approvalRequest); + void submit(ApprovalRequest approvalRequest); void add(ApprovalRequest approvalRequest); + + void approve(ApprovalRequest approval); + + void reject(ApprovalRequest approval); + + List getMyAppliedList(LoginUser loginUser); + + List getMyRejectedList(LoginUser loginUser); + + List getMyApplyList(LoginUser loginUser); + + List getMyApproveList(LoginUser loginUser); + + List getToApproveList(LoginUser loginUser); + + List getApprovedList(LoginUser loginUser); + } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ApprovalServiceImpl.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ApprovalServiceImpl.java index 7f646e40..c614e873 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ApprovalServiceImpl.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ApprovalServiceImpl.java @@ -1,48 +1,150 @@ package com.ruoyi.platform.service.impl; import cn.hutool.core.bean.BeanUtil; -import com.alibaba.fastjson.JSON; -import com.ruoyi.platform.domain.ApprovalRequest; -import com.ruoyi.platform.domain.ApprovalStatus; -import com.ruoyi.platform.domain.Models; +import cn.hutool.core.collection.ListUtil; +import cn.hutool.core.util.StrUtil; +import com.ruoyi.platform.domain.*; +import com.ruoyi.platform.mapper.ApprovalInfoMapper; import com.ruoyi.platform.service.ApprovalService; import com.ruoyi.platform.service.ModelsService; import com.ruoyi.platform.service.NewDatasetService; import com.ruoyi.platform.vo.NewDatasetVo; +import com.ruoyi.system.api.RemoteInfoPublishService; import com.ruoyi.system.api.domain.NewSysNotificationParamsVo; +import com.ruoyi.system.api.model.LoginUser; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.List; @Service public class ApprovalServiceImpl implements ApprovalService { private static final Logger logger = LoggerFactory.getLogger(ApprovalServiceImpl.class); +// @Resource +// private NewDatasetService newDatasetService; +// +// @Resource +// private ModelsService modelsService; + @Resource - private NewDatasetService newDatasetService; + private ApprovalInfoMapper approvalInfoMapper; @Resource - private ModelsService modelsService; + private RemoteInfoPublishService infoPublishService; + + @Override + public void submit(ApprovalRequest approvalRequest) { + approvalInfoMapper.insertApproval(approvalRequest); + } @Override - public void publish(ApprovalRequest approvalRequest) { - //推送结果给申请人 + public void add(ApprovalRequest approvalRequest) { + + } + + @Override + public void approve(ApprovalRequest approval) { + approval.setStatus(ApprovalStatus.APPROVED.getCode()); + //更改审批单状态 + approvalInfoMapper.updateApproval(approval); + //推送消息给申请人 NewSysNotificationParamsVo newSysNotificationParamsVo = new NewSysNotificationParamsVo(); - newSysNotificationParamsVo.setContent(JSON.toJSONString(approvalRequest)); - newSysNotificationParamsVo.setSender(approvalRequest.getApproverId()); - newSysNotificationParamsVo.setReceivers(approvalRequest.getApplicantId().toString()); + + String applyContentTemplate="发布的{}\"{}\"{}审核已通过"; + String appContentFormat = StrUtil.format(applyContentTemplate,ApprovalType.getDescription(approval.getType()) + ,getModelNameByType(approval.getContent(),approval.getType())); + newSysNotificationParamsVo.setType(2); + newSysNotificationParamsVo.setSender(approval.getApplicantId()); + newSysNotificationParamsVo.setNotification_url(approval.getUrl()); + newSysNotificationParamsVo.setReceivers(approval.getApproverId().toString()); + newSysNotificationParamsVo.setContent(appContentFormat); + infoPublishService.pushSysInfo(newSysNotificationParamsVo); + + //推送消息给审批人 + NewSysNotificationParamsVo approveParamsVo = new NewSysNotificationParamsVo(); + + String contentTemplate="{}发布的{}\"{}\"{}审核已通过"; + String contentFormat = StrUtil.format(contentTemplate,approval.getApplicantName(),ApprovalType.getDescription(approval.getType()) + ,getModelNameByType(approval.getContent(),approval.getType())); + + approveParamsVo.setType(2); + approveParamsVo.setContent(contentFormat); + approveParamsVo.setSender(approval.getApproverId()); + approveParamsVo.setNotification_url(approval.getUrl()); + approveParamsVo.setReceivers(approval.getApplicantId().toString()); + infoPublishService.pushSysInfo(newSysNotificationParamsVo); //审批通过,更改状态 - updateStatus(approvalRequest); + updateStatus(approval); } @Override - public void add(ApprovalRequest approvalRequest) { + public void reject(ApprovalRequest approval) { + approval.setStatus(ApprovalStatus.APPROVED.getCode()); + //更改审批单状态 + approvalInfoMapper.updateApproval(approval); + //推送消息给申请人 + NewSysNotificationParamsVo newSysNotificationParamsVo = new NewSysNotificationParamsVo(); + + String applyContentTemplate="发布的{}\"{}\"{}审核未通过"; + String appContentFormat = StrUtil.format(applyContentTemplate,ApprovalType.getDescription(approval.getType()) + ,getModelNameByType(approval.getContent(),approval.getType())); + newSysNotificationParamsVo.setType(2); + newSysNotificationParamsVo.setSender(approval.getApplicantId()); + newSysNotificationParamsVo.setNotification_url(approval.getUrl()); + newSysNotificationParamsVo.setReceivers(approval.getApproverId().toString()); + newSysNotificationParamsVo.setContent(appContentFormat); + infoPublishService.pushSysInfo(newSysNotificationParamsVo); + + //推送消息给审批人 + NewSysNotificationParamsVo approveParamsVo = new NewSysNotificationParamsVo(); + + String contentTemplate="{}发布的{}\"{}\"{}审核未通过"; + String contentFormat = StrUtil.format(contentTemplate,approval.getApplicantName(),ApprovalType.getDescription(approval.getType()) + ,getModelNameByType(approval.getContent(),approval.getType())); + + approveParamsVo.setType(2); + approveParamsVo.setContent(contentFormat); + approveParamsVo.setSender(approval.getApproverId()); + approveParamsVo.setNotification_url(approval.getUrl()); + approveParamsVo.setReceivers(approval.getApplicantId().toString()); + infoPublishService.pushSysInfo(newSysNotificationParamsVo); + } + + @Override + public List getMyAppliedList(LoginUser loginUser) { + return approvalInfoMapper.selectMyApplyList(loginUser.getUserid(), ApprovalStatus.PENDING.getCode()); + } + + @Override + public List getMyRejectedList(LoginUser loginUser) { + return approvalInfoMapper.selectMyApplyList(loginUser.getUserid(), ApprovalStatus.REJECTED.getCode()); + } + + @Override + public List getMyApplyList(LoginUser loginUser) { + return approvalInfoMapper.selectMyApplyList(loginUser.getUserid(), null); + } + + @Override + public List getMyApproveList(LoginUser loginUser) { + return approvalInfoMapper.selectMyApproveList(loginUser.getUserid(), null); + } + + @Override + public List getToApproveList(LoginUser loginUser) { + return approvalInfoMapper.selectMyApproveList(loginUser.getUserid(), ListUtil.toList(ApprovalStatus.PENDING.getCode())); + } + + @Override + public List getApprovedList(LoginUser loginUser) { + return approvalInfoMapper.selectMyApproveList(loginUser.getUserid(), ListUtil.toList(ApprovalStatus.REJECTED.getCode(), ApprovalStatus.APPROVED.getCode())); } private void updateStatus(ApprovalRequest approvalRequest) { @@ -52,16 +154,28 @@ public class ApprovalServiceImpl implements ApprovalService { case "DATASET": NewDatasetVo dataset = BeanUtil.toBean(content, NewDatasetVo.class); try { - newDatasetService.updateVersionDesc(dataset); - }catch (Exception e){ +// newDatasetService.updateVersionDesc(dataset); + } catch (Exception e) { logger.error(e.getMessage()); } break; case "MODEL": Models models = BeanUtil.toBean(content, Models.class); - modelsService.update(models); +// modelsService.update(models); break; } } } + + private String getModelNameByType(String content,String type) { + if (ApprovalType.DATASET.getCode().equals(type)) { + NewDatasetVo newDatasetVo = BeanUtil.toBean(content, NewDatasetVo.class); + return newDatasetVo.getName(); + } + if (ApprovalType.MODEL.getCode().equals(type)) { + Models models = BeanUtil.toBean(content, Models.class); + return models.getName(); + } + return null; + } } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/NewDatasetServiceImpl.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/NewDatasetServiceImpl.java index 79c6c3af..a5171451 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/NewDatasetServiceImpl.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/NewDatasetServiceImpl.java @@ -1,5 +1,6 @@ package com.ruoyi.platform.service.impl; +import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson2.JSON; @@ -7,11 +8,13 @@ import com.ruoyi.common.core.utils.DateUtils; import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.platform.domain.*; import com.ruoyi.platform.mapper.*; +import com.ruoyi.platform.service.ApprovalService; import com.ruoyi.platform.service.DatasetTempStorageService; import com.ruoyi.platform.service.GitService; import com.ruoyi.platform.service.NewDatasetService; 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.model.LoginUser; import org.apache.commons.io.FileUtils; @@ -64,6 +67,12 @@ public class NewDatasetServiceImpl implements NewDatasetService { @Resource private DevEnvironmentDao devEnvironmentDao; + @Resource + private ApprovalService approvalService; + + @Resource + private RemoteInfoPublishService remoteInfoPublishService; + @Value("${spring.redis.host}") private String redisHost; @Value("${spring.redis.port}") @@ -717,19 +726,30 @@ public class NewDatasetServiceImpl implements NewDatasetService { String username = loginUser.getUsername(); Long userid = loginUser.getUserid(); ApprovalRequest approvalRequest = new ApprovalRequest(); - approvalRequest.setType("DATASET"); + approvalRequest.setApplicantName(username); + approvalRequest.setType(ApprovalType.DATASET.getCode()); approvalRequest.setApplicantId(userid); - approvalRequest.setContent(JSON.toJSONString(datasetVo)); approvalRequest.setStatus(ApprovalStatus.PENDING.getCode()); - String title = username + "发布的数据集\"" + datasetVo.getIdentifier() + "\"需要审核,请查看"; - approvalRequest.setTitle(title); + + String titleTemplate="{}发布的数据集\"{}\"需要审核,请查看"; + String urlTemplate = "/dataset/dataset/info/{}?name={}&owner={}&identifier={}&is_public={}"; + + String titleFormat = StrUtil.format(titleTemplate, username,datasetVo.getIdentifier()); + String urlFormat = StrUtil.format(urlTemplate, datasetVo.getId(), datasetVo.getName(), datasetVo.getOwner(), datasetVo.getIdentifier(), datasetVo.getIsPublic()); + + approvalRequest.setTitle(titleFormat); + approvalRequest.setUrl(urlFormat); +// approvalRequest.setApplicantTime(new Date()); + approvalRequest.setContent(JSON.toJSONString(datasetVo)); + approvalService.submit(approvalRequest); NewSysNotificationParamsVo paramsVo = new NewSysNotificationParamsVo(); - paramsVo.setContent(title); - paramsVo.setReceivers("1313"); + paramsVo.setContent(titleFormat); + paramsVo.setReceivers("1"); paramsVo.setSender(userid); paramsVo.setType(2); paramsVo.setNotification_url("/system/approval"); +// remoteInfoPublishService.pushSysInfo(paramsVo); return "发布成功"; } diff --git a/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/ApprovalInfoMapper.xml b/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/ApprovalInfoMapper.xml new file mode 100644 index 00000000..86397e4c --- /dev/null +++ b/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/ApprovalInfoMapper.xml @@ -0,0 +1,139 @@ + + + + + + + + + + + + + + + + + + + + + select id, status, result, content, applicant_id, applicant_time,applicant_name, approver_id, approver_time, title, type ,url + from approval_info + + + + insert into approval_info( + status, + result, + content, + applicant_time, + applicant_id, + approverId, + title, + type, + url, + approver_time + )values( + #{status}, + #{result}, + #{content}, + #{applicantId}, + #{approverId}, + #{approverTime}, + #{title}, + #{type}, + #{url}, + sysdate() + ) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + update approval_info + + status = #{status}, + result = #{result}, + content = #{content}, + applicant_id = #{applicantId}, + applicant_time = #{applicantTime}, + applicant_name = #{applicantName}, + approver_id = #{approverId}, + approver_time = #{approverTime}, + title = #{title}, + type = #{type}, + url = #{url}, + + + where id = #{id} + + + + + + + + delete from sys_config where config_id = #{configId} + + + + delete from sys_config where config_id in + + #{configId} + + + + \ No newline at end of file