【fix sonar】 SysBaseApiImpl.java文件
This commit is contained in:
+48
-43
@@ -11,6 +11,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.google.common.base.Joiner;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.apache.poi.ss.formula.functions.T;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import com.jero.common.api.dto.OnlineAuthDTO;
|
||||
import com.jero.common.api.dto.message.*;
|
||||
@@ -34,6 +35,7 @@ import com.jero.modules.system.entity.*;
|
||||
import com.jero.modules.system.mapper.*;
|
||||
import com.jero.modules.system.service.*;
|
||||
import com.jero.modules.system.util.SecurityUtil;
|
||||
import org.checkerframework.checker.units.qual.K;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.cache.annotation.Cacheable;
|
||||
@@ -95,6 +97,9 @@ public class SysBaseApiImpl implements ISysBaseAPI {
|
||||
|
||||
@Autowired
|
||||
ISysCategoryService sysCategoryService;
|
||||
private static final String ERROR_MSG = "消息模板不存在,模板编码:";
|
||||
private static final String STATUS = "status";
|
||||
private static final String DEL_FLAG = "del_flag";
|
||||
|
||||
@Override
|
||||
@Cacheable(cacheNames=CacheConstant.SYS_USERS_CACHE, key="#username")
|
||||
@@ -126,22 +131,22 @@ public class SysBaseApiImpl implements ISysBaseAPI {
|
||||
List<SysPermission> currentSyspermission = null;
|
||||
if(oConvertUtils.isNotEmpty(component)) {
|
||||
//1.通过注解属性pageComponent 获取菜单
|
||||
LambdaQueryWrapper<SysPermission> query = new LambdaQueryWrapper<SysPermission>();
|
||||
LambdaQueryWrapper<SysPermission> query = new LambdaQueryWrapper<>();
|
||||
query.eq(SysPermission::getDelFlag,0);
|
||||
query.eq(SysPermission::getComponent, component);
|
||||
currentSyspermission = sysPermissionMapper.selectList(query);
|
||||
}else {
|
||||
//1.直接通过前端请求地址查询菜单
|
||||
LambdaQueryWrapper<SysPermission> query = new LambdaQueryWrapper<SysPermission>();
|
||||
LambdaQueryWrapper<SysPermission> query = new LambdaQueryWrapper<>();
|
||||
query.eq(SysPermission::getMenuType,2);
|
||||
query.eq(SysPermission::getDelFlag,0);
|
||||
query.eq(SysPermission::getUrl, requestPath);
|
||||
currentSyspermission = sysPermissionMapper.selectList(query);
|
||||
//2.未找到 再通过自定义匹配URL 获取菜单
|
||||
if(currentSyspermission==null || currentSyspermission.size()==0) {
|
||||
if(currentSyspermission==null || currentSyspermission.isEmpty()) {
|
||||
//通过自定义URL匹配规则 获取菜单(实现通过菜单配置数据权限规则,实际上针对获取数据接口进行数据规则控制)
|
||||
String userMatchUrl = UrlMatchEnum.getMatchResultByUrl(requestPath);
|
||||
LambdaQueryWrapper<SysPermission> queryQserMatch = new LambdaQueryWrapper<SysPermission>();
|
||||
LambdaQueryWrapper<SysPermission> queryQserMatch = new LambdaQueryWrapper<>();
|
||||
queryQserMatch.eq(SysPermission::getMenuType, 1);
|
||||
queryQserMatch.eq(SysPermission::getDelFlag, 0);
|
||||
queryQserMatch.eq(SysPermission::getUrl, userMatchUrl);
|
||||
@@ -150,7 +155,7 @@ public class SysBaseApiImpl implements ISysBaseAPI {
|
||||
}
|
||||
}
|
||||
//3.未找到 再通过正则匹配获取菜单
|
||||
if(currentSyspermission==null || currentSyspermission.size()==0) {
|
||||
if(currentSyspermission==null || currentSyspermission.isEmpty()) {
|
||||
//通过正则匹配权限配置
|
||||
String regUrl = getRegexpUrl(requestPath);
|
||||
if(regUrl!=null) {
|
||||
@@ -158,12 +163,12 @@ public class SysBaseApiImpl implements ISysBaseAPI {
|
||||
}
|
||||
}
|
||||
}
|
||||
if(currentSyspermission!=null && currentSyspermission.size()>0){
|
||||
List<SysPermissionDataRuleModel> dataRules = new ArrayList<SysPermissionDataRuleModel>();
|
||||
if(currentSyspermission!=null && !currentSyspermission.isEmpty()){
|
||||
List<SysPermissionDataRuleModel> dataRules = new ArrayList<>();
|
||||
for (SysPermission sysPermission : currentSyspermission) {
|
||||
// update-begin--Author:scott Date:20191119 for:数据权限规则编码不规范,项目存在相同包名和类名 #722
|
||||
List<SysPermissionDataRule> temp = sysPermissionDataRuleService.queryPermissionDataRules(username, sysPermission.getId());
|
||||
if(temp!=null && temp.size()>0) {
|
||||
if(temp!=null && !temp.isEmpty()) {
|
||||
//dataRules.addAll(temp);
|
||||
dataRules = oConvertUtils.entityListToModelList(temp,SysPermissionDataRuleModel.class);
|
||||
}
|
||||
@@ -182,7 +187,7 @@ public class SysBaseApiImpl implements ISysBaseAPI {
|
||||
*/
|
||||
private String getRegexpUrl(String url) {
|
||||
List<String> list = sysPermissionMapper.queryPermissionUrlWithStar();
|
||||
if(list!=null && list.size()>0) {
|
||||
if(list!=null && !list.isEmpty()) {
|
||||
for (String p : list) {
|
||||
PathMatcher matcher = new AntPathMatcher();
|
||||
if(matcher.match(p, url)) {
|
||||
@@ -207,8 +212,8 @@ public class SysBaseApiImpl implements ISysBaseAPI {
|
||||
}
|
||||
//多部门支持in查询
|
||||
List<SysDepart> list = departMapper.queryUserDeparts(user.getId());
|
||||
List<String> sysMultiOrgCode = new ArrayList<String>();
|
||||
if(list==null || list.size()==0) {
|
||||
List<String> sysMultiOrgCode = new ArrayList<>();
|
||||
if(list==null || list.isEmpty()) {
|
||||
//当前用户无部门
|
||||
//sysMultiOrgCode.add("0");
|
||||
}else if(list.size()==1) {
|
||||
@@ -265,8 +270,8 @@ public class SysBaseApiImpl implements ISysBaseAPI {
|
||||
@Override
|
||||
public DictModel getParentDepartId(String departId) {
|
||||
SysDepart depart = departMapper.getParentDepartId(departId);
|
||||
DictModel model = new DictModel(depart.getId(),depart.getParentId());
|
||||
return model;
|
||||
// DictModel model = new DictModel(depart.getId(),depart.getParentId());
|
||||
return new DictModel(depart.getId(),depart.getParentId());
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -325,8 +330,8 @@ public class SysBaseApiImpl implements ISysBaseAPI {
|
||||
String toUser = message.getToUser();
|
||||
|
||||
List<SysMessageTemplate> sysSmsTemplates = sysMessageTemplateService.selectByCode(templateCode);
|
||||
if(sysSmsTemplates==null||sysSmsTemplates.size()==0){
|
||||
throw new JeroBootException("消息模板不存在,模板编码:"+templateCode);
|
||||
if(sysSmsTemplates==null||sysSmsTemplates.isEmpty()){
|
||||
throw new JeroBootException(ERROR_MSG+templateCode);
|
||||
}
|
||||
SysMessageTemplate sysSmsTemplate = sysSmsTemplates.get(0);
|
||||
//模板标题
|
||||
@@ -391,8 +396,8 @@ public class SysBaseApiImpl implements ISysBaseAPI {
|
||||
String busType = message.getBusType();
|
||||
|
||||
List<SysMessageTemplate> sysSmsTemplates = sysMessageTemplateService.selectByCode(templateCode);
|
||||
if(sysSmsTemplates==null||sysSmsTemplates.size()==0){
|
||||
throw new JeroBootException("消息模板不存在,模板编码:"+templateCode);
|
||||
if(sysSmsTemplates==null||sysSmsTemplates.isEmpty()){
|
||||
throw new JeroBootException(ERROR_MSG+templateCode);
|
||||
}
|
||||
SysMessageTemplate sysSmsTemplate = sysSmsTemplates.get(0);
|
||||
//模板标题
|
||||
@@ -451,8 +456,8 @@ public class SysBaseApiImpl implements ISysBaseAPI {
|
||||
String templateCode = templateDTO.getTemplateCode();
|
||||
Map<String, String> map = templateDTO.getTemplateParam();
|
||||
List<SysMessageTemplate> sysSmsTemplates = sysMessageTemplateService.selectByCode(templateCode);
|
||||
if(sysSmsTemplates==null||sysSmsTemplates.size()==0){
|
||||
throw new JeroBootException("消息模板不存在,模板编码:"+templateCode);
|
||||
if(sysSmsTemplates==null||sysSmsTemplates.isEmpty()){
|
||||
throw new JeroBootException(ERROR_MSG+templateCode);
|
||||
}
|
||||
SysMessageTemplate sysSmsTemplate = sysSmsTemplates.get(0);
|
||||
//模板内容
|
||||
@@ -487,7 +492,7 @@ public class SysBaseApiImpl implements ISysBaseAPI {
|
||||
* @return
|
||||
* @throws SQLException
|
||||
*/
|
||||
private String getDatabaseTypeByDataSource(DataSource dataSource) throws SQLException{
|
||||
private static String getDatabaseTypeByDataSource(DataSource dataSource) throws SQLException{
|
||||
if("".equals(DB_TYPE)) {
|
||||
Connection connection = dataSource.getConnection();
|
||||
try {
|
||||
@@ -517,11 +522,11 @@ public class SysBaseApiImpl implements ISysBaseAPI {
|
||||
@Override
|
||||
public List<DictModel> queryAllDict() {
|
||||
// 查询并排序
|
||||
QueryWrapper<SysDict> queryWrapper = new QueryWrapper<SysDict>();
|
||||
QueryWrapper<SysDict> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.orderByAsc("create_time");
|
||||
List<SysDict> dicts = sysDictService.list(queryWrapper);
|
||||
// 封装成 model
|
||||
List<DictModel> list = new ArrayList<DictModel>();
|
||||
List<DictModel> list = new ArrayList<>();
|
||||
for (SysDict dict : dicts) {
|
||||
list.add(new DictModel(dict.getDictCode(), dict.getDictName()));
|
||||
}
|
||||
@@ -532,8 +537,8 @@ public class SysBaseApiImpl implements ISysBaseAPI {
|
||||
@Override
|
||||
public List<SysCategoryModel> queryAllDSysCategory() {
|
||||
List<SysCategory> ls = categoryMapper.selectList(null);
|
||||
List<SysCategoryModel> res = oConvertUtils.entityListToModelList(ls,SysCategoryModel.class);
|
||||
return res;
|
||||
// List<SysCategoryModel> res = oConvertUtils.entityListToModelList(ls,SysCategoryModel.class);
|
||||
return oConvertUtils.entityListToModelList(ls,SysCategoryModel.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -548,8 +553,8 @@ public class SysBaseApiImpl implements ISysBaseAPI {
|
||||
|
||||
@Override
|
||||
public List<ComboModel> queryAllUserBackCombo() {
|
||||
List<ComboModel> list = new ArrayList<ComboModel>();
|
||||
List<SysUser> userList = userMapper.selectList(new QueryWrapper<SysUser>().eq("status",1).eq("del_flag",0));
|
||||
List<ComboModel> list = new ArrayList<>();
|
||||
List<SysUser> userList = userMapper.selectList(new QueryWrapper<SysUser>().eq(STATUS,1).eq(DEL_FLAG,0));
|
||||
for(SysUser user : userList){
|
||||
ComboModel model = new ComboModel();
|
||||
model.setTitle(user.getRealname());
|
||||
@@ -563,9 +568,9 @@ public class SysBaseApiImpl implements ISysBaseAPI {
|
||||
@Override
|
||||
public JSONObject queryAllUser(String userIds, Integer pageNo, Integer pageSize) {
|
||||
JSONObject json = new JSONObject();
|
||||
QueryWrapper<SysUser> queryWrapper = new QueryWrapper<SysUser>().eq("status",1).eq("del_flag",0);
|
||||
List<ComboModel> list = new ArrayList<ComboModel>();
|
||||
Page<SysUser> page = new Page<SysUser>(pageNo, pageSize);
|
||||
QueryWrapper<SysUser> queryWrapper = new QueryWrapper<SysUser>().eq(STATUS,1).eq(DEL_FLAG,0);
|
||||
List<ComboModel> list = new ArrayList<>();
|
||||
Page<SysUser> page = new Page<>(pageNo, pageSize);
|
||||
IPage<SysUser> pageList = userMapper.selectPage(page, queryWrapper);
|
||||
for(SysUser user : pageList.getRecords()){
|
||||
ComboModel model = new ComboModel();
|
||||
@@ -590,8 +595,8 @@ public class SysBaseApiImpl implements ISysBaseAPI {
|
||||
|
||||
@Override
|
||||
public List<ComboModel> queryAllRole() {
|
||||
List<ComboModel> list = new ArrayList<ComboModel>();
|
||||
List<SysRole> roleList = roleMapper.selectList(new QueryWrapper<SysRole>());
|
||||
List<ComboModel> list = new ArrayList<>();
|
||||
List<SysRole> roleList = roleMapper.selectList(new QueryWrapper<>());
|
||||
for(SysRole role : roleList){
|
||||
ComboModel model = new ComboModel();
|
||||
model.setTitle(role.getRoleName());
|
||||
@@ -603,8 +608,8 @@ public class SysBaseApiImpl implements ISysBaseAPI {
|
||||
|
||||
@Override
|
||||
public List<ComboModel> queryAllRole(String[] roleIds) {
|
||||
List<ComboModel> list = new ArrayList<ComboModel>();
|
||||
List<SysRole> roleList = roleMapper.selectList(new QueryWrapper<SysRole>());
|
||||
List<ComboModel> list = new ArrayList<>();
|
||||
List<SysRole> roleList = roleMapper.selectList(new QueryWrapper<>());
|
||||
for(SysRole role : roleList){
|
||||
ComboModel model = new ComboModel();
|
||||
model.setTitle(role.getRoleName());
|
||||
@@ -634,8 +639,8 @@ public class SysBaseApiImpl implements ISysBaseAPI {
|
||||
|
||||
@Override
|
||||
public List<SysDepartModel> getAllSysDepart() {
|
||||
List<SysDepartModel> departModelList = new ArrayList<SysDepartModel>();
|
||||
List<SysDepart> departList = departMapper.selectList(new QueryWrapper<SysDepart>().eq("del_flag","0"));
|
||||
List<SysDepartModel> departModelList = new ArrayList<>();
|
||||
List<SysDepart> departList = departMapper.selectList(new QueryWrapper<SysDepart>().eq(DEL_FLAG,"0"));
|
||||
for(SysDepart depart : departList){
|
||||
SysDepartModel model = new SysDepartModel();
|
||||
BeanUtils.copyProperties(depart,model);
|
||||
@@ -668,7 +673,7 @@ public class SysBaseApiImpl implements ISysBaseAPI {
|
||||
|
||||
@Override
|
||||
public List<String> getDeptHeadByDepId(String deptId) {
|
||||
List<SysUser> userList = userMapper.selectList(new QueryWrapper<SysUser>().like("depart_ids",deptId).eq("status",1).eq("del_flag",0));
|
||||
List<SysUser> userList = userMapper.selectList(new QueryWrapper<SysUser>().like("depart_ids",deptId).eq(STATUS,1).eq(DEL_FLAG,0));
|
||||
List<String> list = new ArrayList<>();
|
||||
for(SysUser user : userList){
|
||||
list.add(user.getUsername());
|
||||
@@ -685,7 +690,7 @@ public class SysBaseApiImpl implements ISysBaseAPI {
|
||||
|
||||
@Override
|
||||
public List<LoginUser> queryAllUserByIds(String[] userIds) {
|
||||
QueryWrapper<SysUser> queryWrapper = new QueryWrapper<SysUser>().eq("status",1).eq("del_flag",0);
|
||||
QueryWrapper<SysUser> queryWrapper = new QueryWrapper<SysUser>().eq(STATUS,1).eq(DEL_FLAG,0);
|
||||
queryWrapper.in("id",userIds);
|
||||
List<LoginUser> loginUsers = new ArrayList<>();
|
||||
List<SysUser> sysUsers = userMapper.selectList(queryWrapper);
|
||||
@@ -712,7 +717,7 @@ public class SysBaseApiImpl implements ISysBaseAPI {
|
||||
|
||||
@Override
|
||||
public List<LoginUser> queryUserByNames(String[] userNames) {
|
||||
QueryWrapper<SysUser> queryWrapper = new QueryWrapper<SysUser>().eq("status",1).eq("del_flag",0);
|
||||
QueryWrapper<SysUser> queryWrapper = new QueryWrapper<SysUser>().eq(STATUS,1).eq(DEL_FLAG,0);
|
||||
queryWrapper.in("username",userNames);
|
||||
List<LoginUser> loginUsers = new ArrayList<>();
|
||||
List<SysUser> sysUsers = userMapper.selectList(queryWrapper);
|
||||
@@ -796,7 +801,7 @@ public class SysBaseApiImpl implements ISysBaseAPI {
|
||||
permissionSet.add(po.getPerms());
|
||||
}
|
||||
}
|
||||
log.info("-------通过数据库读取用户拥有的权限Perms------username: "+ username+",Perms size: "+ (permissionSet==null?0:permissionSet.size()) );
|
||||
log.info("-------通过数据库读取用户拥有的权限Perms------username: "+ username+",Perms size: "+ (permissionSet.isEmpty()?0:permissionSet.size()) );
|
||||
return permissionSet;
|
||||
}
|
||||
|
||||
@@ -811,11 +816,11 @@ public class SysBaseApiImpl implements ISysBaseAPI {
|
||||
List<String> possibleUrl = onlineAuthDTO.getPossibleUrl();
|
||||
String onlineFormUrl = onlineAuthDTO.getOnlineFormUrl();
|
||||
//查询菜单
|
||||
LambdaQueryWrapper<SysPermission> query = new LambdaQueryWrapper<SysPermission>();
|
||||
LambdaQueryWrapper<SysPermission> query = new LambdaQueryWrapper<>();
|
||||
query.eq(SysPermission::getDelFlag, 0);
|
||||
query.in(SysPermission::getUrl, possibleUrl);
|
||||
List<SysPermission> permissionList = sysPermissionMapper.selectList(query);
|
||||
if (permissionList == null || permissionList.size() == 0) {
|
||||
if (permissionList == null || permissionList.isEmpty()) {
|
||||
//没有配置菜单 找online表单菜单地址
|
||||
SysPermission sysPermission = new SysPermission();
|
||||
sysPermission.setUrl(onlineFormUrl);
|
||||
@@ -1040,10 +1045,10 @@ public class SysBaseApiImpl implements ISysBaseAPI {
|
||||
//2.获取公司下级部门
|
||||
List<SysDepart> departs=sysDepartService.queryDeptByPid(comp.getId());
|
||||
//3.获取部门下的人员信息
|
||||
List<Map> list=new ArrayList();
|
||||
List<Map> list=new ArrayList<>();
|
||||
//4.处理部门和下级用户数据
|
||||
for (SysDepart dept:departs) {
|
||||
Map map=new HashMap();
|
||||
Map map=new HashMap<>();
|
||||
//部门名称
|
||||
String departName = dept.getDepartName();
|
||||
//根据部门编码获取下级部门id
|
||||
|
||||
Reference in New Issue
Block a user