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 e502a9fb..3eabccf6 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 @@ -71,4 +71,12 @@ public interface DeviceValidMessage { String PROTOCOL_FORMAT_ERROR = "通讯协议格式错误,请检查protocol参数"; String PLAN_ID_FORMAT_ERROR = "检测计划ID格式错误,请检查planId参数"; + + String STANDARD_TIME_FORMAT_ERROR = "标准推行时间格式错误,请检查standardTime参数"; + + String SCRIPT_TYPE_NOT_BLANK = "检测脚本类型不能为空,请检查scriptType参数"; + + String STANDARD_NAME_NOT_BLANK = "参照标准名称不能为空,请检查standardName参数"; + + String STANDARD_TIME_NOT_BLANK = "标准推行时间不能为空,请检查standardTime参数"; } diff --git a/entrance/src/main/resources/application.yml b/entrance/src/main/resources/application.yml index 998884a1..e62fef4a 100644 --- a/entrance/src/main/resources/application.yml +++ b/entrance/src/main/resources/application.yml @@ -6,9 +6,9 @@ spring: datasource: druid: driver-class-name: com.mysql.cj.jdbc.Driver - url: jdbc:mysql://127.0.0.1:3306/pqs9100?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=CTT + url: jdbc:mysql://192.168.1.24:13306/pqs9100?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=CTT username: root - password: 123456 + password: njcnpqs #初始化建立物理连接的个数、最小、最大连接数 initial-size: 5 min-idle: 5 diff --git a/system/pom.xml b/system/pom.xml index 2785ef0f..d168532a 100644 --- a/system/pom.xml +++ b/system/pom.xml @@ -28,7 +28,11 @@ 2.3.12 - + + com.njcn.gather + user + 1.0.0 + 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 06d14a75..32e01dbd 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 @@ -1,16 +1,42 @@ package com.njcn.gather.system.auth.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.system.auth.pojo.Token; +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; +import com.njcn.gather.user.user.service.ISysUserService; +import com.njcn.web.controller.BaseController; +import com.njcn.web.utils.HttpResultUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.apache.logging.log4j.util.Strings; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import javax.servlet.http.HttpServletRequest; + @Slf4j @RestController -@RequestMapping("admin") -public class AuthController { +@Api(tags = "登录/注销") +@RequestMapping("/admin") +@RequiredArgsConstructor +public class AuthController extends BaseController { + + private final ISysUserService sysUserService; @RequestMapping("/login") public HttpResult login() { @@ -31,4 +57,36 @@ public class AuthController { result.setData("退出成功"); return result; } + + @OperateInfo(info = LogEnum.SYSTEM_COMMON, operateType = OperateType.AUTHENTICATE) + @PostMapping("/login1") + @ApiOperation("登录") + public HttpResult login(@RequestBody SysUserParam.LoginParam param) { + String methodDescribe = getMethodDescribe("login"); + 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); + } else { + String tokenStr = JwtUtil.generateToken(user.getId()); + Token token = new Token(); + token.setAccessToken(tokenStr); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, token, methodDescribe); + } + } + + @OperateInfo(info = LogEnum.SYSTEM_SERIOUS, operateType = OperateType.LOGOUT) + @ApiOperation("注销登录") + @PostMapping("/logout1") + public HttpResult logout(HttpServletRequest request) { + String methodDescribe = getMethodDescribe("logout"); + LogUtil.njcnDebug(log, "{},注销登录", methodDescribe); + String authorization = request.getHeader(SecurityConstants.AUTHORIZATION_KEY); + 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.FAIL, false, methodDescribe); + } } diff --git a/system/src/main/java/com/njcn/gather/system/dictionary/controller/DictTreeController.java b/system/src/main/java/com/njcn/gather/system/dictionary/controller/DictTreeController.java index 8b105165..942856ef 100644 --- a/system/src/main/java/com/njcn/gather/system/dictionary/controller/DictTreeController.java +++ b/system/src/main/java/com/njcn/gather/system/dictionary/controller/DictTreeController.java @@ -44,7 +44,7 @@ public class DictTreeController extends BaseController { private final IDictTreeService dictTreeService; @OperateInfo(info = LogEnum.SYSTEM_COMMON) - @GetMapping("/likeName") + @GetMapping("/getTree") @ApiOperation("按照名称模糊查询字典树") @ApiImplicitParam(name = "keyword", value = "查询参数", required = true) public HttpResult> getDictTreeByKeyword(@RequestParam String keyword) { @@ -176,17 +176,6 @@ public class DictTreeController extends BaseController { List result = dictTreeService.queryAllByType(type); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); } - - - @OperateInfo(info = LogEnum.SYSTEM_COMMON) - @GetMapping("/queryTree") - @ApiOperation("树形字典树结构展示") - public HttpResult> queryTree() { - String methodDescribe = getMethodDescribe("queryTree"); - List result = dictTreeService.queryTree(); - return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); - } - } diff --git a/user/src/main/java/com/njcn/gather/user/pojo/constant/UserValidMessage.java b/user/src/main/java/com/njcn/gather/user/pojo/constant/UserValidMessage.java index 0fe988dd..fb633bee 100644 --- a/user/src/main/java/com/njcn/gather/user/pojo/constant/UserValidMessage.java +++ b/user/src/main/java/com/njcn/gather/user/pojo/constant/UserValidMessage.java @@ -20,7 +20,7 @@ public interface UserValidMessage { String LOGIN_NAME_NOT_BLANK = "登录名不能为空,请检查loginName参数"; - String LOGIN_NAME_FORMAT_ERROR = "登录名格式错误,需3-16位的英文字母或数字,请检查loginName参数"; + String LOGIN_NAME_FORMAT_ERROR = "登录名格式错误,需以字母开头,长度为3-16位的字母或数字"; String PASSWORD_NOT_BLANK = "密码不能为空,请检查password参数"; 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 d91ba8da..20c185a6 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 @@ -38,7 +38,7 @@ public class SysFunctionController extends BaseController { private final ISysRoleFunctionService sysRoleFunctionService; @OperateInfo(info = LogEnum.SYSTEM_COMMON) - @GetMapping("/likeName") + @GetMapping("/getTree") @ApiOperation("按照名称模糊查询菜单树") @ApiImplicitParam(name = "keyword", value = "查询参数", required = true) public HttpResult> getFunctionTreeByKeyword(@RequestParam @Validated String keyword) { @@ -48,15 +48,6 @@ public class SysFunctionController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); } - @OperateInfo(info = LogEnum.SYSTEM_COMMON) - @GetMapping("/functionTree") - @ApiOperation("菜单树") - public HttpResult> getFunctionTree() { - String methodDescribe = getMethodDescribe("getFunctionTree"); - List list = sysFunctionService.getFunctionTree(true); - return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); - } - @OperateInfo(info = LogEnum.SYSTEM_COMMON) @GetMapping("/functionTreeNoButton") @ApiOperation("菜单树-不包括按钮") diff --git a/user/src/main/java/com/njcn/gather/user/user/controller/SysUserController.java b/user/src/main/java/com/njcn/gather/user/user/controller/SysUserController.java index fb52814c..c97426d2 100644 --- a/user/src/main/java/com/njcn/gather/user/user/controller/SysUserController.java +++ b/user/src/main/java/com/njcn/gather/user/user/controller/SysUserController.java @@ -43,32 +43,6 @@ public class SysUserController extends BaseController { private final ISysUserService sysUserService; - @OperateInfo(info = LogEnum.SYSTEM_COMMON, operateType = OperateType.AUTHENTICATE) - @PostMapping("/login") - @ApiOperation("登录") - public HttpResult login(@RequestBody SysUserParam.LoginParam param) { - String methodDescribe = getMethodDescribe("login"); - LogUtil.njcnDebug(log, "{},登录参数为:{}", methodDescribe, param); - SysUser user = sysUserService.getUserByLoginNameAndPassword(param.getLoginName(), param.getPassword()); - if (user == null) { - return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, UserValidMessage.LOGIN_FAILED, methodDescribe); - } else { - String token = JwtUtil.generateToken(user.getId()); - return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, token, methodDescribe); - } - } - - @OperateInfo(info = LogEnum.SYSTEM_SERIOUS, operateType = OperateType.LOGOUT) - @ApiOperation("注销登录") - @PostMapping("/logout") - public HttpResult logout(HttpServletRequest request) { - String methodDescribe = getMethodDescribe("logout"); - LogUtil.njcnDebug(log, "{},注销登录", methodDescribe); - String token = request.getHeader("Authorization").replace(SecurityConstants.AUTHORIZATION_PREFIX, Strings.EMPTY); - JwtUtil.invalidateToken(token); - return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, methodDescribe); - } - @OperateInfo(info = LogEnum.SYSTEM_COMMON) @PostMapping("/list") @ApiOperation("分页查询用户列表") diff --git a/user/src/main/java/com/njcn/gather/user/user/pojo/param/SysUserParam.java b/user/src/main/java/com/njcn/gather/user/user/pojo/param/SysUserParam.java index 2957482a..72de0b38 100644 --- a/user/src/main/java/com/njcn/gather/user/user/pojo/param/SysUserParam.java +++ b/user/src/main/java/com/njcn/gather/user/user/pojo/param/SysUserParam.java @@ -107,7 +107,7 @@ public class SysUserParam { @ApiModelProperty("登录名") @NotBlank(message = UserValidMessage.LOGIN_NAME_NOT_BLANK) @Pattern(regexp = PatternRegex.LOGIN_NAME_REGEX, message = UserValidMessage.LOGIN_NAME_FORMAT_ERROR) - private String loginName; + private String username; @ApiModelProperty("密码") @NotBlank(message = UserValidMessage.PASSWORD_NOT_BLANK) diff --git a/user/src/main/java/com/njcn/gather/user/user/service/impl/SysUserServiceImpl.java b/user/src/main/java/com/njcn/gather/user/user/service/impl/SysUserServiceImpl.java index 02c349e8..c74d95bd 100644 --- a/user/src/main/java/com/njcn/gather/user/user/service/impl/SysUserServiceImpl.java +++ b/user/src/main/java/com/njcn/gather/user/user/service/impl/SysUserServiceImpl.java @@ -176,9 +176,11 @@ public class SysUserServiceImpl extends ServiceImpl impl @Override public SysUser getUserByLoginNameAndPassword(String loginName, String password) { + String secretkey = Sm4Utils.globalSecretKey; + Sm4Utils sm4 = new Sm4Utils(secretkey); return this.lambdaQuery().ne(SysUser::getState, UserState.DELETE) .eq(SysUser::getLoginName, loginName) - .eq(SysUser::getPassword, password).one(); + .eq(SysUser::getPassword, sm4.encryptData_ECB(password)).one(); } @Override