update:下载模板,导入前验证是否有修改或新增社团信息的权限
This commit is contained in:
+6
@@ -0,0 +1,6 @@
|
|||||||
|
package com.jero.modules.laws.club.service;
|
||||||
|
|
||||||
|
public interface RolePermissionService {
|
||||||
|
|
||||||
|
boolean getRolePermission(String permission);
|
||||||
|
}
|
||||||
+23
-5
@@ -3,12 +3,13 @@ package com.jero.modules.laws.club.service.impl;
|
|||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.jero.common.api.vo.Result;
|
import com.jero.common.api.vo.Result;
|
||||||
|
import com.jero.common.api.vo.ResultCommon;
|
||||||
import com.jero.common.exception.JeroBootException;
|
import com.jero.common.exception.JeroBootException;
|
||||||
import com.jero.common.system.vo.DictModel;
|
import com.jero.common.system.vo.DictModel;
|
||||||
import com.jero.common.system.vo.LoginUser;
|
|
||||||
import com.jero.modules.laws.club.entity.LawsClubJoinTeam;
|
import com.jero.modules.laws.club.entity.LawsClubJoinTeam;
|
||||||
import com.jero.modules.laws.club.mapper.LawsClubJoinTeamMapper;
|
import com.jero.modules.laws.club.mapper.LawsClubJoinTeamMapper;
|
||||||
import com.jero.modules.laws.club.service.ILawsClubJoinTeamService;
|
import com.jero.modules.laws.club.service.ILawsClubJoinTeamService;
|
||||||
|
import com.jero.modules.laws.club.service.RolePermissionService;
|
||||||
import com.jero.modules.laws.club.utils.ExcelUtil;
|
import com.jero.modules.laws.club.utils.ExcelUtil;
|
||||||
import com.jero.modules.laws.club.vo.excel.LawsClubJoinTeamExcel;
|
import com.jero.modules.laws.club.vo.excel.LawsClubJoinTeamExcel;
|
||||||
import com.jero.modules.system.entity.SysDepart;
|
import com.jero.modules.system.entity.SysDepart;
|
||||||
@@ -20,7 +21,6 @@ import com.jero.modules.tag.entity.LawsTag;
|
|||||||
import lombok.SneakyThrows;
|
import lombok.SneakyThrows;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.apache.poi.ss.usermodel.Workbook;
|
import org.apache.poi.ss.usermodel.Workbook;
|
||||||
import org.apache.shiro.SecurityUtils;
|
|
||||||
import org.jeecgframework.poi.excel.ExcelImportUtil;
|
import org.jeecgframework.poi.excel.ExcelImportUtil;
|
||||||
import org.jeecgframework.poi.excel.entity.ImportParams;
|
import org.jeecgframework.poi.excel.entity.ImportParams;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
@@ -35,7 +35,6 @@ import java.io.IOException;
|
|||||||
import java.io.OutputStream;
|
import java.io.OutputStream;
|
||||||
import java.net.URLEncoder;
|
import java.net.URLEncoder;
|
||||||
import java.nio.charset.StandardCharsets;
|
import java.nio.charset.StandardCharsets;
|
||||||
import java.text.ParseException;
|
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
@@ -58,10 +57,17 @@ public class LawsClubJoinTeamServiceImpl extends ServiceImpl<LawsClubJoinTeamMap
|
|||||||
private ISysDepartService sysDepartService;
|
private ISysDepartService sysDepartService;
|
||||||
@Resource
|
@Resource
|
||||||
private ISysDictService sysDictService;
|
private ISysDictService sysDictService;
|
||||||
|
@Resource
|
||||||
|
private RolePermissionService rolePermissionService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@SneakyThrows
|
@SneakyThrows
|
||||||
public void exportTemplate(HttpServletRequest request, HttpServletResponse response) {
|
public void exportTemplate(HttpServletRequest request, HttpServletResponse response) {
|
||||||
|
// 先验证权限, 只有有社团管理新增或修改的其中之一即可
|
||||||
|
boolean result = validatingPermission();
|
||||||
|
if (!result) {
|
||||||
|
throw new JeroBootException(ResultCommon.NO_PERMISSION);
|
||||||
|
}
|
||||||
// 创建一个Excel工作簿
|
// 创建一个Excel工作簿
|
||||||
String describe = "填写说明:\n" +
|
String describe = "填写说明:\n" +
|
||||||
"1.所有带星号的为必填\n" +
|
"1.所有带星号的为必填\n" +
|
||||||
@@ -86,10 +92,22 @@ public class LawsClubJoinTeamServiceImpl extends ServiceImpl<LawsClubJoinTeamMap
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean validatingPermission() {
|
||||||
|
String addPermission = "clubManagement:clubManagement:add";
|
||||||
|
String editPermission = "clubManagement:clubManagement:edit";
|
||||||
|
boolean add = rolePermissionService.getRolePermission(addPermission);
|
||||||
|
boolean edit = rolePermissionService.getRolePermission(editPermission);
|
||||||
|
boolean result = add || edit;
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Result<?> importExcel(HttpServletRequest request) {
|
public Result<?> importExcel(HttpServletRequest request) {
|
||||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
// 先验证权限, 只有有社团管理新增或修改的其中之一即可
|
||||||
System.out.println(loginUser);
|
boolean result = validatingPermission();
|
||||||
|
if (!result) {
|
||||||
|
throw new JeroBootException(ResultCommon.NO_PERMISSION);
|
||||||
|
}
|
||||||
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
|
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
|
||||||
Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
|
Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
|
||||||
List<LawsClubJoinTeam> lawsClubJoinTeamList = new ArrayList<>();
|
List<LawsClubJoinTeam> lawsClubJoinTeamList = new ArrayList<>();
|
||||||
|
|||||||
+33
-1
@@ -3,6 +3,7 @@ package com.jero.modules.laws.club.service.impl;
|
|||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.jero.common.api.vo.Result;
|
import com.jero.common.api.vo.Result;
|
||||||
|
import com.jero.common.api.vo.ResultCommon;
|
||||||
import com.jero.common.constant.enums.LanguageEnum;
|
import com.jero.common.constant.enums.LanguageEnum;
|
||||||
import com.jero.common.exception.JeroBootException;
|
import com.jero.common.exception.JeroBootException;
|
||||||
import com.jero.common.system.vo.DictModel;
|
import com.jero.common.system.vo.DictModel;
|
||||||
@@ -10,6 +11,7 @@ import com.jero.common.util.MessageUtils;
|
|||||||
import com.jero.modules.laws.club.entity.LawsClubMeeting;
|
import com.jero.modules.laws.club.entity.LawsClubMeeting;
|
||||||
import com.jero.modules.laws.club.mapper.LawsClubMeetingMapper;
|
import com.jero.modules.laws.club.mapper.LawsClubMeetingMapper;
|
||||||
import com.jero.modules.laws.club.service.ILawsClubMeetingService;
|
import com.jero.modules.laws.club.service.ILawsClubMeetingService;
|
||||||
|
import com.jero.modules.laws.club.service.RolePermissionService;
|
||||||
import com.jero.modules.laws.club.utils.ExcelUtil;
|
import com.jero.modules.laws.club.utils.ExcelUtil;
|
||||||
import com.jero.modules.laws.club.vo.excel.LawsClubMeetingExcel;
|
import com.jero.modules.laws.club.vo.excel.LawsClubMeetingExcel;
|
||||||
import com.jero.modules.laws.club.vo.excel.LawsClubMeetingMemberExcel;
|
import com.jero.modules.laws.club.vo.excel.LawsClubMeetingMemberExcel;
|
||||||
@@ -73,11 +75,18 @@ public class LawsClubMeetingServiceImpl extends ServiceImpl<LawsClubMeetingMappe
|
|||||||
private IOSSFileService iossFileService;
|
private IOSSFileService iossFileService;
|
||||||
@Value(value = "${jero.path.upload}")
|
@Value(value = "${jero.path.upload}")
|
||||||
private String uploadpath;
|
private String uploadpath;
|
||||||
|
@Resource
|
||||||
|
private RolePermissionService rolePermissionService;
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@SneakyThrows
|
@SneakyThrows
|
||||||
public void exportTemplate(HttpServletRequest request, HttpServletResponse response) {
|
public void exportTemplate(HttpServletRequest request, HttpServletResponse response) {
|
||||||
|
// 先验证权限, 只有有社团管理新增或修改的其中之一即可
|
||||||
|
boolean result = validatingPermission();
|
||||||
|
if (!result) {
|
||||||
|
throw new JeroBootException(ResultCommon.NO_PERMISSION);
|
||||||
|
}
|
||||||
// 创建一个Excel工作簿
|
// 创建一个Excel工作簿
|
||||||
String describe = "填写说明:\n" +
|
String describe = "填写说明:\n" +
|
||||||
"1.所有带星号的为必填\n" +
|
"1.所有带星号的为必填\n" +
|
||||||
@@ -119,8 +128,22 @@ public class LawsClubMeetingServiceImpl extends ServiceImpl<LawsClubMeetingMappe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean validatingPermission() {
|
||||||
|
String addPermission = "clubManagement:clubManagement:add";
|
||||||
|
String editPermission = "clubManagement:clubManagement:edit";
|
||||||
|
boolean add = rolePermissionService.getRolePermission(addPermission);
|
||||||
|
boolean edit = rolePermissionService.getRolePermission(editPermission);
|
||||||
|
boolean result = add || edit;
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Result<?> importExcel(HttpServletRequest request) {
|
public Result<?> importExcel(HttpServletRequest request) {
|
||||||
|
// 先验证权限, 只有有社团管理新增或修改的其中之一即可
|
||||||
|
boolean result = validatingPermission();
|
||||||
|
if (!result) {
|
||||||
|
throw new JeroBootException(ResultCommon.NO_PERMISSION);
|
||||||
|
}
|
||||||
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
|
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
|
||||||
Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
|
Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
|
||||||
List<LawsClubMeeting> lawsClubMeetingList = new ArrayList<>();
|
List<LawsClubMeeting> lawsClubMeetingList = new ArrayList<>();
|
||||||
@@ -203,7 +226,16 @@ public class LawsClubMeetingServiceImpl extends ServiceImpl<LawsClubMeetingMappe
|
|||||||
//解压缩
|
//解压缩
|
||||||
String zipEntryName = FileUnZip.unZipFiles2(path +File.separator+ file.getOriginalFilename(), path);
|
String zipEntryName = FileUnZip.unZipFiles2(path +File.separator+ file.getOriginalFilename(), path);
|
||||||
// 1.获取其中的文件,
|
// 1.获取其中的文件,
|
||||||
List<File> fileList = FileUnZip.readExcelFile(zipEntryName);
|
// List<File> fileList = FileUnZip.readExcelFile(zipEntryName);
|
||||||
|
File zipFile = new File(zipEntryName);
|
||||||
|
List<File> fileList = new ArrayList<>();
|
||||||
|
if (zipFile.isDirectory()) {
|
||||||
|
File[] files = zipFile.listFiles();
|
||||||
|
for (File fi : files) {
|
||||||
|
// 对文件进行过滤,只读取Excel文件
|
||||||
|
fileList.add(fi);
|
||||||
|
}
|
||||||
|
}
|
||||||
if (fileList.size() < 1) {
|
if (fileList.size() < 1) {
|
||||||
FileUnZip.deleteDir(saveDirectory);
|
FileUnZip.deleteDir(saveDirectory);
|
||||||
if(MessageUtils.getLanguage().getValue().equals(LanguageEnum.CN.getValue())){
|
if(MessageUtils.getLanguage().getValue().equals(LanguageEnum.CN.getValue())){
|
||||||
|
|||||||
+23
-1
@@ -3,18 +3,19 @@ package com.jero.modules.laws.club.service.impl;
|
|||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.jero.common.api.vo.Result;
|
import com.jero.common.api.vo.Result;
|
||||||
|
import com.jero.common.api.vo.ResultCommon;
|
||||||
import com.jero.common.exception.JeroBootException;
|
import com.jero.common.exception.JeroBootException;
|
||||||
import com.jero.common.system.vo.DictModel;
|
import com.jero.common.system.vo.DictModel;
|
||||||
import com.jero.modules.laws.club.entity.LawsClubResearchInformation;
|
import com.jero.modules.laws.club.entity.LawsClubResearchInformation;
|
||||||
import com.jero.modules.laws.club.mapper.LawsClubResearchInformationMapper;
|
import com.jero.modules.laws.club.mapper.LawsClubResearchInformationMapper;
|
||||||
import com.jero.modules.laws.club.service.ILawsClubResearchInformationService;
|
import com.jero.modules.laws.club.service.ILawsClubResearchInformationService;
|
||||||
|
import com.jero.modules.laws.club.service.RolePermissionService;
|
||||||
import com.jero.modules.laws.club.utils.ExcelUtil;
|
import com.jero.modules.laws.club.utils.ExcelUtil;
|
||||||
import com.jero.modules.laws.club.vo.excel.LawsClubResearchInformationExcel;
|
import com.jero.modules.laws.club.vo.excel.LawsClubResearchInformationExcel;
|
||||||
import com.jero.modules.system.entity.SysDepart;
|
import com.jero.modules.system.entity.SysDepart;
|
||||||
import com.jero.modules.system.entity.SysUser;
|
import com.jero.modules.system.entity.SysUser;
|
||||||
import com.jero.modules.system.service.ISysDepartService;
|
import com.jero.modules.system.service.ISysDepartService;
|
||||||
import com.jero.modules.system.service.ISysDictService;
|
import com.jero.modules.system.service.ISysDictService;
|
||||||
import com.jero.modules.system.service.ISysRolePermissionService;
|
|
||||||
import com.jero.modules.system.service.ISysUserService;
|
import com.jero.modules.system.service.ISysUserService;
|
||||||
import com.jero.modules.tag.entity.LawsTag;
|
import com.jero.modules.tag.entity.LawsTag;
|
||||||
import lombok.SneakyThrows;
|
import lombok.SneakyThrows;
|
||||||
@@ -58,10 +59,17 @@ public class LawsClubResearchInformationServiceImpl extends ServiceImpl<LawsClub
|
|||||||
private ISysDepartService sysDepartService;
|
private ISysDepartService sysDepartService;
|
||||||
@Resource
|
@Resource
|
||||||
private ISysDictService sysDictService;
|
private ISysDictService sysDictService;
|
||||||
|
@Resource
|
||||||
|
private RolePermissionService rolePermissionService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@SneakyThrows
|
@SneakyThrows
|
||||||
public void exportTemplate(HttpServletRequest request, HttpServletResponse response) {
|
public void exportTemplate(HttpServletRequest request, HttpServletResponse response) {
|
||||||
|
// 先验证权限, 只有有社团管理新增或修改的其中之一即可
|
||||||
|
boolean result = validatingPermission();
|
||||||
|
if (!result) {
|
||||||
|
throw new JeroBootException(ResultCommon.NO_PERMISSION);
|
||||||
|
}
|
||||||
// 创建一个Excel工作簿
|
// 创建一个Excel工作簿
|
||||||
String describe = "填写说明:\n" +
|
String describe = "填写说明:\n" +
|
||||||
"1.所有带星号的为必填\n" +
|
"1.所有带星号的为必填\n" +
|
||||||
@@ -86,8 +94,22 @@ public class LawsClubResearchInformationServiceImpl extends ServiceImpl<LawsClub
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean validatingPermission() {
|
||||||
|
String addPermission = "clubManagement:clubManagement:add";
|
||||||
|
String editPermission = "clubManagement:clubManagement:edit";
|
||||||
|
boolean add = rolePermissionService.getRolePermission(addPermission);
|
||||||
|
boolean edit = rolePermissionService.getRolePermission(editPermission);
|
||||||
|
boolean result = add || edit;
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Result<?> importExcel(HttpServletRequest request) {
|
public Result<?> importExcel(HttpServletRequest request) {
|
||||||
|
// 先验证权限, 只有有社团管理新增或修改的其中之一即可
|
||||||
|
boolean result = validatingPermission();
|
||||||
|
if (!result) {
|
||||||
|
throw new JeroBootException(ResultCommon.NO_PERMISSION);
|
||||||
|
}
|
||||||
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
|
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
|
||||||
Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
|
Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
|
||||||
List<LawsClubResearchInformation> lawsClubResearchInformationList = new ArrayList<>();
|
List<LawsClubResearchInformation> lawsClubResearchInformationList = new ArrayList<>();
|
||||||
|
|||||||
+64
@@ -0,0 +1,64 @@
|
|||||||
|
package com.jero.modules.laws.club.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.jero.common.exception.JeroBootException;
|
||||||
|
import com.jero.common.system.vo.LoginUser;
|
||||||
|
import com.jero.modules.laws.club.service.RolePermissionService;
|
||||||
|
import com.jero.modules.system.entity.SysPermission;
|
||||||
|
import com.jero.modules.system.entity.SysRole;
|
||||||
|
import com.jero.modules.system.entity.SysRolePermission;
|
||||||
|
import com.jero.modules.system.service.ISysPermissionService;
|
||||||
|
import com.jero.modules.system.service.ISysRolePermissionService;
|
||||||
|
import com.jero.modules.system.service.ISysRoleService;
|
||||||
|
import org.apache.commons.collections.CollectionUtils;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.apache.shiro.SecurityUtils;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
public class RolePermissionServiceImpl implements RolePermissionService {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private ISysPermissionService sysPermissionService;
|
||||||
|
@Resource
|
||||||
|
private ISysRolePermissionService sysRolePermissionService;
|
||||||
|
@Resource
|
||||||
|
private ISysRoleService sysRoleService;
|
||||||
|
|
||||||
|
public boolean getRolePermission(String permission) {
|
||||||
|
if(StringUtils.isEmpty(permission)){
|
||||||
|
throw new JeroBootException("菜单权限编码不能为空!");
|
||||||
|
}
|
||||||
|
LambdaQueryWrapper<SysPermission> querySysPermission = new LambdaQueryWrapper<>();
|
||||||
|
querySysPermission.eq(SysPermission::getPerms,permission);
|
||||||
|
List<SysPermission> listSysPermission = sysPermissionService.list(querySysPermission);
|
||||||
|
if(CollectionUtils.isEmpty(listSysPermission)){
|
||||||
|
throw new JeroBootException("菜单权限编码不存在!");
|
||||||
|
}
|
||||||
|
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||||
|
List<String> list = new ArrayList<>(Arrays.asList(sysUser.getRoleIds().split(",")));
|
||||||
|
if(!CollectionUtils.isEmpty(list)){
|
||||||
|
LambdaQueryWrapper<SysRole> querySysRole = new LambdaQueryWrapper<>();
|
||||||
|
querySysRole.in(SysRole::getRoleCode,list);
|
||||||
|
List<SysRole> listSysRole = sysRoleService.list(querySysRole);
|
||||||
|
if(CollectionUtils.isEmpty(listSysRole)){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
List<String> listRoleId = listSysRole.stream().map(SysRole::getId).collect(Collectors.toList());
|
||||||
|
LambdaQueryWrapper<SysRolePermission> querySysRolePermission = new LambdaQueryWrapper<>();
|
||||||
|
querySysRolePermission.in(SysRolePermission::getRoleId,listRoleId);
|
||||||
|
querySysRolePermission.eq(SysRolePermission::getPermissionId,listSysPermission.get(0).getId());
|
||||||
|
List<SysRolePermission> listSysRolePermission = sysRolePermissionService.list(querySysRolePermission);
|
||||||
|
if(!CollectionUtils.isEmpty(listSysRolePermission)){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user