Skip to content

Commit

Permalink
用户管理
Browse files Browse the repository at this point in the history
  • Loading branch information
xiaoxianzi-99 committed Jan 13, 2025
1 parent d532fdb commit 8c4b051
Show file tree
Hide file tree
Showing 24 changed files with 561 additions and 12 deletions.
5 changes: 5 additions & 0 deletions spzx/spzx-common/common-util/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,11 @@
<artifactId>fastjson</artifactId>
</dependency>

<dependency>
<groupId>io.minio</groupId>
<artifactId>minio</artifactId>
<version>8.5.2</version>
</dependency>
<dependency>
<groupId>com.pei</groupId>
<artifactId>spzx-model</artifactId>
Expand Down
5 changes: 5 additions & 0 deletions spzx/spzx-manager/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -54,5 +54,10 @@
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.4.3</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
</dependencies>
</project>
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
package com.manager;

import com.manager.properties.UserAuthProperties;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.ComponentScan;

/**
Expand All @@ -10,6 +12,7 @@
**/
@ComponentScan(basePackages = "com")
@SpringBootApplication
@EnableConfigurationProperties(value = {UserAuthProperties.class})
public class SpzxManagerApplication {
public static void main(String[] args) {
SpringApplication.run(SpzxManagerApplication.class, args);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
package com.manager.config;

import com.manager.interceptor.LoginAuthInterceptor;
import com.manager.properties.UserAuthProperties;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
Expand All @@ -11,11 +12,14 @@
* @author 帕斯卡的芦苇
* @date 2025/1/1
**/
@ComponentScan
@Component
public class WebMvcConfig implements WebMvcConfigurer {

@Autowired
private LoginAuthInterceptor loginAuthInterceptor;

@Autowired
private UserAuthProperties userAuthProperties ;
/**
* 登录校验
*
Expand All @@ -24,7 +28,7 @@ public class WebMvcConfig implements WebMvcConfigurer {
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(loginAuthInterceptor)
.addPathPatterns("/**")
.excludePathPatterns("/admin/system/index/login","/admin/system/index/generateValidateCode");
.excludePathPatterns(userAuthProperties.getNoAuthUrls());
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import com.model.vo.common.ResultCodeEnum;
import com.model.vo.system.LoginVo;
import com.model.vo.system.ValidateCodeVo;
import com.utils.AuthContextUtil;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.beans.factory.annotation.Autowired;
Expand All @@ -20,7 +21,7 @@
@Tag(name="用户登录")
@RestController
@RequestMapping(value = "/admin/system/index")
@CrossOrigin(allowCredentials = "true",originPatterns = "*",allowedHeaders = "*")
//@CrossOrigin(allowCredentials = "true",originPatterns = "*",allowedHeaders = "*")
public class IndexController {
@Autowired
private SysUserService sysUserService;
Expand Down Expand Up @@ -61,6 +62,7 @@ public Result login(@RequestBody LoginDto loginDto) {
return Result.build(loginVo , ResultCodeEnum.SUCCESS) ;
}


/**
* 获取用户信息
* /admin/system/index/userinfo
Expand All @@ -70,7 +72,8 @@ public Result login(@RequestBody LoginDto loginDto) {
@Operation(summary = "获取用户信息")
@GetMapping(value = "/userinfo")
public Result<SysUser> getUserinfo(@RequestHeader(name="token") String token) {
SysUser sysUser = sysUserService.getUserInfo(token);
return Result.build(sysUser,ResultCodeEnum.SUCCESS);
return Result.build(AuthContextUtil.get() , ResultCodeEnum.SUCCESS) ;
// SysUser sysUser = sysUserService.getUserInfo(token);
// return Result.build(sysUser,ResultCodeEnum.SUCCESS);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
package com.manager.controller;

import com.github.pagehelper.PageInfo;
import com.manager.service.SysRoleService;
import com.model.dto.system.SysRoleDto;
import com.model.entity.system.SysRole;
import com.model.vo.common.Result;
import com.model.vo.common.ResultCodeEnum;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

/**
* @author 帕斯卡的芦苇
* @date 2025/1/8
**/
@RestController
@Tag(name="系统角色")
@RequestMapping("/admin/system/sysRole")
public class SysRoleController {
@Autowired
private SysRoleService sysRoleService;

@DeleteMapping("/deleteSysRole/{id}")
public Result deleteSysRole(@PathVariable("id") Long id){
sysRoleService.deleteSysRole(id);
return Result.build(null,200,"删除成功");
}

@PutMapping("/updateSysRole")
public Result updateSysRole(@RequestBody SysRole sysRole){
sysRoleService.updateSysRole(sysRole);
return Result.build(null,200,"更新成功");
}
/**
* 保存角色
* @param sysRole
* @return
*/
@PostMapping("saveSysRole")
public Result saveSysRole(@RequestBody SysRole sysRole,@RequestHeader(name="token") String token) {
sysRoleService.saveSysRole(sysRole);
return Result.build(null, ResultCodeEnum.SUCCESS);
}
/**
* 条件分页查询角色列表
* @param sysRoleDto
* @param pageNum
* @param pageSize
* @return
*/
@GetMapping("findByPage/{pageNum}/{pageSize}")
public Result<PageInfo<SysRole>> findByPage(SysRoleDto sysRoleDto,
@PathVariable("pageNum") Integer pageNum,
@PathVariable("pageSize") Integer pageSize) {
PageInfo<SysRole> rolePageInfo = sysRoleService.findByPage(sysRoleDto, pageNum, pageSize);
return Result.build(rolePageInfo, ResultCodeEnum.SUCCESS);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
package com.manager.controller;

import com.github.pagehelper.PageInfo;
import com.manager.service.SysUserService;
import com.model.dto.system.SysUserDto;
import com.model.entity.system.SysUser;
import com.model.vo.common.Result;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

/**
* @author 帕斯卡的芦苇
* @date 2025/1/10
**/
@RestController
@RequestMapping(value = "/admin/system/sysUser")
public class SysUserController {
@Autowired
private SysUserService sysUserService;
/**
* 删除用户
* @param id
* @return
*/
@DeleteMapping(value = "/deleteSysUser/{id}")
public Result deleteSysUser(@PathVariable("id") Long id) {
sysUserService.deleteSysUser(id);
return Result.build(null,200,"删除成功");
}


@PutMapping(value = "/updateSysUser")
public Result updateSysUser(@RequestBody SysUser sysUser) {
sysUserService.updateSysUser(sysUser);
return Result.build(null,200,"修改成功");
}
/**
* 保存用户
* @param sysUser
* @return
*/
@PostMapping(value = "/saveSysUser")
public Result saveSysUser(@RequestBody SysUser sysUser) {
sysUserService.saveSysUser(sysUser);
return Result.build(null,200,"保存成功");
}

/**
* 分页查询用户
* @param pageNum
* @param pageSize
* @param sysUserDto
* @return
*/
@GetMapping(value = "/findByPage/{pageNum}/{pageSize}")
public Result<PageInfo<SysUser>> findByPage(SysUserDto sysUserDto,
@PathVariable("pageNum") Integer pageNum,
@PathVariable("pageSize") Integer pageSize) {
PageInfo<SysUser> pageInfo = sysUserService.findByPage(sysUserDto, pageNum, pageSize);
return Result.build(pageInfo,200,"查询成功");
}
}
47 changes: 47 additions & 0 deletions spzx/spzx-manager/src/main/java/com/manager/demo/FileUploader.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
package com.manager.demo;

import io.minio.BucketExistsArgs;
import io.minio.MakeBucketArgs;
import io.minio.MinioClient;
import io.minio.PutObjectArgs;

import java.io.FileInputStream;
import java.io.IOException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;

public class FileUploader {
public static void main(String[] args) throws IOException, NoSuchAlgorithmException, InvalidKeyException {
try {
// 创建minioClient客户端
MinioClient minioClient =
MinioClient.builder()
.endpoint("http://127.0.0.1:9001")
.credentials("admin", "admin123456")
.build();

// 判断是否存在指定的桶
boolean found =
minioClient.bucketExists(BucketExistsArgs.builder().bucket("demo").build());
if (!found) {
// 不存在则创建
minioClient.makeBucket(MakeBucketArgs.builder().bucket("demo").build());
} else {
System.out.println("Bucket 'asiatrip' already exists.");
}
//上传
FileInputStream fis = new FileInputStream("D://001.jpg") ;

minioClient.putObject(
PutObjectArgs.builder().bucket("demo")
.object("001.jpg")
.stream(fis, fis.available(),-1)
//.contentType("video.mp4")
.build()
);
fis.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import com.utils.AuthContextUtil;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import lombok.val;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.lang.Nullable;
Expand Down Expand Up @@ -37,6 +38,12 @@ public class LoginAuthInterceptor implements HandlerInterceptor {
*/
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {

//knife4j的预检请求
val servletPath = request.getServletPath();
System.out.println(servletPath);


String method = request.getMethod();
//如果预检请求,直接返回true
if(method.equalsIgnoreCase("OPTIONS")) {
Expand Down Expand Up @@ -70,18 +77,18 @@ private void responseNoLoginInfo(HttpServletResponse response) {
Result result = Result.build(null, ResultCodeEnum.LOGIN_AUTH);
//处理中文乱码
response.setCharacterEncoding("UTF-8");
response.setContentType("application/json;charset=UTF-8");
response.setContentType("text/html;charset=UTF-8");
//返回响应
PrintWriter printWriter = null;
try {
printWriter =response.getWriter();
printWriter = response.getWriter();
//响应
printWriter.print(JSON.toJSONString(result));
} catch (IOException e) {
e.printStackTrace();
}finally {
printWriter.close();
}
printWriter.print(JSON.toJSONString(result));

}
/**
* 拦截器==>在响应之前处理
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package com.manager.mapper;

import com.model.dto.system.SysRoleDto;
import com.model.entity.system.SysRole;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
* @author 帕斯卡的芦苇
* @date 2025/1/8
**/
@Mapper
public interface SysRoleMapper {
public List<SysRole> findByPage(SysRoleDto sysRoleDto);
void saveSysRole(SysRole sysRole);
void updateSysRole(SysRole sysRole);
void deleteSysRole(Long id);
}
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
package com.manager.mapper;

import com.model.dto.system.SysUserDto;
import com.model.entity.system.SysUser;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
* @author 帕斯卡的芦苇
* @date 2025/1/1
Expand All @@ -15,4 +18,11 @@ public interface SysUserMapper {
* @return
*/
SysUser selectByUserName(String userName);

List<SysUser> findByPage(SysUserDto sysUserDto);

void saveSysUser(SysUser sysUser);
void updateSysUser(SysUser sysUser);

void deleteSysUser(Long id);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package com.manager.properties;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;

import java.util.List;

/**
* @author 帕斯卡的芦苇
* @date 2025/1/6
**/
@Data
@ConfigurationProperties(prefix = "spzx.auth")
public class UserAuthProperties {
private List<String> noAuthUrls ;
}
Loading

0 comments on commit 8c4b051

Please sign in to comment.