diff --git a/device/src/main/java/com/njcn/gather/device/pojo/constant/DeviceValidMessage.java b/device/src/main/java/com/njcn/gather/device/pojo/constant/DeviceValidMessage.java index 3eabccf6..716c03a2 100644 --- a/device/src/main/java/com/njcn/gather/device/pojo/constant/DeviceValidMessage.java +++ b/device/src/main/java/com/njcn/gather/device/pojo/constant/DeviceValidMessage.java @@ -79,4 +79,6 @@ public interface DeviceValidMessage { String STANDARD_NAME_NOT_BLANK = "参照标准名称不能为空,请检查standardName参数"; String STANDARD_TIME_NOT_BLANK = "标准推行时间不能为空,请检查standardTime参数"; + + String SCRIPT_TYPE_FORMAT_ERROR = "检测脚本类型格式错误,请检查scriptType参数"; } diff --git a/system/Readme.md b/system/Readme.md index 273e9d0d..3d336e51 100644 --- a/system/Readme.md +++ b/system/Readme.md @@ -2,6 +2,7 @@ 系统模块主要包含以下功能: * 审计日志管理 * 字典、树形字典管理 +* 版本注册 * 主题管理 * 系统文件资源管理 * 定时任务管理 diff --git a/system/src/main/java/com/njcn/gather/system/auth/controller/AuthController.java b/system/src/main/java/com/njcn/gather/system/auth/controller/AuthController.java index 32e01dbd..5c3c015a 100644 --- a/system/src/main/java/com/njcn/gather/system/auth/controller/AuthController.java +++ b/system/src/main/java/com/njcn/gather/system/auth/controller/AuthController.java @@ -10,6 +10,7 @@ import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.utils.JwtUtil; import com.njcn.common.utils.LogUtil; import com.njcn.gather.system.auth.pojo.Token; +import com.njcn.gather.system.pojo.constant.SystemValidMessage; import com.njcn.gather.user.pojo.constant.UserValidMessage; import com.njcn.gather.user.user.pojo.param.SysUserParam; import com.njcn.gather.user.user.pojo.po.SysUser; @@ -27,6 +28,8 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; +import java.util.HashMap; +import java.util.Map; @Slf4j @@ -66,11 +69,14 @@ public class AuthController extends BaseController { LogUtil.njcnDebug(log, "{},登录参数为:{}", methodDescribe, param); SysUser user = sysUserService.getUserByLoginNameAndPassword(param.getUsername(), param.getPassword()); if (user == null) { - return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, UserValidMessage.LOGIN_FAILED, methodDescribe); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL,null, UserValidMessage.LOGIN_FAILED); } else { String tokenStr = JwtUtil.generateToken(user.getId()); Token token = new Token(); token.setAccessToken(tokenStr); + Map map = new HashMap<>(); + map.put("name", user.getName()); + token.setUserInfo(map); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, token, methodDescribe); } } @@ -85,8 +91,8 @@ public class AuthController extends BaseController { if (StrUtil.isNotBlank(authorization)) { String token = authorization.replace(SecurityConstants.AUTHORIZATION_PREFIX, Strings.EMPTY); JwtUtil.invalidateToken(token); - return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, methodDescribe); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); } - return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, false, methodDescribe); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, null, methodDescribe); } } diff --git a/system/src/main/java/com/njcn/gather/system/auth/pojo/Token.java b/system/src/main/java/com/njcn/gather/system/auth/pojo/Token.java index 3fd5d9fe..1c95985d 100644 --- a/system/src/main/java/com/njcn/gather/system/auth/pojo/Token.java +++ b/system/src/main/java/com/njcn/gather/system/auth/pojo/Token.java @@ -2,9 +2,13 @@ package com.njcn.gather.system.auth.pojo; import lombok.Data; +import java.util.Map; + @Data public class Token { private String accessToken; + private Map userInfo; + } diff --git a/system/src/main/java/com/njcn/gather/system/pojo/constant/SystemValidMessage.java b/system/src/main/java/com/njcn/gather/system/pojo/constant/SystemValidMessage.java index 4b68c65c..c8f561bc 100644 --- a/system/src/main/java/com/njcn/gather/system/pojo/constant/SystemValidMessage.java +++ b/system/src/main/java/com/njcn/gather/system/pojo/constant/SystemValidMessage.java @@ -82,4 +82,10 @@ public interface SystemValidMessage { String DATA_RULE_NOT_BLANK = "数据处理规则不能为空,请检查dataRule参数"; String DATA_RULE_FORMAT_ERROR = "数据处理规则格式错误,请检查dataRule参数"; + + String TYPE_NOT_BLANK = "版本类型不能为空,请检查type参数"; + + String AUTO_GENERATE_FORMAT_ERROR = "是否自动生成格式错误,请检查autoGenerate参数"; + + String TOKEN_VALID_ERROR = "token校验失败,请重新登录"; } diff --git a/user/src/main/java/com/njcn/gather/user/user/controller/SysFunctionController.java b/user/src/main/java/com/njcn/gather/user/user/controller/SysFunctionController.java index b6cb4109..9f36b665 100644 --- a/user/src/main/java/com/njcn/gather/user/user/controller/SysFunctionController.java +++ b/user/src/main/java/com/njcn/gather/user/user/controller/SysFunctionController.java @@ -1,14 +1,18 @@ package com.njcn.gather.user.user.controller; +import cn.hutool.core.util.StrUtil; import com.njcn.common.pojo.annotation.OperateInfo; import com.njcn.common.pojo.constant.OperateType; +import com.njcn.common.pojo.constant.SecurityConstants; import com.njcn.common.pojo.enums.common.LogEnum; import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.response.HttpResult; +import com.njcn.common.utils.JwtUtil; import com.njcn.common.utils.LogUtil; import com.njcn.gather.user.user.pojo.param.SysFunctionParam; import com.njcn.gather.user.user.pojo.param.SysRoleParam; import com.njcn.gather.user.user.pojo.po.SysFunction; +import com.njcn.gather.user.user.pojo.vo.ButtonVO; import com.njcn.gather.user.user.service.ISysFunctionService; import com.njcn.gather.user.user.service.ISysRoleFunctionService; import com.njcn.web.controller.BaseController; @@ -18,9 +22,11 @@ import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.apache.logging.log4j.util.Strings; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletRequest; import java.util.List; @@ -125,14 +131,35 @@ public class SysFunctionController extends BaseController { // } - // @OperateInfo(info = LogEnum.SYSTEM_COMMON) -// @GetMapping("/getRouteMenu") -// @ApiOperation("路由菜单") -// public HttpResult> getRouteMenu() { -// String methodDescribe = getMethodDescribe("getRouteMenu"); -// List list = sysFunctionService.getRouteMenu(); -// return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); -// } + @OperateInfo(info = LogEnum.SYSTEM_COMMON) + @GetMapping("/getMenu") + @ApiOperation("获取菜单") + public HttpResult> getMenu(HttpServletRequest request) { + String methodDescribe = getMethodDescribe("getMenu"); + String tokenStr = request.getHeader(SecurityConstants.AUTHORIZATION_KEY); + if (StrUtil.isNotBlank(tokenStr)) { + tokenStr.replace(SecurityConstants.AUTHORIZATION_PREFIX, Strings.EMPTY); + String userId = (String) JwtUtil.parseToken(tokenStr).get("userId"); + List list = sysFunctionService.getMenuByUserId(userId); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); + } + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, null, methodDescribe); + } + + @OperateInfo(info = LogEnum.SYSTEM_COMMON) + @GetMapping("/getButton") + @ApiOperation("获取按钮") + public HttpResult getButton(HttpServletRequest request) { + String methodDescribe = getMethodDescribe("getButton"); +// String tokenStr = request.getHeader(SecurityConstants.AUTHORIZATION_KEY); +// if (StrUtil.isNotBlank(tokenStr)) { +// tokenStr.replace(SecurityConstants.AUTHORIZATION_PREFIX, Strings.EMPTY); +// String userId = (String) JwtUtil.parseToken(tokenStr).get("userId"); +// ButtonVO buttonVO = sysFunctionService.getButtonByUserId(userId); +// return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, buttonVO, methodDescribe); +// } + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, null, methodDescribe); + } @OperateInfo(info = LogEnum.SYSTEM_COMMON) @PostMapping("/getFunctionsByRoleId") @ApiOperation("获取角色id绑定的菜单(资源)") @@ -154,14 +181,5 @@ public class SysFunctionController extends BaseController { boolean result = sysRoleFunctionService.updateRoleFunction(param.getRoleId(), param.getFunctionIds()); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); } - -// @OperateInfo(info = LogEnum.SYSTEM_COMMON) -// @GetMapping("/userFunctionTree") -// @ApiOperation("用户菜单树") -// public HttpResult> getUserFunctionTree() { -// String methodDescribe = getMethodDescribe("getUserFunctionTree"); -// List list = sysFunctionService.getUserFunctionTree(); -// return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); -// } } diff --git a/user/src/main/java/com/njcn/gather/user/user/mapper/SysFunctionMapper.java b/user/src/main/java/com/njcn/gather/user/user/mapper/SysFunctionMapper.java index 5e07e4a4..320faf9f 100644 --- a/user/src/main/java/com/njcn/gather/user/user/mapper/SysFunctionMapper.java +++ b/user/src/main/java/com/njcn/gather/user/user/mapper/SysFunctionMapper.java @@ -2,6 +2,9 @@ package com.njcn.gather.user.user.mapper; import com.github.yulichang.base.MPJBaseMapper; import com.njcn.gather.user.user.pojo.po.SysFunction; +import com.njcn.gather.user.user.pojo.vo.MenuVO; + +import java.util.List; /** * @author caozehui @@ -9,5 +12,11 @@ import com.njcn.gather.user.user.pojo.po.SysFunction; */ public interface SysFunctionMapper extends MPJBaseMapper { + /** + * 根据用户id获取菜单列表 + * @param userId 用户id + * @return 菜单列表 + */ + List getMenuByUserId(String userId); } diff --git a/user/src/main/java/com/njcn/gather/user/user/mapper/mapping/SysFunctionMapper.xml b/user/src/main/java/com/njcn/gather/user/user/mapper/mapping/SysFunctionMapper.xml index c07b9a72..70991242 100644 --- a/user/src/main/java/com/njcn/gather/user/user/mapper/mapping/SysFunctionMapper.xml +++ b/user/src/main/java/com/njcn/gather/user/user/mapper/mapping/SysFunctionMapper.xml @@ -3,5 +3,20 @@ + diff --git a/user/src/main/java/com/njcn/gather/user/user/service/ISysFunctionService.java b/user/src/main/java/com/njcn/gather/user/user/service/ISysFunctionService.java index cc4788d0..80e3bca7 100644 --- a/user/src/main/java/com/njcn/gather/user/user/service/ISysFunctionService.java +++ b/user/src/main/java/com/njcn/gather/user/user/service/ISysFunctionService.java @@ -3,6 +3,7 @@ package com.njcn.gather.user.user.service; import com.baomidou.mybatisplus.extension.service.IService; import com.njcn.gather.user.user.pojo.param.SysFunctionParam; import com.njcn.gather.user.user.pojo.po.SysFunction; +import com.njcn.gather.user.user.pojo.vo.ButtonVO; import java.util.List; @@ -68,16 +69,12 @@ public interface ISysFunctionService extends IService { //List getButtonsById(String id); /** - * 获取路由菜单 + * 根据用户id获取菜单 * * @return 路由菜单 */ - List getRouteMenu(); + List getMenuByUserId(String userId); + + //ButtonVO getButtonByUserId(String userId); - /** - * 获取用户拥有的资源树 - * - * @return - */ - //List getUserFunctionTree(); } diff --git a/user/src/main/java/com/njcn/gather/user/user/service/impl/SysFunctionServiceImpl.java b/user/src/main/java/com/njcn/gather/user/user/service/impl/SysFunctionServiceImpl.java index 60476914..58065564 100644 --- a/user/src/main/java/com/njcn/gather/user/user/service/impl/SysFunctionServiceImpl.java +++ b/user/src/main/java/com/njcn/gather/user/user/service/impl/SysFunctionServiceImpl.java @@ -11,6 +11,8 @@ import com.njcn.gather.user.pojo.enums.UserResponseEnum; import com.njcn.gather.user.user.mapper.SysFunctionMapper; import com.njcn.gather.user.user.pojo.param.SysFunctionParam; import com.njcn.gather.user.user.pojo.po.SysFunction; +import com.njcn.gather.user.user.pojo.vo.MenuVO; +import com.njcn.gather.user.user.pojo.vo.MetaVO; import com.njcn.gather.user.user.service.ISysFunctionService; import com.njcn.gather.user.user.service.ISysRoleFunctionService; import lombok.RequiredArgsConstructor; @@ -130,44 +132,27 @@ public class SysFunctionServiceImpl extends ServiceImpl getRouteMenu() { -// List result = new ArrayList<>(); -// List functionIds; -// if (Objects.equals(RequestUtil.getUsername(), UserType.SUPER_ADMIN)) { -// //查询所有菜单 -// functionIds = this.lambdaQuery().eq(SysFunction::getState, DataStateEnum.ENABLE.getCode()).list().stream().map(SysFunction::getId).distinct().collect(Collectors.toList()); -// } else { -// List roleIdList = sysUserRoleService.listRoleByUserId(RequestUtil.getUserIndex()).stream().map(SysUserRole::getRoleId).distinct().collect(Collectors.toList()); -// functionIds = sysRoleFunctionService.listRoleFunctionByRoleIds(roleIdList).stream().map(SysRoleFunction::getFunctionId).distinct().collect(Collectors.toList()); -// } -// if (CollectionUtils.isEmpty(functionIds)) { -// return result; -// } -// List functionList = this.lambdaQuery().eq(SysFunction::getState, DataStateEnum.ENABLE.getCode()) -// .in(SysFunction::getId, functionIds) -// .in(SysFunction::getType, FunctionConst.TYPE_MENU, FunctionConst.TYPE_BUTTON).list(); -// result = functionList.stream() -// .filter(fun -> Objects.equals(FunctionConst.FATHER_PID, fun.getPid().trim())) -// .peek(funS -> funS.setChildren(getChildrenList(funS, functionList))) -// .sorted(Comparator.comparingInt(SysFunction::getSort)) -// .collect(Collectors.toList()); -// //组装驾驶舱 -// setDriverChildren(result); -// 处理tab页 -// setTab(result); -// return result; - return Collections.emptyList(); + public List getMenuByUserId(String userId) { + List menu = this.baseMapper.getMenuByUserId(userId); + menu.stream().forEach(m -> { + MetaVO meta = new MetaVO(); + meta.setIcon(m.getIcon()); + meta.setTitle(m.getName()); + meta.setIsLink(""); + meta.setHide(false); + meta.setFull(false); + meta.setAffix(false); + meta.setKeepAlive(true); + m.setMeta(meta); + }); + return menu.stream().filter(fun -> Objects.equals(FunctionConst.FATHER_PID, fun.getPid())).peek(funS -> funS.setChildren(getChildrenList(funS, menu))).sorted(Comparator.comparingInt(SysFunction::getSort)).collect(Collectors.toList()); } -// @Override -// public List getUserFunctionTree() { -// return Collections.emptyList(); -// } /** * 根据当前分类找出子类,递归找出子类的子类 */ - private List getChildrenList(SysFunction currMenu, List categories) { + private List getChildrenList(T currMenu, List categories) { return categories.stream().filter(o -> Objects.equals(o.getPid(), currMenu.getId())).peek(o -> o.setChildren(getChildrenList(o, categories))).sorted(Comparator.comparingInt(SysFunction::getSort)).collect(Collectors.toList()); } @@ -219,4 +204,5 @@ public class SysFunctionServiceImpl extends ServiceImpl