From dba987bd5a95134d42616c32ad86f46b318120da Mon Sep 17 00:00:00 2001 From: tianwenbo Date: Tue, 7 Mar 2023 09:46:24 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90fix=20sonar=E3=80=91=20SysBaseApiImpl.?= =?UTF-8?q?java=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/service/impl/SysBaseApiImpl.java | 91 ++++++++++--------- 1 file changed, 48 insertions(+), 43 deletions(-) diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysBaseApiImpl.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysBaseApiImpl.java index b99aa508..88843c2a 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysBaseApiImpl.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysBaseApiImpl.java @@ -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 currentSyspermission = null; if(oConvertUtils.isNotEmpty(component)) { //1.通过注解属性pageComponent 获取菜单 - LambdaQueryWrapper query = new LambdaQueryWrapper(); + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); query.eq(SysPermission::getDelFlag,0); query.eq(SysPermission::getComponent, component); currentSyspermission = sysPermissionMapper.selectList(query); }else { //1.直接通过前端请求地址查询菜单 - LambdaQueryWrapper query = new LambdaQueryWrapper(); + LambdaQueryWrapper 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 queryQserMatch = new LambdaQueryWrapper(); + LambdaQueryWrapper 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 dataRules = new ArrayList(); + if(currentSyspermission!=null && !currentSyspermission.isEmpty()){ + List dataRules = new ArrayList<>(); for (SysPermission sysPermission : currentSyspermission) { // update-begin--Author:scott Date:20191119 for:数据权限规则编码不规范,项目存在相同包名和类名 #722 List 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 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 list = departMapper.queryUserDeparts(user.getId()); - List sysMultiOrgCode = new ArrayList(); - if(list==null || list.size()==0) { + List 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 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 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 map = templateDTO.getTemplateParam(); List 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 queryAllDict() { // 查询并排序 - QueryWrapper queryWrapper = new QueryWrapper(); + QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.orderByAsc("create_time"); List dicts = sysDictService.list(queryWrapper); // 封装成 model - List list = new ArrayList(); + List 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 queryAllDSysCategory() { List ls = categoryMapper.selectList(null); - List res = oConvertUtils.entityListToModelList(ls,SysCategoryModel.class); - return res; +// List 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 queryAllUserBackCombo() { - List list = new ArrayList(); - List userList = userMapper.selectList(new QueryWrapper().eq("status",1).eq("del_flag",0)); + List list = new ArrayList<>(); + List userList = userMapper.selectList(new QueryWrapper().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 queryWrapper = new QueryWrapper().eq("status",1).eq("del_flag",0); - List list = new ArrayList(); - Page page = new Page(pageNo, pageSize); + QueryWrapper queryWrapper = new QueryWrapper().eq(STATUS,1).eq(DEL_FLAG,0); + List list = new ArrayList<>(); + Page page = new Page<>(pageNo, pageSize); IPage 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 queryAllRole() { - List list = new ArrayList(); - List roleList = roleMapper.selectList(new QueryWrapper()); + List list = new ArrayList<>(); + List 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 queryAllRole(String[] roleIds) { - List list = new ArrayList(); - List roleList = roleMapper.selectList(new QueryWrapper()); + List list = new ArrayList<>(); + List 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 getAllSysDepart() { - List departModelList = new ArrayList(); - List departList = departMapper.selectList(new QueryWrapper().eq("del_flag","0")); + List departModelList = new ArrayList<>(); + List departList = departMapper.selectList(new QueryWrapper().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 getDeptHeadByDepId(String deptId) { - List userList = userMapper.selectList(new QueryWrapper().like("depart_ids",deptId).eq("status",1).eq("del_flag",0)); + List userList = userMapper.selectList(new QueryWrapper().like("depart_ids",deptId).eq(STATUS,1).eq(DEL_FLAG,0)); List list = new ArrayList<>(); for(SysUser user : userList){ list.add(user.getUsername()); @@ -685,7 +690,7 @@ public class SysBaseApiImpl implements ISysBaseAPI { @Override public List queryAllUserByIds(String[] userIds) { - QueryWrapper queryWrapper = new QueryWrapper().eq("status",1).eq("del_flag",0); + QueryWrapper queryWrapper = new QueryWrapper().eq(STATUS,1).eq(DEL_FLAG,0); queryWrapper.in("id",userIds); List loginUsers = new ArrayList<>(); List sysUsers = userMapper.selectList(queryWrapper); @@ -712,7 +717,7 @@ public class SysBaseApiImpl implements ISysBaseAPI { @Override public List queryUserByNames(String[] userNames) { - QueryWrapper queryWrapper = new QueryWrapper().eq("status",1).eq("del_flag",0); + QueryWrapper queryWrapper = new QueryWrapper().eq(STATUS,1).eq(DEL_FLAG,0); queryWrapper.in("username",userNames); List loginUsers = new ArrayList<>(); List 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 possibleUrl = onlineAuthDTO.getPossibleUrl(); String onlineFormUrl = onlineAuthDTO.getOnlineFormUrl(); //查询菜单 - LambdaQueryWrapper query = new LambdaQueryWrapper(); + LambdaQueryWrapper query = new LambdaQueryWrapper<>(); query.eq(SysPermission::getDelFlag, 0); query.in(SysPermission::getUrl, possibleUrl); List 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 departs=sysDepartService.queryDeptByPid(comp.getId()); //3.获取部门下的人员信息 - List list=new ArrayList(); + List list=new ArrayList<>(); //4.处理部门和下级用户数据 for (SysDepart dept:departs) { - Map map=new HashMap(); + Map map=new HashMap<>(); //部门名称 String departName = dept.getDepartName(); //根据部门编码获取下级部门id