Selaa lähdekoodia

初始化,包含部分权限相关代码

gengjunfang 1 kuukausi sitten
vanhempi
commit
6a8b20fc45
38 muutettua tiedostoa jossa 341 lisäystä ja 137 poistoa
  1. 0 6
      src/main/java/com/zskk/pacsonlie/component/response/ResultResponseFunction.java
  2. 0 24
      src/main/java/com/zskk/pacsonlie/component/response/exception/ResponseUtils.java
  3. 0 28
      src/main/java/com/zskk/pacsonlie/modules/system/service/impl/SysUserServiceImpl.java
  4. 1 1
      src/main/java/com/zskk/pacsonline/PacsonlineApplication.java
  5. 1 1
      src/main/java/com/zskk/pacsonline/component/CommonConstant.java
  6. 1 1
      src/main/java/com/zskk/pacsonline/component/NumberConstant.java
  7. 1 1
      src/main/java/com/zskk/pacsonline/component/UserLockConstant.java
  8. 0 0
      src/main/java/com/zskk/pacsonline/component/aop/ControllerAop.java
  9. 1 1
      src/main/java/com/zskk/pacsonline/component/aop/SystemLogHandler.java
  10. 1 1
      src/main/java/com/zskk/pacsonline/component/jackson/LongToStringSerializer.java
  11. 18 18
      src/main/java/com/zskk/pacsonline/component/response/RestResult.java
  12. 6 0
      src/main/java/com/zskk/pacsonline/component/response/ResultResponseFunction.java
  13. 24 0
      src/main/java/com/zskk/pacsonline/component/response/exception/ResponseUtils.java
  14. 1 1
      src/main/java/com/zskk/pacsonline/component/response/exception/ServiceException.java
  15. 6 6
      src/main/java/com/zskk/pacsonline/component/response/exception/ServiceExceptionHandler.java
  16. 1 1
      src/main/java/com/zskk/pacsonline/config/RedisConfig.java
  17. 3 3
      src/main/java/com/zskk/pacsonline/config/SecurityConfig.java
  18. 176 0
      src/main/java/com/zskk/pacsonline/modules/system/controller/SysUserController.java
  19. 1 1
      src/main/java/com/zskk/pacsonline/modules/system/entity/SysMenu.java
  20. 1 1
      src/main/java/com/zskk/pacsonline/modules/system/entity/SysRole.java
  21. 1 1
      src/main/java/com/zskk/pacsonline/modules/system/entity/SysUser.java
  22. 2 2
      src/main/java/com/zskk/pacsonline/modules/system/mapper/SysMenuMapper.java
  23. 2 2
      src/main/java/com/zskk/pacsonline/modules/system/mapper/SysRoleMapper.java
  24. 4 2
      src/main/java/com/zskk/pacsonline/modules/system/mapper/SysUserMapper.java
  25. 2 2
      src/main/java/com/zskk/pacsonline/modules/system/mapper/xml/SysMenuMapper.xml
  26. 3 3
      src/main/java/com/zskk/pacsonline/modules/system/mapper/xml/SysUserMapper.xml
  27. 9 0
      src/main/java/com/zskk/pacsonline/modules/system/request/LoginBody.java
  28. 2 2
      src/main/java/com/zskk/pacsonline/modules/system/service/SysMenuService.java
  29. 5 2
      src/main/java/com/zskk/pacsonline/modules/system/service/SysUserService.java
  30. 4 4
      src/main/java/com/zskk/pacsonline/modules/system/service/impl/SysMenuServiceImpl.java
  31. 40 0
      src/main/java/com/zskk/pacsonline/modules/system/service/impl/SysUserServiceImpl.java
  32. 2 2
      src/main/java/com/zskk/pacsonline/security/JwtAuthenticationFilter.java
  33. 2 2
      src/main/java/com/zskk/pacsonline/security/LoginUser.java
  34. 10 6
      src/main/java/com/zskk/pacsonline/security/TokenService.java
  35. 3 3
      src/main/java/com/zskk/pacsonline/security/UserDetailsServiceImpl.java
  36. 5 7
      src/main/java/com/zskk/pacsonline/utils/JwtUtil.java
  37. 1 1
      src/main/java/com/zskk/pacsonline/utils/RedisCache.java
  38. 1 1
      src/main/resources/logback-spring.xml

+ 0 - 6
src/main/java/com/zskk/pacsonlie/component/response/ResultResponseFunction.java

@@ -1,6 +0,0 @@
-package com.zskk.pacsonlie.component.response;
-
-@FunctionalInterface
-public interface ResultResponseFunction {
-    Result tipMessage(String successMsg, String errorMsg);
-}

