| @@ -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<LoginUser> pushSysInfo(NewSysNotificationParamsVo newSysNotificationParamsVo); | |||
| } | |||
| @@ -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"; | |||
| } | |||
| @@ -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<List<ApprovalRequest>> getMyApplyList() { | |||
| LoginUser loginUser = SecurityUtils.getLoginUser(); | |||
| return R.ok(approvalService.getMyApplyList(loginUser)); | |||
| } | |||
| /** | |||
| * 获取申请人已申请列表 | |||
| * @return | |||
| */ | |||
| @GetMapping("/my-applied") | |||
| public R<List<ApprovalRequest>> getMyAppliedList() { | |||
| LoginUser loginUser = SecurityUtils.getLoginUser(); | |||
| return R.ok(approvalService.getMyAppliedList(loginUser)); | |||
| } | |||
| /** | |||
| * 获取申请人被拒绝列表 | |||
| * @return | |||
| */ | |||
| @GetMapping("/my-rejected") | |||
| public R<List<ApprovalRequest>> 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<List<ApprovalRequest>> getMyApproveList() { | |||
| LoginUser loginUser = SecurityUtils.getLoginUser(); | |||
| return R.ok(approvalService.getMyApproveList(loginUser)); | |||
| } | |||
| /** | |||
| * 获取审批人待审批列表 | |||
| * @return | |||
| */ | |||
| @GetMapping("/to-approve") | |||
| public R<List<ApprovalRequest>> getToApproveList() { | |||
| LoginUser loginUser = SecurityUtils.getLoginUser(); | |||
| return R.ok(approvalService.getToApproveList(loginUser)); | |||
| } | |||
| /** | |||
| * 获取审批人已审批列表 | |||
| * @return | |||
| */ | |||
| @GetMapping("/approved") | |||
| public R<List<ApprovalRequest>> getApprovedList() { | |||
| LoginUser loginUser = SecurityUtils.getLoginUser(); | |||
| return R.ok(approvalService.getApprovedList(loginUser)); | |||
| } | |||
| /** | |||
| * 新增审批单 | |||
| * | |||
| @@ -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; | |||
| } | |||
| @@ -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; | |||
| } | |||
| @@ -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; | |||
| @@ -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; | |||
| } | |||
| } | |||
| @@ -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; | |||
| } | |||
| } | |||
| @@ -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<ApprovalRequest> selectMyApplyList(@Param("applicantId") Long userid,@Param("status") Integer status); | |||
| List<ApprovalRequest> selectMyApproveList(@Param("approverId") Long userid,@Param("status") List<Integer> statusList); | |||
| } | |||
| @@ -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<ApprovalRequest> getMyAppliedList(LoginUser loginUser); | |||
| List<ApprovalRequest> getMyRejectedList(LoginUser loginUser); | |||
| List<ApprovalRequest> getMyApplyList(LoginUser loginUser); | |||
| List<ApprovalRequest> getMyApproveList(LoginUser loginUser); | |||
| List<ApprovalRequest> getToApproveList(LoginUser loginUser); | |||
| List<ApprovalRequest> getApprovedList(LoginUser loginUser); | |||
| } | |||
| @@ -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="<b>您</b>发布的{}<b>\"{}\"</b>{}审核已通过"; | |||
| 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="<b>{}</b>发布的{}<b>\"{}\"</b>{}审核已通过"; | |||
| 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="<b>您</b>发布的{}<b>\"{}\"</b>{}审核未通过"; | |||
| 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="<b>{}</b>发布的{}<b>\"{}\"</b>{}审核未通过"; | |||
| 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<ApprovalRequest> getMyAppliedList(LoginUser loginUser) { | |||
| return approvalInfoMapper.selectMyApplyList(loginUser.getUserid(), ApprovalStatus.PENDING.getCode()); | |||
| } | |||
| @Override | |||
| public List<ApprovalRequest> getMyRejectedList(LoginUser loginUser) { | |||
| return approvalInfoMapper.selectMyApplyList(loginUser.getUserid(), ApprovalStatus.REJECTED.getCode()); | |||
| } | |||
| @Override | |||
| public List<ApprovalRequest> getMyApplyList(LoginUser loginUser) { | |||
| return approvalInfoMapper.selectMyApplyList(loginUser.getUserid(), null); | |||
| } | |||
| @Override | |||
| public List<ApprovalRequest> getMyApproveList(LoginUser loginUser) { | |||
| return approvalInfoMapper.selectMyApproveList(loginUser.getUserid(), null); | |||
| } | |||
| @Override | |||
| public List<ApprovalRequest> getToApproveList(LoginUser loginUser) { | |||
| return approvalInfoMapper.selectMyApproveList(loginUser.getUserid(), ListUtil.toList(ApprovalStatus.PENDING.getCode())); | |||
| } | |||
| @Override | |||
| public List<ApprovalRequest> 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; | |||
| } | |||
| } | |||
| @@ -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="<b>{}</b>发布的数据集<b>\"{}\"</b>需要审核,请查看"; | |||
| 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 "发布成功"; | |||
| } | |||
| @@ -0,0 +1,139 @@ | |||
| <?xml version="1.0" encoding="UTF-8" ?> | |||
| <!DOCTYPE mapper | |||
| PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" | |||
| "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | |||
| <mapper namespace="com.ruoyi.platform.mapper.ApprovalInfoMapper"> | |||
| <resultMap type="com.ruoyi.platform.domain.ApprovalRequest" id="SysConfigResult"> | |||
| <id property="id" column="id" /> | |||
| <result property="status" column="status" /> | |||
| <result property="result" column="result" /> | |||
| <result property="content" column="content" /> | |||
| <result property="applicantId" column="applicant_id" /> | |||
| <result property="applicantTime" column="applicant_time" jdbcType="TIMESTAMP" /> | |||
| <result property="applicantName" column="applicant_name" /> | |||
| <result property="approverId" column="approver_id" /> | |||
| <result property="approverTime" column="approver_time" jdbcType="TIMESTAMP" /> | |||
| <result property="title" column="title" /> | |||
| <result property="type" column="type" /> | |||
| <result property="url" column="url" /> | |||
| </resultMap> | |||
| <sql id="selectApprovalRequestVo"> | |||
| select id, status, result, content, applicant_id, applicant_time,applicant_name, approver_id, approver_time, title, type ,url | |||
| from approval_info | |||
| </sql> | |||
| <insert id="insertApproval" parameterType="com.ruoyi.platform.domain.ApprovalRequest" useGeneratedKeys="true" keyProperty="id"> | |||
| insert into approval_info( | |||
| <if test="status != null ">status,</if> | |||
| <if test="result != null and result != ''">result,</if> | |||
| <if test="content != null and content != ''">content,</if> | |||
| <if test="applicantTime != null">applicant_time,</if> | |||
| <if test="applicantId != null and applicantId != ''">applicant_id,</if> | |||
| <if test="approverId != null and approverId != ''">approverId,</if> | |||
| <if test="title != null and title != ''">title,</if> | |||
| <if test="type != null and type != ''">type,</if> | |||
| <if test="url != null and url != ''">url,</if> | |||
| approver_time | |||
| )values( | |||
| <if test="status != null">#{status},</if> | |||
| <if test="result != null and result != ''">#{result},</if> | |||
| <if test="content != null and content != ''">#{content},</if> | |||
| <if test="applicantId != null and applicantId != ''">#{applicantId},</if> | |||
| <if test="approverId != null and approverId != ''">#{approverId},</if> | |||
| <if test="approverTime != null">#{approverTime},</if> | |||
| <if test="title != null and title != ''">#{title},</if> | |||
| <if test="type != null and type != ''">#{type},</if> | |||
| <if test="url != null and url != ''">#{url},</if> | |||
| sysdate() | |||
| ) | |||
| </insert> | |||
| <!-- <insert id="insertApproval" parameterType="com.ruoyi.platform.domain.ApprovalRequest" useGeneratedKeys="true" keyProperty="id">--> | |||
| <!-- insert into approval_info (--> | |||
| <!-- <if test="status != null and status != '' ">status,</if>--> | |||
| <!-- <if test="result != null and result != '' ">result,</if>--> | |||
| <!-- <if test="content != null and content != '' ">content,</if>--> | |||
| <!-- <if test="applicantId != null and applicantId != '' ">applicant_id,</if>--> | |||
| <!-- <if test="applicantTime != null ">applicant_time,</if>--> | |||
| <!-- <if test="applicantName != null and applicantName != ''">applicant_name,</if>--> | |||
| <!-- <if test="approverId != null and approverId != ''">approver_id,</if>--> | |||
| <!-- <if test="approverTime != null ">approver_time,</if>--> | |||
| <!-- <if test="title != null and title != ''">title,</if>--> | |||
| <!-- <if test="type != null and type != ''">type,</if>--> | |||
| <!-- <if test="url != null and url != ''">url,</if>--> | |||
| <!-- )values(--> | |||
| <!-- <if test="status != null and status != ''">#{status},</if>--> | |||
| <!-- <if test="result != null and result != ''">#{result},</if>--> | |||
| <!-- <if test="content != null and content != ''">#{content},</if>--> | |||
| <!-- <if test="applicantId != null and applicantId != ''">#{applicantId},</if>--> | |||
| <!-- <if test="applicantTime != null ">#{applicantTime},</if>--> | |||
| <!-- <if test="applicantName != null and applicantName != ''">#{applicantName},</if>--> | |||
| <!-- <if test="approverId != null and approverId != ''">#{approverId},</if>--> | |||
| <!-- <if test="approverTime != null ">#{approverTime},</if>--> | |||
| <!-- <if test="title != null and title != ''">#{title},</if>--> | |||
| <!-- <if test="type != null and type != ''">#{type},</if>--> | |||
| <!-- <if test="url != null and url != ''">#{url},</if>--> | |||
| <!-- )--> | |||
| <!-- </insert>--> | |||
| <update id="updateApproval" parameterType="com.ruoyi.platform.domain.ApprovalRequest"> | |||
| update approval_info | |||
| <set> | |||
| <if test="status != null and status != ''">status = #{status},</if> | |||
| <if test="result != null and result != ''">result = #{result},</if> | |||
| <if test="content != null and content != ''">content = #{content},</if> | |||
| <if test="applicantId != null and applicantId != ''">applicant_id = #{applicantId},</if> | |||
| <if test="applicantTime != null ">applicant_time = #{applicantTime},</if> | |||
| <if test="applicantName != null and applicantName != ''">applicant_name = #{applicantName},</if> | |||
| <if test="approverId != null">approver_id = #{approverId},</if> | |||
| <if test="approverTime != null">approver_time = #{approverTime},</if> | |||
| <if test="title != null">title = #{title},</if> | |||
| <if test="type != null">type = #{type},</if> | |||
| <if test="url != null">url = #{url},</if> | |||
| </set> | |||
| where id = #{id} | |||
| </update> | |||
| <select id="selectMyApplyList" resultMap="SysConfigResult"> | |||
| <include refid="selectApprovalRequestVo"/> | |||
| <where> | |||
| <if test="applicantId != null and applicantId != ''"> | |||
| AND applicant_id = #{applicantId} | |||
| </if> | |||
| <if test="status != null and status != ''"> | |||
| AND status = #{status} | |||
| </if> | |||
| </where> | |||
| </select> | |||
| <select id="selectMyApproveList" resultMap="SysConfigResult"> | |||
| <include refid="selectApprovalRequestVo"/> | |||
| <where> | |||
| <if test="approverId != null and approverId != ''"> | |||
| AND approver_id = #{approverId} | |||
| </if> | |||
| <if test="status != null and status != ''"> | |||
| AND status in | |||
| <foreach collection="array" item="status" open="(" separator="," close=")"> | |||
| #{status} | |||
| </foreach> | |||
| </if> | |||
| </where> | |||
| </select> | |||
| <delete id="deleteConfigById" parameterType="Long"> | |||
| delete from sys_config where config_id = #{configId} | |||
| </delete> | |||
| <delete id="deleteConfigByIds" parameterType="Long"> | |||
| delete from sys_config where config_id in | |||
| <foreach item="configId" collection="array" open="(" separator="," close=")"> | |||
| #{configId} | |||
| </foreach> | |||
| </delete> | |||
| </mapper> | |||