From 39ff6f38610b26d7bc916e771a9b292acc43bff5 Mon Sep 17 00:00:00 2001 From: redoom Date: Mon, 18 Nov 2024 21:50:40 +0800 Subject: [PATCH 01/17] =?UTF-8?q?=E5=9F=BA=E6=9C=ACmapper=E3=80=81service?= =?UTF-8?q?=E3=80=81entity?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 72 ++++++++++++++----- .../com/xinguan/mislab/DTO/UserLoginDTO.java | 14 ++++ .../com/xinguan/mislab/MisLabApplication.java | 2 +- .../com/xinguan/mislab/VO/UserLoginVO.java | 24 +++++++ .../mislab/config/WebMvcConfiguration.java | 31 ++++++++ .../mislab/constant/JwtClaimsConstant.java | 10 +++ .../xinguan/mislab/context/BaseContext.java | 19 +++++ .../mislab/controller/UserController.java | 55 ++++++++++++++ .../com/xinguan/mislab/entity/Department.java | 28 ++++++++ .../com/xinguan/mislab/entity/Freshman.java | 32 +++++++++ .../com/xinguan/mislab/entity/Graduate.java | 34 +++++++++ .../java/com/xinguan/mislab/entity/Item.java | 30 ++++++++ .../java/com/xinguan/mislab/entity/User.java | 42 +++++++++++ .../interceptor/JwtTokenUserInterceptor.java | 62 ++++++++++++++++ .../mislab/mapper/DepartmentMapper.java | 20 ++++++ .../xinguan/mislab/mapper/FreshmanMapper.java | 20 ++++++ .../xinguan/mislab/mapper/GraduateMapper.java | 20 ++++++ .../com/xinguan/mislab/mapper/ItemMapper.java | 20 ++++++ .../com/xinguan/mislab/mapper/UserMapper.java | 20 ++++++ .../mislab/properties/JwtProperties.java | 16 +++++ .../com/xinguan/mislab/result/PageResult.java | 22 ++++++ .../com/xinguan/mislab/result/Result.java | 38 ++++++++++ .../mislab/service/DepartmentService.java | 13 ++++ .../mislab/service/FreshmanService.java | 13 ++++ .../mislab/service/GraduateService.java | 13 ++++ .../xinguan/mislab/service/ItemService.java | 13 ++++ .../xinguan/mislab/service/UserService.java | 20 ++++++ .../service/impl/DepartmentServiceImpl.java | 22 ++++++ .../service/impl/FreshmanServiceImpl.java | 22 ++++++ .../service/impl/GraduateServiceImpl.java | 22 ++++++ .../mislab/service/impl/ItemServiceImpl.java | 22 ++++++ .../mislab/service/impl/UserServiceImpl.java | 31 ++++++++ .../com/xinguan/mislab/utils/JwtUtil.java | 55 ++++++++++++++ src/main/resources/application.yml | 16 +++++ .../resources/mapper/DepartmentMapper.xml | 19 +++++ src/main/resources/mapper/FreshmanMapper.xml | 22 ++++++ src/main/resources/mapper/GraduateMapper.xml | 23 ++++++ src/main/resources/mapper/ItemMapper.xml | 20 ++++++ src/main/resources/mapper/UserMapper.xml | 28 ++++++++ .../mislab/MisLabApplicationTests.java | 13 ---- 40 files changed, 987 insertions(+), 31 deletions(-) create mode 100644 src/main/java/com/xinguan/mislab/DTO/UserLoginDTO.java create mode 100644 src/main/java/com/xinguan/mislab/VO/UserLoginVO.java create mode 100644 src/main/java/com/xinguan/mislab/config/WebMvcConfiguration.java create mode 100644 src/main/java/com/xinguan/mislab/constant/JwtClaimsConstant.java create mode 100644 src/main/java/com/xinguan/mislab/context/BaseContext.java create mode 100644 src/main/java/com/xinguan/mislab/controller/UserController.java create mode 100644 src/main/java/com/xinguan/mislab/entity/Department.java create mode 100644 src/main/java/com/xinguan/mislab/entity/Freshman.java create mode 100644 src/main/java/com/xinguan/mislab/entity/Graduate.java create mode 100644 src/main/java/com/xinguan/mislab/entity/Item.java create mode 100644 src/main/java/com/xinguan/mislab/entity/User.java create mode 100644 src/main/java/com/xinguan/mislab/interceptor/JwtTokenUserInterceptor.java create mode 100644 src/main/java/com/xinguan/mislab/mapper/DepartmentMapper.java create mode 100644 src/main/java/com/xinguan/mislab/mapper/FreshmanMapper.java create mode 100644 src/main/java/com/xinguan/mislab/mapper/GraduateMapper.java create mode 100644 src/main/java/com/xinguan/mislab/mapper/ItemMapper.java create mode 100644 src/main/java/com/xinguan/mislab/mapper/UserMapper.java create mode 100644 src/main/java/com/xinguan/mislab/properties/JwtProperties.java create mode 100644 src/main/java/com/xinguan/mislab/result/PageResult.java create mode 100644 src/main/java/com/xinguan/mislab/result/Result.java create mode 100644 src/main/java/com/xinguan/mislab/service/DepartmentService.java create mode 100644 src/main/java/com/xinguan/mislab/service/FreshmanService.java create mode 100644 src/main/java/com/xinguan/mislab/service/GraduateService.java create mode 100644 src/main/java/com/xinguan/mislab/service/ItemService.java create mode 100644 src/main/java/com/xinguan/mislab/service/UserService.java create mode 100644 src/main/java/com/xinguan/mislab/service/impl/DepartmentServiceImpl.java create mode 100644 src/main/java/com/xinguan/mislab/service/impl/FreshmanServiceImpl.java create mode 100644 src/main/java/com/xinguan/mislab/service/impl/GraduateServiceImpl.java create mode 100644 src/main/java/com/xinguan/mislab/service/impl/ItemServiceImpl.java create mode 100644 src/main/java/com/xinguan/mislab/service/impl/UserServiceImpl.java create mode 100644 src/main/java/com/xinguan/mislab/utils/JwtUtil.java create mode 100644 src/main/resources/application.yml create mode 100644 src/main/resources/mapper/DepartmentMapper.xml create mode 100644 src/main/resources/mapper/FreshmanMapper.xml create mode 100644 src/main/resources/mapper/GraduateMapper.xml create mode 100644 src/main/resources/mapper/ItemMapper.xml create mode 100644 src/main/resources/mapper/UserMapper.xml delete mode 100644 src/test/java/com/xinguan/mislab/MisLabApplicationTests.java diff --git a/pom.xml b/pom.xml index 6f087fe..3764237 100644 --- a/pom.xml +++ b/pom.xml @@ -8,12 +8,15 @@ MisLab MisLab - 1.8 + 17 UTF-8 UTF-8 2.6.13 + 0.11.5 + 3.5.2 + org.springframework.boot spring-boot-starter @@ -22,30 +25,67 @@ org.springframework.boot spring-boot-starter-web + + com.mysql mysql-connector-j runtime + + + + com.baomidou + mybatis-plus-boot-starter + ${mybatis-plus.version} + + + com.alibaba + druid-spring-boot-starter + 1.2.8 + + + + + + io.jsonwebtoken + jjwt-api + ${jjwt.version} + + + io.jsonwebtoken + jjwt-impl + ${jjwt.version} + runtime + + + io.jsonwebtoken + jjwt-jackson + ${jjwt.version} + runtime + + + org.projectlombok lombok true + + org.springframework.boot spring-boot-starter-test test + + + org.mockito + mockito-core + + - - - com.baomidou - mybatis-plus-boot-starter - 3.5.2 - - - + @@ -60,24 +100,23 @@ + org.apache.maven.plugins maven-compiler-plugin - 3.8.1 + 3.10.1 - 1.8 - 1.8 + ${java.version} + ${java.version} UTF-8 + + org.springframework.boot spring-boot-maven-plugin ${spring-boot.version} - - com.xinguan.mislab.MisLabApplication - true - repackage @@ -89,5 +128,4 @@ - diff --git a/src/main/java/com/xinguan/mislab/DTO/UserLoginDTO.java b/src/main/java/com/xinguan/mislab/DTO/UserLoginDTO.java new file mode 100644 index 0000000..08ba9b8 --- /dev/null +++ b/src/main/java/com/xinguan/mislab/DTO/UserLoginDTO.java @@ -0,0 +1,14 @@ +package com.xinguan.mislab.DTO; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class UserLoginDTO implements Serializable { + + private String username; + + private String password; + +} \ No newline at end of file diff --git a/src/main/java/com/xinguan/mislab/MisLabApplication.java b/src/main/java/com/xinguan/mislab/MisLabApplication.java index 769c0be..5d9b98f 100644 --- a/src/main/java/com/xinguan/mislab/MisLabApplication.java +++ b/src/main/java/com/xinguan/mislab/MisLabApplication.java @@ -10,4 +10,4 @@ public class MisLabApplication { SpringApplication.run(MisLabApplication.class, args); } -} +} \ No newline at end of file diff --git a/src/main/java/com/xinguan/mislab/VO/UserLoginVO.java b/src/main/java/com/xinguan/mislab/VO/UserLoginVO.java new file mode 100644 index 0000000..ac84488 --- /dev/null +++ b/src/main/java/com/xinguan/mislab/VO/UserLoginVO.java @@ -0,0 +1,24 @@ +package com.xinguan.mislab.VO; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class UserLoginVO implements Serializable { + + private Long id; + + private String userName; + + private String name; + + private String token; + +} \ No newline at end of file diff --git a/src/main/java/com/xinguan/mislab/config/WebMvcConfiguration.java b/src/main/java/com/xinguan/mislab/config/WebMvcConfiguration.java new file mode 100644 index 0000000..c77c2d9 --- /dev/null +++ b/src/main/java/com/xinguan/mislab/config/WebMvcConfiguration.java @@ -0,0 +1,31 @@ +package com.xinguan.mislab.config; + +import com.xinguan.mislab.interceptor.JwtTokenUserInterceptor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.config.annotation.InterceptorRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport; + +@Configuration +@Slf4j +public class WebMvcConfiguration extends WebMvcConfigurationSupport { + + + @Autowired + private JwtTokenUserInterceptor jwtTokenUserInterceptor; + + /** + * 注册自定义拦截器 + * + * @param registry + */ + protected void addInterceptors(InterceptorRegistry registry) { + log.info("开始注册自定义拦截器..."); + registry.addInterceptor(jwtTokenUserInterceptor) + .addPathPatterns("/user/**") + .excludePathPatterns("/user/user/login") + .excludePathPatterns("/user/shop/status"); + + } +} diff --git a/src/main/java/com/xinguan/mislab/constant/JwtClaimsConstant.java b/src/main/java/com/xinguan/mislab/constant/JwtClaimsConstant.java new file mode 100644 index 0000000..088ae6d --- /dev/null +++ b/src/main/java/com/xinguan/mislab/constant/JwtClaimsConstant.java @@ -0,0 +1,10 @@ +package com.xinguan.mislab.constant; + +public class JwtClaimsConstant { + + + public static final String USER_ID = "userId"; + + + +} \ No newline at end of file diff --git a/src/main/java/com/xinguan/mislab/context/BaseContext.java b/src/main/java/com/xinguan/mislab/context/BaseContext.java new file mode 100644 index 0000000..3dd5759 --- /dev/null +++ b/src/main/java/com/xinguan/mislab/context/BaseContext.java @@ -0,0 +1,19 @@ +package com.xinguan.mislab.context; + +public class BaseContext { + + public static ThreadLocal threadLocal = new ThreadLocal<>(); + + public static void setCurrentId(Long id) { + threadLocal.set(id); + } + + public static Long getCurrentId() { + return threadLocal.get(); + } + + public static void removeCurrentId() { + threadLocal.remove(); + } + +} diff --git a/src/main/java/com/xinguan/mislab/controller/UserController.java b/src/main/java/com/xinguan/mislab/controller/UserController.java new file mode 100644 index 0000000..8692e6e --- /dev/null +++ b/src/main/java/com/xinguan/mislab/controller/UserController.java @@ -0,0 +1,55 @@ +package com.xinguan.mislab.controller; + +import com.xinguan.mislab.DTO.UserLoginDTO; +import com.xinguan.mislab.VO.UserLoginVO; +import com.xinguan.mislab.constant.JwtClaimsConstant; +import com.xinguan.mislab.entity.User; +import com.xinguan.mislab.properties.JwtProperties; +import com.xinguan.mislab.result.Result; +import com.xinguan.mislab.service.UserService; +import com.xinguan.mislab.utils.JwtUtil; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +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 java.util.HashMap; +import java.util.Map; + +@RestController +@RequestMapping("user") +@Slf4j +public class UserController { + + @Autowired + private UserService userService; + @Autowired + private JwtProperties jwtProperties; + + @PostMapping("/login") + public Result login(@RequestBody UserLoginDTO userLoginDTO) { + log.info("员工登录:{}", userLoginDTO); + + User user = userService.login(userLoginDTO); + + //登录成功后,生成jwt令牌 + Map claims = new HashMap<>(); + claims.put(JwtClaimsConstant.USER_ID, user.getId()); + String token = JwtUtil.createJWT( + jwtProperties.getUserSecretKey(), + jwtProperties.getUserTtl(), + claims); + + UserLoginVO employeeLoginVO = UserLoginVO.builder() + .id(user.getId()) + .userName(user.getUsername()) + .name(user.getName()) + .token(token) + .build(); + + return Result.success(employeeLoginVO); + } + +} diff --git a/src/main/java/com/xinguan/mislab/entity/Department.java b/src/main/java/com/xinguan/mislab/entity/Department.java new file mode 100644 index 0000000..9ba1e54 --- /dev/null +++ b/src/main/java/com/xinguan/mislab/entity/Department.java @@ -0,0 +1,28 @@ +package com.xinguan.mislab.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + +/** + * @TableName department + */ +@TableName(value ="department") +@Data +public class Department implements Serializable { + private Long id; + + private String name; + + private String photo; + + private String intro; + + private Date createTime; + + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/src/main/java/com/xinguan/mislab/entity/Freshman.java b/src/main/java/com/xinguan/mislab/entity/Freshman.java new file mode 100644 index 0000000..6ba749c --- /dev/null +++ b/src/main/java/com/xinguan/mislab/entity/Freshman.java @@ -0,0 +1,32 @@ +package com.xinguan.mislab.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + +/** + * @TableName freshman + */ +@TableName(value ="freshman") +@Data +public class Freshman implements Serializable { + private Long id; + + private String name; + + private String sex; + + private String phone; + + private String grade; + + private String departmentId; + + private Date createTime; + + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/src/main/java/com/xinguan/mislab/entity/Graduate.java b/src/main/java/com/xinguan/mislab/entity/Graduate.java new file mode 100644 index 0000000..7d00346 --- /dev/null +++ b/src/main/java/com/xinguan/mislab/entity/Graduate.java @@ -0,0 +1,34 @@ +package com.xinguan.mislab.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + +/** + * @TableName graduate + */ +@TableName(value ="graduate") +@Data +public class Graduate implements Serializable { + private Long id; + + private String name; + + private String sex; + + private String phone; + + private String grade; + + private String photo; + + private String company; + + private Date createTime; + + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/src/main/java/com/xinguan/mislab/entity/Item.java b/src/main/java/com/xinguan/mislab/entity/Item.java new file mode 100644 index 0000000..7a691dc --- /dev/null +++ b/src/main/java/com/xinguan/mislab/entity/Item.java @@ -0,0 +1,30 @@ +package com.xinguan.mislab.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + +/** + * @TableName item + */ +@TableName(value ="item") +@Data +public class Item implements Serializable { + private Long id; + + private String name; + + private String photo; + + private String intro; + + private String address; + + private Date createTime; + + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/src/main/java/com/xinguan/mislab/entity/User.java b/src/main/java/com/xinguan/mislab/entity/User.java new file mode 100644 index 0000000..faab3a9 --- /dev/null +++ b/src/main/java/com/xinguan/mislab/entity/User.java @@ -0,0 +1,42 @@ +package com.xinguan.mislab.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + +/** + * @TableName user + */ +@TableName(value ="user") +@Data +public class User implements Serializable { + private Long id; + + private String name; + + private String username; + + private String password; + + private String phone; + + private String sex; + + private String idNumber; + + private Integer status; + + private Date createTime; + + private Date updateTime; + + private Long createUser; + + private Long updateUser; + + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/src/main/java/com/xinguan/mislab/interceptor/JwtTokenUserInterceptor.java b/src/main/java/com/xinguan/mislab/interceptor/JwtTokenUserInterceptor.java new file mode 100644 index 0000000..4e5ec90 --- /dev/null +++ b/src/main/java/com/xinguan/mislab/interceptor/JwtTokenUserInterceptor.java @@ -0,0 +1,62 @@ +package com.xinguan.mislab.interceptor; + + +import com.xinguan.mislab.constant.JwtClaimsConstant; +import com.xinguan.mislab.context.BaseContext; +import com.xinguan.mislab.properties.JwtProperties; +import com.xinguan.mislab.utils.JwtUtil; +import io.jsonwebtoken.Claims; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; +import org.springframework.web.method.HandlerMethod; +import org.springframework.web.servlet.HandlerInterceptor; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +/** + * jwt令牌校验的拦截器 + */ +@Component +@Slf4j +public class JwtTokenUserInterceptor implements HandlerInterceptor { + + @Autowired + private JwtProperties jwtProperties; + + + /** + * 校验jwt + * + * @param request + * @param response + * @param handler + * @return + * @throws Exception + */ + public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { + //判断当前拦截到的是Controller的方法还是其他资源 + if (!(handler instanceof HandlerMethod)) { + //当前拦截到的不是动态方法,直接放行 + return true; + } + //1、从请求头中获取令牌 + String token = request.getHeader(jwtProperties.getUserTokenName()); + + //2、校验令牌 + try { + log.info("jwt校验:{}", token); + Claims claims = JwtUtil.parseJWT(jwtProperties.getUserSecretKey(), token); + Long userId = Long.valueOf(claims.get(JwtClaimsConstant.USER_ID).toString()); + log.info("当前用户id:{}", userId); + BaseContext.setCurrentId(userId); + //3、通过,放行 + return true; + } catch (Exception ex) { + //4、不通过,响应401状态码 + response.setStatus(401); + return false; + } + } +} \ No newline at end of file diff --git a/src/main/java/com/xinguan/mislab/mapper/DepartmentMapper.java b/src/main/java/com/xinguan/mislab/mapper/DepartmentMapper.java new file mode 100644 index 0000000..b92345e --- /dev/null +++ b/src/main/java/com/xinguan/mislab/mapper/DepartmentMapper.java @@ -0,0 +1,20 @@ +package com.xinguan.mislab.mapper; + +import com.xinguan.mislab.entity.Department; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** +* @author gyklc +* @description 针对表【department(项目信息)】的数据库操作Mapper +* @createDate 2024-11-18 20:01:09 +* @Entity com.xinguan.mislab.entity.Department +*/ +@Mapper +public interface DepartmentMapper extends BaseMapper { + +} + + + + diff --git a/src/main/java/com/xinguan/mislab/mapper/FreshmanMapper.java b/src/main/java/com/xinguan/mislab/mapper/FreshmanMapper.java new file mode 100644 index 0000000..82e2609 --- /dev/null +++ b/src/main/java/com/xinguan/mislab/mapper/FreshmanMapper.java @@ -0,0 +1,20 @@ +package com.xinguan.mislab.mapper; + +import com.xinguan.mislab.entity.Freshman; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** +* @author gyklc +* @description 针对表【freshman(新生信息)】的数据库操作Mapper +* @createDate 2024-11-18 20:01:54 +* @Entity com.xinguan.mislab.entity.Freshman +*/ +@Mapper +public interface FreshmanMapper extends BaseMapper { + +} + + + + diff --git a/src/main/java/com/xinguan/mislab/mapper/GraduateMapper.java b/src/main/java/com/xinguan/mislab/mapper/GraduateMapper.java new file mode 100644 index 0000000..93a1444 --- /dev/null +++ b/src/main/java/com/xinguan/mislab/mapper/GraduateMapper.java @@ -0,0 +1,20 @@ +package com.xinguan.mislab.mapper; + +import com.xinguan.mislab.entity.Graduate; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** +* @author gyklc +* @description 针对表【graduate(毕业人员)】的数据库操作Mapper +* @createDate 2024-11-18 20:01:54 +* @Entity com.xinguan.mislab.entity.Graduate +*/ +@Mapper +public interface GraduateMapper extends BaseMapper { + +} + + + + diff --git a/src/main/java/com/xinguan/mislab/mapper/ItemMapper.java b/src/main/java/com/xinguan/mislab/mapper/ItemMapper.java new file mode 100644 index 0000000..a53a5c8 --- /dev/null +++ b/src/main/java/com/xinguan/mislab/mapper/ItemMapper.java @@ -0,0 +1,20 @@ +package com.xinguan.mislab.mapper; + +import com.xinguan.mislab.entity.Item; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** +* @author gyklc +* @description 针对表【item(项目信息)】的数据库操作Mapper +* @createDate 2024-11-18 20:01:54 +* @Entity com.xinguan.mislab.entity.Item +*/ +@Mapper +public interface ItemMapper extends BaseMapper { + +} + + + + diff --git a/src/main/java/com/xinguan/mislab/mapper/UserMapper.java b/src/main/java/com/xinguan/mislab/mapper/UserMapper.java new file mode 100644 index 0000000..85a19ec --- /dev/null +++ b/src/main/java/com/xinguan/mislab/mapper/UserMapper.java @@ -0,0 +1,20 @@ +package com.xinguan.mislab.mapper; + +import com.xinguan.mislab.entity.User; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** +* @author gyklc +* @description 针对表【user(员工信息)】的数据库操作Mapper +* @createDate 2024-11-18 20:01:54 +* @Entity com.xinguan.mislab.entity.User +*/ +@Mapper +public interface UserMapper extends BaseMapper { + +} + + + + diff --git a/src/main/java/com/xinguan/mislab/properties/JwtProperties.java b/src/main/java/com/xinguan/mislab/properties/JwtProperties.java new file mode 100644 index 0000000..bfec2a3 --- /dev/null +++ b/src/main/java/com/xinguan/mislab/properties/JwtProperties.java @@ -0,0 +1,16 @@ +package com.xinguan.mislab.properties; + +import lombok.Data; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.stereotype.Component; + +@Component +@ConfigurationProperties(prefix = "mislab.jwt") +@Data +public class JwtProperties { + + private String userSecretKey; + private long userTtl; + private String userTokenName; + +} \ No newline at end of file diff --git a/src/main/java/com/xinguan/mislab/result/PageResult.java b/src/main/java/com/xinguan/mislab/result/PageResult.java new file mode 100644 index 0000000..17ea52d --- /dev/null +++ b/src/main/java/com/xinguan/mislab/result/PageResult.java @@ -0,0 +1,22 @@ +package com.xinguan.mislab.result; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.util.List; + +/** + * 封装分页查询结果 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class PageResult implements Serializable { + + private long total; //总记录数 + + private List records; //当前页数据集合 + +} diff --git a/src/main/java/com/xinguan/mislab/result/Result.java b/src/main/java/com/xinguan/mislab/result/Result.java new file mode 100644 index 0000000..05ab4e8 --- /dev/null +++ b/src/main/java/com/xinguan/mislab/result/Result.java @@ -0,0 +1,38 @@ +package com.xinguan.mislab.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 后端统一返回结果 + * @param + */ +@Data +public class Result implements Serializable { + + private Integer code; //编码:1成功,0和其它数字为失败 + private String msg; //错误信息 + private T data; //数据 + + public static Result success() { + Result result = new Result(); + result.code = 1; + return result; + } + + public static Result success(T object) { + Result result = new Result(); + result.data = object; + result.code = 1; + return result; + } + + public static Result error(String msg) { + Result result = new Result(); + result.msg = msg; + result.code = 0; + return result; + } + +} diff --git a/src/main/java/com/xinguan/mislab/service/DepartmentService.java b/src/main/java/com/xinguan/mislab/service/DepartmentService.java new file mode 100644 index 0000000..087d674 --- /dev/null +++ b/src/main/java/com/xinguan/mislab/service/DepartmentService.java @@ -0,0 +1,13 @@ +package com.xinguan.mislab.service; + +import com.xinguan.mislab.entity.Department; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author gyklc +* @description 针对表【department(项目信息)】的数据库操作Service +* @createDate 2024-11-18 20:01:09 +*/ +public interface DepartmentService extends IService { + +} diff --git a/src/main/java/com/xinguan/mislab/service/FreshmanService.java b/src/main/java/com/xinguan/mislab/service/FreshmanService.java new file mode 100644 index 0000000..d71928f --- /dev/null +++ b/src/main/java/com/xinguan/mislab/service/FreshmanService.java @@ -0,0 +1,13 @@ +package com.xinguan.mislab.service; + +import com.xinguan.mislab.entity.Freshman; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author gyklc +* @description 针对表【freshman(新生信息)】的数据库操作Service +* @createDate 2024-11-18 20:01:54 +*/ +public interface FreshmanService extends IService { + +} diff --git a/src/main/java/com/xinguan/mislab/service/GraduateService.java b/src/main/java/com/xinguan/mislab/service/GraduateService.java new file mode 100644 index 0000000..d308261 --- /dev/null +++ b/src/main/java/com/xinguan/mislab/service/GraduateService.java @@ -0,0 +1,13 @@ +package com.xinguan.mislab.service; + +import com.xinguan.mislab.entity.Graduate; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author gyklc +* @description 针对表【graduate(毕业人员)】的数据库操作Service +* @createDate 2024-11-18 20:01:54 +*/ +public interface GraduateService extends IService { + +} diff --git a/src/main/java/com/xinguan/mislab/service/ItemService.java b/src/main/java/com/xinguan/mislab/service/ItemService.java new file mode 100644 index 0000000..c82dae7 --- /dev/null +++ b/src/main/java/com/xinguan/mislab/service/ItemService.java @@ -0,0 +1,13 @@ +package com.xinguan.mislab.service; + +import com.xinguan.mislab.entity.Item; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author gyklc +* @description 针对表【item(项目信息)】的数据库操作Service +* @createDate 2024-11-18 20:01:54 +*/ +public interface ItemService extends IService { + +} diff --git a/src/main/java/com/xinguan/mislab/service/UserService.java b/src/main/java/com/xinguan/mislab/service/UserService.java new file mode 100644 index 0000000..28804c3 --- /dev/null +++ b/src/main/java/com/xinguan/mislab/service/UserService.java @@ -0,0 +1,20 @@ +package com.xinguan.mislab.service; + +import com.xinguan.mislab.DTO.UserLoginDTO; +import com.xinguan.mislab.entity.User; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author gyklc +* @description 针对表【user(员工信息)】的数据库操作Service +* @createDate 2024-11-18 20:01:54 +*/ +public interface UserService extends IService { + + /** + * 登录 + * @param userLoginDTO + * @return + */ + User login(UserLoginDTO userLoginDTO); +} diff --git a/src/main/java/com/xinguan/mislab/service/impl/DepartmentServiceImpl.java b/src/main/java/com/xinguan/mislab/service/impl/DepartmentServiceImpl.java new file mode 100644 index 0000000..e6e439a --- /dev/null +++ b/src/main/java/com/xinguan/mislab/service/impl/DepartmentServiceImpl.java @@ -0,0 +1,22 @@ +package com.xinguan.mislab.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.xinguan.mislab.entity.Department; +import com.xinguan.mislab.service.DepartmentService; +import com.xinguan.mislab.mapper.DepartmentMapper; +import org.springframework.stereotype.Service; + +/** +* @author gyklc +* @description 针对表【department(项目信息)】的数据库操作Service实现 +* @createDate 2024-11-18 20:01:09 +*/ +@Service +public class DepartmentServiceImpl extends ServiceImpl + implements DepartmentService{ + +} + + + + diff --git a/src/main/java/com/xinguan/mislab/service/impl/FreshmanServiceImpl.java b/src/main/java/com/xinguan/mislab/service/impl/FreshmanServiceImpl.java new file mode 100644 index 0000000..d3deb74 --- /dev/null +++ b/src/main/java/com/xinguan/mislab/service/impl/FreshmanServiceImpl.java @@ -0,0 +1,22 @@ +package com.xinguan.mislab.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.xinguan.mislab.entity.Freshman; +import com.xinguan.mislab.service.FreshmanService; +import com.xinguan.mislab.mapper.FreshmanMapper; +import org.springframework.stereotype.Service; + +/** +* @author gyklc +* @description 针对表【freshman(新生信息)】的数据库操作Service实现 +* @createDate 2024-11-18 20:01:54 +*/ +@Service +public class FreshmanServiceImpl extends ServiceImpl + implements FreshmanService{ + +} + + + + diff --git a/src/main/java/com/xinguan/mislab/service/impl/GraduateServiceImpl.java b/src/main/java/com/xinguan/mislab/service/impl/GraduateServiceImpl.java new file mode 100644 index 0000000..4115b36 --- /dev/null +++ b/src/main/java/com/xinguan/mislab/service/impl/GraduateServiceImpl.java @@ -0,0 +1,22 @@ +package com.xinguan.mislab.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.xinguan.mislab.entity.Graduate; +import com.xinguan.mislab.service.GraduateService; +import com.xinguan.mislab.mapper.GraduateMapper; +import org.springframework.stereotype.Service; + +/** +* @author gyklc +* @description 针对表【graduate(毕业人员)】的数据库操作Service实现 +* @createDate 2024-11-18 20:01:54 +*/ +@Service +public class GraduateServiceImpl extends ServiceImpl + implements GraduateService{ + +} + + + + diff --git a/src/main/java/com/xinguan/mislab/service/impl/ItemServiceImpl.java b/src/main/java/com/xinguan/mislab/service/impl/ItemServiceImpl.java new file mode 100644 index 0000000..96bdf04 --- /dev/null +++ b/src/main/java/com/xinguan/mislab/service/impl/ItemServiceImpl.java @@ -0,0 +1,22 @@ +package com.xinguan.mislab.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.xinguan.mislab.entity.Item; +import com.xinguan.mislab.service.ItemService; +import com.xinguan.mislab.mapper.ItemMapper; +import org.springframework.stereotype.Service; + +/** +* @author gyklc +* @description 针对表【item(项目信息)】的数据库操作Service实现 +* @createDate 2024-11-18 20:01:54 +*/ +@Service +public class ItemServiceImpl extends ServiceImpl + implements ItemService{ + +} + + + + diff --git a/src/main/java/com/xinguan/mislab/service/impl/UserServiceImpl.java b/src/main/java/com/xinguan/mislab/service/impl/UserServiceImpl.java new file mode 100644 index 0000000..197a436 --- /dev/null +++ b/src/main/java/com/xinguan/mislab/service/impl/UserServiceImpl.java @@ -0,0 +1,31 @@ +package com.xinguan.mislab.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.xinguan.mislab.DTO.UserLoginDTO; +import com.xinguan.mislab.entity.User; +import com.xinguan.mislab.service.UserService; +import com.xinguan.mislab.mapper.UserMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** +* @author gyklc +* @description 针对表【user(员工信息)】的数据库操作Service实现 +* @createDate 2024-11-18 20:01:54 +*/ +@Service +public class UserServiceImpl extends ServiceImpl + implements UserService{ + + @Autowired + private UserMapper userMapper; + + @Override + public User login(UserLoginDTO userLoginDTO) { + return null; + } +} + + + + diff --git a/src/main/java/com/xinguan/mislab/utils/JwtUtil.java b/src/main/java/com/xinguan/mislab/utils/JwtUtil.java new file mode 100644 index 0000000..7e781fc --- /dev/null +++ b/src/main/java/com/xinguan/mislab/utils/JwtUtil.java @@ -0,0 +1,55 @@ +package com.xinguan.mislab.utils; + +import io.jsonwebtoken.Claims; +import io.jsonwebtoken.JwtBuilder; +import io.jsonwebtoken.Jwts; +import io.jsonwebtoken.SignatureAlgorithm; + +import java.nio.charset.StandardCharsets; +import java.util.Date; +import java.util.Map; + +public class JwtUtil { + + /** + * 生成jwt + * 使用HS256算法, 私匙使用固定秘钥 + * + * @param secretKey jwt秘钥 + * @param ttlMillis jwt过期时间(毫秒) + * @param claims 设置的信息 + * @return JWT 字符串 + */ + public static String createJWT(String secretKey, long ttlMillis, Map claims) { + // 指定签名算法 + SignatureAlgorithm signatureAlgorithm = SignatureAlgorithm.HS256; + + // 设置JWT的过期时间 + long expMillis = System.currentTimeMillis() + ttlMillis; + Date exp = new Date(expMillis); + + // 构建JWT + JwtBuilder builder = Jwts.builder() + .setClaims(claims) + .signWith(signatureAlgorithm, secretKey.getBytes(StandardCharsets.UTF_8)) + .setExpiration(exp); + + return builder.compact(); + } + + /** + * Token解密 + * + * @param secretKey jwt秘钥 + * @param token 加密后的token + * @return 解密后的Claims + */ + public static Claims parseJWT(String secretKey, String token) { + // 解析JWT + return Jwts.parserBuilder() + .setSigningKey(secretKey.getBytes(StandardCharsets.UTF_8)) + .build() + .parseClaimsJws(token) + .getBody(); + } +} diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml new file mode 100644 index 0000000..f274ed5 --- /dev/null +++ b/src/main/resources/application.yml @@ -0,0 +1,16 @@ +spring: + profiles: + active: dev + main: + allow-circular-references: true + datasource: + druid: + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://localhost:3306/mislab?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true + username: root + password: JMYYKLS1 +mislab: + jwt: + admin-secret-key: itcast + admin-ttl: 720000000 + admin-token-name: token \ No newline at end of file diff --git a/src/main/resources/mapper/DepartmentMapper.xml b/src/main/resources/mapper/DepartmentMapper.xml new file mode 100644 index 0000000..63dd51c --- /dev/null +++ b/src/main/resources/mapper/DepartmentMapper.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + id,name,photo, + intro,create_time + + diff --git a/src/main/resources/mapper/FreshmanMapper.xml b/src/main/resources/mapper/FreshmanMapper.xml new file mode 100644 index 0000000..99fae62 --- /dev/null +++ b/src/main/resources/mapper/FreshmanMapper.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + id,name,sex, + phone,grade,department_id, + create_time + + diff --git a/src/main/resources/mapper/GraduateMapper.xml b/src/main/resources/mapper/GraduateMapper.xml new file mode 100644 index 0000000..ee75049 --- /dev/null +++ b/src/main/resources/mapper/GraduateMapper.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + id,name,sex, + phone,grade,photo, + company,create_time + + diff --git a/src/main/resources/mapper/ItemMapper.xml b/src/main/resources/mapper/ItemMapper.xml new file mode 100644 index 0000000..44071cf --- /dev/null +++ b/src/main/resources/mapper/ItemMapper.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + id,name,photo, + intro,address,create_time + + diff --git a/src/main/resources/mapper/UserMapper.xml b/src/main/resources/mapper/UserMapper.xml new file mode 100644 index 0000000..b495ae5 --- /dev/null +++ b/src/main/resources/mapper/UserMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + id,name,username, + password,phone,sex, + id_number,status,create_time, + update_time,create_user,update_user + + diff --git a/src/test/java/com/xinguan/mislab/MisLabApplicationTests.java b/src/test/java/com/xinguan/mislab/MisLabApplicationTests.java deleted file mode 100644 index 66cdc65..0000000 --- a/src/test/java/com/xinguan/mislab/MisLabApplicationTests.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.xinguan.mislab; - -import org.junit.jupiter.api.Test; -import org.springframework.boot.test.context.SpringBootTest; - -@SpringBootTest -class MisLabApplicationTests { - - @Test - void contextLoads() { - } - -} -- Gitee From aa1fe62a5ed24c37733e248766207c4aedcd39bc Mon Sep 17 00:00:00 2001 From: redoom Date: Tue, 19 Nov 2024 18:04:40 +0800 Subject: [PATCH 02/17] =?UTF-8?q?=E5=9F=BA=E6=9C=ACmapper=E3=80=81service?= =?UTF-8?q?=E3=80=81entity?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mislab/config/WebMvcConfiguration.java | 1 - .../mislab/controller/UserController.java | 2 +- .../interceptor/JwtTokenUserInterceptor.java | 26 +++---------------- .../com/xinguan/mislab/mapper/UserMapper.java | 3 +++ .../mislab/service/impl/UserServiceImpl.java | 13 +++++++++- 5 files changed, 20 insertions(+), 25 deletions(-) diff --git a/src/main/java/com/xinguan/mislab/config/WebMvcConfiguration.java b/src/main/java/com/xinguan/mislab/config/WebMvcConfiguration.java index c77c2d9..a5f8e56 100644 --- a/src/main/java/com/xinguan/mislab/config/WebMvcConfiguration.java +++ b/src/main/java/com/xinguan/mislab/config/WebMvcConfiguration.java @@ -21,7 +21,6 @@ public class WebMvcConfiguration extends WebMvcConfigurationSupport { * @param registry */ protected void addInterceptors(InterceptorRegistry registry) { - log.info("开始注册自定义拦截器..."); registry.addInterceptor(jwtTokenUserInterceptor) .addPathPatterns("/user/**") .excludePathPatterns("/user/user/login") diff --git a/src/main/java/com/xinguan/mislab/controller/UserController.java b/src/main/java/com/xinguan/mislab/controller/UserController.java index 8692e6e..018f4f3 100644 --- a/src/main/java/com/xinguan/mislab/controller/UserController.java +++ b/src/main/java/com/xinguan/mislab/controller/UserController.java @@ -30,7 +30,7 @@ public class UserController { @PostMapping("/login") public Result login(@RequestBody UserLoginDTO userLoginDTO) { - log.info("员工登录:{}", userLoginDTO); + log.info("用户登录:{}", userLoginDTO); User user = userService.login(userLoginDTO); diff --git a/src/main/java/com/xinguan/mislab/interceptor/JwtTokenUserInterceptor.java b/src/main/java/com/xinguan/mislab/interceptor/JwtTokenUserInterceptor.java index 4e5ec90..2c712df 100644 --- a/src/main/java/com/xinguan/mislab/interceptor/JwtTokenUserInterceptor.java +++ b/src/main/java/com/xinguan/mislab/interceptor/JwtTokenUserInterceptor.java @@ -15,9 +15,7 @@ import org.springframework.web.servlet.HandlerInterceptor; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -/** - * jwt令牌校验的拦截器 - */ + @Component @Slf4j public class JwtTokenUserInterceptor implements HandlerInterceptor { @@ -25,36 +23,20 @@ public class JwtTokenUserInterceptor implements HandlerInterceptor { @Autowired private JwtProperties jwtProperties; - - /** - * 校验jwt - * - * @param request - * @param response - * @param handler - * @return - * @throws Exception - */ public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { - //判断当前拦截到的是Controller的方法还是其他资源 - if (!(handler instanceof HandlerMethod)) { - //当前拦截到的不是动态方法,直接放行 - return true; - } - //1、从请求头中获取令牌 + + + String token = request.getHeader(jwtProperties.getUserTokenName()); - //2、校验令牌 try { log.info("jwt校验:{}", token); Claims claims = JwtUtil.parseJWT(jwtProperties.getUserSecretKey(), token); Long userId = Long.valueOf(claims.get(JwtClaimsConstant.USER_ID).toString()); log.info("当前用户id:{}", userId); BaseContext.setCurrentId(userId); - //3、通过,放行 return true; } catch (Exception ex) { - //4、不通过,响应401状态码 response.setStatus(401); return false; } diff --git a/src/main/java/com/xinguan/mislab/mapper/UserMapper.java b/src/main/java/com/xinguan/mislab/mapper/UserMapper.java index 85a19ec..2596ddc 100644 --- a/src/main/java/com/xinguan/mislab/mapper/UserMapper.java +++ b/src/main/java/com/xinguan/mislab/mapper/UserMapper.java @@ -3,6 +3,7 @@ package com.xinguan.mislab.mapper; import com.xinguan.mislab.entity.User; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; /** * @author gyklc @@ -13,6 +14,8 @@ import org.apache.ibatis.annotations.Mapper; @Mapper public interface UserMapper extends BaseMapper { + @Select("select * from mislab.user where username = #{username}") + User getByUsername(String username); } diff --git a/src/main/java/com/xinguan/mislab/service/impl/UserServiceImpl.java b/src/main/java/com/xinguan/mislab/service/impl/UserServiceImpl.java index 197a436..de9705a 100644 --- a/src/main/java/com/xinguan/mislab/service/impl/UserServiceImpl.java +++ b/src/main/java/com/xinguan/mislab/service/impl/UserServiceImpl.java @@ -7,6 +7,7 @@ import com.xinguan.mislab.service.UserService; import com.xinguan.mislab.mapper.UserMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.DigestUtils; /** * @author gyklc @@ -22,7 +23,17 @@ public class UserServiceImpl extends ServiceImpl @Override public User login(UserLoginDTO userLoginDTO) { - return null; + String username = userLoginDTO.getUsername(); + String password = userLoginDTO.getPassword(); + User user = userMapper.getByUsername(username); + if (user == null){ + return null; + } + password = DigestUtils.md5DigestAsHex(password.getBytes()); + if (!password.equals(user.getPassword())){ + return new Exception(); + } + return user } } -- Gitee From 72223ce84346ab5f4c1e2cf13e0d2831cf6dfb26 Mon Sep 17 00:00:00 2001 From: redoom Date: Thu, 21 Nov 2024 20:01:51 +0800 Subject: [PATCH 03/17] =?UTF-8?q?feat:=20=E7=99=BB=E5=BD=95=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/xinguan/mislab/DTO/UserDTO.java | 22 ++++++++++ .../mislab/config/WebMvcConfiguration.java | 5 +-- .../mislab/constant/MessageConstant.java | 10 +++++ .../mislab/controller/UserController.java | 20 +++++++-- .../java/com/xinguan/mislab/entity/User.java | 18 ++------ .../exception/AccountNotFoundException.java | 7 +++ .../mislab/exception/BaseException.java | 15 +++++++ .../exception/LoginFailedException.java | 10 +++++ .../PasswordEditFailedException.java | 12 +++++ .../exception/PasswordErrorException.java | 15 +++++++ .../exception/UserNotLoginException.java | 12 +++++ .../com/xinguan/mislab/mapper/UserMapper.java | 5 +++ .../xinguan/mislab/service/UserService.java | 13 ++++++ .../mislab/service/impl/UserServiceImpl.java | 44 +++++++++++++++++-- src/main/resources/mapper/UserMapper.xml | 25 +++++++---- 15 files changed, 200 insertions(+), 33 deletions(-) create mode 100644 src/main/java/com/xinguan/mislab/DTO/UserDTO.java create mode 100644 src/main/java/com/xinguan/mislab/constant/MessageConstant.java create mode 100644 src/main/java/com/xinguan/mislab/exception/AccountNotFoundException.java create mode 100644 src/main/java/com/xinguan/mislab/exception/BaseException.java create mode 100644 src/main/java/com/xinguan/mislab/exception/LoginFailedException.java create mode 100644 src/main/java/com/xinguan/mislab/exception/PasswordEditFailedException.java create mode 100644 src/main/java/com/xinguan/mislab/exception/PasswordErrorException.java create mode 100644 src/main/java/com/xinguan/mislab/exception/UserNotLoginException.java diff --git a/src/main/java/com/xinguan/mislab/DTO/UserDTO.java b/src/main/java/com/xinguan/mislab/DTO/UserDTO.java new file mode 100644 index 0000000..41c41d9 --- /dev/null +++ b/src/main/java/com/xinguan/mislab/DTO/UserDTO.java @@ -0,0 +1,22 @@ +package com.xinguan.mislab.DTO; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class UserDTO implements Serializable { + + private Long id; + + private String username; + + private String password; + + private String name; + + private String phone; + + private String sex; + +} \ No newline at end of file diff --git a/src/main/java/com/xinguan/mislab/config/WebMvcConfiguration.java b/src/main/java/com/xinguan/mislab/config/WebMvcConfiguration.java index a5f8e56..76b0131 100644 --- a/src/main/java/com/xinguan/mislab/config/WebMvcConfiguration.java +++ b/src/main/java/com/xinguan/mislab/config/WebMvcConfiguration.java @@ -23,8 +23,7 @@ public class WebMvcConfiguration extends WebMvcConfigurationSupport { protected void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(jwtTokenUserInterceptor) .addPathPatterns("/user/**") - .excludePathPatterns("/user/user/login") - .excludePathPatterns("/user/shop/status"); - + .excludePathPatterns("/user/login") + .excludePathPatterns("/user/sign"); } } diff --git a/src/main/java/com/xinguan/mislab/constant/MessageConstant.java b/src/main/java/com/xinguan/mislab/constant/MessageConstant.java new file mode 100644 index 0000000..b457075 --- /dev/null +++ b/src/main/java/com/xinguan/mislab/constant/MessageConstant.java @@ -0,0 +1,10 @@ +package com.xinguan.mislab.constant; + +/** + * 密码常量 + */ +public class MessageConstant { + + public static final String DEFAULT_PASSWORD = "123456"; + +} diff --git a/src/main/java/com/xinguan/mislab/controller/UserController.java b/src/main/java/com/xinguan/mislab/controller/UserController.java index 018f4f3..3180cdd 100644 --- a/src/main/java/com/xinguan/mislab/controller/UserController.java +++ b/src/main/java/com/xinguan/mislab/controller/UserController.java @@ -1,5 +1,6 @@ package com.xinguan.mislab.controller; +import com.xinguan.mislab.DTO.UserDTO; import com.xinguan.mislab.DTO.UserLoginDTO; import com.xinguan.mislab.VO.UserLoginVO; import com.xinguan.mislab.constant.JwtClaimsConstant; @@ -9,11 +10,9 @@ import com.xinguan.mislab.result.Result; import com.xinguan.mislab.service.UserService; import com.xinguan.mislab.utils.JwtUtil; import lombok.extern.slf4j.Slf4j; +import org.apache.ibatis.annotations.Update; import org.springframework.beans.factory.annotation.Autowired; -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 org.springframework.web.bind.annotation.*; import java.util.HashMap; import java.util.Map; @@ -52,4 +51,17 @@ public class UserController { return Result.success(employeeLoginVO); } + @PostMapping("sign") + public Result save(@RequestBody UserLoginDTO userLoginDTO){ + log.info("正在储存对象:{}", userLoginDTO); + userService.saveNewAccount(userLoginDTO); + return Result.success(); + } + + @PutMapping + public Result update(@RequestBody UserDTO userDTO){ + userService.updateUserMes(userDTO); + return Result.success(); + } + } diff --git a/src/main/java/com/xinguan/mislab/entity/User.java b/src/main/java/com/xinguan/mislab/entity/User.java index faab3a9..fc9070a 100644 --- a/src/main/java/com/xinguan/mislab/entity/User.java +++ b/src/main/java/com/xinguan/mislab/entity/User.java @@ -1,10 +1,8 @@ package com.xinguan.mislab.entity; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; +import java.time.LocalDateTime; import java.util.Date; import lombok.Data; @@ -22,21 +20,11 @@ public class User implements Serializable { private String password; - private String phone; - private String sex; - private String idNumber; - - private Integer status; - - private Date createTime; - - private Date updateTime; - - private Long createUser; + private LocalDateTime createTime; - private Long updateUser; + private LocalDateTime updateTime; private static final long serialVersionUID = 1L; } \ No newline at end of file diff --git a/src/main/java/com/xinguan/mislab/exception/AccountNotFoundException.java b/src/main/java/com/xinguan/mislab/exception/AccountNotFoundException.java new file mode 100644 index 0000000..774d157 --- /dev/null +++ b/src/main/java/com/xinguan/mislab/exception/AccountNotFoundException.java @@ -0,0 +1,7 @@ +package com.xinguan.mislab.exception; + +public class AccountNotFoundException extends BaseException{ + public AccountNotFoundException(String mes){ + super(mes); + } +} diff --git a/src/main/java/com/xinguan/mislab/exception/BaseException.java b/src/main/java/com/xinguan/mislab/exception/BaseException.java new file mode 100644 index 0000000..6bccf93 --- /dev/null +++ b/src/main/java/com/xinguan/mislab/exception/BaseException.java @@ -0,0 +1,15 @@ +package com.xinguan.mislab.exception; + +/** + * 业务异常 + */ +public class BaseException extends RuntimeException { + + public BaseException() { + } + + public BaseException(String msg) { + super(msg); + } + +} diff --git a/src/main/java/com/xinguan/mislab/exception/LoginFailedException.java b/src/main/java/com/xinguan/mislab/exception/LoginFailedException.java new file mode 100644 index 0000000..2e6b9d0 --- /dev/null +++ b/src/main/java/com/xinguan/mislab/exception/LoginFailedException.java @@ -0,0 +1,10 @@ +package com.xinguan.mislab.exception; + +/** + * 登录失败 + */ +public class LoginFailedException extends BaseException{ + public LoginFailedException(String msg){ + super(msg); + } +} diff --git a/src/main/java/com/xinguan/mislab/exception/PasswordEditFailedException.java b/src/main/java/com/xinguan/mislab/exception/PasswordEditFailedException.java new file mode 100644 index 0000000..8de72f0 --- /dev/null +++ b/src/main/java/com/xinguan/mislab/exception/PasswordEditFailedException.java @@ -0,0 +1,12 @@ +package com.xinguan.mislab.exception; + +/** + * 密码修改失败异常 + */ +public class PasswordEditFailedException extends BaseException{ + + public PasswordEditFailedException(String msg){ + super(msg); + } + +} diff --git a/src/main/java/com/xinguan/mislab/exception/PasswordErrorException.java b/src/main/java/com/xinguan/mislab/exception/PasswordErrorException.java new file mode 100644 index 0000000..00026ef --- /dev/null +++ b/src/main/java/com/xinguan/mislab/exception/PasswordErrorException.java @@ -0,0 +1,15 @@ +package com.xinguan.mislab.exception; + +/** + * 密码错误异常 + */ +public class PasswordErrorException extends BaseException { + + public PasswordErrorException() { + } + + public PasswordErrorException(String msg) { + super(msg); + } + +} diff --git a/src/main/java/com/xinguan/mislab/exception/UserNotLoginException.java b/src/main/java/com/xinguan/mislab/exception/UserNotLoginException.java new file mode 100644 index 0000000..447976d --- /dev/null +++ b/src/main/java/com/xinguan/mislab/exception/UserNotLoginException.java @@ -0,0 +1,12 @@ +package com.xinguan.mislab.exception; + +public class UserNotLoginException extends BaseException { + + public UserNotLoginException() { + } + + public UserNotLoginException(String msg) { + super(msg); + } + +} diff --git a/src/main/java/com/xinguan/mislab/mapper/UserMapper.java b/src/main/java/com/xinguan/mislab/mapper/UserMapper.java index 2596ddc..9aa721d 100644 --- a/src/main/java/com/xinguan/mislab/mapper/UserMapper.java +++ b/src/main/java/com/xinguan/mislab/mapper/UserMapper.java @@ -16,6 +16,11 @@ public interface UserMapper extends BaseMapper { @Select("select * from mislab.user where username = #{username}") User getByUsername(String username); + + void updateUserMes(User user); + + + void saveNewAccount(User user); } diff --git a/src/main/java/com/xinguan/mislab/service/UserService.java b/src/main/java/com/xinguan/mislab/service/UserService.java index 28804c3..30f7633 100644 --- a/src/main/java/com/xinguan/mislab/service/UserService.java +++ b/src/main/java/com/xinguan/mislab/service/UserService.java @@ -1,5 +1,6 @@ package com.xinguan.mislab.service; +import com.xinguan.mislab.DTO.UserDTO; import com.xinguan.mislab.DTO.UserLoginDTO; import com.xinguan.mislab.entity.User; import com.baomidou.mybatisplus.extension.service.IService; @@ -17,4 +18,16 @@ public interface UserService extends IService { * @return */ User login(UserLoginDTO userLoginDTO); + + /** + * 注册账号 + * @param userLoginDTO + */ + void saveNewAccount(UserLoginDTO userLoginDTO); + + /** + * 更新账号信息 + * @param userDTO + */ + void updateUserMes(UserDTO userDTO); } diff --git a/src/main/java/com/xinguan/mislab/service/impl/UserServiceImpl.java b/src/main/java/com/xinguan/mislab/service/impl/UserServiceImpl.java index de9705a..a270c3d 100644 --- a/src/main/java/com/xinguan/mislab/service/impl/UserServiceImpl.java +++ b/src/main/java/com/xinguan/mislab/service/impl/UserServiceImpl.java @@ -1,13 +1,27 @@ package com.xinguan.mislab.service.impl; +import com.alibaba.druid.sql.visitor.functions.Lcase; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.xinguan.mislab.DTO.UserDTO; import com.xinguan.mislab.DTO.UserLoginDTO; +import com.xinguan.mislab.constant.MessageConstant; +import com.xinguan.mislab.context.BaseContext; import com.xinguan.mislab.entity.User; +import com.xinguan.mislab.exception.AccountNotFoundException; +import com.xinguan.mislab.exception.PasswordErrorException; +import com.xinguan.mislab.result.Result; import com.xinguan.mislab.service.UserService; import com.xinguan.mislab.mapper.UserMapper; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.DigestUtils; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +import java.time.LocalDateTime; +import java.util.Date; +import java.util.UUID; /** * @author gyklc @@ -27,14 +41,38 @@ public class UserServiceImpl extends ServiceImpl String password = userLoginDTO.getPassword(); User user = userMapper.getByUsername(username); if (user == null){ - return null; + throw new AccountNotFoundException("账号不存在"); } password = DigestUtils.md5DigestAsHex(password.getBytes()); if (!password.equals(user.getPassword())){ - return new Exception(); + throw new PasswordErrorException("密码错误"); } - return user + return user; + } + + @Override + public void saveNewAccount(UserLoginDTO userLoginDTO) { + User user = new User(); + user.setPassword(DigestUtils.md5DigestAsHex(MessageConstant.DEFAULT_PASSWORD.getBytes())); + BeanUtils.copyProperties(userLoginDTO,user); + String uuid = String.valueOf(UUID.randomUUID()); + user.setName(uuid); + + user.setCreateTime(LocalDateTime.now()); + user.setUpdateTime(LocalDateTime.now()); + userMapper.saveNewAccount(user); } + + @Override + public void updateUserMes(UserDTO userDTO) { + User user = new User(); + BeanUtils.copyProperties(userDTO, user); + user.setPassword(DigestUtils.md5DigestAsHex(userDTO.getPassword().getBytes())); + user.setUpdateTime(LocalDateTime.now()); + userMapper.updateUserMes(user); + } + + } diff --git a/src/main/resources/mapper/UserMapper.xml b/src/main/resources/mapper/UserMapper.xml index b495ae5..b5b5283 100644 --- a/src/main/resources/mapper/UserMapper.xml +++ b/src/main/resources/mapper/UserMapper.xml @@ -9,20 +9,29 @@ - - - - - id,name,username, - password,phone,sex, - id_number,status,create_time, - update_time,create_user,update_user + password,sex, + create_time, + update_time + + update user + + name = #{name}, + username = #{username}, + password = #{password}, + sex = #{sex}, + update_time = #{updateTime}, + + where id =#{id} + + + + -- Gitee From 5cd73311a3e2abf2af24ed73a383c6cf17ff0dc9 Mon Sep 17 00:00:00 2001 From: redoom Date: Fri, 22 Nov 2024 22:03:03 +0800 Subject: [PATCH 04/17] =?UTF-8?q?=E7=99=BB=E5=BD=95=E6=8E=A5=E5=8F=A3+?= =?UTF-8?q?=E4=BF=AE=E6=94=B9user=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 15 ++++++-- .../com/xinguan/mislab/MisLabApplication.java | 4 +++ .../mislab/config/WebMvcConfiguration.java | 3 +- .../mislab/controller/UserController.java | 11 ++---- .../java/com/xinguan/mislab/entity/User.java | 11 +++--- .../interceptor/JwtTokenUserInterceptor.java | 2 +- .../com/xinguan/mislab/result/PageResult.java | 4 +-- .../com/xinguan/mislab/result/Result.java | 6 ++-- .../xinguan/mislab/service/UserService.java | 6 +--- .../mislab/service/impl/UserServiceImpl.java | 16 +-------- .../com/xinguan/mislab/utils/JwtUtil.java | 35 ++++++++----------- src/main/resources/application.yml | 5 ++- src/main/resources/mapper/UserMapper.xml | 33 ++++++++--------- 13 files changed, 65 insertions(+), 86 deletions(-) diff --git a/pom.xml b/pom.xml index 3764237..ac47180 100644 --- a/pom.xml +++ b/pom.xml @@ -30,6 +30,7 @@ com.mysql mysql-connector-j + 8.0.33 runtime @@ -42,10 +43,9 @@ com.alibaba druid-spring-boot-starter - 1.2.8 + 1.2.8 - io.jsonwebtoken @@ -82,8 +82,19 @@ org.mockito mockito-core + + org.junit.vintage + junit-vintage-engine + + + + org.assertj + assertj-core + test + + diff --git a/src/main/java/com/xinguan/mislab/MisLabApplication.java b/src/main/java/com/xinguan/mislab/MisLabApplication.java index 5d9b98f..96b8fc8 100644 --- a/src/main/java/com/xinguan/mislab/MisLabApplication.java +++ b/src/main/java/com/xinguan/mislab/MisLabApplication.java @@ -1,9 +1,13 @@ package com.xinguan.mislab; +import com.xinguan.mislab.properties.JwtProperties; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.context.properties.EnableConfigurationProperties; +import org.springframework.transaction.annotation.EnableTransactionManagement; @SpringBootApplication +@EnableTransactionManagement public class MisLabApplication { public static void main(String[] args) { diff --git a/src/main/java/com/xinguan/mislab/config/WebMvcConfiguration.java b/src/main/java/com/xinguan/mislab/config/WebMvcConfiguration.java index 76b0131..00d367f 100644 --- a/src/main/java/com/xinguan/mislab/config/WebMvcConfiguration.java +++ b/src/main/java/com/xinguan/mislab/config/WebMvcConfiguration.java @@ -23,7 +23,6 @@ public class WebMvcConfiguration extends WebMvcConfigurationSupport { protected void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(jwtTokenUserInterceptor) .addPathPatterns("/user/**") - .excludePathPatterns("/user/login") - .excludePathPatterns("/user/sign"); + .excludePathPatterns("/user/login"); } } diff --git a/src/main/java/com/xinguan/mislab/controller/UserController.java b/src/main/java/com/xinguan/mislab/controller/UserController.java index 3180cdd..f6d2962 100644 --- a/src/main/java/com/xinguan/mislab/controller/UserController.java +++ b/src/main/java/com/xinguan/mislab/controller/UserController.java @@ -37,7 +37,6 @@ public class UserController { Map claims = new HashMap<>(); claims.put(JwtClaimsConstant.USER_ID, user.getId()); String token = JwtUtil.createJWT( - jwtProperties.getUserSecretKey(), jwtProperties.getUserTtl(), claims); @@ -48,14 +47,10 @@ public class UserController { .token(token) .build(); - return Result.success(employeeLoginVO); - } - @PostMapping("sign") - public Result save(@RequestBody UserLoginDTO userLoginDTO){ - log.info("正在储存对象:{}", userLoginDTO); - userService.saveNewAccount(userLoginDTO); - return Result.success(); + + + return Result.success(employeeLoginVO); } @PutMapping diff --git a/src/main/java/com/xinguan/mislab/entity/User.java b/src/main/java/com/xinguan/mislab/entity/User.java index fc9070a..916f1d0 100644 --- a/src/main/java/com/xinguan/mislab/entity/User.java +++ b/src/main/java/com/xinguan/mislab/entity/User.java @@ -1,9 +1,10 @@ package com.xinguan.mislab.entity; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; -import java.time.LocalDateTime; -import java.util.Date; import lombok.Data; /** @@ -20,11 +21,7 @@ public class User implements Serializable { private String password; - private String sex; - - private LocalDateTime createTime; - - private LocalDateTime updateTime; + private Integer status; private static final long serialVersionUID = 1L; } \ No newline at end of file diff --git a/src/main/java/com/xinguan/mislab/interceptor/JwtTokenUserInterceptor.java b/src/main/java/com/xinguan/mislab/interceptor/JwtTokenUserInterceptor.java index 2c712df..8de7e2c 100644 --- a/src/main/java/com/xinguan/mislab/interceptor/JwtTokenUserInterceptor.java +++ b/src/main/java/com/xinguan/mislab/interceptor/JwtTokenUserInterceptor.java @@ -31,7 +31,7 @@ public class JwtTokenUserInterceptor implements HandlerInterceptor { try { log.info("jwt校验:{}", token); - Claims claims = JwtUtil.parseJWT(jwtProperties.getUserSecretKey(), token); + Claims claims = JwtUtil.parseJWT(token); Long userId = Long.valueOf(claims.get(JwtClaimsConstant.USER_ID).toString()); log.info("当前用户id:{}", userId); BaseContext.setCurrentId(userId); diff --git a/src/main/java/com/xinguan/mislab/result/PageResult.java b/src/main/java/com/xinguan/mislab/result/PageResult.java index 17ea52d..e29c21f 100644 --- a/src/main/java/com/xinguan/mislab/result/PageResult.java +++ b/src/main/java/com/xinguan/mislab/result/PageResult.java @@ -15,8 +15,8 @@ import java.util.List; @NoArgsConstructor public class PageResult implements Serializable { - private long total; //总记录数 + private long total; - private List records; //当前页数据集合 + private List records; } diff --git a/src/main/java/com/xinguan/mislab/result/Result.java b/src/main/java/com/xinguan/mislab/result/Result.java index 05ab4e8..ebaefb9 100644 --- a/src/main/java/com/xinguan/mislab/result/Result.java +++ b/src/main/java/com/xinguan/mislab/result/Result.java @@ -11,9 +11,9 @@ import java.io.Serializable; @Data public class Result implements Serializable { - private Integer code; //编码:1成功,0和其它数字为失败 - private String msg; //错误信息 - private T data; //数据 + private Integer code; //1成功,0失败 + private String msg; + private T data; public static Result success() { Result result = new Result(); diff --git a/src/main/java/com/xinguan/mislab/service/UserService.java b/src/main/java/com/xinguan/mislab/service/UserService.java index 30f7633..a63fa17 100644 --- a/src/main/java/com/xinguan/mislab/service/UserService.java +++ b/src/main/java/com/xinguan/mislab/service/UserService.java @@ -19,11 +19,7 @@ public interface UserService extends IService { */ User login(UserLoginDTO userLoginDTO); - /** - * 注册账号 - * @param userLoginDTO - */ - void saveNewAccount(UserLoginDTO userLoginDTO); + /** * 更新账号信息 diff --git a/src/main/java/com/xinguan/mislab/service/impl/UserServiceImpl.java b/src/main/java/com/xinguan/mislab/service/impl/UserServiceImpl.java index a270c3d..19a0b33 100644 --- a/src/main/java/com/xinguan/mislab/service/impl/UserServiceImpl.java +++ b/src/main/java/com/xinguan/mislab/service/impl/UserServiceImpl.java @@ -41,7 +41,7 @@ public class UserServiceImpl extends ServiceImpl String password = userLoginDTO.getPassword(); User user = userMapper.getByUsername(username); if (user == null){ - throw new AccountNotFoundException("账号不存在"); + throw new AccountNotFoundException("账号不存在"); } password = DigestUtils.md5DigestAsHex(password.getBytes()); if (!password.equals(user.getPassword())){ @@ -50,25 +50,11 @@ public class UserServiceImpl extends ServiceImpl return user; } - @Override - public void saveNewAccount(UserLoginDTO userLoginDTO) { - User user = new User(); - user.setPassword(DigestUtils.md5DigestAsHex(MessageConstant.DEFAULT_PASSWORD.getBytes())); - BeanUtils.copyProperties(userLoginDTO,user); - String uuid = String.valueOf(UUID.randomUUID()); - user.setName(uuid); - - user.setCreateTime(LocalDateTime.now()); - user.setUpdateTime(LocalDateTime.now()); - userMapper.saveNewAccount(user); - } - @Override public void updateUserMes(UserDTO userDTO) { User user = new User(); BeanUtils.copyProperties(userDTO, user); user.setPassword(DigestUtils.md5DigestAsHex(userDTO.getPassword().getBytes())); - user.setUpdateTime(LocalDateTime.now()); userMapper.updateUserMes(user); } diff --git a/src/main/java/com/xinguan/mislab/utils/JwtUtil.java b/src/main/java/com/xinguan/mislab/utils/JwtUtil.java index 7e781fc..57cc529 100644 --- a/src/main/java/com/xinguan/mislab/utils/JwtUtil.java +++ b/src/main/java/com/xinguan/mislab/utils/JwtUtil.java @@ -4,34 +4,31 @@ import io.jsonwebtoken.Claims; import io.jsonwebtoken.JwtBuilder; import io.jsonwebtoken.Jwts; import io.jsonwebtoken.SignatureAlgorithm; +import io.jsonwebtoken.security.Keys; +import javax.crypto.SecretKey; import java.nio.charset.StandardCharsets; import java.util.Date; import java.util.Map; public class JwtUtil { - /** * 生成jwt - * 使用HS256算法, 私匙使用固定秘钥 + * 使用Hs256算法, 私匙使用固定秘钥 + * * - * @param secretKey jwt秘钥 * @param ttlMillis jwt过期时间(毫秒) * @param claims 设置的信息 - * @return JWT 字符串 + * @return */ - public static String createJWT(String secretKey, long ttlMillis, Map claims) { - // 指定签名算法 - SignatureAlgorithm signatureAlgorithm = SignatureAlgorithm.HS256; - - // 设置JWT的过期时间 + public static String createJWT(long ttlMillis, Map claims) { + //时间 long expMillis = System.currentTimeMillis() + ttlMillis; Date exp = new Date(expMillis); - // 构建JWT JwtBuilder builder = Jwts.builder() .setClaims(claims) - .signWith(signatureAlgorithm, secretKey.getBytes(StandardCharsets.UTF_8)) + .signWith(SignatureAlgorithm.HS256, "mislabmislabmislabmislabmislabmislabmislabmis") .setExpiration(exp); return builder.compact(); @@ -40,16 +37,14 @@ public class JwtUtil { /** * Token解密 * - * @param secretKey jwt秘钥 * @param token 加密后的token - * @return 解密后的Claims + * @return */ - public static Claims parseJWT(String secretKey, String token) { - // 解析JWT - return Jwts.parserBuilder() - .setSigningKey(secretKey.getBytes(StandardCharsets.UTF_8)) - .build() - .parseClaimsJws(token) - .getBody(); + public static Claims parseJWT( String token) { + Claims claims = Jwts.parser() + .setSigningKey("mislab") + .parseClaimsJws(token).getBody(); + return claims; } + } diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index f274ed5..41147cf 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -11,6 +11,5 @@ spring: password: JMYYKLS1 mislab: jwt: - admin-secret-key: itcast - admin-ttl: 720000000 - admin-token-name: token \ No newline at end of file + user-ttl: 720000000 + user-token-name: token \ No newline at end of file diff --git a/src/main/resources/mapper/UserMapper.xml b/src/main/resources/mapper/UserMapper.xml index b5b5283..9a7725f 100644 --- a/src/main/resources/mapper/UserMapper.xml +++ b/src/main/resources/mapper/UserMapper.xml @@ -5,33 +5,30 @@ - - - - - - - + + + + + - id,name,username, - password,sex, - create_time, - update_time + id, name, username, password, status - - update user + + + UPDATE user name = #{name}, username = #{username}, password = #{password}, - sex = #{sex}, - update_time = #{updateTime}, + status = #{status}, - where id =#{id} - - + WHERE id = #{id} + + + INSERT INTO user (name, username, password, status) + VALUES (#{name}, #{username}, #{password}, #{status}) -- Gitee From a70e2649c910fcd859ab4c587b28e9a5b3f64b12 Mon Sep 17 00:00:00 2001 From: redoom Date: Tue, 26 Nov 2024 21:08:05 +0800 Subject: [PATCH 05/17] =?UTF-8?q?=E6=96=B0=E7=94=9F=E3=80=81=E6=AF=95?= =?UTF-8?q?=E4=B8=9A=E7=94=9F=EF=BC=88=E6=9C=AA=E5=AE=8C=E6=88=90=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 7 +++ .../com/xinguan/mislab/DTO/FreshmanDTO.java | 18 +++++++ .../mislab/DTO/FreshmanPageQueryDTO.java | 16 ++++++ .../com/xinguan/mislab/DTO/GraduateDTO.java | 26 ++++++++++ .../xinguan/mislab/DTO/GraduatePageQuery.java | 12 +++++ .../com/xinguan/mislab/VO/FreshmanVO.java | 32 ++++++++++++ .../xinguan/mislab/config/MyBatisConfig.java | 21 ++++++++ .../mislab/controller/FreshmanController.java | 50 +++++++++++++++++++ .../mislab/controller/GraduateController.java | 46 +++++++++++++++++ .../mislab/controller/UserController.java | 15 +++++- .../com/xinguan/mislab/entity/Freshman.java | 7 ++- .../com/xinguan/mislab/entity/Graduate.java | 3 +- .../java/com/xinguan/mislab/entity/User.java | 7 +++ .../PwdOrUsernameIsNullException.java | 14 ++++++ .../xinguan/mislab/mapper/FreshmanMapper.java | 8 +++ .../xinguan/mislab/mapper/GraduateMapper.java | 3 ++ .../com/xinguan/mislab/mapper/UserMapper.java | 4 ++ .../mislab/service/FreshmanService.java | 27 ++++++++++ .../mislab/service/GraduateService.java | 15 ++++++ .../xinguan/mislab/service/UserService.java | 15 ++++++ .../service/impl/FreshmanServiceImpl.java | 48 +++++++++++++++++- .../service/impl/GraduateServiceImpl.java | 28 +++++++++++ .../mislab/service/impl/UserServiceImpl.java | 46 +++++++++++++---- .../com/xinguan/mislab/utils/JwtUtil.java | 2 +- src/main/resources/application.yml | 5 +- src/main/resources/mapper/FreshmanMapper.xml | 44 +++++++++++++++- src/main/resources/mapper/GraduateMapper.xml | 8 +++ 27 files changed, 510 insertions(+), 17 deletions(-) create mode 100644 src/main/java/com/xinguan/mislab/DTO/FreshmanDTO.java create mode 100644 src/main/java/com/xinguan/mislab/DTO/FreshmanPageQueryDTO.java create mode 100644 src/main/java/com/xinguan/mislab/DTO/GraduateDTO.java create mode 100644 src/main/java/com/xinguan/mislab/DTO/GraduatePageQuery.java create mode 100644 src/main/java/com/xinguan/mislab/VO/FreshmanVO.java create mode 100644 src/main/java/com/xinguan/mislab/config/MyBatisConfig.java create mode 100644 src/main/java/com/xinguan/mislab/controller/FreshmanController.java create mode 100644 src/main/java/com/xinguan/mislab/controller/GraduateController.java create mode 100644 src/main/java/com/xinguan/mislab/exception/PwdOrUsernameIsNullException.java diff --git a/pom.xml b/pom.xml index ac47180..8b68422 100644 --- a/pom.xml +++ b/pom.xml @@ -95,6 +95,13 @@ test + + + com.github.pagehelper + pagehelper + 5.3.2 + + diff --git a/src/main/java/com/xinguan/mislab/DTO/FreshmanDTO.java b/src/main/java/com/xinguan/mislab/DTO/FreshmanDTO.java new file mode 100644 index 0000000..05c043c --- /dev/null +++ b/src/main/java/com/xinguan/mislab/DTO/FreshmanDTO.java @@ -0,0 +1,18 @@ +package com.xinguan.mislab.DTO; + +import lombok.Data; + +@Data +public class FreshmanDTO { + private String name; + + private String sex; + + private String phone; + + private String grade; + + private String departmentId; + + private String major; +} diff --git a/src/main/java/com/xinguan/mislab/DTO/FreshmanPageQueryDTO.java b/src/main/java/com/xinguan/mislab/DTO/FreshmanPageQueryDTO.java new file mode 100644 index 0000000..f353f3b --- /dev/null +++ b/src/main/java/com/xinguan/mislab/DTO/FreshmanPageQueryDTO.java @@ -0,0 +1,16 @@ +package com.xinguan.mislab.DTO; + + +import lombok.Data; + +@Data +public class FreshmanPageQueryDTO { + private Integer page; + private Integer pageSize; + private String name; + private String age; + private String sex; + private String grade; + private String departmentId; + private String major; +} diff --git a/src/main/java/com/xinguan/mislab/DTO/GraduateDTO.java b/src/main/java/com/xinguan/mislab/DTO/GraduateDTO.java new file mode 100644 index 0000000..18d1bc1 --- /dev/null +++ b/src/main/java/com/xinguan/mislab/DTO/GraduateDTO.java @@ -0,0 +1,26 @@ +package com.xinguan.mislab.DTO; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class GraduateDTO { + private String name; + + private String sex; + + private String phone; + + private String grade; + + private String photo; + + private String company; +} diff --git a/src/main/java/com/xinguan/mislab/DTO/GraduatePageQuery.java b/src/main/java/com/xinguan/mislab/DTO/GraduatePageQuery.java new file mode 100644 index 0000000..cd573ca --- /dev/null +++ b/src/main/java/com/xinguan/mislab/DTO/GraduatePageQuery.java @@ -0,0 +1,12 @@ +package com.xinguan.mislab.DTO; + +import lombok.Data; + +@Data +public class GraduatePageQuery { + private Integer page; + private Integer pageSize; + private String name; + private String grade; + private String company; +} diff --git a/src/main/java/com/xinguan/mislab/VO/FreshmanVO.java b/src/main/java/com/xinguan/mislab/VO/FreshmanVO.java new file mode 100644 index 0000000..fec69ff --- /dev/null +++ b/src/main/java/com/xinguan/mislab/VO/FreshmanVO.java @@ -0,0 +1,32 @@ +package com.xinguan.mislab.VO; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.time.LocalDateTime; + +@Data +@NoArgsConstructor +@AllArgsConstructor +@Builder +public class FreshmanVO { + private Long id; + + private String name; + + private String age; + + private String sex; + + private String phone; + + private String grade; + + private String department; + + private LocalDateTime createTime; + + private String major; +} diff --git a/src/main/java/com/xinguan/mislab/config/MyBatisConfig.java b/src/main/java/com/xinguan/mislab/config/MyBatisConfig.java new file mode 100644 index 0000000..01caf56 --- /dev/null +++ b/src/main/java/com/xinguan/mislab/config/MyBatisConfig.java @@ -0,0 +1,21 @@ +package com.xinguan.mislab.config; + +import com.github.pagehelper.PageHelper; +import org.mybatis.spring.annotation.MapperScan; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import java.util.Properties; + +@Configuration +@MapperScan("com.xinguan.mislab.mapper") // 扫描你的 Mapper 接口 +public class MyBatisConfig { + @Bean + public PageHelper pageHelper() { + PageHelper pageHelper = new PageHelper(); + Properties properties = new Properties(); + properties.setProperty("dialect", "mysql"); // 配置数据库类型 + pageHelper.setProperties(properties); + return pageHelper; + } +} diff --git a/src/main/java/com/xinguan/mislab/controller/FreshmanController.java b/src/main/java/com/xinguan/mislab/controller/FreshmanController.java new file mode 100644 index 0000000..193af3f --- /dev/null +++ b/src/main/java/com/xinguan/mislab/controller/FreshmanController.java @@ -0,0 +1,50 @@ +package com.xinguan.mislab.controller; + +import com.xinguan.mislab.DTO.FreshmanDTO; +import com.xinguan.mislab.DTO.FreshmanPageQueryDTO; +import com.xinguan.mislab.entity.Freshman; +import com.xinguan.mislab.result.PageResult; +import com.xinguan.mislab.result.Result; +import com.xinguan.mislab.service.FreshmanService; +import lombok.extern.slf4j.Slf4j; +import org.apache.ibatis.annotations.Update; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping("freshman") +@Slf4j +public class FreshmanController { + + @Autowired + private FreshmanService freshmanService; + + @GetMapping("/list") + public Result list(FreshmanPageQueryDTO freshmanPageQueryDTO){ + PageResult pageResult = freshmanService.pageQuery(freshmanPageQueryDTO); + return Result.success(pageResult); + } + + @PostMapping + public Result save(@RequestBody FreshmanDTO freshmanDTO){ + log.info("正在添加新生:{}",freshmanDTO); + freshmanService.saveNewMenber(freshmanDTO); + return Result.success(); + } + + @DeleteMapping("/{id}") + public Result delete(@PathVariable Long id){ + log.info("正在删除:{}",id); + freshmanService.deleteById(id); + return Result.success(); + } + + @PutMapping + public Result update(@RequestBody Freshman freshman){ + log.info("正在更改:{}", freshman.getId()); + freshmanService.updateMsg(freshman); + return Result.success(); + + } + +} diff --git a/src/main/java/com/xinguan/mislab/controller/GraduateController.java b/src/main/java/com/xinguan/mislab/controller/GraduateController.java new file mode 100644 index 0000000..4056b38 --- /dev/null +++ b/src/main/java/com/xinguan/mislab/controller/GraduateController.java @@ -0,0 +1,46 @@ +package com.xinguan.mislab.controller; + +import com.xinguan.mislab.DTO.GraduateDTO; +import com.xinguan.mislab.DTO.GraduatePageQuery; +import com.xinguan.mislab.entity.Graduate; +import com.xinguan.mislab.result.PageResult; +import com.xinguan.mislab.result.Result; +import com.xinguan.mislab.service.GraduateService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping("/graduate") +@Slf4j +public class GraduateController { + @Autowired + private GraduateService graduateService; + + @PostMapping("/create") + public Result save(@RequestBody GraduateDTO graduateDTO){ + log.info("正在储存对象:{}",graduateDTO); + graduateService.saveGraduate(graduateDTO); + return Result.success(); + } + @DeleteMapping("{id}") + public Result delete(@PathVariable Long id){ + log.info("正在删除:{}",id); + graduateService.removeById(id); + return Result.success(); + } + + @GetMapping("/list") + public Result list(@RequestBody GraduatePageQuery graduatePageQuery){ + // TODO 无法分页,但是可以查询 + PageResult pageResult = graduateService.pageQuery(graduatePageQuery); + return Result.success(pageResult); + } + + @GetMapping("/{id}") + public Result getOne(@PathVariable Long id){ + log.info("正在查看:{}",id); + Graduate graduate = graduateService.getById(id); + return Result.success(graduate); + } +} diff --git a/src/main/java/com/xinguan/mislab/controller/UserController.java b/src/main/java/com/xinguan/mislab/controller/UserController.java index f6d2962..bf6cd95 100644 --- a/src/main/java/com/xinguan/mislab/controller/UserController.java +++ b/src/main/java/com/xinguan/mislab/controller/UserController.java @@ -6,11 +6,11 @@ import com.xinguan.mislab.VO.UserLoginVO; import com.xinguan.mislab.constant.JwtClaimsConstant; import com.xinguan.mislab.entity.User; import com.xinguan.mislab.properties.JwtProperties; +import com.xinguan.mislab.result.PageResult; import com.xinguan.mislab.result.Result; import com.xinguan.mislab.service.UserService; import com.xinguan.mislab.utils.JwtUtil; import lombok.extern.slf4j.Slf4j; -import org.apache.ibatis.annotations.Update; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -53,10 +53,23 @@ public class UserController { return Result.success(employeeLoginVO); } + @PostMapping("/sign") + public Result sign(@RequestBody UserLoginDTO userLoginDTO){ + log.info("用户登录:{}",userLoginDTO); + userService.sign(userLoginDTO); + return Result.success(); + } + @PutMapping public Result update(@RequestBody UserDTO userDTO){ userService.updateUserMes(userDTO); return Result.success(); } + @GetMapping("/account") + public Result page(int page, int pageSize){ + PageResult pageResult = userService.pageQuery(page, pageSize); + return Result.success(pageResult); + } + } diff --git a/src/main/java/com/xinguan/mislab/entity/Freshman.java b/src/main/java/com/xinguan/mislab/entity/Freshman.java index 6ba749c..54b959e 100644 --- a/src/main/java/com/xinguan/mislab/entity/Freshman.java +++ b/src/main/java/com/xinguan/mislab/entity/Freshman.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; +import java.time.LocalDateTime; import java.util.Date; import lombok.Data; @@ -18,6 +19,8 @@ public class Freshman implements Serializable { private String name; + private String age; + private String sex; private String phone; @@ -26,7 +29,9 @@ public class Freshman implements Serializable { private String departmentId; - private Date createTime; + private LocalDateTime createTime; + + private String major; private static final long serialVersionUID = 1L; } \ No newline at end of file diff --git a/src/main/java/com/xinguan/mislab/entity/Graduate.java b/src/main/java/com/xinguan/mislab/entity/Graduate.java index 7d00346..9dfaedd 100644 --- a/src/main/java/com/xinguan/mislab/entity/Graduate.java +++ b/src/main/java/com/xinguan/mislab/entity/Graduate.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; +import java.time.LocalDateTime; import java.util.Date; import lombok.Data; @@ -28,7 +29,7 @@ public class Graduate implements Serializable { private String company; - private Date createTime; + private LocalDateTime createTime; private static final long serialVersionUID = 1L; } \ No newline at end of file diff --git a/src/main/java/com/xinguan/mislab/entity/User.java b/src/main/java/com/xinguan/mislab/entity/User.java index 916f1d0..c870a57 100644 --- a/src/main/java/com/xinguan/mislab/entity/User.java +++ b/src/main/java/com/xinguan/mislab/entity/User.java @@ -5,13 +5,20 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; + +import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.Data; +import lombok.NoArgsConstructor; /** * @TableName user */ @TableName(value ="user") @Data +@NoArgsConstructor +@Builder +@AllArgsConstructor public class User implements Serializable { private Long id; diff --git a/src/main/java/com/xinguan/mislab/exception/PwdOrUsernameIsNullException.java b/src/main/java/com/xinguan/mislab/exception/PwdOrUsernameIsNullException.java new file mode 100644 index 0000000..d48de04 --- /dev/null +++ b/src/main/java/com/xinguan/mislab/exception/PwdOrUsernameIsNullException.java @@ -0,0 +1,14 @@ +package com.xinguan.mislab.exception; + +/** + * 账号或密码为空 + */ +public class PwdOrUsernameIsNullException extends BaseException{ + + public PwdOrUsernameIsNullException(){} + + public PwdOrUsernameIsNullException(String msg){ + super(msg); + } + +} diff --git a/src/main/java/com/xinguan/mislab/mapper/FreshmanMapper.java b/src/main/java/com/xinguan/mislab/mapper/FreshmanMapper.java index 82e2609..5dbdd7c 100644 --- a/src/main/java/com/xinguan/mislab/mapper/FreshmanMapper.java +++ b/src/main/java/com/xinguan/mislab/mapper/FreshmanMapper.java @@ -1,8 +1,12 @@ package com.xinguan.mislab.mapper; +import com.github.pagehelper.Page; +import com.xinguan.mislab.DTO.FreshmanPageQueryDTO; +import com.xinguan.mislab.VO.FreshmanVO; import com.xinguan.mislab.entity.Freshman; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; /** * @author gyklc @@ -13,6 +17,10 @@ import org.apache.ibatis.annotations.Mapper; @Mapper public interface FreshmanMapper extends BaseMapper { + Page pageQuery(FreshmanPageQueryDTO freshmanPageQueryDTO); + + + void updateMsg(Freshman freshman); } diff --git a/src/main/java/com/xinguan/mislab/mapper/GraduateMapper.java b/src/main/java/com/xinguan/mislab/mapper/GraduateMapper.java index 93a1444..d8f2349 100644 --- a/src/main/java/com/xinguan/mislab/mapper/GraduateMapper.java +++ b/src/main/java/com/xinguan/mislab/mapper/GraduateMapper.java @@ -1,5 +1,7 @@ package com.xinguan.mislab.mapper; +import com.github.pagehelper.Page; +import com.xinguan.mislab.DTO.GraduatePageQuery; import com.xinguan.mislab.entity.Graduate; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Mapper; @@ -13,6 +15,7 @@ import org.apache.ibatis.annotations.Mapper; @Mapper public interface GraduateMapper extends BaseMapper { + Page pageQuery(GraduatePageQuery graduatePageQuery); } diff --git a/src/main/java/com/xinguan/mislab/mapper/UserMapper.java b/src/main/java/com/xinguan/mislab/mapper/UserMapper.java index 9aa721d..b0bde12 100644 --- a/src/main/java/com/xinguan/mislab/mapper/UserMapper.java +++ b/src/main/java/com/xinguan/mislab/mapper/UserMapper.java @@ -1,5 +1,6 @@ package com.xinguan.mislab.mapper; +import com.github.pagehelper.Page; import com.xinguan.mislab.entity.User; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Mapper; @@ -21,6 +22,9 @@ public interface UserMapper extends BaseMapper { void saveNewAccount(User user); + + @Select("select * from mislab.freshman") + Page pageQuery(int page, int pageSize); } diff --git a/src/main/java/com/xinguan/mislab/service/FreshmanService.java b/src/main/java/com/xinguan/mislab/service/FreshmanService.java index d71928f..7fd219a 100644 --- a/src/main/java/com/xinguan/mislab/service/FreshmanService.java +++ b/src/main/java/com/xinguan/mislab/service/FreshmanService.java @@ -1,7 +1,10 @@ package com.xinguan.mislab.service; +import com.xinguan.mislab.DTO.FreshmanDTO; +import com.xinguan.mislab.DTO.FreshmanPageQueryDTO; import com.xinguan.mislab.entity.Freshman; import com.baomidou.mybatisplus.extension.service.IService; +import com.xinguan.mislab.result.PageResult; /** * @author gyklc @@ -10,4 +13,28 @@ import com.baomidou.mybatisplus.extension.service.IService; */ public interface FreshmanService extends IService { + /** + * 新生分页查询 + * @param freshmanPageQueryDTO + * @return + */ + PageResult pageQuery(FreshmanPageQueryDTO freshmanPageQueryDTO); + + /** + * 添加新生 + * @param freshmanDTO + */ + void saveNewMenber(FreshmanDTO freshmanDTO); + + /** + * 删除 + * @param id + */ + void deleteById(Long id); + + /** + * 更改新生相关信息 + * @param freshman + */ + void updateMsg(Freshman freshman); } diff --git a/src/main/java/com/xinguan/mislab/service/GraduateService.java b/src/main/java/com/xinguan/mislab/service/GraduateService.java index d308261..019010d 100644 --- a/src/main/java/com/xinguan/mislab/service/GraduateService.java +++ b/src/main/java/com/xinguan/mislab/service/GraduateService.java @@ -1,7 +1,10 @@ package com.xinguan.mislab.service; +import com.xinguan.mislab.DTO.GraduateDTO; +import com.xinguan.mislab.DTO.GraduatePageQuery; import com.xinguan.mislab.entity.Graduate; import com.baomidou.mybatisplus.extension.service.IService; +import com.xinguan.mislab.result.PageResult; /** * @author gyklc @@ -10,4 +13,16 @@ import com.baomidou.mybatisplus.extension.service.IService; */ public interface GraduateService extends IService { + /** + * 存储毕业的优秀学长学姐 + * @param graduateDTO + */ + void saveGraduate(GraduateDTO graduateDTO); + + /** + * 分页查询 + * @param graduatePageQuery + * @return + */ + PageResult pageQuery(GraduatePageQuery graduatePageQuery); } diff --git a/src/main/java/com/xinguan/mislab/service/UserService.java b/src/main/java/com/xinguan/mislab/service/UserService.java index a63fa17..bc008e8 100644 --- a/src/main/java/com/xinguan/mislab/service/UserService.java +++ b/src/main/java/com/xinguan/mislab/service/UserService.java @@ -4,6 +4,7 @@ import com.xinguan.mislab.DTO.UserDTO; import com.xinguan.mislab.DTO.UserLoginDTO; import com.xinguan.mislab.entity.User; import com.baomidou.mybatisplus.extension.service.IService; +import com.xinguan.mislab.result.PageResult; /** * @author gyklc @@ -26,4 +27,18 @@ public interface UserService extends IService { * @param userDTO */ void updateUserMes(UserDTO userDTO); + + /** + * 注册账号 + * @param userLoginDTO + */ + void sign(UserLoginDTO userLoginDTO); + + /** + * 分页查询 + * @param page + * @param pageSize + * @return + */ + PageResult pageQuery(int page, int pageSize); } diff --git a/src/main/java/com/xinguan/mislab/service/impl/FreshmanServiceImpl.java b/src/main/java/com/xinguan/mislab/service/impl/FreshmanServiceImpl.java index d3deb74..2c4f67a 100644 --- a/src/main/java/com/xinguan/mislab/service/impl/FreshmanServiceImpl.java +++ b/src/main/java/com/xinguan/mislab/service/impl/FreshmanServiceImpl.java @@ -1,10 +1,25 @@ package com.xinguan.mislab.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.github.pagehelper.Page; +import com.github.pagehelper.PageHelper; +import com.xinguan.mislab.DTO.FreshmanDTO; +import com.xinguan.mislab.DTO.FreshmanPageQueryDTO; +import com.xinguan.mislab.VO.FreshmanVO; import com.xinguan.mislab.entity.Freshman; +import com.xinguan.mislab.result.PageResult; +import com.xinguan.mislab.result.Result; import com.xinguan.mislab.service.FreshmanService; import com.xinguan.mislab.mapper.FreshmanMapper; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.web.bind.annotation.RequestBody; + +import java.lang.invoke.VarHandle; +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.List; /** * @author gyklc @@ -12,9 +27,40 @@ import org.springframework.stereotype.Service; * @createDate 2024-11-18 20:01:54 */ @Service -public class FreshmanServiceImpl extends ServiceImpl +public class FreshmanServiceImpl extends ServiceImpl implements FreshmanService{ + @Autowired + private FreshmanMapper freshmanMapper; + + @Override + public PageResult pageQuery(@RequestBody FreshmanPageQueryDTO freshmanPageQueryDTO) { + Integer page = freshmanPageQueryDTO.getPage(); + Integer pageSize = freshmanPageQueryDTO.getPageSize(); + PageHelper.startPage(page, pageSize); + Page page1 = freshmanMapper.pageQuery(freshmanPageQueryDTO); + return new PageResult(page1.getTotal(), page1.getResult()); + } + + @Override + public void saveNewMenber(FreshmanDTO freshmanDTO) { + Freshman freshman = new Freshman(); + BeanUtils.copyProperties(freshmanDTO, freshman); + freshman.setCreateTime(LocalDateTime.now()); + save(freshman); + } + + @Override + public void deleteById(Long id) { + removeById(id); + } + + @Override + public void updateMsg(Freshman freshman) { + freshmanMapper.updateMsg(freshman); + } + + } diff --git a/src/main/java/com/xinguan/mislab/service/impl/GraduateServiceImpl.java b/src/main/java/com/xinguan/mislab/service/impl/GraduateServiceImpl.java index 4115b36..54bb448 100644 --- a/src/main/java/com/xinguan/mislab/service/impl/GraduateServiceImpl.java +++ b/src/main/java/com/xinguan/mislab/service/impl/GraduateServiceImpl.java @@ -1,11 +1,20 @@ package com.xinguan.mislab.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.github.pagehelper.Page; +import com.github.pagehelper.PageHelper; +import com.xinguan.mislab.DTO.GraduateDTO; +import com.xinguan.mislab.DTO.GraduatePageQuery; import com.xinguan.mislab.entity.Graduate; +import com.xinguan.mislab.result.PageResult; import com.xinguan.mislab.service.GraduateService; import com.xinguan.mislab.mapper.GraduateMapper; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.time.LocalDateTime; + /** * @author gyklc * @description 针对表【graduate(毕业人员)】的数据库操作Service实现 @@ -15,6 +24,25 @@ import org.springframework.stereotype.Service; public class GraduateServiceImpl extends ServiceImpl implements GraduateService{ + @Autowired + private GraduateMapper graduateMapper; + + @Override + public void saveGraduate(GraduateDTO graduateDTO) { + Graduate graduate = new Graduate(); + BeanUtils.copyProperties(graduateDTO,graduate); + graduate.setCreateTime(LocalDateTime.now()); + save(graduate); + } + + @Override + public PageResult pageQuery(GraduatePageQuery graduatePageQuery) { + PageHelper.startPage(graduatePageQuery.getPage(), graduatePageQuery.getPageSize()); + Page page = graduateMapper.pageQuery(graduatePageQuery); + return new PageResult(page.getTotal(), page.getResult()); + + } + } diff --git a/src/main/java/com/xinguan/mislab/service/impl/UserServiceImpl.java b/src/main/java/com/xinguan/mislab/service/impl/UserServiceImpl.java index 19a0b33..60424c2 100644 --- a/src/main/java/com/xinguan/mislab/service/impl/UserServiceImpl.java +++ b/src/main/java/com/xinguan/mislab/service/impl/UserServiceImpl.java @@ -1,26 +1,24 @@ package com.xinguan.mislab.service.impl; -import com.alibaba.druid.sql.visitor.functions.Lcase; + import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.github.pagehelper.Page; +import com.github.pagehelper.PageHelper; import com.xinguan.mislab.DTO.UserDTO; import com.xinguan.mislab.DTO.UserLoginDTO; -import com.xinguan.mislab.constant.MessageConstant; -import com.xinguan.mislab.context.BaseContext; + import com.xinguan.mislab.entity.User; import com.xinguan.mislab.exception.AccountNotFoundException; import com.xinguan.mislab.exception.PasswordErrorException; -import com.xinguan.mislab.result.Result; +import com.xinguan.mislab.exception.PwdOrUsernameIsNullException; +import com.xinguan.mislab.result.PageResult; import com.xinguan.mislab.service.UserService; import com.xinguan.mislab.mapper.UserMapper; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.annotation.Order; import org.springframework.stereotype.Service; import org.springframework.util.DigestUtils; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; - -import java.time.LocalDateTime; -import java.util.Date; import java.util.UUID; /** @@ -58,6 +56,36 @@ public class UserServiceImpl extends ServiceImpl userMapper.updateUserMes(user); } + @Override + public void sign(UserLoginDTO userLoginDTO) { + String password = userLoginDTO.getPassword(); + if (password == null){ + throw new PwdOrUsernameIsNullException("密码为空"); + } + password = DigestUtils.md5DigestAsHex(password.getBytes()); + if (userLoginDTO.getUsername() == null){ + throw new PwdOrUsernameIsNullException("用户名为空"); + } + UUID uuid = UUID.randomUUID(); + String name = String.valueOf(uuid); + User user = User.builder() + .name(name) + .username(userLoginDTO.getUsername()) + .password(password) + .status(1) + .build(); + save(user); + + + } + + @Override + public PageResult pageQuery(int page, int pageSize) { + PageHelper.startPage(page,pageSize); + Page page1 = userMapper.pageQuery(page, pageSize); + return new PageResult(page1.getTotal(), page1.getResult()); + } + } diff --git a/src/main/java/com/xinguan/mislab/utils/JwtUtil.java b/src/main/java/com/xinguan/mislab/utils/JwtUtil.java index 57cc529..ee0984d 100644 --- a/src/main/java/com/xinguan/mislab/utils/JwtUtil.java +++ b/src/main/java/com/xinguan/mislab/utils/JwtUtil.java @@ -42,7 +42,7 @@ public class JwtUtil { */ public static Claims parseJWT( String token) { Claims claims = Jwts.parser() - .setSigningKey("mislab") + .setSigningKey("mislabmislabmislabmislabmislabmislabmislabmis") .parseClaimsJws(token).getBody(); return claims; } diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 41147cf..4596954 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -12,4 +12,7 @@ spring: mislab: jwt: user-ttl: 720000000 - user-token-name: token \ No newline at end of file + user-token-name: token +mybatis: + plugins: + - com.github.pagehelper.PageHelper diff --git a/src/main/resources/mapper/FreshmanMapper.xml b/src/main/resources/mapper/FreshmanMapper.xml index 99fae62..285e471 100644 --- a/src/main/resources/mapper/FreshmanMapper.xml +++ b/src/main/resources/mapper/FreshmanMapper.xml @@ -7,16 +7,56 @@ + + - id,name,sex, + id,name,age,sex, phone,grade,department_id, - create_time + create_time,major + + update mislab.freshman + set name = #{name}, + age = #{age}, + sex = #{sex}, + phone = #{phone}, + grade = #{grade}, + department_id = #{departmentId}, + major = #{major} + where id = #{id} + + + + + diff --git a/src/main/resources/mapper/GraduateMapper.xml b/src/main/resources/mapper/GraduateMapper.xml index ee75049..36c0d46 100644 --- a/src/main/resources/mapper/GraduateMapper.xml +++ b/src/main/resources/mapper/GraduateMapper.xml @@ -20,4 +20,12 @@ phone,grade,photo, company,create_time + -- Gitee From 4e7cd1c628dd716bc5c8dfbbf5ab148affd5306f Mon Sep 17 00:00:00 2001 From: redoom Date: Sun, 1 Dec 2024 15:19:43 +0800 Subject: [PATCH 06/17] . --- .../com/xinguan/mislab/controller/FreshmanController.java | 3 ++- .../com/xinguan/mislab/controller/GraduateController.java | 7 +++++++ .../java/com/xinguan/mislab/service/GraduateService.java | 6 ++++++ .../xinguan/mislab/service/impl/GraduateServiceImpl.java | 5 +++++ 4 files changed, 20 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/xinguan/mislab/controller/FreshmanController.java b/src/main/java/com/xinguan/mislab/controller/FreshmanController.java index 193af3f..618fd6d 100644 --- a/src/main/java/com/xinguan/mislab/controller/FreshmanController.java +++ b/src/main/java/com/xinguan/mislab/controller/FreshmanController.java @@ -19,7 +19,7 @@ public class FreshmanController { @Autowired private FreshmanService freshmanService; - @GetMapping("/list") + @PostMapping("/list") public Result list(FreshmanPageQueryDTO freshmanPageQueryDTO){ PageResult pageResult = freshmanService.pageQuery(freshmanPageQueryDTO); return Result.success(pageResult); @@ -36,6 +36,7 @@ public class FreshmanController { public Result delete(@PathVariable Long id){ log.info("正在删除:{}",id); freshmanService.deleteById(id); + return Result.success(); } diff --git a/src/main/java/com/xinguan/mislab/controller/GraduateController.java b/src/main/java/com/xinguan/mislab/controller/GraduateController.java index 4056b38..feddd2f 100644 --- a/src/main/java/com/xinguan/mislab/controller/GraduateController.java +++ b/src/main/java/com/xinguan/mislab/controller/GraduateController.java @@ -43,4 +43,11 @@ public class GraduateController { Graduate graduate = graduateService.getById(id); return Result.success(graduate); } + + @PutMapping + public Result update(@RequestBody Graduate graduate){ + log.info("正在更改:{}", graduate.getId()); + graduateService.updateMsg(graduate); + return Result.success(); + } } diff --git a/src/main/java/com/xinguan/mislab/service/GraduateService.java b/src/main/java/com/xinguan/mislab/service/GraduateService.java index 019010d..eadee59 100644 --- a/src/main/java/com/xinguan/mislab/service/GraduateService.java +++ b/src/main/java/com/xinguan/mislab/service/GraduateService.java @@ -25,4 +25,10 @@ public interface GraduateService extends IService { * @return */ PageResult pageQuery(GraduatePageQuery graduatePageQuery); + + /** + * 更改毕业生信息 + * @param graduate + */ + void updateMsg(Graduate graduate); } diff --git a/src/main/java/com/xinguan/mislab/service/impl/GraduateServiceImpl.java b/src/main/java/com/xinguan/mislab/service/impl/GraduateServiceImpl.java index 54bb448..056d6ba 100644 --- a/src/main/java/com/xinguan/mislab/service/impl/GraduateServiceImpl.java +++ b/src/main/java/com/xinguan/mislab/service/impl/GraduateServiceImpl.java @@ -43,6 +43,11 @@ public class GraduateServiceImpl extends ServiceImpl } + @Override + public void updateMsg(Graduate graduate) { + + } + } -- Gitee From 0fc238e480f97d3efaec0ce920fb29e67a8ed25c Mon Sep 17 00:00:00 2001 From: redoom Date: Mon, 2 Dec 2024 22:39:56 +0800 Subject: [PATCH 07/17] =?UTF-8?q?=E5=9F=BA=E6=9C=AC=E5=AE=8C=E6=88=90=20?= =?UTF-8?q?=E7=BC=BA=E7=82=B9=EF=BC=9A=E6=95=B0=E6=8D=AE=E6=9C=AA=E6=A0=A1?= =?UTF-8?q?=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 3 +- .../com/xinguan/mislab/MisLabApplication.java | 1 + .../common/config/MybatisPlusConfig.java | 30 +++++++++ .../common/config/SimpleCORSFilter.java | 51 +++++++++++++++ .../config/WebMvcConfiguration.java | 4 +- .../constant/JwtClaimsConstant.java | 2 +- .../constant/MessageConstant.java | 2 +- .../exception/AccountNotFoundException.java | 2 +- .../{ => common}/exception/BaseException.java | 2 +- .../mislab/common/exception/FilePutError.java | 7 +++ .../exception/LoginFailedException.java | 2 +- .../PasswordEditFailedException.java | 2 +- .../exception/PasswordErrorException.java | 2 +- .../PwdOrUsernameIsNullException.java | 2 +- .../exception/UserNotLoginException.java | 2 +- .../interceptor/JwtTokenUserInterceptor.java | 7 +-- .../{ => common}/result/PageResult.java | 2 +- .../mislab/{ => common}/result/Result.java | 2 +- .../mislab/{ => common}/utils/JwtUtil.java | 5 +- .../xinguan/mislab/config/MyBatisConfig.java | 21 ------- .../mislab/controller/CommonController.java | 62 +++++++++++++++++++ .../controller/DepartmentController.java | 45 ++++++++++++++ .../mislab/controller/FreshmanController.java | 11 ++-- .../mislab/controller/GraduateController.java | 19 +++--- .../mislab/controller/ItemController.java | 42 +++++++++++++ .../mislab/controller/UserController.java | 16 ++--- .../mislab/mapper/DepartmentMapper.java | 6 +- .../xinguan/mislab/mapper/FreshmanMapper.java | 15 +++-- .../xinguan/mislab/mapper/GraduateMapper.java | 6 +- .../com/xinguan/mislab/mapper/ItemMapper.java | 4 +- .../com/xinguan/mislab/mapper/UserMapper.java | 6 +- .../mislab/pojo/DTO/DepartmentDTO.java | 12 ++++ .../mislab/{ => pojo}/DTO/FreshmanDTO.java | 8 ++- .../{ => pojo}/DTO/FreshmanPageQueryDTO.java | 5 +- .../mislab/{ => pojo}/DTO/GraduateDTO.java | 6 +- .../{ => pojo}/DTO/GraduatePageQuery.java | 5 +- .../com/xinguan/mislab/pojo/DTO/ItemDTO.java | 16 +++++ .../mislab/{ => pojo}/DTO/UserDTO.java | 2 +- .../mislab/{ => pojo}/DTO/UserLoginDTO.java | 2 +- .../mislab/{ => pojo}/VO/FreshmanVO.java | 8 ++- .../mislab/{ => pojo}/VO/UserLoginVO.java | 2 +- .../mislab/{ => pojo}/entity/Department.java | 10 +-- .../mislab/{ => pojo}/entity/Freshman.java | 15 ++--- .../mislab/{ => pojo}/entity/Graduate.java | 9 +-- .../mislab/{ => pojo}/entity/Item.java | 8 +-- .../mislab/{ => pojo}/entity/User.java | 5 +- .../mislab/service/DepartmentService.java | 9 ++- .../mislab/service/FreshmanService.java | 8 +-- .../mislab/service/GraduateService.java | 8 +-- .../xinguan/mislab/service/ItemService.java | 7 ++- .../xinguan/mislab/service/UserService.java | 8 +-- .../service/impl/DepartmentServiceImpl.java | 36 ++++++++++- .../service/impl/FreshmanServiceImpl.java | 36 ++++++----- .../service/impl/GraduateServiceImpl.java | 49 ++++++++++++--- .../mislab/service/impl/ItemServiceImpl.java | 25 +++++++- .../mislab/service/impl/UserServiceImpl.java | 17 +++-- src/main/resources/application.yml | 7 ++- .../resources/mapper/DepartmentMapper.xml | 19 +++--- src/main/resources/mapper/FreshmanMapper.xml | 49 ++++++++------- src/main/resources/mapper/GraduateMapper.xml | 8 +-- src/main/resources/mapper/ItemMapper.xml | 5 +- src/main/resources/mapper/UserMapper.xml | 6 +- 62 files changed, 579 insertions(+), 214 deletions(-) create mode 100644 src/main/java/com/xinguan/mislab/common/config/MybatisPlusConfig.java create mode 100644 src/main/java/com/xinguan/mislab/common/config/SimpleCORSFilter.java rename src/main/java/com/xinguan/mislab/{ => common}/config/WebMvcConfiguration.java (87%) rename src/main/java/com/xinguan/mislab/{ => common}/constant/JwtClaimsConstant.java (67%) rename src/main/java/com/xinguan/mislab/{ => common}/constant/MessageConstant.java (73%) rename src/main/java/com/xinguan/mislab/{ => common}/exception/AccountNotFoundException.java (75%) rename src/main/java/com/xinguan/mislab/{ => common}/exception/BaseException.java (80%) create mode 100644 src/main/java/com/xinguan/mislab/common/exception/FilePutError.java rename src/main/java/com/xinguan/mislab/{ => common}/exception/LoginFailedException.java (77%) rename src/main/java/com/xinguan/mislab/{ => common}/exception/PasswordEditFailedException.java (80%) rename src/main/java/com/xinguan/mislab/{ => common}/exception/PasswordErrorException.java (82%) rename src/main/java/com/xinguan/mislab/{ => common}/exception/PwdOrUsernameIsNullException.java (83%) rename src/main/java/com/xinguan/mislab/{ => common}/exception/UserNotLoginException.java (80%) rename src/main/java/com/xinguan/mislab/{ => common}/interceptor/JwtTokenUserInterceptor.java (86%) rename src/main/java/com/xinguan/mislab/{ => common}/result/PageResult.java (88%) rename src/main/java/com/xinguan/mislab/{ => common}/result/Result.java (94%) rename src/main/java/com/xinguan/mislab/{ => common}/utils/JwtUtil.java (89%) delete mode 100644 src/main/java/com/xinguan/mislab/config/MyBatisConfig.java create mode 100644 src/main/java/com/xinguan/mislab/controller/CommonController.java create mode 100644 src/main/java/com/xinguan/mislab/controller/DepartmentController.java create mode 100644 src/main/java/com/xinguan/mislab/controller/ItemController.java create mode 100644 src/main/java/com/xinguan/mislab/pojo/DTO/DepartmentDTO.java rename src/main/java/com/xinguan/mislab/{ => pojo}/DTO/FreshmanDTO.java (69%) rename src/main/java/com/xinguan/mislab/{ => pojo}/DTO/FreshmanPageQueryDTO.java (73%) rename src/main/java/com/xinguan/mislab/{ => pojo}/DTO/GraduateDTO.java (78%) rename src/main/java/com/xinguan/mislab/{ => pojo}/DTO/GraduatePageQuery.java (66%) create mode 100644 src/main/java/com/xinguan/mislab/pojo/DTO/ItemDTO.java rename src/main/java/com/xinguan/mislab/{ => pojo}/DTO/UserDTO.java (87%) rename src/main/java/com/xinguan/mislab/{ => pojo}/DTO/UserLoginDTO.java (82%) rename src/main/java/com/xinguan/mislab/{ => pojo}/VO/FreshmanVO.java (82%) rename src/main/java/com/xinguan/mislab/{ => pojo}/VO/UserLoginVO.java (90%) rename src/main/java/com/xinguan/mislab/{ => pojo}/entity/Department.java (64%) rename src/main/java/com/xinguan/mislab/{ => pojo}/entity/Freshman.java (64%) rename src/main/java/com/xinguan/mislab/{ => pojo}/entity/Graduate.java (65%) rename src/main/java/com/xinguan/mislab/{ => pojo}/entity/Item.java (65%) rename src/main/java/com/xinguan/mislab/{ => pojo}/entity/User.java (73%) diff --git a/pom.xml b/pom.xml index 8b68422..ef654a2 100644 --- a/pom.xml +++ b/pom.xml @@ -38,8 +38,9 @@ com.baomidou mybatis-plus-boot-starter - ${mybatis-plus.version} + 3.5.1 + com.alibaba druid-spring-boot-starter diff --git a/src/main/java/com/xinguan/mislab/MisLabApplication.java b/src/main/java/com/xinguan/mislab/MisLabApplication.java index 96b8fc8..2e4f9da 100644 --- a/src/main/java/com/xinguan/mislab/MisLabApplication.java +++ b/src/main/java/com/xinguan/mislab/MisLabApplication.java @@ -12,6 +12,7 @@ public class MisLabApplication { public static void main(String[] args) { SpringApplication.run(MisLabApplication.class, args); + } } \ No newline at end of file diff --git a/src/main/java/com/xinguan/mislab/common/config/MybatisPlusConfig.java b/src/main/java/com/xinguan/mislab/common/config/MybatisPlusConfig.java new file mode 100644 index 0000000..6d782ca --- /dev/null +++ b/src/main/java/com/xinguan/mislab/common/config/MybatisPlusConfig.java @@ -0,0 +1,30 @@ +package com.xinguan.mislab.common.config; + +import com.baomidou.mybatisplus.annotation.DbType; +import com.baomidou.mybatisplus.autoconfigure.ConfigurationCustomizer; +import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; +import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class MybatisPlusConfig { + + /** + * 配置分页插件,避免使用过时的执行器。 + */ + @Bean + public MybatisPlusInterceptor mybatisPlusInterceptor() { + MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); + + // 创建分页插件并设置数据库类型(MySQL) + PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor(); + paginationInnerInterceptor.setDbType(DbType.MYSQL); + paginationInnerInterceptor.setOverflow(true); // 超过最大页码后是否跳到第一页 + + // 添加分页插件到拦截器中 + interceptor.addInnerInterceptor(paginationInnerInterceptor); + return interceptor; + } +} + diff --git a/src/main/java/com/xinguan/mislab/common/config/SimpleCORSFilter.java b/src/main/java/com/xinguan/mislab/common/config/SimpleCORSFilter.java new file mode 100644 index 0000000..2668036 --- /dev/null +++ b/src/main/java/com/xinguan/mislab/common/config/SimpleCORSFilter.java @@ -0,0 +1,51 @@ +package com.xinguan.mislab.common.config; + +import org.springframework.stereotype.Component; + +import javax.servlet.Filter; +import javax.servlet.FilterChain; +import javax.servlet.FilterConfig; +import javax.servlet.ServletException; +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; + +/** + * @author :冯一晨 + * @date : 2024/12/2 18:27 + * @Description: + */ + +@Component +public class SimpleCORSFilter implements Filter { + + @Override + public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { + HttpServletResponse response = (HttpServletResponse) res; + HttpServletRequest request = (HttpServletRequest) req; + + response.setHeader("Access-Control-Allow-Origin", "*"); + response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE, PUT"); + response.setHeader("Access-Control-Max-Age", "3600"); + response.setHeader("Access-Control-Allow-Headers", "Content-Type, Authorization, Content-Length, X-Requested-With"); + response.setHeader("Access-Control-Allow-Credentials", "true"); + response.setHeader("Access-Control-Expose-Headers", "Content-Disposition"); + + if ("OPTIONS".equalsIgnoreCase(request.getMethod())) { + response.setStatus(HttpServletResponse.SC_OK); + } else { + chain.doFilter(req, res); + } + } + + @Override + public void init(FilterConfig filterConfig) { + } + + @Override + public void destroy() { + } +} + diff --git a/src/main/java/com/xinguan/mislab/config/WebMvcConfiguration.java b/src/main/java/com/xinguan/mislab/common/config/WebMvcConfiguration.java similarity index 87% rename from src/main/java/com/xinguan/mislab/config/WebMvcConfiguration.java rename to src/main/java/com/xinguan/mislab/common/config/WebMvcConfiguration.java index 00d367f..610b7ea 100644 --- a/src/main/java/com/xinguan/mislab/config/WebMvcConfiguration.java +++ b/src/main/java/com/xinguan/mislab/common/config/WebMvcConfiguration.java @@ -1,6 +1,6 @@ -package com.xinguan.mislab.config; +package com.xinguan.mislab.common.config; -import com.xinguan.mislab.interceptor.JwtTokenUserInterceptor; +import com.xinguan.mislab.common.interceptor.JwtTokenUserInterceptor; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Configuration; diff --git a/src/main/java/com/xinguan/mislab/constant/JwtClaimsConstant.java b/src/main/java/com/xinguan/mislab/common/constant/JwtClaimsConstant.java similarity index 67% rename from src/main/java/com/xinguan/mislab/constant/JwtClaimsConstant.java rename to src/main/java/com/xinguan/mislab/common/constant/JwtClaimsConstant.java index 088ae6d..418d63e 100644 --- a/src/main/java/com/xinguan/mislab/constant/JwtClaimsConstant.java +++ b/src/main/java/com/xinguan/mislab/common/constant/JwtClaimsConstant.java @@ -1,4 +1,4 @@ -package com.xinguan.mislab.constant; +package com.xinguan.mislab.common.constant; public class JwtClaimsConstant { diff --git a/src/main/java/com/xinguan/mislab/constant/MessageConstant.java b/src/main/java/com/xinguan/mislab/common/constant/MessageConstant.java similarity index 73% rename from src/main/java/com/xinguan/mislab/constant/MessageConstant.java rename to src/main/java/com/xinguan/mislab/common/constant/MessageConstant.java index b457075..9696ca8 100644 --- a/src/main/java/com/xinguan/mislab/constant/MessageConstant.java +++ b/src/main/java/com/xinguan/mislab/common/constant/MessageConstant.java @@ -1,4 +1,4 @@ -package com.xinguan.mislab.constant; +package com.xinguan.mislab.common.constant; /** * 密码常量 diff --git a/src/main/java/com/xinguan/mislab/exception/AccountNotFoundException.java b/src/main/java/com/xinguan/mislab/common/exception/AccountNotFoundException.java similarity index 75% rename from src/main/java/com/xinguan/mislab/exception/AccountNotFoundException.java rename to src/main/java/com/xinguan/mislab/common/exception/AccountNotFoundException.java index 774d157..36b06e2 100644 --- a/src/main/java/com/xinguan/mislab/exception/AccountNotFoundException.java +++ b/src/main/java/com/xinguan/mislab/common/exception/AccountNotFoundException.java @@ -1,4 +1,4 @@ -package com.xinguan.mislab.exception; +package com.xinguan.mislab.common.exception; public class AccountNotFoundException extends BaseException{ public AccountNotFoundException(String mes){ diff --git a/src/main/java/com/xinguan/mislab/exception/BaseException.java b/src/main/java/com/xinguan/mislab/common/exception/BaseException.java similarity index 80% rename from src/main/java/com/xinguan/mislab/exception/BaseException.java rename to src/main/java/com/xinguan/mislab/common/exception/BaseException.java index 6bccf93..57dbf80 100644 --- a/src/main/java/com/xinguan/mislab/exception/BaseException.java +++ b/src/main/java/com/xinguan/mislab/common/exception/BaseException.java @@ -1,4 +1,4 @@ -package com.xinguan.mislab.exception; +package com.xinguan.mislab.common.exception; /** * 业务异常 diff --git a/src/main/java/com/xinguan/mislab/common/exception/FilePutError.java b/src/main/java/com/xinguan/mislab/common/exception/FilePutError.java new file mode 100644 index 0000000..3b390a2 --- /dev/null +++ b/src/main/java/com/xinguan/mislab/common/exception/FilePutError.java @@ -0,0 +1,7 @@ +package com.xinguan.mislab.common.exception; + +public class FilePutError extends BaseException { + public FilePutError(String message) { + super(message); + } +} diff --git a/src/main/java/com/xinguan/mislab/exception/LoginFailedException.java b/src/main/java/com/xinguan/mislab/common/exception/LoginFailedException.java similarity index 77% rename from src/main/java/com/xinguan/mislab/exception/LoginFailedException.java rename to src/main/java/com/xinguan/mislab/common/exception/LoginFailedException.java index 2e6b9d0..34f16f3 100644 --- a/src/main/java/com/xinguan/mislab/exception/LoginFailedException.java +++ b/src/main/java/com/xinguan/mislab/common/exception/LoginFailedException.java @@ -1,4 +1,4 @@ -package com.xinguan.mislab.exception; +package com.xinguan.mislab.common.exception; /** * 登录失败 diff --git a/src/main/java/com/xinguan/mislab/exception/PasswordEditFailedException.java b/src/main/java/com/xinguan/mislab/common/exception/PasswordEditFailedException.java similarity index 80% rename from src/main/java/com/xinguan/mislab/exception/PasswordEditFailedException.java rename to src/main/java/com/xinguan/mislab/common/exception/PasswordEditFailedException.java index 8de72f0..da7ff85 100644 --- a/src/main/java/com/xinguan/mislab/exception/PasswordEditFailedException.java +++ b/src/main/java/com/xinguan/mislab/common/exception/PasswordEditFailedException.java @@ -1,4 +1,4 @@ -package com.xinguan.mislab.exception; +package com.xinguan.mislab.common.exception; /** * 密码修改失败异常 diff --git a/src/main/java/com/xinguan/mislab/exception/PasswordErrorException.java b/src/main/java/com/xinguan/mislab/common/exception/PasswordErrorException.java similarity index 82% rename from src/main/java/com/xinguan/mislab/exception/PasswordErrorException.java rename to src/main/java/com/xinguan/mislab/common/exception/PasswordErrorException.java index 00026ef..bb226ee 100644 --- a/src/main/java/com/xinguan/mislab/exception/PasswordErrorException.java +++ b/src/main/java/com/xinguan/mislab/common/exception/PasswordErrorException.java @@ -1,4 +1,4 @@ -package com.xinguan.mislab.exception; +package com.xinguan.mislab.common.exception; /** * 密码错误异常 diff --git a/src/main/java/com/xinguan/mislab/exception/PwdOrUsernameIsNullException.java b/src/main/java/com/xinguan/mislab/common/exception/PwdOrUsernameIsNullException.java similarity index 83% rename from src/main/java/com/xinguan/mislab/exception/PwdOrUsernameIsNullException.java rename to src/main/java/com/xinguan/mislab/common/exception/PwdOrUsernameIsNullException.java index d48de04..b559d35 100644 --- a/src/main/java/com/xinguan/mislab/exception/PwdOrUsernameIsNullException.java +++ b/src/main/java/com/xinguan/mislab/common/exception/PwdOrUsernameIsNullException.java @@ -1,4 +1,4 @@ -package com.xinguan.mislab.exception; +package com.xinguan.mislab.common.exception; /** * 账号或密码为空 diff --git a/src/main/java/com/xinguan/mislab/exception/UserNotLoginException.java b/src/main/java/com/xinguan/mislab/common/exception/UserNotLoginException.java similarity index 80% rename from src/main/java/com/xinguan/mislab/exception/UserNotLoginException.java rename to src/main/java/com/xinguan/mislab/common/exception/UserNotLoginException.java index 447976d..0e30675 100644 --- a/src/main/java/com/xinguan/mislab/exception/UserNotLoginException.java +++ b/src/main/java/com/xinguan/mislab/common/exception/UserNotLoginException.java @@ -1,4 +1,4 @@ -package com.xinguan.mislab.exception; +package com.xinguan.mislab.common.exception; public class UserNotLoginException extends BaseException { diff --git a/src/main/java/com/xinguan/mislab/interceptor/JwtTokenUserInterceptor.java b/src/main/java/com/xinguan/mislab/common/interceptor/JwtTokenUserInterceptor.java similarity index 86% rename from src/main/java/com/xinguan/mislab/interceptor/JwtTokenUserInterceptor.java rename to src/main/java/com/xinguan/mislab/common/interceptor/JwtTokenUserInterceptor.java index 8de7e2c..20b215d 100644 --- a/src/main/java/com/xinguan/mislab/interceptor/JwtTokenUserInterceptor.java +++ b/src/main/java/com/xinguan/mislab/common/interceptor/JwtTokenUserInterceptor.java @@ -1,15 +1,14 @@ -package com.xinguan.mislab.interceptor; +package com.xinguan.mislab.common.interceptor; -import com.xinguan.mislab.constant.JwtClaimsConstant; +import com.xinguan.mislab.common.constant.JwtClaimsConstant; import com.xinguan.mislab.context.BaseContext; import com.xinguan.mislab.properties.JwtProperties; -import com.xinguan.mislab.utils.JwtUtil; +import com.xinguan.mislab.common.utils.JwtUtil; import io.jsonwebtoken.Claims; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; -import org.springframework.web.method.HandlerMethod; import org.springframework.web.servlet.HandlerInterceptor; import javax.servlet.http.HttpServletRequest; diff --git a/src/main/java/com/xinguan/mislab/result/PageResult.java b/src/main/java/com/xinguan/mislab/common/result/PageResult.java similarity index 88% rename from src/main/java/com/xinguan/mislab/result/PageResult.java rename to src/main/java/com/xinguan/mislab/common/result/PageResult.java index e29c21f..5b6ae17 100644 --- a/src/main/java/com/xinguan/mislab/result/PageResult.java +++ b/src/main/java/com/xinguan/mislab/common/result/PageResult.java @@ -1,4 +1,4 @@ -package com.xinguan.mislab.result; +package com.xinguan.mislab.common.result; import lombok.AllArgsConstructor; import lombok.Data; diff --git a/src/main/java/com/xinguan/mislab/result/Result.java b/src/main/java/com/xinguan/mislab/common/result/Result.java similarity index 94% rename from src/main/java/com/xinguan/mislab/result/Result.java rename to src/main/java/com/xinguan/mislab/common/result/Result.java index ebaefb9..ea8bab1 100644 --- a/src/main/java/com/xinguan/mislab/result/Result.java +++ b/src/main/java/com/xinguan/mislab/common/result/Result.java @@ -1,4 +1,4 @@ -package com.xinguan.mislab.result; +package com.xinguan.mislab.common.result; import lombok.Data; diff --git a/src/main/java/com/xinguan/mislab/utils/JwtUtil.java b/src/main/java/com/xinguan/mislab/common/utils/JwtUtil.java similarity index 89% rename from src/main/java/com/xinguan/mislab/utils/JwtUtil.java rename to src/main/java/com/xinguan/mislab/common/utils/JwtUtil.java index ee0984d..16b39b3 100644 --- a/src/main/java/com/xinguan/mislab/utils/JwtUtil.java +++ b/src/main/java/com/xinguan/mislab/common/utils/JwtUtil.java @@ -1,13 +1,10 @@ -package com.xinguan.mislab.utils; +package com.xinguan.mislab.common.utils; import io.jsonwebtoken.Claims; import io.jsonwebtoken.JwtBuilder; import io.jsonwebtoken.Jwts; import io.jsonwebtoken.SignatureAlgorithm; -import io.jsonwebtoken.security.Keys; -import javax.crypto.SecretKey; -import java.nio.charset.StandardCharsets; import java.util.Date; import java.util.Map; diff --git a/src/main/java/com/xinguan/mislab/config/MyBatisConfig.java b/src/main/java/com/xinguan/mislab/config/MyBatisConfig.java deleted file mode 100644 index 01caf56..0000000 --- a/src/main/java/com/xinguan/mislab/config/MyBatisConfig.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.xinguan.mislab.config; - -import com.github.pagehelper.PageHelper; -import org.mybatis.spring.annotation.MapperScan; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -import java.util.Properties; - -@Configuration -@MapperScan("com.xinguan.mislab.mapper") // 扫描你的 Mapper 接口 -public class MyBatisConfig { - @Bean - public PageHelper pageHelper() { - PageHelper pageHelper = new PageHelper(); - Properties properties = new Properties(); - properties.setProperty("dialect", "mysql"); // 配置数据库类型 - pageHelper.setProperties(properties); - return pageHelper; - } -} diff --git a/src/main/java/com/xinguan/mislab/controller/CommonController.java b/src/main/java/com/xinguan/mislab/controller/CommonController.java new file mode 100644 index 0000000..c818270 --- /dev/null +++ b/src/main/java/com/xinguan/mislab/controller/CommonController.java @@ -0,0 +1,62 @@ +package com.xinguan.mislab.controller; + +import com.xinguan.mislab.common.result.Result; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.multipart.MultipartFile; + +import java.io.File; +import java.io.IOException; +import java.util.Arrays; +import java.util.List; +import java.util.UUID; +@RestController +@RequestMapping("/common") +@Slf4j +public class CommonController { + + // 配置文件保存目录 + private static final String UPLOAD_DIR = "D:/杂/mislab/"; // 确保路径末尾有分隔符 + + @PostMapping("/upload") + public Result upload(MultipartFile file) { + log.info("文件上传:{}", file); + + if (file.isEmpty()) { + return Result.error("文件不能为空"); + } + + try { + // 原始文件名 + String originalFilename = file.getOriginalFilename(); + // 获取文件扩展名 + String extension = originalFilename.substring(originalFilename.lastIndexOf(".")); + + // 限制文件格式为图片 + List allowedExtensions = Arrays.asList(".jpg", ".jpeg", ".png", ".gif"); + if (!allowedExtensions.contains(extension.toLowerCase())) { + return Result.error("只允许上传图片文件"); + } + + // 生成唯一的文件名 + String newFileName = UUID.randomUUID().toString() + extension; + + // 保存文件到本地 + File dest = new File(UPLOAD_DIR + newFileName); + file.transferTo(dest); + + // 返回文件的访问路径 + String fileUrl = "http://localhost:8080/images/" + newFileName; + + log.info("文件上传成功,文件路径:{}", fileUrl); + return Result.success(fileUrl); // 返回文件的URL路径 + + } catch (IOException e) { + log.error("文件上传失败:{}", e); + return Result.error("文件上传失败"); + } + } +} diff --git a/src/main/java/com/xinguan/mislab/controller/DepartmentController.java b/src/main/java/com/xinguan/mislab/controller/DepartmentController.java new file mode 100644 index 0000000..a13f810 --- /dev/null +++ b/src/main/java/com/xinguan/mislab/controller/DepartmentController.java @@ -0,0 +1,45 @@ +package com.xinguan.mislab.controller; + +import com.xinguan.mislab.common.result.PageResult; +import com.xinguan.mislab.common.result.Result; +import com.xinguan.mislab.pojo.DTO.DepartmentDTO; +import com.xinguan.mislab.pojo.entity.Department; +import com.xinguan.mislab.service.DepartmentService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping("/departmentpa") +@Slf4j +public class DepartmentController { + + @Autowired + private DepartmentService departmentService; + + @PostMapping + public Result save(@RequestBody DepartmentDTO departmentDTO){ + departmentService.saveNew(departmentDTO); + return Result.success(); + } + + @GetMapping("list") + public Result pageQuery(int page, int pageSize){ + PageResult pageResult = departmentService.pageQuery(page, pageSize); + return Result.success(pageResult); + } + + @PutMapping + public Result update(@RequestBody Department department){ + departmentService.updateMsg(department); + return Result.success(); + } + + @DeleteMapping("/{id}") + public Result delete(@PathVariable("id") Long id) { + departmentService.removeById(id); + return Result.success(); + } + +} diff --git a/src/main/java/com/xinguan/mislab/controller/FreshmanController.java b/src/main/java/com/xinguan/mislab/controller/FreshmanController.java index 618fd6d..d4b08d9 100644 --- a/src/main/java/com/xinguan/mislab/controller/FreshmanController.java +++ b/src/main/java/com/xinguan/mislab/controller/FreshmanController.java @@ -1,13 +1,12 @@ package com.xinguan.mislab.controller; -import com.xinguan.mislab.DTO.FreshmanDTO; -import com.xinguan.mislab.DTO.FreshmanPageQueryDTO; -import com.xinguan.mislab.entity.Freshman; -import com.xinguan.mislab.result.PageResult; -import com.xinguan.mislab.result.Result; +import com.xinguan.mislab.pojo.DTO.FreshmanDTO; +import com.xinguan.mislab.pojo.DTO.FreshmanPageQueryDTO; +import com.xinguan.mislab.pojo.entity.Freshman; +import com.xinguan.mislab.common.result.PageResult; +import com.xinguan.mislab.common.result.Result; import com.xinguan.mislab.service.FreshmanService; import lombok.extern.slf4j.Slf4j; -import org.apache.ibatis.annotations.Update; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; diff --git a/src/main/java/com/xinguan/mislab/controller/GraduateController.java b/src/main/java/com/xinguan/mislab/controller/GraduateController.java index feddd2f..112f30c 100644 --- a/src/main/java/com/xinguan/mislab/controller/GraduateController.java +++ b/src/main/java/com/xinguan/mislab/controller/GraduateController.java @@ -1,19 +1,24 @@ package com.xinguan.mislab.controller; -import com.xinguan.mislab.DTO.GraduateDTO; -import com.xinguan.mislab.DTO.GraduatePageQuery; -import com.xinguan.mislab.entity.Graduate; -import com.xinguan.mislab.result.PageResult; -import com.xinguan.mislab.result.Result; +import com.xinguan.mislab.pojo.DTO.GraduateDTO; +import com.xinguan.mislab.pojo.DTO.GraduatePageQuery; +import com.xinguan.mislab.pojo.entity.Graduate; +import com.xinguan.mislab.common.result.PageResult; +import com.xinguan.mislab.common.result.Result; import com.xinguan.mislab.service.GraduateService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.io.File; +import java.io.IOException; +import java.util.UUID; + @RestController @RequestMapping("/graduate") @Slf4j public class GraduateController { + @Autowired private GraduateService graduateService; @@ -30,9 +35,8 @@ public class GraduateController { return Result.success(); } - @GetMapping("/list") + @PostMapping("/list") public Result list(@RequestBody GraduatePageQuery graduatePageQuery){ - // TODO 无法分页,但是可以查询 PageResult pageResult = graduateService.pageQuery(graduatePageQuery); return Result.success(pageResult); } @@ -50,4 +54,5 @@ public class GraduateController { graduateService.updateMsg(graduate); return Result.success(); } + } diff --git a/src/main/java/com/xinguan/mislab/controller/ItemController.java b/src/main/java/com/xinguan/mislab/controller/ItemController.java new file mode 100644 index 0000000..1ac9dd1 --- /dev/null +++ b/src/main/java/com/xinguan/mislab/controller/ItemController.java @@ -0,0 +1,42 @@ +package com.xinguan.mislab.controller; + +import com.xinguan.mislab.common.result.PageResult; +import com.xinguan.mislab.common.result.Result; +import com.xinguan.mislab.pojo.entity.Item; +import com.xinguan.mislab.pojo.DTO.ItemDTO; +import com.xinguan.mislab.service.ItemService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping("/item") +public class ItemController { + + @Autowired + private ItemService itemService; + + @PostMapping + public Result save(@RequestBody ItemDTO itemDTO){ + itemService.saveNew(itemDTO); + return Result.success(); + } + + @PutMapping("update") + public Result update(@RequestBody Item item){ + itemService.updateById(item); + return Result.success(); + } + + @DeleteMapping("/{id}") + public Result delete(@PathVariable("id") Long id){ + itemService.removeById(id); + return Result.success(); + } + + @GetMapping("/list") + public Result list(int page, int pageSize){ + PageResult pageResult = itemService.pageQuery(page, pageSize); + return Result.success(pageResult); + } + +} diff --git a/src/main/java/com/xinguan/mislab/controller/UserController.java b/src/main/java/com/xinguan/mislab/controller/UserController.java index bf6cd95..58ab92d 100644 --- a/src/main/java/com/xinguan/mislab/controller/UserController.java +++ b/src/main/java/com/xinguan/mislab/controller/UserController.java @@ -1,15 +1,15 @@ package com.xinguan.mislab.controller; -import com.xinguan.mislab.DTO.UserDTO; -import com.xinguan.mislab.DTO.UserLoginDTO; -import com.xinguan.mislab.VO.UserLoginVO; -import com.xinguan.mislab.constant.JwtClaimsConstant; -import com.xinguan.mislab.entity.User; +import com.xinguan.mislab.pojo.DTO.UserDTO; +import com.xinguan.mislab.pojo.DTO.UserLoginDTO; +import com.xinguan.mislab.pojo.VO.UserLoginVO; +import com.xinguan.mislab.common.constant.JwtClaimsConstant; +import com.xinguan.mislab.pojo.entity.User; import com.xinguan.mislab.properties.JwtProperties; -import com.xinguan.mislab.result.PageResult; -import com.xinguan.mislab.result.Result; +import com.xinguan.mislab.common.result.PageResult; +import com.xinguan.mislab.common.result.Result; import com.xinguan.mislab.service.UserService; -import com.xinguan.mislab.utils.JwtUtil; +import com.xinguan.mislab.common.utils.JwtUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; diff --git a/src/main/java/com/xinguan/mislab/mapper/DepartmentMapper.java b/src/main/java/com/xinguan/mislab/mapper/DepartmentMapper.java index b92345e..6760e78 100644 --- a/src/main/java/com/xinguan/mislab/mapper/DepartmentMapper.java +++ b/src/main/java/com/xinguan/mislab/mapper/DepartmentMapper.java @@ -1,6 +1,7 @@ package com.xinguan.mislab.mapper; -import com.xinguan.mislab.entity.Department; +import com.github.pagehelper.Page; +import com.xinguan.mislab.pojo.entity.Department; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Mapper; @@ -8,11 +9,12 @@ import org.apache.ibatis.annotations.Mapper; * @author gyklc * @description 针对表【department(项目信息)】的数据库操作Mapper * @createDate 2024-11-18 20:01:09 -* @Entity com.xinguan.mislab.entity.Department +* @Entity com.xinguan.mislab.pojo.entity.Department */ @Mapper public interface DepartmentMapper extends BaseMapper { + } diff --git a/src/main/java/com/xinguan/mislab/mapper/FreshmanMapper.java b/src/main/java/com/xinguan/mislab/mapper/FreshmanMapper.java index 5dbdd7c..ecae94d 100644 --- a/src/main/java/com/xinguan/mislab/mapper/FreshmanMapper.java +++ b/src/main/java/com/xinguan/mislab/mapper/FreshmanMapper.java @@ -1,23 +1,26 @@ package com.xinguan.mislab.mapper; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.pagehelper.Page; -import com.xinguan.mislab.DTO.FreshmanPageQueryDTO; -import com.xinguan.mislab.VO.FreshmanVO; -import com.xinguan.mislab.entity.Freshman; +import com.xinguan.mislab.pojo.DTO.FreshmanPageQueryDTO; +import com.xinguan.mislab.pojo.VO.FreshmanVO; +import com.xinguan.mislab.pojo.entity.Freshman; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Select; +import org.apache.ibatis.annotations.SelectProvider; /** * @author gyklc * @description 针对表【freshman(新生信息)】的数据库操作Mapper * @createDate 2024-11-18 20:01:54 -* @Entity com.xinguan.mislab.entity.Freshman +* @Entity com.xinguan.mislab.pojo.entity.Freshman */ @Mapper public interface FreshmanMapper extends BaseMapper { - Page pageQuery(FreshmanPageQueryDTO freshmanPageQueryDTO); + + IPage pageQuery(IPage page, FreshmanPageQueryDTO freshmanPageQueryDTO); + void updateMsg(Freshman freshman); diff --git a/src/main/java/com/xinguan/mislab/mapper/GraduateMapper.java b/src/main/java/com/xinguan/mislab/mapper/GraduateMapper.java index d8f2349..b20c6c1 100644 --- a/src/main/java/com/xinguan/mislab/mapper/GraduateMapper.java +++ b/src/main/java/com/xinguan/mislab/mapper/GraduateMapper.java @@ -1,8 +1,8 @@ package com.xinguan.mislab.mapper; import com.github.pagehelper.Page; -import com.xinguan.mislab.DTO.GraduatePageQuery; -import com.xinguan.mislab.entity.Graduate; +import com.xinguan.mislab.pojo.DTO.GraduatePageQuery; +import com.xinguan.mislab.pojo.entity.Graduate; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Mapper; @@ -10,7 +10,7 @@ import org.apache.ibatis.annotations.Mapper; * @author gyklc * @description 针对表【graduate(毕业人员)】的数据库操作Mapper * @createDate 2024-11-18 20:01:54 -* @Entity com.xinguan.mislab.entity.Graduate +* @Entity com.xinguan.mislab.pojo.entity.Graduate */ @Mapper public interface GraduateMapper extends BaseMapper { diff --git a/src/main/java/com/xinguan/mislab/mapper/ItemMapper.java b/src/main/java/com/xinguan/mislab/mapper/ItemMapper.java index a53a5c8..cd5ad73 100644 --- a/src/main/java/com/xinguan/mislab/mapper/ItemMapper.java +++ b/src/main/java/com/xinguan/mislab/mapper/ItemMapper.java @@ -1,6 +1,6 @@ package com.xinguan.mislab.mapper; -import com.xinguan.mislab.entity.Item; +import com.xinguan.mislab.pojo.entity.Item; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Mapper; @@ -8,7 +8,7 @@ import org.apache.ibatis.annotations.Mapper; * @author gyklc * @description 针对表【item(项目信息)】的数据库操作Mapper * @createDate 2024-11-18 20:01:54 -* @Entity com.xinguan.mislab.entity.Item +* @Entity com.xinguan.mislab.pojo.entity.Item */ @Mapper public interface ItemMapper extends BaseMapper { diff --git a/src/main/java/com/xinguan/mislab/mapper/UserMapper.java b/src/main/java/com/xinguan/mislab/mapper/UserMapper.java index b0bde12..ea8436f 100644 --- a/src/main/java/com/xinguan/mislab/mapper/UserMapper.java +++ b/src/main/java/com/xinguan/mislab/mapper/UserMapper.java @@ -1,7 +1,7 @@ package com.xinguan.mislab.mapper; import com.github.pagehelper.Page; -import com.xinguan.mislab.entity.User; +import com.xinguan.mislab.pojo.entity.User; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Select; @@ -10,12 +10,12 @@ import org.apache.ibatis.annotations.Select; * @author gyklc * @description 针对表【user(员工信息)】的数据库操作Mapper * @createDate 2024-11-18 20:01:54 -* @Entity com.xinguan.mislab.entity.User +* @Entity com.xinguan.mislab.pojo.entity.User */ @Mapper public interface UserMapper extends BaseMapper { - @Select("select * from mislab.user where username = #{username}") + @Select("select * from MisLab.user where username = #{username}") User getByUsername(String username); void updateUserMes(User user); diff --git a/src/main/java/com/xinguan/mislab/pojo/DTO/DepartmentDTO.java b/src/main/java/com/xinguan/mislab/pojo/DTO/DepartmentDTO.java new file mode 100644 index 0000000..d118f12 --- /dev/null +++ b/src/main/java/com/xinguan/mislab/pojo/DTO/DepartmentDTO.java @@ -0,0 +1,12 @@ +package com.xinguan.mislab.pojo.DTO; + +import lombok.Data; + +@Data +public class DepartmentDTO { + private String name; + private String photo; + private String intro; + private String recruitmentRequirements; + private String recruitmentTarget; +} diff --git a/src/main/java/com/xinguan/mislab/DTO/FreshmanDTO.java b/src/main/java/com/xinguan/mislab/pojo/DTO/FreshmanDTO.java similarity index 69% rename from src/main/java/com/xinguan/mislab/DTO/FreshmanDTO.java rename to src/main/java/com/xinguan/mislab/pojo/DTO/FreshmanDTO.java index 05c043c..d16e062 100644 --- a/src/main/java/com/xinguan/mislab/DTO/FreshmanDTO.java +++ b/src/main/java/com/xinguan/mislab/pojo/DTO/FreshmanDTO.java @@ -1,4 +1,4 @@ -package com.xinguan.mislab.DTO; +package com.xinguan.mislab.pojo.DTO; import lombok.Data; @@ -15,4 +15,10 @@ public class FreshmanDTO { private String departmentId; private String major; + + private String studentId; + + private String emailId; + + } diff --git a/src/main/java/com/xinguan/mislab/DTO/FreshmanPageQueryDTO.java b/src/main/java/com/xinguan/mislab/pojo/DTO/FreshmanPageQueryDTO.java similarity index 73% rename from src/main/java/com/xinguan/mislab/DTO/FreshmanPageQueryDTO.java rename to src/main/java/com/xinguan/mislab/pojo/DTO/FreshmanPageQueryDTO.java index f353f3b..a150915 100644 --- a/src/main/java/com/xinguan/mislab/DTO/FreshmanPageQueryDTO.java +++ b/src/main/java/com/xinguan/mislab/pojo/DTO/FreshmanPageQueryDTO.java @@ -1,4 +1,4 @@ -package com.xinguan.mislab.DTO; +package com.xinguan.mislab.pojo.DTO; import lombok.Data; @@ -8,9 +8,10 @@ public class FreshmanPageQueryDTO { private Integer page; private Integer pageSize; private String name; - private String age; private String sex; private String grade; private String departmentId; private String major; + private String studentId; + private String emailId; } diff --git a/src/main/java/com/xinguan/mislab/DTO/GraduateDTO.java b/src/main/java/com/xinguan/mislab/pojo/DTO/GraduateDTO.java similarity index 78% rename from src/main/java/com/xinguan/mislab/DTO/GraduateDTO.java rename to src/main/java/com/xinguan/mislab/pojo/DTO/GraduateDTO.java index 18d1bc1..c08a0fe 100644 --- a/src/main/java/com/xinguan/mislab/DTO/GraduateDTO.java +++ b/src/main/java/com/xinguan/mislab/pojo/DTO/GraduateDTO.java @@ -1,11 +1,11 @@ -package com.xinguan.mislab.DTO; +package com.xinguan.mislab.pojo.DTO; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; -import java.util.Date; +import java.time.LocalDateTime; @Data @Builder @@ -23,4 +23,6 @@ public class GraduateDTO { private String photo; private String company; + + private String emailId; } diff --git a/src/main/java/com/xinguan/mislab/DTO/GraduatePageQuery.java b/src/main/java/com/xinguan/mislab/pojo/DTO/GraduatePageQuery.java similarity index 66% rename from src/main/java/com/xinguan/mislab/DTO/GraduatePageQuery.java rename to src/main/java/com/xinguan/mislab/pojo/DTO/GraduatePageQuery.java index cd573ca..ae93fd7 100644 --- a/src/main/java/com/xinguan/mislab/DTO/GraduatePageQuery.java +++ b/src/main/java/com/xinguan/mislab/pojo/DTO/GraduatePageQuery.java @@ -1,7 +1,9 @@ -package com.xinguan.mislab.DTO; +package com.xinguan.mislab.pojo.DTO; import lombok.Data; +import java.time.LocalDateTime; + @Data public class GraduatePageQuery { private Integer page; @@ -9,4 +11,5 @@ public class GraduatePageQuery { private String name; private String grade; private String company; + private String emailId; } diff --git a/src/main/java/com/xinguan/mislab/pojo/DTO/ItemDTO.java b/src/main/java/com/xinguan/mislab/pojo/DTO/ItemDTO.java new file mode 100644 index 0000000..ae10ecf --- /dev/null +++ b/src/main/java/com/xinguan/mislab/pojo/DTO/ItemDTO.java @@ -0,0 +1,16 @@ +package com.xinguan.mislab.pojo.DTO; + +import lombok.Data; + +@Data +public class ItemDTO { + private Long id; + + private String name; + + private String photo; + + private String intro; + + private String address; +} diff --git a/src/main/java/com/xinguan/mislab/DTO/UserDTO.java b/src/main/java/com/xinguan/mislab/pojo/DTO/UserDTO.java similarity index 87% rename from src/main/java/com/xinguan/mislab/DTO/UserDTO.java rename to src/main/java/com/xinguan/mislab/pojo/DTO/UserDTO.java index 41c41d9..c914d3c 100644 --- a/src/main/java/com/xinguan/mislab/DTO/UserDTO.java +++ b/src/main/java/com/xinguan/mislab/pojo/DTO/UserDTO.java @@ -1,4 +1,4 @@ -package com.xinguan.mislab.DTO; +package com.xinguan.mislab.pojo.DTO; import lombok.Data; diff --git a/src/main/java/com/xinguan/mislab/DTO/UserLoginDTO.java b/src/main/java/com/xinguan/mislab/pojo/DTO/UserLoginDTO.java similarity index 82% rename from src/main/java/com/xinguan/mislab/DTO/UserLoginDTO.java rename to src/main/java/com/xinguan/mislab/pojo/DTO/UserLoginDTO.java index 08ba9b8..ac43ea7 100644 --- a/src/main/java/com/xinguan/mislab/DTO/UserLoginDTO.java +++ b/src/main/java/com/xinguan/mislab/pojo/DTO/UserLoginDTO.java @@ -1,4 +1,4 @@ -package com.xinguan.mislab.DTO; +package com.xinguan.mislab.pojo.DTO; import lombok.Data; diff --git a/src/main/java/com/xinguan/mislab/VO/FreshmanVO.java b/src/main/java/com/xinguan/mislab/pojo/VO/FreshmanVO.java similarity index 82% rename from src/main/java/com/xinguan/mislab/VO/FreshmanVO.java rename to src/main/java/com/xinguan/mislab/pojo/VO/FreshmanVO.java index fec69ff..cbd4f61 100644 --- a/src/main/java/com/xinguan/mislab/VO/FreshmanVO.java +++ b/src/main/java/com/xinguan/mislab/pojo/VO/FreshmanVO.java @@ -1,4 +1,4 @@ -package com.xinguan.mislab.VO; +package com.xinguan.mislab.pojo.VO; import lombok.AllArgsConstructor; import lombok.Builder; @@ -16,8 +16,6 @@ public class FreshmanVO { private String name; - private String age; - private String sex; private String phone; @@ -29,4 +27,8 @@ public class FreshmanVO { private LocalDateTime createTime; private String major; + + private String studentId; + + private String emailId; } diff --git a/src/main/java/com/xinguan/mislab/VO/UserLoginVO.java b/src/main/java/com/xinguan/mislab/pojo/VO/UserLoginVO.java similarity index 90% rename from src/main/java/com/xinguan/mislab/VO/UserLoginVO.java rename to src/main/java/com/xinguan/mislab/pojo/VO/UserLoginVO.java index ac84488..d5b467c 100644 --- a/src/main/java/com/xinguan/mislab/VO/UserLoginVO.java +++ b/src/main/java/com/xinguan/mislab/pojo/VO/UserLoginVO.java @@ -1,4 +1,4 @@ -package com.xinguan.mislab.VO; +package com.xinguan.mislab.pojo.VO; import lombok.AllArgsConstructor; import lombok.Builder; diff --git a/src/main/java/com/xinguan/mislab/entity/Department.java b/src/main/java/com/xinguan/mislab/pojo/entity/Department.java similarity index 64% rename from src/main/java/com/xinguan/mislab/entity/Department.java rename to src/main/java/com/xinguan/mislab/pojo/entity/Department.java index 9ba1e54..f895091 100644 --- a/src/main/java/com/xinguan/mislab/entity/Department.java +++ b/src/main/java/com/xinguan/mislab/pojo/entity/Department.java @@ -1,10 +1,8 @@ -package com.xinguan.mislab.entity; +package com.xinguan.mislab.pojo.entity; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; +import java.time.LocalDateTime; import java.util.Date; import lombok.Data; @@ -22,7 +20,9 @@ public class Department implements Serializable { private String intro; - private Date createTime; + private String recruitmentRequirements; + + private String recruitmentTarget; private static final long serialVersionUID = 1L; } \ No newline at end of file diff --git a/src/main/java/com/xinguan/mislab/entity/Freshman.java b/src/main/java/com/xinguan/mislab/pojo/entity/Freshman.java similarity index 64% rename from src/main/java/com/xinguan/mislab/entity/Freshman.java rename to src/main/java/com/xinguan/mislab/pojo/entity/Freshman.java index 54b959e..601b6a1 100644 --- a/src/main/java/com/xinguan/mislab/entity/Freshman.java +++ b/src/main/java/com/xinguan/mislab/pojo/entity/Freshman.java @@ -1,12 +1,9 @@ -package com.xinguan.mislab.entity; +package com.xinguan.mislab.pojo.entity; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; import java.time.LocalDateTime; -import java.util.Date; + import lombok.Data; /** @@ -19,8 +16,6 @@ public class Freshman implements Serializable { private String name; - private String age; - private String sex; private String phone; @@ -29,9 +24,11 @@ public class Freshman implements Serializable { private String departmentId; - private LocalDateTime createTime; - private String major; + private String studentId; + + private String emailId; + private static final long serialVersionUID = 1L; } \ No newline at end of file diff --git a/src/main/java/com/xinguan/mislab/entity/Graduate.java b/src/main/java/com/xinguan/mislab/pojo/entity/Graduate.java similarity index 65% rename from src/main/java/com/xinguan/mislab/entity/Graduate.java rename to src/main/java/com/xinguan/mislab/pojo/entity/Graduate.java index 9dfaedd..156284f 100644 --- a/src/main/java/com/xinguan/mislab/entity/Graduate.java +++ b/src/main/java/com/xinguan/mislab/pojo/entity/Graduate.java @@ -1,12 +1,9 @@ -package com.xinguan.mislab.entity; +package com.xinguan.mislab.pojo.entity; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; import java.time.LocalDateTime; -import java.util.Date; + import lombok.Data; /** @@ -29,7 +26,7 @@ public class Graduate implements Serializable { private String company; - private LocalDateTime createTime; + private String emailId; private static final long serialVersionUID = 1L; } \ No newline at end of file diff --git a/src/main/java/com/xinguan/mislab/entity/Item.java b/src/main/java/com/xinguan/mislab/pojo/entity/Item.java similarity index 65% rename from src/main/java/com/xinguan/mislab/entity/Item.java rename to src/main/java/com/xinguan/mislab/pojo/entity/Item.java index 7a691dc..d70d7d8 100644 --- a/src/main/java/com/xinguan/mislab/entity/Item.java +++ b/src/main/java/com/xinguan/mislab/pojo/entity/Item.java @@ -1,10 +1,8 @@ -package com.xinguan.mislab.entity; +package com.xinguan.mislab.pojo.entity; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; +import java.time.LocalDateTime; import java.util.Date; import lombok.Data; @@ -24,7 +22,5 @@ public class Item implements Serializable { private String address; - private Date createTime; - private static final long serialVersionUID = 1L; } \ No newline at end of file diff --git a/src/main/java/com/xinguan/mislab/entity/User.java b/src/main/java/com/xinguan/mislab/pojo/entity/User.java similarity index 73% rename from src/main/java/com/xinguan/mislab/entity/User.java rename to src/main/java/com/xinguan/mislab/pojo/entity/User.java index c870a57..6399190 100644 --- a/src/main/java/com/xinguan/mislab/entity/User.java +++ b/src/main/java/com/xinguan/mislab/pojo/entity/User.java @@ -1,8 +1,5 @@ -package com.xinguan.mislab.entity; +package com.xinguan.mislab.pojo.entity; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; diff --git a/src/main/java/com/xinguan/mislab/service/DepartmentService.java b/src/main/java/com/xinguan/mislab/service/DepartmentService.java index 087d674..428ce4a 100644 --- a/src/main/java/com/xinguan/mislab/service/DepartmentService.java +++ b/src/main/java/com/xinguan/mislab/service/DepartmentService.java @@ -1,6 +1,8 @@ package com.xinguan.mislab.service; -import com.xinguan.mislab.entity.Department; +import com.xinguan.mislab.common.result.PageResult; +import com.xinguan.mislab.pojo.DTO.DepartmentDTO; +import com.xinguan.mislab.pojo.entity.Department; import com.baomidou.mybatisplus.extension.service.IService; /** @@ -10,4 +12,9 @@ import com.baomidou.mybatisplus.extension.service.IService; */ public interface DepartmentService extends IService { + void saveNew(DepartmentDTO departmentDTO); + + PageResult pageQuery(int page, int pageSize); + + void updateMsg(Department department); } diff --git a/src/main/java/com/xinguan/mislab/service/FreshmanService.java b/src/main/java/com/xinguan/mislab/service/FreshmanService.java index 7fd219a..f0f3145 100644 --- a/src/main/java/com/xinguan/mislab/service/FreshmanService.java +++ b/src/main/java/com/xinguan/mislab/service/FreshmanService.java @@ -1,10 +1,10 @@ package com.xinguan.mislab.service; -import com.xinguan.mislab.DTO.FreshmanDTO; -import com.xinguan.mislab.DTO.FreshmanPageQueryDTO; -import com.xinguan.mislab.entity.Freshman; +import com.xinguan.mislab.pojo.DTO.FreshmanDTO; +import com.xinguan.mislab.pojo.DTO.FreshmanPageQueryDTO; +import com.xinguan.mislab.pojo.entity.Freshman; import com.baomidou.mybatisplus.extension.service.IService; -import com.xinguan.mislab.result.PageResult; +import com.xinguan.mislab.common.result.PageResult; /** * @author gyklc diff --git a/src/main/java/com/xinguan/mislab/service/GraduateService.java b/src/main/java/com/xinguan/mislab/service/GraduateService.java index eadee59..a891c0d 100644 --- a/src/main/java/com/xinguan/mislab/service/GraduateService.java +++ b/src/main/java/com/xinguan/mislab/service/GraduateService.java @@ -1,10 +1,10 @@ package com.xinguan.mislab.service; -import com.xinguan.mislab.DTO.GraduateDTO; -import com.xinguan.mislab.DTO.GraduatePageQuery; -import com.xinguan.mislab.entity.Graduate; +import com.xinguan.mislab.pojo.DTO.GraduateDTO; +import com.xinguan.mislab.pojo.DTO.GraduatePageQuery; +import com.xinguan.mislab.pojo.entity.Graduate; import com.baomidou.mybatisplus.extension.service.IService; -import com.xinguan.mislab.result.PageResult; +import com.xinguan.mislab.common.result.PageResult; /** * @author gyklc diff --git a/src/main/java/com/xinguan/mislab/service/ItemService.java b/src/main/java/com/xinguan/mislab/service/ItemService.java index c82dae7..33b4bfd 100644 --- a/src/main/java/com/xinguan/mislab/service/ItemService.java +++ b/src/main/java/com/xinguan/mislab/service/ItemService.java @@ -1,7 +1,9 @@ package com.xinguan.mislab.service; -import com.xinguan.mislab.entity.Item; +import com.xinguan.mislab.common.result.PageResult; +import com.xinguan.mislab.pojo.entity.Item; import com.baomidou.mybatisplus.extension.service.IService; +import com.xinguan.mislab.pojo.DTO.ItemDTO; /** * @author gyklc @@ -10,4 +12,7 @@ import com.baomidou.mybatisplus.extension.service.IService; */ public interface ItemService extends IService { + void saveNew(ItemDTO itemDTO); + + PageResult pageQuery(int page, int pageSize); } diff --git a/src/main/java/com/xinguan/mislab/service/UserService.java b/src/main/java/com/xinguan/mislab/service/UserService.java index bc008e8..eabf3ab 100644 --- a/src/main/java/com/xinguan/mislab/service/UserService.java +++ b/src/main/java/com/xinguan/mislab/service/UserService.java @@ -1,10 +1,10 @@ package com.xinguan.mislab.service; -import com.xinguan.mislab.DTO.UserDTO; -import com.xinguan.mislab.DTO.UserLoginDTO; -import com.xinguan.mislab.entity.User; +import com.xinguan.mislab.pojo.DTO.UserDTO; +import com.xinguan.mislab.pojo.DTO.UserLoginDTO; +import com.xinguan.mislab.pojo.entity.User; import com.baomidou.mybatisplus.extension.service.IService; -import com.xinguan.mislab.result.PageResult; +import com.xinguan.mislab.common.result.PageResult; /** * @author gyklc diff --git a/src/main/java/com/xinguan/mislab/service/impl/DepartmentServiceImpl.java b/src/main/java/com/xinguan/mislab/service/impl/DepartmentServiceImpl.java index e6e439a..d68ae87 100644 --- a/src/main/java/com/xinguan/mislab/service/impl/DepartmentServiceImpl.java +++ b/src/main/java/com/xinguan/mislab/service/impl/DepartmentServiceImpl.java @@ -1,11 +1,20 @@ package com.xinguan.mislab.service.impl; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.xinguan.mislab.entity.Department; +import com.github.pagehelper.PageHelper; +import com.xinguan.mislab.common.result.PageResult; +import com.xinguan.mislab.pojo.DTO.DepartmentDTO; +import com.xinguan.mislab.pojo.entity.Department; import com.xinguan.mislab.service.DepartmentService; import com.xinguan.mislab.mapper.DepartmentMapper; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.time.LocalDateTime; + /** * @author gyklc * @description 针对表【department(项目信息)】的数据库操作Service实现 @@ -15,6 +24,31 @@ import org.springframework.stereotype.Service; public class DepartmentServiceImpl extends ServiceImpl implements DepartmentService{ + @Autowired + private DepartmentMapper departmentMapper; + + @Override + public void saveNew(DepartmentDTO departmentDTO) { + Department department = new Department(); + BeanUtils.copyProperties(departmentDTO, department); + save(department); + } + + @Override + public PageResult pageQuery(int page, int pageSize) { + Page departmentPage = new Page<>(page, pageSize); + IPage page1 = departmentMapper.selectPage(departmentPage, null); + + // 返回分页结果,PageResult 类可以根据实际需求进行调整 + return new PageResult(page1.getTotal(), page1.getRecords()); + } + + @Override + public void updateMsg(Department department) { + updateById(department); + } + + } diff --git a/src/main/java/com/xinguan/mislab/service/impl/FreshmanServiceImpl.java b/src/main/java/com/xinguan/mislab/service/impl/FreshmanServiceImpl.java index 2c4f67a..74012d9 100644 --- a/src/main/java/com/xinguan/mislab/service/impl/FreshmanServiceImpl.java +++ b/src/main/java/com/xinguan/mislab/service/impl/FreshmanServiceImpl.java @@ -1,14 +1,15 @@ package com.xinguan.mislab.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.github.pagehelper.Page; import com.github.pagehelper.PageHelper; -import com.xinguan.mislab.DTO.FreshmanDTO; -import com.xinguan.mislab.DTO.FreshmanPageQueryDTO; -import com.xinguan.mislab.VO.FreshmanVO; -import com.xinguan.mislab.entity.Freshman; -import com.xinguan.mislab.result.PageResult; -import com.xinguan.mislab.result.Result; +import com.xinguan.mislab.pojo.DTO.FreshmanDTO; +import com.xinguan.mislab.pojo.DTO.FreshmanPageQueryDTO; +import com.xinguan.mislab.pojo.VO.FreshmanVO; +import com.xinguan.mislab.pojo.entity.Freshman; +import com.xinguan.mislab.common.result.PageResult; import com.xinguan.mislab.service.FreshmanService; import com.xinguan.mislab.mapper.FreshmanMapper; import org.springframework.beans.BeanUtils; @@ -16,10 +17,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.web.bind.annotation.RequestBody; -import java.lang.invoke.VarHandle; import java.time.LocalDateTime; -import java.util.ArrayList; -import java.util.List; /** * @author gyklc @@ -35,18 +33,22 @@ public class FreshmanServiceImpl extends ServiceImpl @Override public PageResult pageQuery(@RequestBody FreshmanPageQueryDTO freshmanPageQueryDTO) { - Integer page = freshmanPageQueryDTO.getPage(); - Integer pageSize = freshmanPageQueryDTO.getPageSize(); - PageHelper.startPage(page, pageSize); - Page page1 = freshmanMapper.pageQuery(freshmanPageQueryDTO); - return new PageResult(page1.getTotal(), page1.getResult()); + // 创建分页对象,传入页码和每页大小 + Page page = new Page<>(freshmanPageQueryDTO.getPage(), freshmanPageQueryDTO.getPageSize()); + + // 执行分页查询 + IPage freshmanPage = freshmanMapper.pageQuery(page, freshmanPageQueryDTO); + + // 返回分页结果 + return new PageResult(freshmanPage.getTotal(), freshmanPage.getRecords()); } + + @Override - public void saveNewMenber(FreshmanDTO freshmanDTO) { + public void saveNewMenber(FreshmanDTO freshmanDTO) { Freshman freshman = new Freshman(); BeanUtils.copyProperties(freshmanDTO, freshman); - freshman.setCreateTime(LocalDateTime.now()); save(freshman); } diff --git a/src/main/java/com/xinguan/mislab/service/impl/GraduateServiceImpl.java b/src/main/java/com/xinguan/mislab/service/impl/GraduateServiceImpl.java index 056d6ba..d608318 100644 --- a/src/main/java/com/xinguan/mislab/service/impl/GraduateServiceImpl.java +++ b/src/main/java/com/xinguan/mislab/service/impl/GraduateServiceImpl.java @@ -1,18 +1,21 @@ package com.xinguan.mislab.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.github.pagehelper.Page; import com.github.pagehelper.PageHelper; -import com.xinguan.mislab.DTO.GraduateDTO; -import com.xinguan.mislab.DTO.GraduatePageQuery; -import com.xinguan.mislab.entity.Graduate; -import com.xinguan.mislab.result.PageResult; +import com.xinguan.mislab.pojo.DTO.GraduateDTO; +import com.xinguan.mislab.pojo.DTO.GraduatePageQuery; +import com.xinguan.mislab.pojo.entity.Graduate; +import com.xinguan.mislab.common.result.PageResult; import com.xinguan.mislab.service.GraduateService; import com.xinguan.mislab.mapper.GraduateMapper; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.sql.Wrapper; import java.time.LocalDateTime; /** @@ -31,23 +34,51 @@ public class GraduateServiceImpl extends ServiceImpl public void saveGraduate(GraduateDTO graduateDTO) { Graduate graduate = new Graduate(); BeanUtils.copyProperties(graduateDTO,graduate); - graduate.setCreateTime(LocalDateTime.now()); save(graduate); } @Override public PageResult pageQuery(GraduatePageQuery graduatePageQuery) { - PageHelper.startPage(graduatePageQuery.getPage(), graduatePageQuery.getPageSize()); - Page page = graduateMapper.pageQuery(graduatePageQuery); - return new PageResult(page.getTotal(), page.getResult()); + Page graduatePage = new Page<>(graduatePageQuery.getPage(), graduatePageQuery.getPageSize()); + // 构建查询条件,可以根据需要加入更多条件 + QueryWrapper queryWrapper = new QueryWrapper<>(); + if (graduatePageQuery.getName() != null) { + queryWrapper.like("name", graduatePageQuery.getName()); + } + if (graduatePageQuery.getGrade() != null) { + queryWrapper.like("grade", graduatePageQuery.getGrade()); + } + if (graduatePageQuery.getCompany() != null) { + queryWrapper.like("company", graduatePageQuery.getCompany()); + } + if (graduatePageQuery.getEmailId() != null) { + queryWrapper.like("email_id", graduatePageQuery.getEmailId()); + } + Page graduatePage1 = graduateMapper.selectPage(graduatePage, queryWrapper); + // 返回分页结果 + return new PageResult(graduatePage1.getTotal(), graduatePage1.getRecords()); } @Override public void updateMsg(Graduate graduate) { + if (graduate == null || graduate.getId() == null) { + throw new IllegalArgumentException("Invalid graduate data"); + } + // 构建更新条件:根据 ID 查找 + QueryWrapper eq = new QueryWrapper().eq("id", graduate.getId()); + + // 执行更新操作 + boolean isUpdated = update(graduate, eq); + + // 如果更新没有成功,可以进行适当的异常抛出或日志记录 + if (!isUpdated) { + throw new RuntimeException("Update failed"); + } } + } diff --git a/src/main/java/com/xinguan/mislab/service/impl/ItemServiceImpl.java b/src/main/java/com/xinguan/mislab/service/impl/ItemServiceImpl.java index 96bdf04..85ddfa3 100644 --- a/src/main/java/com/xinguan/mislab/service/impl/ItemServiceImpl.java +++ b/src/main/java/com/xinguan/mislab/service/impl/ItemServiceImpl.java @@ -1,11 +1,18 @@ package com.xinguan.mislab.service.impl; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.xinguan.mislab.entity.Item; +import com.xinguan.mislab.common.result.PageResult; +import com.xinguan.mislab.pojo.entity.Item; +import com.xinguan.mislab.pojo.DTO.ItemDTO; import com.xinguan.mislab.service.ItemService; import com.xinguan.mislab.mapper.ItemMapper; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.time.LocalDateTime; + /** * @author gyklc * @description 针对表【item(项目信息)】的数据库操作Service实现 @@ -15,6 +22,22 @@ import org.springframework.stereotype.Service; public class ItemServiceImpl extends ServiceImpl implements ItemService{ + @Autowired + private ItemMapper itemMapper; + + @Override + public void saveNew(ItemDTO itemDTO) { + Item item = new Item(); + BeanUtils.copyProperties(itemDTO, item); + save(item); + } + + @Override + public PageResult pageQuery(int page, int pageSize) { + Page itemPage = new Page<>(page, pageSize); + Page itemPage1 = itemMapper.selectPage(itemPage, null); + return new PageResult(itemPage1.getTotal(), itemPage1.getRecords()); + } } diff --git a/src/main/java/com/xinguan/mislab/service/impl/UserServiceImpl.java b/src/main/java/com/xinguan/mislab/service/impl/UserServiceImpl.java index 60424c2..274a038 100644 --- a/src/main/java/com/xinguan/mislab/service/impl/UserServiceImpl.java +++ b/src/main/java/com/xinguan/mislab/service/impl/UserServiceImpl.java @@ -4,19 +4,18 @@ package com.xinguan.mislab.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.pagehelper.Page; import com.github.pagehelper.PageHelper; -import com.xinguan.mislab.DTO.UserDTO; -import com.xinguan.mislab.DTO.UserLoginDTO; - -import com.xinguan.mislab.entity.User; -import com.xinguan.mislab.exception.AccountNotFoundException; -import com.xinguan.mislab.exception.PasswordErrorException; -import com.xinguan.mislab.exception.PwdOrUsernameIsNullException; -import com.xinguan.mislab.result.PageResult; +import com.xinguan.mislab.pojo.DTO.UserDTO; +import com.xinguan.mislab.pojo.DTO.UserLoginDTO; + +import com.xinguan.mislab.pojo.entity.User; +import com.xinguan.mislab.common.exception.AccountNotFoundException; +import com.xinguan.mislab.common.exception.PasswordErrorException; +import com.xinguan.mislab.common.exception.PwdOrUsernameIsNullException; +import com.xinguan.mislab.common.result.PageResult; import com.xinguan.mislab.service.UserService; import com.xinguan.mislab.mapper.UserMapper; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.core.annotation.Order; import org.springframework.stereotype.Service; import org.springframework.util.DigestUtils; import java.util.UUID; diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 4596954..5541ba0 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -6,9 +6,12 @@ spring: datasource: druid: driver-class-name: com.mysql.cj.jdbc.Driver - url: jdbc:mysql://localhost:3306/mislab?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true + url: jdbc:mysql://1.94.46.230:3306/MisLab?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true username: root - password: JMYYKLS1 + password: 123 + web: + resources: + static-locations: D:/杂/mislab/ mislab: jwt: user-ttl: 720000000 diff --git a/src/main/resources/mapper/DepartmentMapper.xml b/src/main/resources/mapper/DepartmentMapper.xml index 63dd51c..ad20cf8 100644 --- a/src/main/resources/mapper/DepartmentMapper.xml +++ b/src/main/resources/mapper/DepartmentMapper.xml @@ -4,16 +4,21 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - - - - - - + + + + + + + id,name,photo, - intro,create_time + intro, + recruitment_requirements,recruitment_target + diff --git a/src/main/resources/mapper/FreshmanMapper.xml b/src/main/resources/mapper/FreshmanMapper.xml index 285e471..dda3484 100644 --- a/src/main/resources/mapper/FreshmanMapper.xml +++ b/src/main/resources/mapper/FreshmanMapper.xml @@ -4,59 +4,64 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + - - + + - id,name,age,sex, - phone,grade,department_id, - create_time,major + id,name,sex, + phone,grade,department_id + ,major,student_id,email_id - update mislab.freshman + update MisLab.freshman set name = #{name}, age = #{age}, sex = #{sex}, phone = #{phone}, grade = #{grade}, department_id = #{departmentId}, - major = #{major} + major = #{major}, + student_id = #{studentId}, + email_id = #{emailId} where id = #{id} - + SELECT A.id, A.name, - A.age, A.sex, A.phone, A.grade, department.name AS department, A.create_time, - A.major - from - mislab.freshman as A - join - department on A.department_id = department.id + A.major, + A.student_id, + A.email_id + FROM + MisLab.freshman AS A + JOIN + department ON A.department_id = department.id - name like concat("%", #{name}, "%") and - age = #{age} and - sex = #{sex} and - grade = #{grade} and - departmentId = #{departmentId} and - major = #{major} + + name LIKE concat('%', #{name}, '%') + AND sex = #{sex} + AND grade = #{grade} + AND department_id = #{departmentId} + AND major = #{major} + + diff --git a/src/main/resources/mapper/GraduateMapper.xml b/src/main/resources/mapper/GraduateMapper.xml index 36c0d46..2ca62b6 100644 --- a/src/main/resources/mapper/GraduateMapper.xml +++ b/src/main/resources/mapper/GraduateMapper.xml @@ -4,7 +4,7 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + @@ -12,15 +12,15 @@ - + id,name,sex, phone,grade,photo, - company,create_time + company,emailId - select * from mislab.graduate name like concat("%", "${name}", "%") and diff --git a/src/main/resources/mapper/ItemMapper.xml b/src/main/resources/mapper/ItemMapper.xml index 44071cf..8d1a3e1 100644 --- a/src/main/resources/mapper/ItemMapper.xml +++ b/src/main/resources/mapper/ItemMapper.xml @@ -4,17 +4,16 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + - id,name,photo, - intro,address,create_time + intro,address diff --git a/src/main/resources/mapper/UserMapper.xml b/src/main/resources/mapper/UserMapper.xml index 9a7725f..50d92a2 100644 --- a/src/main/resources/mapper/UserMapper.xml +++ b/src/main/resources/mapper/UserMapper.xml @@ -4,7 +4,7 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + @@ -27,8 +27,8 @@ WHERE id = #{id} - - INSERT INTO user (name, username, password, status) + + INSERT INTO MisLab.user (name, username, password, status) VALUES (#{name}, #{username}, #{password}, #{status}) -- Gitee From e64cbd1f2e434aeea213cc7f1ab6bfabe1831f4f Mon Sep 17 00:00:00 2001 From: redoom Date: Wed, 4 Dec 2024 19:25:50 +0800 Subject: [PATCH 08/17] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E6=89=80=E6=9C=89=20?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=8B=A6=E6=88=AA=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mislab/common/config/WebMvcConfiguration.java | 6 ++++-- .../com/xinguan/mislab/controller/CommonController.java | 2 +- .../xinguan/mislab/controller/DepartmentController.java | 9 ++++++++- .../com/xinguan/mislab/controller/ItemController.java | 8 ++++++++ .../com/xinguan/mislab/service/DepartmentService.java | 4 ++++ .../java/com/xinguan/mislab/service/ItemService.java | 4 ++++ .../mislab/service/impl/DepartmentServiceImpl.java | 8 ++++++++ .../com/xinguan/mislab/service/impl/ItemServiceImpl.java | 8 ++++++++ .../com/xinguan/mislab/service/impl/UserServiceImpl.java | 9 ++++----- src/main/resources/application.yml | 8 +++----- 10 files changed, 52 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/xinguan/mislab/common/config/WebMvcConfiguration.java b/src/main/java/com/xinguan/mislab/common/config/WebMvcConfiguration.java index 610b7ea..6e09dd3 100644 --- a/src/main/java/com/xinguan/mislab/common/config/WebMvcConfiguration.java +++ b/src/main/java/com/xinguan/mislab/common/config/WebMvcConfiguration.java @@ -22,7 +22,9 @@ public class WebMvcConfiguration extends WebMvcConfigurationSupport { */ protected void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(jwtTokenUserInterceptor) - .addPathPatterns("/user/**") - .excludePathPatterns("/user/login"); + .addPathPatterns("/**") + .excludePathPatterns("/user/login") + .excludePathPatterns("/department/all") + .excludePathPatterns("/item/all"); } } diff --git a/src/main/java/com/xinguan/mislab/controller/CommonController.java b/src/main/java/com/xinguan/mislab/controller/CommonController.java index c818270..974ea17 100644 --- a/src/main/java/com/xinguan/mislab/controller/CommonController.java +++ b/src/main/java/com/xinguan/mislab/controller/CommonController.java @@ -19,7 +19,7 @@ import java.util.UUID; public class CommonController { // 配置文件保存目录 - private static final String UPLOAD_DIR = "D:/杂/mislab/"; // 确保路径末尾有分隔符 + private static final String UPLOAD_DIR = "file:/usr/local/JAVA/project/photo/"; @PostMapping("/upload") public Result upload(MultipartFile file) { diff --git a/src/main/java/com/xinguan/mislab/controller/DepartmentController.java b/src/main/java/com/xinguan/mislab/controller/DepartmentController.java index a13f810..776ec54 100644 --- a/src/main/java/com/xinguan/mislab/controller/DepartmentController.java +++ b/src/main/java/com/xinguan/mislab/controller/DepartmentController.java @@ -10,8 +10,10 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; +import java.util.List; + @RestController -@RequestMapping("/departmentpa") +@RequestMapping("/department") @Slf4j public class DepartmentController { @@ -42,4 +44,9 @@ public class DepartmentController { return Result.success(); } + @GetMapping("/all") + public Result getAll(){ + List list = departmentService.getAll(); + return Result.success(list); + } } diff --git a/src/main/java/com/xinguan/mislab/controller/ItemController.java b/src/main/java/com/xinguan/mislab/controller/ItemController.java index 1ac9dd1..7bb26c7 100644 --- a/src/main/java/com/xinguan/mislab/controller/ItemController.java +++ b/src/main/java/com/xinguan/mislab/controller/ItemController.java @@ -8,6 +8,8 @@ import com.xinguan.mislab.service.ItemService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.util.List; + @RestController @RequestMapping("/item") public class ItemController { @@ -39,4 +41,10 @@ public class ItemController { return Result.success(pageResult); } + @GetMapping("/all") + public Result> getAll(){ + List list = itemService.getAll(); + return Result.success(list); + } + } diff --git a/src/main/java/com/xinguan/mislab/service/DepartmentService.java b/src/main/java/com/xinguan/mislab/service/DepartmentService.java index 428ce4a..cbc87c4 100644 --- a/src/main/java/com/xinguan/mislab/service/DepartmentService.java +++ b/src/main/java/com/xinguan/mislab/service/DepartmentService.java @@ -5,6 +5,8 @@ import com.xinguan.mislab.pojo.DTO.DepartmentDTO; import com.xinguan.mislab.pojo.entity.Department; import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + /** * @author gyklc * @description 针对表【department(项目信息)】的数据库操作Service @@ -17,4 +19,6 @@ public interface DepartmentService extends IService { PageResult pageQuery(int page, int pageSize); void updateMsg(Department department); + + List getAll(); } diff --git a/src/main/java/com/xinguan/mislab/service/ItemService.java b/src/main/java/com/xinguan/mislab/service/ItemService.java index 33b4bfd..c496694 100644 --- a/src/main/java/com/xinguan/mislab/service/ItemService.java +++ b/src/main/java/com/xinguan/mislab/service/ItemService.java @@ -5,6 +5,8 @@ import com.xinguan.mislab.pojo.entity.Item; import com.baomidou.mybatisplus.extension.service.IService; import com.xinguan.mislab.pojo.DTO.ItemDTO; +import java.util.List; + /** * @author gyklc * @description 针对表【item(项目信息)】的数据库操作Service @@ -15,4 +17,6 @@ public interface ItemService extends IService { void saveNew(ItemDTO itemDTO); PageResult pageQuery(int page, int pageSize); + + List getAll(); } diff --git a/src/main/java/com/xinguan/mislab/service/impl/DepartmentServiceImpl.java b/src/main/java/com/xinguan/mislab/service/impl/DepartmentServiceImpl.java index d68ae87..874ce17 100644 --- a/src/main/java/com/xinguan/mislab/service/impl/DepartmentServiceImpl.java +++ b/src/main/java/com/xinguan/mislab/service/impl/DepartmentServiceImpl.java @@ -14,6 +14,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.time.LocalDateTime; +import java.util.List; /** * @author gyklc @@ -48,6 +49,13 @@ public class DepartmentServiceImpl extends ServiceImpl getAll() { + List list = departmentMapper.selectList(null); + return list; + + } + } diff --git a/src/main/java/com/xinguan/mislab/service/impl/ItemServiceImpl.java b/src/main/java/com/xinguan/mislab/service/impl/ItemServiceImpl.java index 85ddfa3..629fe6c 100644 --- a/src/main/java/com/xinguan/mislab/service/impl/ItemServiceImpl.java +++ b/src/main/java/com/xinguan/mislab/service/impl/ItemServiceImpl.java @@ -12,6 +12,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.time.LocalDateTime; +import java.util.List; /** * @author gyklc @@ -38,6 +39,13 @@ public class ItemServiceImpl extends ServiceImpl Page itemPage1 = itemMapper.selectPage(itemPage, null); return new PageResult(itemPage1.getTotal(), itemPage1.getRecords()); } + + @Override + public List getAll() { + + List list = itemMapper.selectList(null); + return list; + } } diff --git a/src/main/java/com/xinguan/mislab/service/impl/UserServiceImpl.java b/src/main/java/com/xinguan/mislab/service/impl/UserServiceImpl.java index 274a038..79fff63 100644 --- a/src/main/java/com/xinguan/mislab/service/impl/UserServiceImpl.java +++ b/src/main/java/com/xinguan/mislab/service/impl/UserServiceImpl.java @@ -1,9 +1,8 @@ package com.xinguan.mislab.service.impl; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.github.pagehelper.Page; -import com.github.pagehelper.PageHelper; import com.xinguan.mislab.pojo.DTO.UserDTO; import com.xinguan.mislab.pojo.DTO.UserLoginDTO; @@ -80,9 +79,9 @@ public class UserServiceImpl extends ServiceImpl @Override public PageResult pageQuery(int page, int pageSize) { - PageHelper.startPage(page,pageSize); - Page page1 = userMapper.pageQuery(page, pageSize); - return new PageResult(page1.getTotal(), page1.getResult()); + Page userPage = new Page<>(page, pageSize); + Page page1 = userMapper.selectPage(userPage, null); + return new PageResult(page1.getTotal(), page1.getRecords()); } diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 5541ba0..51a9995 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -2,7 +2,7 @@ spring: profiles: active: dev main: - allow-circular-references: true + allow-circular-references: false datasource: druid: driver-class-name: com.mysql.cj.jdbc.Driver @@ -11,11 +11,9 @@ spring: password: 123 web: resources: - static-locations: D:/杂/mislab/ + static-locations: file:/usr/local/JAVA/mislab/photo/ mislab: jwt: user-ttl: 720000000 user-token-name: token -mybatis: - plugins: - - com.github.pagehelper.PageHelper + -- Gitee From 4cc35c87b1ef9e0db3876fd5d4c82ee2c5f4290d Mon Sep 17 00:00:00 2001 From: redoom Date: Sun, 8 Dec 2024 18:34:05 +0800 Subject: [PATCH 09/17] =?UTF-8?q?=E4=BA=8C=E9=98=B6=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/config/WebMvcConfiguration.java | 5 ++++- .../mislab/controller/FreshmanController.java | 5 +++-- .../xinguan/mislab/mapper/FreshmanMapper.java | 8 +++---- .../mislab/pojo/DTO/FreshmanPageQueryDTO.java | 1 - .../service/impl/FreshmanServiceImpl.java | 9 +++----- src/main/resources/mapper/FreshmanMapper.xml | 22 ++++++++----------- 6 files changed, 22 insertions(+), 28 deletions(-) diff --git a/src/main/java/com/xinguan/mislab/common/config/WebMvcConfiguration.java b/src/main/java/com/xinguan/mislab/common/config/WebMvcConfiguration.java index 6e09dd3..0d7e6a6 100644 --- a/src/main/java/com/xinguan/mislab/common/config/WebMvcConfiguration.java +++ b/src/main/java/com/xinguan/mislab/common/config/WebMvcConfiguration.java @@ -25,6 +25,9 @@ public class WebMvcConfiguration extends WebMvcConfigurationSupport { .addPathPatterns("/**") .excludePathPatterns("/user/login") .excludePathPatterns("/department/all") - .excludePathPatterns("/item/all"); + .excludePathPatterns("/item/all") + .excludePathPatterns("/graduate/all") + .excludePathPatterns("/freshman/new"); + } } diff --git a/src/main/java/com/xinguan/mislab/controller/FreshmanController.java b/src/main/java/com/xinguan/mislab/controller/FreshmanController.java index d4b08d9..775e9a5 100644 --- a/src/main/java/com/xinguan/mislab/controller/FreshmanController.java +++ b/src/main/java/com/xinguan/mislab/controller/FreshmanController.java @@ -19,12 +19,13 @@ public class FreshmanController { private FreshmanService freshmanService; @PostMapping("/list") - public Result list(FreshmanPageQueryDTO freshmanPageQueryDTO){ + public Result list(@RequestBody FreshmanPageQueryDTO freshmanPageQueryDTO) { PageResult pageResult = freshmanService.pageQuery(freshmanPageQueryDTO); return Result.success(pageResult); } - @PostMapping + + @PostMapping("/new") public Result save(@RequestBody FreshmanDTO freshmanDTO){ log.info("正在添加新生:{}",freshmanDTO); freshmanService.saveNewMenber(freshmanDTO); diff --git a/src/main/java/com/xinguan/mislab/mapper/FreshmanMapper.java b/src/main/java/com/xinguan/mislab/mapper/FreshmanMapper.java index ecae94d..b9ac1a9 100644 --- a/src/main/java/com/xinguan/mislab/mapper/FreshmanMapper.java +++ b/src/main/java/com/xinguan/mislab/mapper/FreshmanMapper.java @@ -1,13 +1,13 @@ package com.xinguan.mislab.mapper; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.github.pagehelper.Page; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.xinguan.mislab.pojo.DTO.FreshmanPageQueryDTO; import com.xinguan.mislab.pojo.VO.FreshmanVO; import com.xinguan.mislab.pojo.entity.Freshman; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.SelectProvider; +import org.apache.ibatis.annotations.Param; /** * @author gyklc @@ -18,9 +18,7 @@ import org.apache.ibatis.annotations.SelectProvider; @Mapper public interface FreshmanMapper extends BaseMapper { - - IPage pageQuery(IPage page, FreshmanPageQueryDTO freshmanPageQueryDTO); - + IPage pageQuery(Page page, @Param("queryDTO") FreshmanPageQueryDTO freshmanPageQueryDTO); void updateMsg(Freshman freshman); diff --git a/src/main/java/com/xinguan/mislab/pojo/DTO/FreshmanPageQueryDTO.java b/src/main/java/com/xinguan/mislab/pojo/DTO/FreshmanPageQueryDTO.java index a150915..7c02988 100644 --- a/src/main/java/com/xinguan/mislab/pojo/DTO/FreshmanPageQueryDTO.java +++ b/src/main/java/com/xinguan/mislab/pojo/DTO/FreshmanPageQueryDTO.java @@ -13,5 +13,4 @@ public class FreshmanPageQueryDTO { private String departmentId; private String major; private String studentId; - private String emailId; } diff --git a/src/main/java/com/xinguan/mislab/service/impl/FreshmanServiceImpl.java b/src/main/java/com/xinguan/mislab/service/impl/FreshmanServiceImpl.java index 74012d9..e0460e6 100644 --- a/src/main/java/com/xinguan/mislab/service/impl/FreshmanServiceImpl.java +++ b/src/main/java/com/xinguan/mislab/service/impl/FreshmanServiceImpl.java @@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.github.pagehelper.PageHelper; import com.xinguan.mislab.pojo.DTO.FreshmanDTO; import com.xinguan.mislab.pojo.DTO.FreshmanPageQueryDTO; import com.xinguan.mislab.pojo.VO.FreshmanVO; @@ -17,8 +16,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.web.bind.annotation.RequestBody; -import java.time.LocalDateTime; - /** * @author gyklc * @description 针对表【freshman(新生信息)】的数据库操作Service实现 @@ -32,12 +29,11 @@ public class FreshmanServiceImpl extends ServiceImpl private FreshmanMapper freshmanMapper; @Override - public PageResult pageQuery(@RequestBody FreshmanPageQueryDTO freshmanPageQueryDTO) { + public PageResult pageQuery(FreshmanPageQueryDTO freshmanPageQueryDTO) { // 创建分页对象,传入页码和每页大小 Page page = new Page<>(freshmanPageQueryDTO.getPage(), freshmanPageQueryDTO.getPageSize()); - // 执行分页查询 - IPage freshmanPage = freshmanMapper.pageQuery(page, freshmanPageQueryDTO); + IPage freshmanPage = freshmanMapper.pageQuery(page,freshmanPageQueryDTO); // 返回分页结果 return new PageResult(freshmanPage.getTotal(), freshmanPage.getRecords()); @@ -45,6 +41,7 @@ public class FreshmanServiceImpl extends ServiceImpl + @Override public void saveNewMenber(FreshmanDTO freshmanDTO) { Freshman freshman = new Freshman(); diff --git a/src/main/resources/mapper/FreshmanMapper.xml b/src/main/resources/mapper/FreshmanMapper.xml index dda3484..36bafd3 100644 --- a/src/main/resources/mapper/FreshmanMapper.xml +++ b/src/main/resources/mapper/FreshmanMapper.xml @@ -34,7 +34,7 @@ email_id = #{emailId} where id = #{id} - SELECT A.id, A.name, @@ -42,22 +42,18 @@ A.phone, A.grade, department.name AS department, - A.create_time, A.major, A.student_id, A.email_id - FROM - MisLab.freshman AS A - JOIN - department ON A.department_id = department.id + FROM MisLab.freshman AS A + JOIN department ON A.department_id = department.id - - name LIKE concat('%', #{name}, '%') - AND sex = #{sex} - AND grade = #{grade} - AND department_id = #{departmentId} - AND major = #{major} - + AND A.name LIKE concat('%', #{queryDTO.name}, '%') + AND A.sex = #{queryDTO.sex} + AND A.grade = #{queryDTO.grade} + AND A.department_id = #{queryDTO.departmentId} + AND A.major LIKE concat('%', #{queryDTO.major}, '%') + AND A.student_id = #{queryDTO.studentId} -- Gitee From 98a0cfaedcee192be7ad30a21682d686b39bb5a5 Mon Sep 17 00:00:00 2001 From: redoom Date: Sun, 8 Dec 2024 21:16:12 +0800 Subject: [PATCH 10/17] =?UTF-8?q?=E7=8E=B0=E9=98=B6=E6=AE=B5=E7=BB=93?= =?UTF-8?q?=E6=9D=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mislab/controller/GraduateController.java | 8 +++--- .../xinguan/mislab/mapper/GraduateMapper.java | 2 +- .../mislab/service/GraduateService.java | 4 +++ .../service/impl/FreshmanServiceImpl.java | 6 +++++ .../service/impl/GraduateServiceImpl.java | 26 +++++++++++++------ src/main/resources/mapper/FreshmanMapper.xml | 5 ++-- src/main/resources/mapper/GraduateMapper.xml | 6 ++--- 7 files changed, 39 insertions(+), 18 deletions(-) diff --git a/src/main/java/com/xinguan/mislab/controller/GraduateController.java b/src/main/java/com/xinguan/mislab/controller/GraduateController.java index 112f30c..01c52ec 100644 --- a/src/main/java/com/xinguan/mislab/controller/GraduateController.java +++ b/src/main/java/com/xinguan/mislab/controller/GraduateController.java @@ -12,6 +12,7 @@ import org.springframework.web.bind.annotation.*; import java.io.File; import java.io.IOException; +import java.util.List; import java.util.UUID; @RestController @@ -41,10 +42,9 @@ public class GraduateController { return Result.success(pageResult); } - @GetMapping("/{id}") - public Result getOne(@PathVariable Long id){ - log.info("正在查看:{}",id); - Graduate graduate = graduateService.getById(id); + @GetMapping("/all") + public Result> getAll(){ + List graduate = graduateService.getALL(); return Result.success(graduate); } diff --git a/src/main/java/com/xinguan/mislab/mapper/GraduateMapper.java b/src/main/java/com/xinguan/mislab/mapper/GraduateMapper.java index b20c6c1..30e3ca8 100644 --- a/src/main/java/com/xinguan/mislab/mapper/GraduateMapper.java +++ b/src/main/java/com/xinguan/mislab/mapper/GraduateMapper.java @@ -15,7 +15,7 @@ import org.apache.ibatis.annotations.Mapper; @Mapper public interface GraduateMapper extends BaseMapper { - Page pageQuery(GraduatePageQuery graduatePageQuery); + } diff --git a/src/main/java/com/xinguan/mislab/service/GraduateService.java b/src/main/java/com/xinguan/mislab/service/GraduateService.java index a891c0d..f5332c7 100644 --- a/src/main/java/com/xinguan/mislab/service/GraduateService.java +++ b/src/main/java/com/xinguan/mislab/service/GraduateService.java @@ -6,6 +6,8 @@ import com.xinguan.mislab.pojo.entity.Graduate; import com.baomidou.mybatisplus.extension.service.IService; import com.xinguan.mislab.common.result.PageResult; +import java.util.List; + /** * @author gyklc * @description 针对表【graduate(毕业人员)】的数据库操作Service @@ -31,4 +33,6 @@ public interface GraduateService extends IService { * @param graduate */ void updateMsg(Graduate graduate); + + List getALL(); } diff --git a/src/main/java/com/xinguan/mislab/service/impl/FreshmanServiceImpl.java b/src/main/java/com/xinguan/mislab/service/impl/FreshmanServiceImpl.java index e0460e6..ad1aea4 100644 --- a/src/main/java/com/xinguan/mislab/service/impl/FreshmanServiceImpl.java +++ b/src/main/java/com/xinguan/mislab/service/impl/FreshmanServiceImpl.java @@ -46,6 +46,12 @@ public class FreshmanServiceImpl extends ServiceImpl public void saveNewMenber(FreshmanDTO freshmanDTO) { Freshman freshman = new Freshman(); BeanUtils.copyProperties(freshmanDTO, freshman); + QueryWrapper wrapper = new QueryWrapper().eq("student_id", freshmanDTO); + Freshman one = freshmanMapper.selectOne(wrapper); + if (one != null){ + update(freshman, wrapper); + return; + } save(freshman); } diff --git a/src/main/java/com/xinguan/mislab/service/impl/GraduateServiceImpl.java b/src/main/java/com/xinguan/mislab/service/impl/GraduateServiceImpl.java index d608318..9b4b466 100644 --- a/src/main/java/com/xinguan/mislab/service/impl/GraduateServiceImpl.java +++ b/src/main/java/com/xinguan/mislab/service/impl/GraduateServiceImpl.java @@ -2,6 +2,7 @@ package com.xinguan.mislab.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.pagehelper.PageHelper; @@ -17,6 +18,7 @@ import org.springframework.stereotype.Service; import java.sql.Wrapper; import java.time.LocalDateTime; +import java.util.List; /** * @author gyklc @@ -39,27 +41,29 @@ public class GraduateServiceImpl extends ServiceImpl @Override public PageResult pageQuery(GraduatePageQuery graduatePageQuery) { + // 创建分页对象 Page graduatePage = new Page<>(graduatePageQuery.getPage(), graduatePageQuery.getPageSize()); - // 构建查询条件,可以根据需要加入更多条件 + // 构建查询条件 QueryWrapper queryWrapper = new QueryWrapper<>(); - if (graduatePageQuery.getName() != null) { + if (StringUtils.isNotBlank(graduatePageQuery.getName())) { queryWrapper.like("name", graduatePageQuery.getName()); } - if (graduatePageQuery.getGrade() != null) { + if (StringUtils.isNotBlank(graduatePageQuery.getGrade())) { queryWrapper.like("grade", graduatePageQuery.getGrade()); } - if (graduatePageQuery.getCompany() != null) { + if (StringUtils.isNotBlank(graduatePageQuery.getCompany())) { queryWrapper.like("company", graduatePageQuery.getCompany()); } - if (graduatePageQuery.getEmailId() != null) { + if (StringUtils.isNotBlank(graduatePageQuery.getEmailId())) { queryWrapper.like("email_id", graduatePageQuery.getEmailId()); } - Page graduatePage1 = graduateMapper.selectPage(graduatePage, queryWrapper); - + // 执行查询 + Page graduatePageResult = graduateMapper.selectPage(graduatePage, queryWrapper); // 返回分页结果 - return new PageResult(graduatePage1.getTotal(), graduatePage1.getRecords()); + return new PageResult(graduatePageResult.getTotal(), graduatePageResult.getRecords()); } + @Override public void updateMsg(Graduate graduate) { if (graduate == null || graduate.getId() == null) { @@ -78,6 +82,12 @@ public class GraduateServiceImpl extends ServiceImpl } } + @Override + public List getALL() { + List graduates = graduateMapper.selectList(null); + return graduates; + } + } diff --git a/src/main/resources/mapper/FreshmanMapper.xml b/src/main/resources/mapper/FreshmanMapper.xml index 36bafd3..b59c60a 100644 --- a/src/main/resources/mapper/FreshmanMapper.xml +++ b/src/main/resources/mapper/FreshmanMapper.xml @@ -48,13 +48,14 @@ FROM MisLab.freshman AS A JOIN department ON A.department_id = department.id - AND A.name LIKE concat('%', #{queryDTO.name}, '%') + AND A.name LIKE concat('%', #{queryDTO.name}, '%') AND A.sex = #{queryDTO.sex} AND A.grade = #{queryDTO.grade} AND A.department_id = #{queryDTO.departmentId} - AND A.major LIKE concat('%', #{queryDTO.major}, '%') + AND A.major LIKE concat('%', #{queryDTO.major}, '%') AND A.student_id = #{queryDTO.studentId} + diff --git a/src/main/resources/mapper/GraduateMapper.xml b/src/main/resources/mapper/GraduateMapper.xml index 2ca62b6..d098f70 100644 --- a/src/main/resources/mapper/GraduateMapper.xml +++ b/src/main/resources/mapper/GraduateMapper.xml @@ -23,9 +23,9 @@ -- Gitee From 6360d67f4695278c375287fd8da7e5a79d766d7d Mon Sep 17 00:00:00 2001 From: Curious Cat <147121413+xiayintao123@users.noreply.github.com> Date: Sun, 8 Dec 2024 21:16:47 +0800 Subject: [PATCH 11/17] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=AD=A3=E5=BC=8F?= =?UTF-8?q?=E6=88=90=E5=91=98=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/OfficialControlller.java | 47 +++++++++++++++++++ .../xinguan/mislab/pojo/DTO/OfficialDTO.java | 21 +++++++++ .../mislab/pojo/DTO/OfficialPageQueryDTO.java | 15 ++++++ .../xinguan/mislab/pojo/VO/OfficialVO.java | 28 +++++++++++ 4 files changed, 111 insertions(+) create mode 100644 src/main/java/com/xinguan/mislab/controller/OfficialControlller.java create mode 100644 src/main/java/com/xinguan/mislab/pojo/DTO/OfficialDTO.java create mode 100644 src/main/java/com/xinguan/mislab/pojo/DTO/OfficialPageQueryDTO.java create mode 100644 src/main/java/com/xinguan/mislab/pojo/VO/OfficialVO.java diff --git a/src/main/java/com/xinguan/mislab/controller/OfficialControlller.java b/src/main/java/com/xinguan/mislab/controller/OfficialControlller.java new file mode 100644 index 0000000..5d12ed5 --- /dev/null +++ b/src/main/java/com/xinguan/mislab/controller/OfficialControlller.java @@ -0,0 +1,47 @@ +package com.xinguan.mislab.controller; + + +import com.xinguan.mislab.common.result.PageResult; +import com.xinguan.mislab.common.result.Result; +import com.xinguan.mislab.pojo.DTO.OfficialDTO; +import com.xinguan.mislab.pojo.DTO.OfficialPageQueryDTO; +import com.xinguan.mislab.pojo.entity.Official; +import com.xinguan.mislab.service.OfficialService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@RestController +@RequestMapping("/Officail") +@Slf4j +public class OfficialControlller { + @Autowired + private OfficialService officialService; + + @PostMapping("/create") + public Result save(@RequestBody OfficialDTO officialDTO){ + log.info("正在储存对象:{}",officialDTO); + officialService.saveOfficial(officialDTO); + return Result.success(); + } + @DeleteMapping("{id}") + public Result delete(@PathVariable Long id){ + log.info("正在删除:{}",id); + officialService.removeById(id); + return Result.success(); + } + + @PostMapping("/list") + public Result list(@RequestBody OfficialPageQueryDTO officialPageQueryDTO){ + PageResult pageResult = officialService.pageQuery(officialPageQueryDTO); + return Result.success(pageResult); + } + + + @PutMapping + public Result update(@RequestBody Official official){ + log.info("正在更改:{}", official.getId()); + officialService.updateMsg(official); + return Result.success(); + } +} diff --git a/src/main/java/com/xinguan/mislab/pojo/DTO/OfficialDTO.java b/src/main/java/com/xinguan/mislab/pojo/DTO/OfficialDTO.java new file mode 100644 index 0000000..9d65a8c --- /dev/null +++ b/src/main/java/com/xinguan/mislab/pojo/DTO/OfficialDTO.java @@ -0,0 +1,21 @@ +package com.xinguan.mislab.pojo.DTO; + + +import lombok.Data; + +@Data +public class OfficialDTO { + private String name; + + private String sex; + + private String phone; + + private String departmentId; + + private String major; + + private String studentId; + + private String emailId; +} diff --git a/src/main/java/com/xinguan/mislab/pojo/DTO/OfficialPageQueryDTO.java b/src/main/java/com/xinguan/mislab/pojo/DTO/OfficialPageQueryDTO.java new file mode 100644 index 0000000..911843c --- /dev/null +++ b/src/main/java/com/xinguan/mislab/pojo/DTO/OfficialPageQueryDTO.java @@ -0,0 +1,15 @@ +package com.xinguan.mislab.pojo.DTO; + +import lombok.Data; + +@Data +public class OfficialPageQueryDTO { + private Integer page; + private Integer pageSize; + private String name; + private String sex; + private String departmentId; + private String major; + private String studentId; + private String emailId; +} diff --git a/src/main/java/com/xinguan/mislab/pojo/VO/OfficialVO.java b/src/main/java/com/xinguan/mislab/pojo/VO/OfficialVO.java new file mode 100644 index 0000000..be90c0a --- /dev/null +++ b/src/main/java/com/xinguan/mislab/pojo/VO/OfficialVO.java @@ -0,0 +1,28 @@ +package com.xinguan.mislab.pojo.VO; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@NoArgsConstructor +@AllArgsConstructor +@Builder +public class OfficialVO { + private Long id; + + private String name; + + private String sex; + + private String phone; + + private String department; + + private String major; + + private String studentId; + + private String emailId; +} \ No newline at end of file -- Gitee From 73c907dae807952b4a3c537c02e0ae88dbd652b5 Mon Sep 17 00:00:00 2001 From: Curious Cat <147121413+xiayintao123@users.noreply.github.com> Date: Sun, 8 Dec 2024 21:23:00 +0800 Subject: [PATCH 12/17] =?UTF-8?q?=E6=9B=B4=E6=94=B9graduateMapper.xml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xinguan/mislab/pojo/entity/Freshman.java | 2 -- .../xinguan/mislab/pojo/entity/Graduate.java | 6 ++-- src/main/resources/mapper/GraduateMapper.xml | 30 +++++++++---------- 3 files changed, 18 insertions(+), 20 deletions(-) diff --git a/src/main/java/com/xinguan/mislab/pojo/entity/Freshman.java b/src/main/java/com/xinguan/mislab/pojo/entity/Freshman.java index 601b6a1..8394b6e 100644 --- a/src/main/java/com/xinguan/mislab/pojo/entity/Freshman.java +++ b/src/main/java/com/xinguan/mislab/pojo/entity/Freshman.java @@ -20,8 +20,6 @@ public class Freshman implements Serializable { private String phone; - private String grade; - private String departmentId; private String major; diff --git a/src/main/java/com/xinguan/mislab/pojo/entity/Graduate.java b/src/main/java/com/xinguan/mislab/pojo/entity/Graduate.java index 156284f..daa2349 100644 --- a/src/main/java/com/xinguan/mislab/pojo/entity/Graduate.java +++ b/src/main/java/com/xinguan/mislab/pojo/entity/Graduate.java @@ -20,11 +20,11 @@ public class Graduate implements Serializable { private String phone; - private String grade; + private String departmentId; - private String photo; + private String major; - private String company; + private String studentId; private String emailId; diff --git a/src/main/resources/mapper/GraduateMapper.xml b/src/main/resources/mapper/GraduateMapper.xml index 2ca62b6..d993d6f 100644 --- a/src/main/resources/mapper/GraduateMapper.xml +++ b/src/main/resources/mapper/GraduateMapper.xml @@ -5,27 +5,27 @@ - - - - - - - + + + + + + + - id,name,sex, - phone,grade,photo, - company,emailId + id, name, sex, phone, department_id, major, student_id, email_id + - + \ No newline at end of file -- Gitee From 3fc897ba7f3e70221e1503816f182d241518018f Mon Sep 17 00:00:00 2001 From: Curious Cat <147121413+xiayintao123@users.noreply.github.com> Date: Sun, 8 Dec 2024 21:55:45 +0800 Subject: [PATCH 13/17] =?UTF-8?q?=E6=9B=B4=E6=94=B9grade?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mislab/config/SimpleCORSFilter.java | 51 ------------------- .../mislab/controller/CommonController.java | 20 ++++++-- .../mislab/controller/FreshmanController.java | 5 ++ .../xinguan/mislab/mapper/FreshmanMapper.java | 5 ++ .../xinguan/mislab/mapper/GraduateMapper.java | 5 ++ .../mislab/service/FreshmanService.java | 5 ++ .../service/impl/FreshmanServiceImpl.java | 24 ++++++++- src/main/resources/mapper/FreshmanMapper.xml | 5 +- src/main/resources/mapper/GraduateMapper.xml | 3 ++ 9 files changed, 65 insertions(+), 58 deletions(-) delete mode 100644 src/main/java/com/xinguan/mislab/config/SimpleCORSFilter.java diff --git a/src/main/java/com/xinguan/mislab/config/SimpleCORSFilter.java b/src/main/java/com/xinguan/mislab/config/SimpleCORSFilter.java deleted file mode 100644 index 5a859e8..0000000 --- a/src/main/java/com/xinguan/mislab/config/SimpleCORSFilter.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.xinguan.mislab.config; - -import org.springframework.stereotype.Component; - -import javax.servlet.Filter; -import javax.servlet.FilterChain; -import javax.servlet.FilterConfig; -import javax.servlet.ServletException; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; - -/** - * @author :冯一晨 - * @date : 2024/12/2 18:27 - * @Description: - */ - -@Component -public class SimpleCORSFilter implements Filter { - - @Override - public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { - HttpServletResponse response = (HttpServletResponse) res; - HttpServletRequest request = (HttpServletRequest) req; - - response.setHeader("Access-Control-Allow-Origin", "*"); - response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE, PUT"); - response.setHeader("Access-Control-Max-Age", "3600"); - response.setHeader("Access-Control-Allow-Headers", "Content-Type, Authorization, Content-Length, X-Requested-With"); - response.setHeader("Access-Control-Allow-Credentials", "true"); - response.setHeader("Access-Control-Expose-Headers", "Content-Disposition"); - - if ("OPTIONS".equalsIgnoreCase(request.getMethod())) { - response.setStatus(HttpServletResponse.SC_OK); - } else { - chain.doFilter(req, res); - } - } - - @Override - public void init(FilterConfig filterConfig) { - } - - @Override - public void destroy() { - } -} - diff --git a/src/main/java/com/xinguan/mislab/controller/CommonController.java b/src/main/java/com/xinguan/mislab/controller/CommonController.java index 974ea17..cb5bac5 100644 --- a/src/main/java/com/xinguan/mislab/controller/CommonController.java +++ b/src/main/java/com/xinguan/mislab/controller/CommonController.java @@ -1,23 +1,29 @@ package com.xinguan.mislab.controller; import com.xinguan.mislab.common.result.Result; +import com.xinguan.mislab.pojo.entity.Graduate; +import com.xinguan.mislab.service.FreshmanService; +import com.xinguan.mislab.service.GraduateService; +import com.xinguan.mislab.service.OfficialService; import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import java.io.File; import java.io.IOException; import java.util.Arrays; import java.util.List; +import java.util.Set; import java.util.UUID; @RestController @RequestMapping("/common") @Slf4j public class CommonController { + @Autowired + private FreshmanService freshmanService; + // 配置文件保存目录 private static final String UPLOAD_DIR = "file:/usr/local/JAVA/project/photo/"; @@ -59,4 +65,10 @@ public class CommonController { return Result.error("文件上传失败"); } } + + @GetMapping("/grade") + public Result> gradeQuery(){ + Set result = freshmanService.gradeQuery(); + return Result.success(result); + } } diff --git a/src/main/java/com/xinguan/mislab/controller/FreshmanController.java b/src/main/java/com/xinguan/mislab/controller/FreshmanController.java index 775e9a5..f521e0f 100644 --- a/src/main/java/com/xinguan/mislab/controller/FreshmanController.java +++ b/src/main/java/com/xinguan/mislab/controller/FreshmanController.java @@ -10,6 +10,9 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.util.List; +import java.util.Set; + @RestController @RequestMapping("freshman") @Slf4j @@ -48,4 +51,6 @@ public class FreshmanController { } + + } diff --git a/src/main/java/com/xinguan/mislab/mapper/FreshmanMapper.java b/src/main/java/com/xinguan/mislab/mapper/FreshmanMapper.java index b9ac1a9..0ceef0f 100644 --- a/src/main/java/com/xinguan/mislab/mapper/FreshmanMapper.java +++ b/src/main/java/com/xinguan/mislab/mapper/FreshmanMapper.java @@ -9,6 +9,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; +import java.util.Set; + /** * @author gyklc * @description 针对表【freshman(新生信息)】的数据库操作Mapper @@ -22,6 +25,8 @@ public interface FreshmanMapper extends BaseMapper { void updateMsg(Freshman freshman); + + Set gradeQuery(); } diff --git a/src/main/java/com/xinguan/mislab/mapper/GraduateMapper.java b/src/main/java/com/xinguan/mislab/mapper/GraduateMapper.java index b20c6c1..d0ff160 100644 --- a/src/main/java/com/xinguan/mislab/mapper/GraduateMapper.java +++ b/src/main/java/com/xinguan/mislab/mapper/GraduateMapper.java @@ -6,6 +6,9 @@ import com.xinguan.mislab.pojo.entity.Graduate; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Mapper; +import java.util.List; +import java.util.Set; + /** * @author gyklc * @description 针对表【graduate(毕业人员)】的数据库操作Mapper @@ -16,6 +19,8 @@ import org.apache.ibatis.annotations.Mapper; public interface GraduateMapper extends BaseMapper { Page pageQuery(GraduatePageQuery graduatePageQuery); + + Set gradeQuery(); } diff --git a/src/main/java/com/xinguan/mislab/service/FreshmanService.java b/src/main/java/com/xinguan/mislab/service/FreshmanService.java index f0f3145..3e9bce2 100644 --- a/src/main/java/com/xinguan/mislab/service/FreshmanService.java +++ b/src/main/java/com/xinguan/mislab/service/FreshmanService.java @@ -6,6 +6,9 @@ import com.xinguan.mislab.pojo.entity.Freshman; import com.baomidou.mybatisplus.extension.service.IService; import com.xinguan.mislab.common.result.PageResult; +import java.util.List; +import java.util.Set; + /** * @author gyklc * @description 针对表【freshman(新生信息)】的数据库操作Service @@ -37,4 +40,6 @@ public interface FreshmanService extends IService { * @param freshman */ void updateMsg(Freshman freshman); + + Set gradeQuery(); } diff --git a/src/main/java/com/xinguan/mislab/service/impl/FreshmanServiceImpl.java b/src/main/java/com/xinguan/mislab/service/impl/FreshmanServiceImpl.java index e0460e6..3ad78c3 100644 --- a/src/main/java/com/xinguan/mislab/service/impl/FreshmanServiceImpl.java +++ b/src/main/java/com/xinguan/mislab/service/impl/FreshmanServiceImpl.java @@ -1,9 +1,10 @@ package com.xinguan.mislab.service.impl; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.xinguan.mislab.mapper.GraduateMapper; +import com.xinguan.mislab.mapper.OfficialMapper; import com.xinguan.mislab.pojo.DTO.FreshmanDTO; import com.xinguan.mislab.pojo.DTO.FreshmanPageQueryDTO; import com.xinguan.mislab.pojo.VO.FreshmanVO; @@ -11,11 +12,18 @@ import com.xinguan.mislab.pojo.entity.Freshman; import com.xinguan.mislab.common.result.PageResult; import com.xinguan.mislab.service.FreshmanService; import com.xinguan.mislab.mapper.FreshmanMapper; +import com.xinguan.mislab.service.GraduateService; +import com.xinguan.mislab.service.OfficialService; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.web.bind.annotation.RequestBody; +import java.util.List; +import java.util.Set; + +import static java.lang.reflect.Array.set; + /** * @author gyklc * @description 针对表【freshman(新生信息)】的数据库操作Service实现 @@ -27,6 +35,10 @@ public class FreshmanServiceImpl extends ServiceImpl @Autowired private FreshmanMapper freshmanMapper; + @Autowired + private GraduateMapper graduateMapper; + @Autowired + private OfficialMapper officialMapper; @Override public PageResult pageQuery(FreshmanPageQueryDTO freshmanPageQueryDTO) { @@ -59,6 +71,16 @@ public class FreshmanServiceImpl extends ServiceImpl freshmanMapper.updateMsg(freshman); } + @Override + public Set gradeQuery() { + Set result = freshmanMapper.gradeQuery(); + Set result1 = graduateMapper.gradeQuery(); + Set result2 = officialMapper.gradeQuery(); + result.addAll(result1); + result.addAll(result2); + return result; + } + } diff --git a/src/main/resources/mapper/FreshmanMapper.xml b/src/main/resources/mapper/FreshmanMapper.xml index 36bafd3..beef938 100644 --- a/src/main/resources/mapper/FreshmanMapper.xml +++ b/src/main/resources/mapper/FreshmanMapper.xml @@ -56,8 +56,9 @@ AND A.student_id = #{queryDTO.studentId} - - + diff --git a/src/main/resources/mapper/GraduateMapper.xml b/src/main/resources/mapper/GraduateMapper.xml index d993d6f..edb8d48 100644 --- a/src/main/resources/mapper/GraduateMapper.xml +++ b/src/main/resources/mapper/GraduateMapper.xml @@ -28,4 +28,7 @@ + \ No newline at end of file -- Gitee From c18a20e0e1aa6175f6731ccdb2ca4859e30d0a0e Mon Sep 17 00:00:00 2001 From: Curious Cat <147121413+xiayintao123@users.noreply.github.com> Date: Sun, 8 Dec 2024 22:01:59 +0800 Subject: [PATCH 14/17] 111 --- .../xinguan/mislab/mapper/OfficialMapper.java | 32 ++++++++++ .../xinguan/mislab/pojo/entity/Official.java | 33 ++++++++++ .../mislab/service/OfficialService.java | 23 +++++++ .../service/impl/OfficialServiceImpl.java | 63 +++++++++++++++++++ src/main/resources/mapper/OfficialMapper.xml | 57 +++++++++++++++++ 5 files changed, 208 insertions(+) create mode 100644 src/main/java/com/xinguan/mislab/mapper/OfficialMapper.java create mode 100644 src/main/java/com/xinguan/mislab/pojo/entity/Official.java create mode 100644 src/main/java/com/xinguan/mislab/service/OfficialService.java create mode 100644 src/main/java/com/xinguan/mislab/service/impl/OfficialServiceImpl.java create mode 100644 src/main/resources/mapper/OfficialMapper.xml diff --git a/src/main/java/com/xinguan/mislab/mapper/OfficialMapper.java b/src/main/java/com/xinguan/mislab/mapper/OfficialMapper.java new file mode 100644 index 0000000..bd63c51 --- /dev/null +++ b/src/main/java/com/xinguan/mislab/mapper/OfficialMapper.java @@ -0,0 +1,32 @@ +package com.xinguan.mislab.mapper; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.xinguan.mislab.pojo.DTO.OfficialPageQueryDTO; +import com.xinguan.mislab.pojo.VO.FreshmanVO; +import com.xinguan.mislab.pojo.VO.OfficialVO; +import com.xinguan.mislab.pojo.entity.Freshman; +import com.xinguan.mislab.pojo.entity.Official; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.Set; + +/** +* @author lenovo +* @description 针对表【official】的数据库操作Mapper +* @createDate 2024-12-08 18:52:06 +* @Entity com.xinguan.mislab.pojo.entity.Official +*/ +@Mapper +public interface OfficialMapper extends BaseMapper { + IPage pageQuery(Page page, @Param("queryDTO") OfficialPageQueryDTO officialPageQueryDTO); + + void updateMsg(Official official); + Set gradeQuery(); +} + + + + diff --git a/src/main/java/com/xinguan/mislab/pojo/entity/Official.java b/src/main/java/com/xinguan/mislab/pojo/entity/Official.java new file mode 100644 index 0000000..d5fc7e4 --- /dev/null +++ b/src/main/java/com/xinguan/mislab/pojo/entity/Official.java @@ -0,0 +1,33 @@ +package com.xinguan.mislab.pojo.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import lombok.Data; + +/** + * @TableName official + */ +@TableName(value ="official") +@Data +public class Official implements Serializable { + private Long id; + + private String name; + + private String sex; + + private String phone; + + private String departmentId; + + private String major; + + private String studentId; + + private String emailId; + + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/src/main/java/com/xinguan/mislab/service/OfficialService.java b/src/main/java/com/xinguan/mislab/service/OfficialService.java new file mode 100644 index 0000000..7d21768 --- /dev/null +++ b/src/main/java/com/xinguan/mislab/service/OfficialService.java @@ -0,0 +1,23 @@ +package com.xinguan.mislab.service; + +import com.xinguan.mislab.common.result.PageResult; +import com.xinguan.mislab.pojo.DTO.OfficialDTO; +import com.xinguan.mislab.pojo.DTO.OfficialPageQueryDTO; +import com.xinguan.mislab.pojo.entity.Official; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author lenovo +* @description 针对表【official】的数据库操作Service +* @createDate 2024-12-08 18:52:06 +*/ +public interface OfficialService extends IService { + + void saveOfficial(OfficialDTO officialDTO); + + PageResult pageQuery(OfficialPageQueryDTO officialPageQueryDTO); + + void removeById(Long id); + + void updateMsg(Official official); +} diff --git a/src/main/java/com/xinguan/mislab/service/impl/OfficialServiceImpl.java b/src/main/java/com/xinguan/mislab/service/impl/OfficialServiceImpl.java new file mode 100644 index 0000000..d60f087 --- /dev/null +++ b/src/main/java/com/xinguan/mislab/service/impl/OfficialServiceImpl.java @@ -0,0 +1,63 @@ +package com.xinguan.mislab.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.xinguan.mislab.common.result.PageResult; +import com.xinguan.mislab.pojo.DTO.OfficialDTO; +import com.xinguan.mislab.pojo.DTO.OfficialPageQueryDTO; +import com.xinguan.mislab.pojo.VO.FreshmanVO; +import com.xinguan.mislab.pojo.VO.OfficialVO; +import com.xinguan.mislab.pojo.entity.Graduate; +import com.xinguan.mislab.pojo.entity.Official; +import com.xinguan.mislab.service.OfficialService; +import com.xinguan.mislab.mapper.OfficialMapper; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** +* @author lenovo +* @description 针对表【official】的数据库操作Service实现 +* @createDate 2024-12-08 18:52:06 +*/ +@Service +public class OfficialServiceImpl extends ServiceImpl + implements OfficialService{ + + @Autowired + private OfficialMapper officialMapper; + + @Override + public void saveOfficial(OfficialDTO officialDTO) { + Official official = new Official(); + BeanUtils.copyProperties(officialDTO,official); + save(official); + + } + + @Override + public PageResult pageQuery(OfficialPageQueryDTO officialPageQueryDTO) { + // 创建分页对象,传入页码和每页大小 + Page page = new Page<>(officialPageQueryDTO.getPage(), officialPageQueryDTO.getPageSize()); + // 执行分页查询 + IPage freshmanPage = officialMapper.pageQuery(page,officialPageQueryDTO); + + // 返回分页结果 + return new PageResult(freshmanPage.getTotal(), freshmanPage.getRecords()); + } + + @Override + public void removeById(Long id) { + removeById(id); + } + + @Override + public void updateMsg(Official official) { + officialMapper.updateMsg(official); + } +} + + + + diff --git a/src/main/resources/mapper/OfficialMapper.xml b/src/main/resources/mapper/OfficialMapper.xml new file mode 100644 index 0000000..890ec6c --- /dev/null +++ b/src/main/resources/mapper/OfficialMapper.xml @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + id,name,sex, + phone,department_id,major, + student_id,email_id + + + update MisLab.official + set name = #{name}, + sex = #{sex}, + phone = #{phone}, + department_id = #{departmentId}, + major = #{major}, + student_id = #{studentId}, + email_id = #{emailId} + where id = #{id} + + + + -- Gitee From df558e687e32e74de2dda491fa4b64bf00923dc1 Mon Sep 17 00:00:00 2001 From: redoom Date: Sun, 8 Dec 2024 21:16:12 +0800 Subject: [PATCH 15/17] =?UTF-8?q?=E7=8E=B0=E9=98=B6=E6=AE=B5=E7=BB=93?= =?UTF-8?q?=E6=9D=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mislab/controller/GraduateController.java | 8 +++--- .../mislab/service/GraduateService.java | 4 +++ .../service/impl/FreshmanServiceImpl.java | 6 +++++ .../service/impl/GraduateServiceImpl.java | 26 +++++++++++++------ src/main/resources/mapper/FreshmanMapper.xml | 5 ++-- 5 files changed, 35 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/xinguan/mislab/controller/GraduateController.java b/src/main/java/com/xinguan/mislab/controller/GraduateController.java index 112f30c..01c52ec 100644 --- a/src/main/java/com/xinguan/mislab/controller/GraduateController.java +++ b/src/main/java/com/xinguan/mislab/controller/GraduateController.java @@ -12,6 +12,7 @@ import org.springframework.web.bind.annotation.*; import java.io.File; import java.io.IOException; +import java.util.List; import java.util.UUID; @RestController @@ -41,10 +42,9 @@ public class GraduateController { return Result.success(pageResult); } - @GetMapping("/{id}") - public Result getOne(@PathVariable Long id){ - log.info("正在查看:{}",id); - Graduate graduate = graduateService.getById(id); + @GetMapping("/all") + public Result> getAll(){ + List graduate = graduateService.getALL(); return Result.success(graduate); } diff --git a/src/main/java/com/xinguan/mislab/service/GraduateService.java b/src/main/java/com/xinguan/mislab/service/GraduateService.java index a891c0d..f5332c7 100644 --- a/src/main/java/com/xinguan/mislab/service/GraduateService.java +++ b/src/main/java/com/xinguan/mislab/service/GraduateService.java @@ -6,6 +6,8 @@ import com.xinguan.mislab.pojo.entity.Graduate; import com.baomidou.mybatisplus.extension.service.IService; import com.xinguan.mislab.common.result.PageResult; +import java.util.List; + /** * @author gyklc * @description 针对表【graduate(毕业人员)】的数据库操作Service @@ -31,4 +33,6 @@ public interface GraduateService extends IService { * @param graduate */ void updateMsg(Graduate graduate); + + List getALL(); } diff --git a/src/main/java/com/xinguan/mislab/service/impl/FreshmanServiceImpl.java b/src/main/java/com/xinguan/mislab/service/impl/FreshmanServiceImpl.java index 3ad78c3..16d5fb6 100644 --- a/src/main/java/com/xinguan/mislab/service/impl/FreshmanServiceImpl.java +++ b/src/main/java/com/xinguan/mislab/service/impl/FreshmanServiceImpl.java @@ -58,6 +58,12 @@ public class FreshmanServiceImpl extends ServiceImpl public void saveNewMenber(FreshmanDTO freshmanDTO) { Freshman freshman = new Freshman(); BeanUtils.copyProperties(freshmanDTO, freshman); + QueryWrapper wrapper = new QueryWrapper().eq("student_id", freshmanDTO); + Freshman one = freshmanMapper.selectOne(wrapper); + if (one != null){ + update(freshman, wrapper); + return; + } save(freshman); } diff --git a/src/main/java/com/xinguan/mislab/service/impl/GraduateServiceImpl.java b/src/main/java/com/xinguan/mislab/service/impl/GraduateServiceImpl.java index d608318..9b4b466 100644 --- a/src/main/java/com/xinguan/mislab/service/impl/GraduateServiceImpl.java +++ b/src/main/java/com/xinguan/mislab/service/impl/GraduateServiceImpl.java @@ -2,6 +2,7 @@ package com.xinguan.mislab.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.pagehelper.PageHelper; @@ -17,6 +18,7 @@ import org.springframework.stereotype.Service; import java.sql.Wrapper; import java.time.LocalDateTime; +import java.util.List; /** * @author gyklc @@ -39,27 +41,29 @@ public class GraduateServiceImpl extends ServiceImpl @Override public PageResult pageQuery(GraduatePageQuery graduatePageQuery) { + // 创建分页对象 Page graduatePage = new Page<>(graduatePageQuery.getPage(), graduatePageQuery.getPageSize()); - // 构建查询条件,可以根据需要加入更多条件 + // 构建查询条件 QueryWrapper queryWrapper = new QueryWrapper<>(); - if (graduatePageQuery.getName() != null) { + if (StringUtils.isNotBlank(graduatePageQuery.getName())) { queryWrapper.like("name", graduatePageQuery.getName()); } - if (graduatePageQuery.getGrade() != null) { + if (StringUtils.isNotBlank(graduatePageQuery.getGrade())) { queryWrapper.like("grade", graduatePageQuery.getGrade()); } - if (graduatePageQuery.getCompany() != null) { + if (StringUtils.isNotBlank(graduatePageQuery.getCompany())) { queryWrapper.like("company", graduatePageQuery.getCompany()); } - if (graduatePageQuery.getEmailId() != null) { + if (StringUtils.isNotBlank(graduatePageQuery.getEmailId())) { queryWrapper.like("email_id", graduatePageQuery.getEmailId()); } - Page graduatePage1 = graduateMapper.selectPage(graduatePage, queryWrapper); - + // 执行查询 + Page graduatePageResult = graduateMapper.selectPage(graduatePage, queryWrapper); // 返回分页结果 - return new PageResult(graduatePage1.getTotal(), graduatePage1.getRecords()); + return new PageResult(graduatePageResult.getTotal(), graduatePageResult.getRecords()); } + @Override public void updateMsg(Graduate graduate) { if (graduate == null || graduate.getId() == null) { @@ -78,6 +82,12 @@ public class GraduateServiceImpl extends ServiceImpl } } + @Override + public List getALL() { + List graduates = graduateMapper.selectList(null); + return graduates; + } + } diff --git a/src/main/resources/mapper/FreshmanMapper.xml b/src/main/resources/mapper/FreshmanMapper.xml index beef938..f5a45c4 100644 --- a/src/main/resources/mapper/FreshmanMapper.xml +++ b/src/main/resources/mapper/FreshmanMapper.xml @@ -48,13 +48,14 @@ FROM MisLab.freshman AS A JOIN department ON A.department_id = department.id - AND A.name LIKE concat('%', #{queryDTO.name}, '%') + AND A.name LIKE concat('%', #{queryDTO.name}, '%') AND A.sex = #{queryDTO.sex} AND A.grade = #{queryDTO.grade} AND A.department_id = #{queryDTO.departmentId} - AND A.major LIKE concat('%', #{queryDTO.major}, '%') + AND A.major LIKE concat('%', #{queryDTO.major}, '%') AND A.student_id = #{queryDTO.studentId} + diff --git a/src/main/resources/mapper/GraduateMapper.xml b/src/main/resources/mapper/GraduateMapper.xml index edb8d48..6218044 100644 --- a/src/main/resources/mapper/GraduateMapper.xml +++ b/src/main/resources/mapper/GraduateMapper.xml @@ -29,6 +29,6 @@ \ No newline at end of file diff --git a/src/main/resources/mapper/OfficialMapper.xml b/src/main/resources/mapper/OfficialMapper.xml index 890ec6c..86901df 100644 --- a/src/main/resources/mapper/OfficialMapper.xml +++ b/src/main/resources/mapper/OfficialMapper.xml @@ -52,6 +52,6 @@ -- Gitee From c12cc322093650f06f809b659bef8eeb63b20ed5 Mon Sep 17 00:00:00 2001 From: redoom Date: Mon, 9 Dec 2024 16:18:29 +0800 Subject: [PATCH 17/17] =?UTF-8?q?=E7=8A=B6=E6=80=81=E7=A0=81=E8=BF=94?= =?UTF-8?q?=E5=9B=9E=E6=9B=B4=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/xinguan/mislab/common/result/Result.java | 8 ++++---- .../com/xinguan/mislab/controller/CommonController.java | 8 +++++--- .../xinguan/mislab/service/impl/FreshmanServiceImpl.java | 1 + 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/xinguan/mislab/common/result/Result.java b/src/main/java/com/xinguan/mislab/common/result/Result.java index ea8bab1..62f4357 100644 --- a/src/main/java/com/xinguan/mislab/common/result/Result.java +++ b/src/main/java/com/xinguan/mislab/common/result/Result.java @@ -11,13 +11,13 @@ import java.io.Serializable; @Data public class Result implements Serializable { - private Integer code; //1成功,0失败 + private Integer code; //200成功,0失败 private String msg; private T data; public static Result success() { Result result = new Result(); - result.code = 1; + result.code = 200; return result; } @@ -28,10 +28,10 @@ public class Result implements Serializable { return result; } - public static Result error(String msg) { + public static Result error(Integer code, String msg) { Result result = new Result(); result.msg = msg; - result.code = 0; + result.code = code; return result; } diff --git a/src/main/java/com/xinguan/mislab/controller/CommonController.java b/src/main/java/com/xinguan/mislab/controller/CommonController.java index cb5bac5..34f0895 100644 --- a/src/main/java/com/xinguan/mislab/controller/CommonController.java +++ b/src/main/java/com/xinguan/mislab/controller/CommonController.java @@ -31,8 +31,9 @@ public class CommonController { public Result upload(MultipartFile file) { log.info("文件上传:{}", file); + // 文件为空时,返回 400 错误 if (file.isEmpty()) { - return Result.error("文件不能为空"); + return Result.error(400, "文件不能为空"); } try { @@ -44,7 +45,7 @@ public class CommonController { // 限制文件格式为图片 List allowedExtensions = Arrays.asList(".jpg", ".jpeg", ".png", ".gif"); if (!allowedExtensions.contains(extension.toLowerCase())) { - return Result.error("只允许上传图片文件"); + return Result.error(415, "只允许上传图片文件"); // 415 表示不支持的文件类型 } // 生成唯一的文件名 @@ -62,10 +63,11 @@ public class CommonController { } catch (IOException e) { log.error("文件上传失败:{}", e); - return Result.error("文件上传失败"); + return Result.error(500, "文件上传失败"); // 500 表示服务器错误 } } + @GetMapping("/grade") public Result> gradeQuery(){ Set result = freshmanService.gradeQuery(); diff --git a/src/main/java/com/xinguan/mislab/service/impl/FreshmanServiceImpl.java b/src/main/java/com/xinguan/mislab/service/impl/FreshmanServiceImpl.java index 16d5fb6..6270ba9 100644 --- a/src/main/java/com/xinguan/mislab/service/impl/FreshmanServiceImpl.java +++ b/src/main/java/com/xinguan/mislab/service/impl/FreshmanServiceImpl.java @@ -1,5 +1,6 @@ package com.xinguan.mislab.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -- Gitee