任务确认询问增加权限 + shiro白名单增加工作流接口

This commit is contained in:
CD
2022-11-14 18:06:48 +08:00
parent 819fe5ed08
commit 9397d9c341
5 changed files with 72 additions and 11 deletions
@@ -156,6 +156,8 @@ public class ShiroConfig {
filterChainDefinitionMap.put("/todoCenter/processInfoEO/processCall", "anon");
// 流程信息明细表 工作流处理数据接口排除
filterChainDefinitionMap.put("/todoCenter/processInfoDetailEO/processCall", "anon");
// 项目权限表 工作流处理数据接口排除
filterChainDefinitionMap.put("/project/projectUserPermission/setPermission", "anon");
filterChainDefinitionMap.put("/lark/larkEventSubscriptionConfig", "anon"); //飞书调用接口,事件订阅配置。
filterChainDefinitionMap.put("/lark/larkCardMessageConfig", "anon"); //飞书调用接口,卡片消息配置。
@@ -30,6 +30,7 @@ import com.jero.modules.cert.template.service.IParamsInfoPublishEOService;
import com.jero.modules.cert.template.service.IParamsTemplateEOService;
import com.jero.modules.project.entity.ProjectRelatedPersonnel;
import com.jero.modules.project.service.IProjectRelatedPersonnelService;
import com.jero.modules.project.service.IProjectUserPermissionService;
import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.mapper.SysDictMapper;
import com.jero.modules.system.service.ISysUserService;
@@ -93,7 +94,8 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl<ParamsManifestEOMap
@Autowired
private SysDictMapper sysDictMapper;
@Autowired
private IProjectUserPermissionService projectUserPermissionService;
/**
* 保存
@@ -1,22 +1,15 @@
package com.jero.modules.project.controller;
import java.util.Arrays;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.alibaba.fastjson.JSONObject;
import com.jero.common.api.vo.Result;
import com.jero.common.system.query.QueryGenerator;
import com.jero.modules.project.entity.ProjectUserPermission;
import com.jero.modules.project.service.IProjectUserPermissionService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;
import com.jero.common.system.base.controller.JeroController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import com.jero.common.aspect.annotation.AutoLog;
@@ -33,6 +26,19 @@ import com.jero.common.aspect.annotation.AutoLog;
@RequestMapping("/project/projectUserPermission")
@Slf4j
public class ProjectUserPermissionController extends JeroController<ProjectUserPermission, IProjectUserPermissionService> {
@Autowired
private IProjectUserPermissionService projectUserPermissionService;
/**
* 工作流调用设置权限
* @param jsonObject
* @return
*/
@AutoLog(value = "工作流调用设置权限")
@ApiOperation(value="工作流调用设置权限", notes="工作流调用设置权限")
@PostMapping(value = "/setPermission")
public Result<?> processCall(@RequestBody JSONObject jsonObject){
return projectUserPermissionService.setPermission(jsonObject);
}
}
@@ -1,5 +1,7 @@
package com.jero.modules.project.service;
import com.alibaba.fastjson.JSONObject;
import com.jero.common.api.vo.Result;
import com.jero.modules.project.entity.ProjectUserPermission;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
@@ -58,4 +60,11 @@ public interface IProjectUserPermissionService extends IService<ProjectUserPermi
* @return
*/
List<ProjectUserPermission> queryList();
/**
* 工作流调用设置权限
* @param jsonObject
* @return
*/
Result<?> setPermission(JSONObject jsonObject);
}
@@ -1,8 +1,17 @@
package com.jero.modules.project.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.jero.common.api.vo.Result;
import com.jero.common.system.vo.LoginUser;
import com.jero.modules.project.entity.ProjectUserPermission;
import com.jero.modules.project.mapper.ProjectUserPermissionMapper;
import com.jero.modules.project.service.IProjectUserPermissionService;
import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.service.ISysUserService;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Date;
@@ -17,6 +26,9 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@Service
public class ProjectUserPermissionServiceImpl extends ServiceImpl<ProjectUserPermissionMapper, ProjectUserPermission> implements IProjectUserPermissionService {
@Autowired
private ISysUserService sysUserService;
/**
* 保存
*
@@ -86,4 +98,34 @@ public class ProjectUserPermissionServiceImpl extends ServiceImpl<ProjectUserPer
public List<ProjectUserPermission> queryList() {
return list();
}
/**
* 工作流调用设置权限
* @param jsonObject
* @return
*/
@Override
public Result<?> setPermission(JSONObject jsonObject) {
Date now = new Date();
QueryWrapper<ProjectUserPermission> permissionQueryWrapper = new QueryWrapper<>();
permissionQueryWrapper.eq("project_id",jsonObject.getString("projectLibraryId") )
.eq("user_id",jsonObject.getString("userId") )
.eq("belong", jsonObject.getString("belong"))
.eq("description",jsonObject.getString("description"));
if (ObjectUtils.isEmpty(list(permissionQueryWrapper))) {
ProjectUserPermission projectUserPermission = new ProjectUserPermission();
projectUserPermission.setDescription(jsonObject.getString("description"));
projectUserPermission.setBelong(jsonObject.getString("belong"));
projectUserPermission.setUserId(jsonObject.getString("userId"));
projectUserPermission.setProjectId(jsonObject.getString("projectLibraryId"));
projectUserPermission.setCreateTime(now);
projectUserPermission.setUpdateTime(now);
SysUser sysUser = sysUserService.getById(jsonObject.getString("currentUserId"));
projectUserPermission.setCreateBy(ObjectUtils.isEmpty(sysUser)?"":sysUser.getUsername());
projectUserPermission.setUpdateBy(ObjectUtils.isEmpty(sysUser)?"":sysUser.getUsername());
save(projectUserPermission);
}
return new Result<>().success("调用成功!");
}
}