+ 0 - 24
src/main/java/com/zskk/pacsonlie/component/response/exception/ResponseUtils.java

@@ -1,24 +0,0 @@
-package com.zskk.pacsonlie.component.response.exception;
-
-
-import com.zskk.pacsonlie.component.response.Result;
-
-public class ResponseUtils {
-    /**
-     * 调用成功
-     */
-    private static final String SUCCESS = "调用成功!";
-
-    public static Result success(Object obj){
-        return Result.ok(obj);
-    }
-
-    public static Result success(){
-        return success(null);
-    }
-
-    public static Result error(Integer code, String msg){
-        return Result.error(code, msg);
-    }
-
-}

+ 0 - 28
src/main/java/com/zskk/pacsonlie/modules/system/service/impl/SysUserServiceImpl.java

@@ -1,28 +0,0 @@
-package com.zskk.pacsonlie.modules.system.service.impl;
-
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.zskk.pacsonlie.modules.system.entity.SysUser;
-import com.zskk.pacsonlie.modules.system.mapper.SysUserMapper;
-import com.zskk.pacsonlie.modules.system.service.SysUserService;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
-
-/**
- * 系统用户服务实现
- *
- * @author admin
- */
-@Service
-public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> implements SysUserService {
-
-    @Override
-    public SysUser getUserWithRolesAndPermissions(String username) {
-        return baseMapper.selectUserWithRolesAndPermissions(username);
-    }
-
-    @Override
-    public List<String> getPermissionsByUserId(Long userId) {
-        return baseMapper.selectPermissionsByUserId(userId);
-    }
-}

+ 1 - 1
src/main/java/com/zskk/pacsonlie/PacsonlineApplication.java → src/main/java/com/zskk/pacsonline/PacsonlineApplication.java

@@ -1,4 +1,4 @@
-package com.zskk.pacsonlie;
+package com.zskk.pacsonline;
 
 
 import org.springframework.boot.SpringApplication;

+ 1 - 1
src/main/java/com/zskk/pacsonlie/component/CommonConstant.java → src/main/java/com/zskk/pacsonline/component/CommonConstant.java

