diff --git a/jero-boot/db/蔚来标准sql/dev_third_record.sql b/jero-boot/db/蔚来标准sql/dev_third_record.sql index f8c534ad3..0468e8dc6 100644 --- a/jero-boot/db/蔚来标准sql/dev_third_record.sql +++ b/jero-boot/db/蔚来标准sql/dev_third_record.sql @@ -1179,4 +1179,10 @@ update onl_cgform_field set is_query = '1', is_read_only = '1' where id = '09fa6 -- 配置表,增加问题知识库预览图片配置 2022-09-27 已同步生产环境 INSERT INTO `laws_weilai`.`sys_config` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `config`, `config_name`) VALUES ('4', 'admin', '2022-09-28 14:35:30', NULL, NULL, 'A01', 'http://grp.nioint.com/', 'domianWebImgURL'); +--问题知识库,增加字段 发布状态 2022-10-13 未同步生产环境 +ALTER TABLE `laws_weilai`.`problem_knowledge_base` + ADD COLUMN `release_status` varchar(50) NULL COMMENT '发布状态' AFTER `release_time`; + +--处理问题知识库数据,发布人,发布时间,发布状态数据sql 2022-10-13 未同步生产环境 +update problem_knowledge_base pkd set pkd.release_status = 'Have released',pkd.release_time = pkd.create_time,pkd.release_user_id = (select su.id from sys_user su where su.username = pkd.create_by) diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysUserService.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysUserService.java index b1ca1cf74..b091fc0c4 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysUserService.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysUserService.java @@ -270,4 +270,10 @@ public interface ISysUserService extends IService { * @return */ List queryUserRoleListInfoByUserId(String userId); + + /** + * 验证当前登录用户是否是超级管理员。 + * @return + */ + boolean isAdministrator(); } diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java index 3f4c2adcb..71dac6e67 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java @@ -17,6 +17,7 @@ import com.jero.common.util.oConvertUtils; import com.jero.modules.base.service.BaseCommonService; import com.jero.modules.system.entity.*; import com.jero.modules.system.enums.PPSyncEnum; +import com.jero.modules.system.enums.RoleEnum; import com.jero.modules.system.mapper.*; import com.jero.modules.system.model.SysUserSysDepartModel; import com.jero.modules.system.service.ISysUserService; @@ -24,6 +25,7 @@ import com.jero.modules.system.vo.SysUserDepVo; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang.StringUtils; +import org.apache.shiro.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cache.annotation.CacheEvict; import org.springframework.stereotype.Service; @@ -586,4 +588,30 @@ public class SysUserServiceImpl extends ServiceImpl impl } return result; } + + /** + * 验证当前登录用户是否是超级管理员 + * @return + */ + @Override + public boolean isAdministrator() { + boolean result = false; + RoleEnum administrator = RoleEnum.MANAGER_ID; + LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + List userRoleList = this.sysUserRoleMapper.selectList(new QueryWrapper().lambda().eq(SysUserRole::getUserId, currentUser.getId())); // 查询用户所有角色 + if(CollectionUtils.isNotEmpty(userRoleList)){ + List userRoles = userRoleList.stream().filter(userRole -> { + boolean flag = false; + if(StringUtils.equals(userRole.getRoleId(),administrator.getId())){ + flag = true; + } + return flag; + }).collect(Collectors.toList()); + + if(CollectionUtils.isNotEmpty(userRoles)){ + result = true; + } + } + return result; + } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/ProblemKnowledgeBaseEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/ProblemKnowledgeBaseEO.java index 870abb198..81caaff2c 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/ProblemKnowledgeBaseEO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/ProblemKnowledgeBaseEO.java @@ -1,6 +1,7 @@ package com.jero.modules.problemKnowledgeBase.entity; import java.io.Serializable; +import java.util.Date; import java.util.List; import com.baomidou.mybatisplus.annotation.IdType; @@ -156,7 +157,7 @@ public class ProblemKnowledgeBaseEO implements Serializable { /**发布日期*/ @Excel(name = "发布日期", width = 15) @ApiModelProperty(value = "发布日期") - private java.lang.String releaseTime; + private Date releaseTime; /**点赞总数量*/ @TableField(exist = false) @@ -195,4 +196,9 @@ public class ProblemKnowledgeBaseEO implements Serializable { /**附件展示数组*/ @TableField(exist = false) private List accessoryFileNameList; + + /**发布状态*/ + @Excel(name = "发布状态", width = 15) + @ApiModelProperty(value = "发布状态") + private String releaseStatus; } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseEOServiceImpl.java index a1e1f7bd9..d6f4bfcac 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseEOServiceImpl.java @@ -24,6 +24,7 @@ import com.jero.modules.oss.service.IOSSFileService; import com.jero.modules.problemKnowledgeBase.entity.*; import com.jero.modules.problemKnowledgeBase.enums.CollectStatusEnum; import com.jero.modules.problemKnowledgeBase.enums.PraiseStatusEnum; +import com.jero.modules.problemKnowledgeBase.enums.ReleaseStatusEnum; import com.jero.modules.problemKnowledgeBase.enums.ShowPermissionsEnum; import com.jero.modules.problemKnowledgeBase.mapper.ProblemKnowledgeBaseEOMapper; import com.jero.modules.problemKnowledgeBase.service.*; @@ -114,17 +115,19 @@ public class ProblemKnowledgeBaseEOServiceImpl extends ServiceImpl queryWrapper,ProblemKnowledgeBaseEO problemKnowledgeBaseEO) { /** - * 查询权限 - * 公开:所有人都可以看到。 - * 私密:只有配置了的权限用户可以看到。 + * 2022-10-13增加权限,超级管理员可以看到所有的问题知识库数据。 */ - LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - QueryWrapper userPermissionQueryWrapper = new QueryWrapper<>(); - userPermissionQueryWrapper.lambda().eq(ProblemKnowledgeBaseUserEO::getUserId,currentUser.getId()); - List problemKnowledgeBaseUserEOList = problemKnowledgeBaseUserEOService.list(userPermissionQueryWrapper); + boolean administrator = this.sysUserService.isAdministrator(); + if(!administrator){ + /** + * 查询权限 + * 公开:所有人都可以看到。 + * 私密:只有配置了的权限用户可以看到。 + */ + LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + QueryWrapper userPermissionQueryWrapper = new QueryWrapper<>(); + userPermissionQueryWrapper.lambda().eq(ProblemKnowledgeBaseUserEO::getUserId,currentUser.getId()); + List problemKnowledgeBaseUserEOList = problemKnowledgeBaseUserEOService.list(userPermissionQueryWrapper); - List problemKnowledgeBaseIdList = problemKnowledgeBaseUserEOList.stream().map(ProblemKnowledgeBaseUserEO::getProblemKnowledgeBaseId).distinct().collect(Collectors.toList()); + List problemKnowledgeBaseIdList = problemKnowledgeBaseUserEOList.stream().map(ProblemKnowledgeBaseUserEO::getProblemKnowledgeBaseId).distinct().collect(Collectors.toList()); - queryWrapper.lambda().and(query -> { - query.eq(ProblemKnowledgeBaseEO::getShowPermissions,ShowPermissionsEnum.OPEN.getValue()); + queryWrapper.lambda().and(query -> { + query.eq(ProblemKnowledgeBaseEO::getShowPermissions,ShowPermissionsEnum.OPEN.getValue()); if(CollectionUtils.isNotEmpty(problemKnowledgeBaseIdList)){ query.or(o -> { o.eq(ProblemKnowledgeBaseEO::getShowPermissions,ShowPermissionsEnum.PRIVACY.getValue()); o.in(ProblemKnowledgeBaseEO::getId,problemKnowledgeBaseIdList); }); } - }); + }); + } String searchStr = problemKnowledgeBaseEO.getSearchStr(); if(StringUtils.isNotEmpty(searchStr)){