Browse Source

审批接口开发

dev-opt-cp
ddmte32 5 months ago
parent
commit
d77fc8f4e2
13 changed files with 562 additions and 38 deletions
  1. +2
    -3
      ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/RemoteInfoPublishService.java
  2. +5
    -0
      ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/ServiceNameConstants.java
  3. +95
    -8
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/approval/SysApprovalController.java
  4. +35
    -0
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/ApplyRequest.java
  5. +31
    -0
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/Approval.java
  6. +3
    -0
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/ApprovalRequest.java
  7. +13
    -3
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/ApprovalStatus.java
  8. +32
    -0
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/ApprovalType.java
  9. +30
    -0
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/mapper/ApprovalInfoMapper.java
  10. +21
    -2
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/ApprovalService.java
  11. +130
    -16
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ApprovalServiceImpl.java
  12. +26
    -6
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/NewDatasetServiceImpl.java
  13. +139
    -0
      ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/ApprovalInfoMapper.xml

+ 2
- 3
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/RemoteInfoPublishService.java View File

@@ -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);
}

+ 5
- 0
ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/ServiceNameConstants.java View File

@@ -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";
}

+ 95
- 8
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/approval/SysApprovalController.java View File

@@ -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));
}

/**
* 新增审批单
*


+ 35
- 0
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/ApplyRequest.java View File

@@ -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;


}

+ 31
- 0
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/Approval.java View File

@@ -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;

}

+ 3
- 0
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/ApprovalRequest.java View File

@@ -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;



+ 13
- 3
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/ApprovalStatus.java View File

@@ -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;
}

}

+ 32
- 0
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/ApprovalType.java View File

@@ -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;
}
}

+ 30
- 0
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/mapper/ApprovalInfoMapper.java View File

@@ -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);


}

+ 21
- 2
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/ApprovalService.java View File

@@ -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);

}

+ 130
- 16
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ApprovalServiceImpl.java View File

@@ -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;
}
}

+ 26
- 6
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/NewDatasetServiceImpl.java View File

@@ -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 "发布成功";
}


+ 139
- 0
ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/ApprovalInfoMapper.xml View File

@@ -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>

Loading…
Cancel
Save