@@ -1,4 +1,4 @@
-package com.zskk.pacsonlie.component;
+package com.zskk.pacsonline.component;
 
 
 public interface CommonConstant {

+ 1 - 1
src/main/java/com/zskk/pacsonlie/component/NumberConstant.java → src/main/java/com/zskk/pacsonline/component/NumberConstant.java

@@ -1,4 +1,4 @@
-package com.zskk.pacsonlie.component;
+package com.zskk.pacsonline.component;
 
 
 /**

+ 1 - 1
src/main/java/com/zskk/pacsonlie/component/UserLockConstant.java → src/main/java/com/zskk/pacsonline/component/UserLockConstant.java

@@ -1,4 +1,4 @@
-package com.zskk.pacsonlie.component;
+package com.zskk.pacsonline.component;
 
 public class UserLockConstant {
     /**

+ 0 - 0
src/main/java/com/zskk/pacsonlie/component/aop/ControllerAop.java → src/main/java/com/zskk/pacsonline/component/aop/ControllerAop.java


+ 1 - 1
src/main/java/com/zskk/pacsonlie/component/aop/SystemLogHandler.java → src/main/java/com/zskk/pacsonline/component/aop/SystemLogHandler.java

@@ -1,4 +1,4 @@
-package com.zskk.pacsonlie.component.aop;
+package com.zskk.pacsonline.component.aop;
 
 
 import java.lang.annotation.*;

+ 1 - 1
src/main/java/com/zskk/pacsonlie/component/jackson/LongToStringSerializer.java → src/main/java/com/zskk/pacsonline/component/jackson/LongToStringSerializer.java

@@ -1,4 +1,4 @@
-package com.zskk.pacsonlie.component.jackson;
+package com.zskk.pacsonline.component.jackson;
 
 import cn.hutool.core.convert.Convert;
 import com.fasterxml.jackson.core.JsonGenerator;

+ 18 - 18
src/main/java/com/zskk/pacsonlie/component/response/Result.java → src/main/java/com/zskk/pacsonline/component/response/RestResult.java

@@ -1,6 +1,6 @@
-package com.zskk.pacsonlie.component.response;
+package com.zskk.pacsonline.component.response;
 
-import com.zskk.pacsonlie.component.CommonConstant;
+import com.zskk.pacsonline.component.CommonConstant;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.AllArgsConstructor;
@@ -16,7 +16,7 @@ import java.io.Serializable;
 @ApiModel(value="接口返回对象", description="接口返回对象")
 @Builder
 @AllArgsConstructor
-public class Result<T> implements Serializable {
+public class RestResult<T> implements Serializable {
 
 	private static final long serialVersionUID = 1L;
 
@@ -50,10 +50,10 @@ public class Result<T> implements Serializable {
 	@ApiModelProperty(value = "时间戳")
 	private long timestamp = System.currentTimeMillis();
 
-	public Result() {
+	public RestResult() {
 	}
 
-	public Result<T> success(String message) {
+	public RestResult<T> success(String message) {
 		this.message = message;
 		this.code = CommonConstant.SC_OK_200;
 		this.success = true;
@@ -61,24 +61,24 @@ public class Result<T> implements Serializable {
 	}
 
 
-	public static <T> Result ok() {
-		Result<T> r = new Result<>();
+	public static <T> RestResult ok() {
+		RestResult<T> r = new RestResult<>();
 		r.setSuccess(true);
 		r.setCode(CommonConstant.SC_OK_200);
 		r.setMessage("成功");
 		return r;
 	}
 
-	public static <T> Result ok(String msg) {
-		Result<T> r = new Result<>();
+	public static <T> RestResult ok(String msg) {
+		RestResult<T> r = new RestResult<>();
 		r.setSuccess(true);
 		r.setCode(CommonConstant.SC_OK_200);
 		r.setMessage(msg);
 		return r;
 	}
 
-	public static <T> Result ok(String msg,T data) {
-		Result<T> r = new Result<>();
+	public static <T> RestResult ok(String msg, T data) {
+		RestResult<T> r = new RestResult<>();
 		r.setSuccess(true);
 		r.setCode(CommonConstant.SC_OK_200);
 		r.setResult(data);
@@ -86,27 +86,27 @@ public class Result<T> implements Serializable {
 		return r;
 	}
 
-	public static <T> Result ok(T data) {
-		Result<T> r = new Result<>();
+	public static <T> RestResult ok(T data) {
+		RestResult<T> r = new RestResult<>();
 		r.setSuccess(true);
 		r.setCode(CommonConstant.SC_OK_200);
 		r.setResult(data);
 		return r;
 	}
 
-	public static Result<Object> error(String msg) {
+	public static RestResult<Object> error(String msg) {
 		return error(CommonConstant.SC_INTERNAL_SERVER_ERROR_500, msg);
 	}
 
-	public static Result<Object> error(int code, String msg) {
-		Result<Object> r = new Result<Object>();
+	public static RestResult<Object> error(int code, String msg) {
+		RestResult<Object> r = new RestResult<Object>();
 		r.setCode(code);
 		r.setMessage(msg);
 		r.setSuccess(false);
 		return r;
 	}
 
-	public Result<T> error500(String message) {
+	public RestResult<T> error500(String message) {
 		this.message = message;
 		this.code = CommonConstant.SC_INTERNAL_SERVER_ERROR_500;
 		this.success = false;
@@ -115,7 +115,7 @@ public class Result<T> implements Serializable {
 	/**
 	 * 无权限访问返回结果
 	 */
-	public static Result<Object> noauth(String msg) {
+	public static RestResult<Object> noauth(String msg) {
 		return error(CommonConstant.SC_JEECG_NO_AUTHZ, msg);
 	}
 }

+ 6 - 0
src/main/java/com/zskk/pacsonline/component/response/ResultResponseFunction.java

@@ -0,0 +1,6 @@
+package com.zskk.pacsonline.component.response;
+
+@FunctionalInterface
+public interface ResultResponseFunction {
+    RestResult tipMessage(String successMsg, String errorMsg);
+}

+ 24 - 0
src/main/java/com/zskk/pacsonline/component/response/exception/ResponseUtils.java

@@ -0,0 +1,24 @@
+package com.zskk.pacsonline.component.response.exception;
+
+
+import com.zskk.pacsonline.component.response.RestResult;
+
+public class ResponseUtils {
+    /**
+     * 调用成功
+     */
+    private static final String SUCCESS = "调用成功!";
+
+    public static RestResult success(Object obj){
+        return RestResult.ok(obj);
+    }
+
+    public static RestResult success(){
+        return success(null);
+    }
+
+    public static RestResult error(Integer code, String msg){
+        return RestResult.error(code, msg);
+    }
+
+}

+ 1 - 1
src/main/java/com/zskk/pacsonlie/component/response/exception/ServiceException.java → src/main/java/com/zskk/pacsonline/component/response/exception/ServiceException.java

@@ -1,4 +1,4 @@
-package com.zskk.pacsonlie.component.response.exception;
+package com.zskk.pacsonline.component.response.exception;
 
 /**
  * 自定义异常--处理service层逻辑处理中发生的错误

+ 6 - 6
src/main/java/com/zskk/pacsonlie/component/response/exception/ServiceExceptionHandler.java → src/main/java/com/zskk/pacsonline/component/response/exception/ServiceExceptionHandler.java

@@ -1,14 +1,14 @@
-package com.zskk.pacsonlie.component.response.exception;
+package com.zskk.pacsonline.component.response.exception;
 
 
-import com.zskk.pacsonlie.component.response.Result;
+import com.zskk.pacsonline.component.response.RestResult;
 import org.springframework.web.bind.annotation.ControllerAdvice;
 import org.springframework.web.bind.annotation.ExceptionHandler;
 import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.bind.annotation.RestController;
 
 /**
- * 实现dfgggggggggggggggfgfgfcdddd自定义异常的处理
+ * 实现自定义异常的处理
  * ControllerAdvice 接受抛出的异常,返回
  */
 @RestController
@@ -22,7 +22,7 @@ public class ServiceExceptionHandler {
      */
     @ExceptionHandler(ServiceException.class)
     @ResponseBody
-    public Result<?> handle(ServiceException se) {
+    public RestResult<?> handle(ServiceException se) {
         se.printStackTrace();
         return ResponseUtils.error(se.getCode(), se.getMessage());
     }
@@ -31,9 +31,9 @@ public class ServiceExceptionHandler {
      * Exception 走的这个方法
      */
     @ExceptionHandler(Exception.class)
-    public Result<?> handle(Exception ex) {
+    public RestResult<?> handle(Exception ex) {
         ex.printStackTrace();
-        return Result.error("请求异常, 请稍后重试!" + ex.getMessage());
+        return RestResult.error("请求异常, 请稍后重试!" + ex.getMessage());
     }
 
     ///**

+ 1 - 1
src/main/java/com/zskk/pacsonlie/config/RedisConfig.java → src/main/java/com/zskk/pacsonline/config/RedisConfig.java

@@ -1,4 +1,4 @@
-package com.zskk.pacsonlie.config;
+package com.zskk.pacsonline.config;
 
 import com.fasterxml.jackson.annotation.JsonAutoDetect;
 import com.fasterxml.jackson.annotation.PropertyAccessor;

+ 3 - 3
src/main/java/com/zskk/pacsonlie/config/SecurityConfig.java → src/main/java/com/zskk/pacsonline/config/SecurityConfig.java

@@ -1,7 +1,7 @@
-package com.zskk.pacsonlie.config;
+package com.zskk.pacsonline.config;
 
-import com.zskk.pacsonlie.security.JwtAuthenticationFilter;
-import com.zskk.pacsonlie.security.UserDetailsServiceImpl;
+import com.zskk.pacsonline.security.JwtAuthenticationFilter;
+import com.zskk.pacsonline.security.UserDetailsServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;

+ 176 - 0
src/main/java/com/zskk/pacsonline/modules/system/controller/SysUserController.java

@@ -0,0 +1,176 @@
+package com.zskk.pacsonline.modules.system.controller;
+
+import com.zskk.pacsonline.component.response.RestResult;
+import com.zskk.pacsonline.modules.system.entity.SysUser;
+import com.zskk.pacsonline.modules.system.request.LoginBody;
+import com.zskk.pacsonline.modules.system.service.SysUserService;
+import com.zskk.pacsonline.utils.JwtUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.security.authentication.AuthenticationManager;
+import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
+import org.springframework.security.core.Authentication;
+import org.springframework.security.core.context.SecurityContextHolder;
+import org.springframework.security.crypto.password.PasswordEncoder;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.concurrent.TimeUnit;
+
+public class SysUserController {
+    @Resource
+    private AuthenticationManager authenticationManager;
+
+    @Resource
+    private JwtUtil jwtUtils;
+
+    @Resource
+    private SysUserService sysUserService;
+
+    @Resource
+    private PasswordEncoder passwordEncoder;
+
+    @Autowired
+    private RedisTemplate<String, String> redisTemplate;
+
+    /**
+     * 用户名密码登录
+     * @param loginBody 登录信息
+     * @return 登录结果
+     */
+    @PostMapping("/login")
+    public RestResult<?> login(@RequestBody LoginBody loginBody, HttpServletRequest request) {
+        // 验证用户名和密码
+        Authentication authentication = authenticationManager.authenticate(
+                new UsernamePasswordAuthenticationToken(loginBody.getUsername(), loginBody.getPassword())
+        );
+
+        // 设置认证信息
+        SecurityContextHolder.getContext().setAuthentication(authentication);
+
+        // 获取用户信息
+        SysUser user = sysUserService.getUserByUsername(loginBody.getUsername());
+
+        // 生成token
+        Map<String, Object> claims = new HashMap<>();
+        claims.put("username", user.getUsername());
+        claims.put("userId", user.getId());
+        String token = jwtUtils.generateToken(claims);
+
+        // 将token存储到redis
+        redisTemplate.opsForValue().set("token:" + user.getId(), token, 24, TimeUnit.HOURS);
+
+        // 返回结果
+        Map<String, Object> result = new HashMap<>();
+        result.put("token", token);
+        result.put("userInfo", user);
+        return  RestResult.ok("succes",result);
+    }
+
+    /**
+     * 退出登录
+     * @return 退出结果
+     */
+    @PostMapping("/logout")
+    public RestResult<?> logout() {
+        // 获取当前用户
+        Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
+        if (authentication != null) {
+            // 删除redis中的token
+            String username = authentication.getName();
+            SysUser user = sysUserService.getUserByUsername(username);
+            if (user != null) {
+                redisTemplate.delete("token:" + user.getId());
+            }
+        }
+
+        // 清空认证信息
+        SecurityContextHolder.clearContext();
+        return RestResult.ok("退出成功");
+    }
+
+    ///**
+    // * 手机号验证码登录
+    // * @param loginBody 登录信息
+    // * @return 登录结果
+    // */
+    //@PostMapping("/loginByPhone")
+    //public RestResult<?> loginByPhone(@RequestBody LoginBody loginBody) {
+    //    // 验证手机号
+    //    if (!StringUtils.isPhone(loginBody.getPhone())) {
+    //        return ResponseResult.fail(ResultCode.PARAM_ERROR);
+    //    }
+    //
+    //    // 验证验证码
+    //    String code = redisTemplate.opsForValue().get("sms:code:" + loginBody.getPhone());
+    //    if (code == null || !code.equals(loginBody.getCode())) {
+    //        return ResponseResult.fail(ResultCode.CAPTCHA_ERROR);
+    //    }
+    //
+    //    // 获取用户信息
+    //    SysUser user = sysUserService.getUserByPhone(loginBody.getPhone());
+    //    if (user == null) {
+    //        return ResponseResult.fail(ResultCode.USER_NOT_EXIST);
+    //    }
+    //
+    //    // 检查用户状态
+    //    if (user.getStatus() == 0) {
+    //        return ResponseResult.fail(ResultCode.FORBIDDEN);
+    //    }
+    //
+    //    // 生成token
+    //    Map<String, Object> claims = new HashMap<>();
+    //    claims.put("username", user.getUsername());
+    //    claims.put("userId", user.getUserId());
+    //    String token = jwtUtils.generateToken(user.getUserId().toString(), claims);
+    //
+    //    // 将token存储到redis
+    //    redisTemplate.opsForValue().set("token:" + user.getUserId(), token, 24, TimeUnit.HOURS);
+    //
+    //    // 删除验证码
+    //    redisTemplate.delete("sms:code:" + loginBody.getPhone());
+    //
+    //    // 返回结果
+    //    Map<String, Object> result = new HashMap<>();
+    //    result.put("token", token);
+    //    result.put("userInfo", user);
+    //    return ResponseResult.success(result);
+    //}
+
+    ///**
+    // * 发送验证码
+    // * @param phone 手机号
+    // * @return 发送结果
+    // */
+    //@PostMapping("/sendCode")
+    //public ResponseResult<?> sendCode(String phone) {
+    //    // 验证手机号
+    //    if (!StringUtils.isPhone(phone)) {
+    //        return ResponseResult.fail(ResultCode.PARAM_ERROR);
+    //    }
+    //
+    //    // 检查手机号是否存在
+    //    if (!sysUserService.checkPhoneExist(phone)) {
+    //        return ResponseResult.fail(ResultCode.PHONE_NOT_EXIST);
+    //    }
+    //
+    //    // 生成验证码
+    //    String code = StringUtils.generateVerifyCode(6);
+    //
+    //    // 存储验证码到redis,有效期5分钟
+    //    redisTemplate.opsForValue().set("sms:code:" + phone, code, 5, TimeUnit.MINUTES);
+    //
+    //    // TODO: 调用短信发送服务发送验证码
+    //    System.out.println("发送验证码: " + code + " 到手机号: " + phone);
+    //
+    //    return ResponseResult.success("验证码发送成功");
+    //}
+
+
+
+
+}

+ 1 - 1
src/main/java/com/zskk/pacsonlie/modules/system/entity/SysMenu.java → src/main/java/com/zskk/pacsonline/modules/system/entity/SysMenu.java

@@ -1,4 +1,4 @@
-package com.zskk.pacsonlie.modules.system.entity;
+package com.zskk.pacsonline.modules.system.entity;
 
 import com.baomidou.mybatisplus.annotation.*;
 import com.fasterxml.jackson.annotation.JsonFormat;

+ 1 - 1
src/main/java/com/zskk/pacsonlie/modules/system/entity/SysRole.java → src/main/java/com/zskk/pacsonline/modules/system/entity/SysRole.java

@@ -1,4 +1,4 @@
-package com.zskk.pacsonlie.modules.system.entity;
+package com.zskk.pacsonline.modules.system.entity;
 
 import com.baomidou.mybatisplus.annotation.*;
 import com.fasterxml.jackson.annotation.JsonFormat;

+ 1 - 1
src/main/java/com/zskk/pacsonlie/modules/system/entity/SysUser.java → src/main/java/com/zskk/pacsonline/modules/system/entity/SysUser.java

@@ -1,4 +1,4 @@
-package com.zskk.pacsonlie.modules.system.entity;
+package com.zskk.pacsonline.modules.system.entity;
 
 import com.baomidou.mybatisplus.annotation.*;
 import com.fasterxml.jackson.annotation.JsonFormat;

+ 2 - 2
src/main/java/com/zskk/pacsonlie/modules/system/mapper/SysMenuMapper.java → src/main/java/com/zskk/pacsonline/modules/system/mapper/SysMenuMapper.java

@@ -1,7 +1,7 @@
-package com.zskk.pacsonlie.modules.system.mapper;
+package com.zskk.pacsonline.modules.system.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.zskk.pacsonlie.modules.system.entity.SysMenu;
+import com.zskk.pacsonline.modules.system.entity.SysMenu;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 

+ 2 - 2
src/main/java/com/zskk/pacsonlie/modules/system/mapper/SysRoleMapper.java → src/main/java/com/zskk/pacsonline/modules/system/mapper/SysRoleMapper.java

@@ -1,7 +1,7 @@
-package com.zskk.pacsonlie.modules.system.mapper;
+package com.zskk.pacsonline.modules.system.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.zskk.pacsonlie.modules.system.entity.SysRole;
+import com.zskk.pacsonline.modules.system.entity.SysRole;
 import org.apache.ibatis.annotations.Mapper;
 
 /**

+ 4 - 2
src/main/java/com/zskk/pacsonlie/modules/system/mapper/SysUserMapper.java → src/main/java/com/zskk/pacsonline/modules/system/mapper/SysUserMapper.java

@@ -1,7 +1,7 @@
-package com.zskk.pacsonlie.modules.system.mapper;
+package com.zskk.pacsonline.modules.system.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.zskk.pacsonlie.modules.system.entity.SysUser;
+import com.zskk.pacsonline.modules.system.entity.SysUser;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
@@ -30,4 +30,6 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
      * @return 权限列表
      */
     List<String> selectPermissionsByUserId(@Param("userId") Long userId);
+
+
 }

+ 2 - 2
src/main/resources/mapper/SysMenuMapper.xml → src/main/java/com/zskk/pacsonline/modules/system/mapper/xml/SysMenuMapper.xml

@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.zskk.pacsonlie.mapper.SysMenuMapper">
+<mapper namespace="com.zskk.pacsonline.modules.system.mapper.SysMenuMapper">
 
     <!-- 根据用户ID查询菜单列表 -->
-    <select id="selectMenusByUserId" resultType="com.zskk.pacsonlie.modules.system.entity.SysMenu">
+    <select id="selectMenusByUserId" resultType="com.zskk.pacsonline.modules.system.entity.SysMenu">
         SELECT DISTINCT
             m.id,
             m.menu_name,

+ 3 - 3
src/main/resources/mapper/SysUserMapper.xml → src/main/java/com/zskk/pacsonline/modules/system/mapper/xml/SysUserMapper.xml

@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.zskk.pacsonlie.mapper.SysUserMapper">
+<mapper namespace="com.zskk.pacsonline.modules.system.mapper.SysUserMapper">
 
-    <resultMap id="UserWithRolesMap" type="com.zskk.pacsonlie.modules.system.entity.SysUser">
+    <resultMap id="UserWithRolesMap" type="com.zskk.pacsonline.modules.system.entity.SysUser">
         <id property="id" column="user_id"/>
         <result property="username" column="username"/>
         <result property="password" column="password"/>
@@ -11,7 +11,7 @@
         <result property="phone" column="phone"/>
         <result property="avatar" column="avatar"/>
         <result property="status" column="status"/>
-        <collection property="roles" ofType="com.zskk.pacsonlie.modules.system.entity.SysRole">
+        <collection property="roles" ofType="com.zskk.pacsonline.modules.system.entity.SysRole">
             <id property="id" column="role_id"/>
             <result property="roleName" column="role_name"/>
             <result property="roleKey" column="role_key"/>

+ 9 - 0
src/main/java/com/zskk/pacsonline/modules/system/request/LoginBody.java

@@ -0,0 +1,9 @@
+package com.zskk.pacsonline.modules.system.request;
+
+import lombok.Data;
+
+@Data
+public class LoginBody {
+    String username;
+    String password;
+}

+ 2 - 2
src/main/java/com/zskk/pacsonlie/modules/system/service/SysMenuService.java → src/main/java/com/zskk/pacsonline/modules/system/service/SysMenuService.java

@@ -1,7 +1,7 @@
-package com.zskk.pacsonlie.modules.system.service;
+package com.zskk.pacsonline.modules.system.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.zskk.pacsonlie.modules.system.entity.SysMenu;
+import com.zskk.pacsonline.modules.system.entity.SysMenu;
 
 import java.util.List;
 

+ 5 - 2
src/main/java/com/zskk/pacsonlie/modules/system/service/SysUserService.java → src/main/java/com/zskk/pacsonline/modules/system/service/SysUserService.java

@@ -1,7 +1,7 @@
-package com.zskk.pacsonlie.modules.system.service;
+package com.zskk.pacsonline.modules.system.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.zskk.pacsonlie.modules.system.entity.SysUser;
+import com.zskk.pacsonline.modules.system.entity.SysUser;
 
 import java.util.List;
 
@@ -27,4 +27,7 @@ public interface SysUserService extends IService<SysUser> {
      * @return 权限列表
      */
     List<String> getPermissionsByUserId(Long userId);
+
+    SysUser getUserByUsername(String username);
+
 }

+ 4 - 4
src/main/java/com/zskk/pacsonlie/modules/system/service/impl/SysMenuServiceImpl.java → src/main/java/com/zskk/pacsonline/modules/system/service/impl/SysMenuServiceImpl.java

@@ -1,9 +1,9 @@
-package com.zskk.pacsonlie.modules.system.service.impl;
+package com.zskk.pacsonline.modules.system.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.zskk.pacsonlie.modules.system.entity.SysMenu;
-import com.zskk.pacsonlie.modules.system.mapper.SysMenuMapper;
-import com.zskk.pacsonlie.modules.system.service.SysMenuService;
+import com.zskk.pacsonline.modules.system.entity.SysMenu;
+import com.zskk.pacsonline.modules.system.mapper.SysMenuMapper;
+import com.zskk.pacsonline.modules.system.service.SysMenuService;
 import org.springframework.stereotype.Service;
 
 import java.util.List;

+ 40 - 0
src/main/java/com/zskk/pacsonline/modules/system/service/impl/SysUserServiceImpl.java

@@ -0,0 +1,40 @@
+package com.zskk.pacsonline.modules.system.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zskk.pacsonline.modules.system.entity.SysUser;
+import com.zskk.pacsonline.modules.system.mapper.SysUserMapper;
+import com.zskk.pacsonline.modules.system.service.SysUserService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * 系统用户服务实现
+ *
+ * @author admin
+ */
+@Service
+public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> implements SysUserService {
+
+    @Resource
+    private SysUserMapper sysUserMapper;
+
+    @Override
+    public SysUser getUserWithRolesAndPermissions(String username) {
+        return baseMapper.selectUserWithRolesAndPermissions(username);
+    }
+
+    @Override
+    public List<String> getPermissionsByUserId(Long userId) {
+        return baseMapper.selectPermissionsByUserId(userId);
+    }
+
+    public SysUser getUserByUsername(String username){
+        LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper();
+        queryWrapper.eq(SysUser::getUsername,username);
+        SysUser user = getOne(queryWrapper);
+        return user;
+    }
+}

+ 2 - 2
src/main/java/com/zskk/pacsonlie/security/JwtAuthenticationFilter.java → src/main/java/com/zskk/pacsonline/security/JwtAuthenticationFilter.java

@@ -1,6 +1,6 @@
-package com.zskk.pacsonlie.security;
+package com.zskk.pacsonline.security;
 
-import com.zskk.pacsonlie.utils.JwtUtil;
+import com.zskk.pacsonline.utils.JwtUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
 import org.springframework.security.core.context.SecurityContextHolder;

+ 2 - 2
src/main/java/com/zskk/pacsonlie/security/LoginUser.java → src/main/java/com/zskk/pacsonline/security/LoginUser.java

@@ -1,7 +1,7 @@
-package com.zskk.pacsonlie.security;
+package com.zskk.pacsonline.security;
 
 import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.zskk.pacsonlie.modules.system.entity.SysUser;
+import com.zskk.pacsonline.modules.system.entity.SysUser;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 import org.springframework.security.core.GrantedAuthority;

+ 10 - 6
src/main/java/com/zskk/pacsonlie/security/TokenService.java → src/main/java/com/zskk/pacsonline/security/TokenService.java

@@ -1,11 +1,12 @@
-package com.zskk.pacsonlie.security;
+package com.zskk.pacsonline.security;
 
-import com.zskk.pacsonlie.utils.JwtUtil;
-import com.zskk.pacsonlie.utils.RedisCache;
+import com.zskk.pacsonline.utils.JwtUtil;
+import com.zskk.pacsonline.utils.RedisCache;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Component;
-
+import java.util.HashMap;
+import java.util.Map;
 import java.util.concurrent.TimeUnit;
 
 /**
@@ -37,8 +38,11 @@ public class TokenService {
      * @return token
      */
     public String createToken(LoginUser loginUser) {
-        String username = loginUser.getUsername();
-        String token = jwtUtil.createToken(username);
+        //String username = loginUser.getUsername();
+        Map<String, Object> claims = new HashMap<>();
+        claims.put("username", loginUser.getUsername());
+        claims.put("userId",loginUser.getUsername());
+        String token = jwtUtil.generateToken(claims);
 
         loginUser.setToken(token);
         loginUser.setLoginTime(System.currentTimeMillis());

+ 3 - 3
src/main/java/com/zskk/pacsonlie/security/UserDetailsServiceImpl.java → src/main/java/com/zskk/pacsonline/security/UserDetailsServiceImpl.java

@@ -1,7 +1,7 @@
-package com.zskk.pacsonlie.security;
+package com.zskk.pacsonline.security;
 
-import com.zskk.pacsonlie.modules.system.entity.SysUser;
-import com.zskk.pacsonlie.modules.system.service.SysUserService;
+import com.zskk.pacsonline.modules.system.entity.SysUser;
+import com.zskk.pacsonline.modules.system.service.SysUserService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.core.userdetails.UserDetails;
 import org.springframework.security.core.userdetails.UserDetailsService;

+ 5 - 7
src/main/java/com/zskk/pacsonlie/utils/JwtUtil.java → src/main/java/com/zskk/pacsonline/utils/JwtUtil.java

@@ -1,4 +1,4 @@
-package com.zskk.pacsonlie.utils;
+package com.zskk.pacsonline.utils;
 
 import io.jsonwebtoken.Claims;
 import io.jsonwebtoken.Jwts;
@@ -7,7 +7,6 @@ import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Component;
 
 import java.util.Date;
-import java.util.HashMap;
 import java.util.Map;
 
 /**
@@ -32,13 +31,12 @@ public class JwtUtil {
 
     /**
      * 生成JWT token
-     *
-     * @param username 用户名
+     * @param  claims 载荷信息(用户信息)
      * @return token
      */
-    public String createToken(String username) {
-        Map<String, Object> claims = new HashMap<>(1);
-        claims.put("username", username);
+    public String generateToken(Map<String, Object> claims) {
+        //Map<String, Object> claims = new HashMap<>(1);
+        //claims.put("username", username);
         return createToken(claims);
     }
 

+ 1 - 1
src/main/java/com/zskk/pacsonlie/utils/RedisCache.java → src/main/java/com/zskk/pacsonline/utils/RedisCache.java

@@ -1,4 +1,4 @@
-package com.zskk.pacsonlie.utils;
+package com.zskk.pacsonline.utils;
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.redis.core.RedisTemplate;

+ 1 - 1
src/main/resources/logback-spring.xml

@@ -174,7 +174,7 @@
         <logger name="com.rimag.image" level="debug"/>
     </springProfile>-->
 
-    <logger name="com.zskk.pacsonlie.modules.system.mapper" level="debug"/>
+    <logger name="com.zskk.pacsonline.modules.system.mapper" level="debug"/>
 
     <root level="INFO">
         <appender-ref ref="CONSOLE" />