From 13bd3dc21e305ab202e46ef54ee19833d0eb4f6d Mon Sep 17 00:00:00 2001 From: Bunny <1319900154@qq.com> Date: Fri, 5 Jan 2024 16:58:14 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B6=88=E6=81=AF=E8=BD=AC=E6=8D=A2=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/sky/dto/EmployeePageQueryDTO.java | 2 +- .../main/java/com/sky/entity/Employee.java | 3 +- .../com/sky/config/WebMvcConfiguration.java | 32 ++++++++++++++++--- .../controller/admin/EmployeeController.java | 22 ++++++++++--- .../java/com/sky/mapper/EmployeeMapper.java | 9 ++++++ .../java/com/sky/service/EmployeeService.java | 9 ++++++ .../sky/service/impl/EmployeeServiceImpl.java | 24 +++++++++++++- .../main/resources/mapper/EmployeeMapper.xml | 13 +++++++- 8 files changed, 101 insertions(+), 13 deletions(-) diff --git a/sky-pojo/src/main/java/com/sky/dto/EmployeePageQueryDTO.java b/sky-pojo/src/main/java/com/sky/dto/EmployeePageQueryDTO.java index 8c3dcf6..a5bedf9 100644 --- a/sky-pojo/src/main/java/com/sky/dto/EmployeePageQueryDTO.java +++ b/sky-pojo/src/main/java/com/sky/dto/EmployeePageQueryDTO.java @@ -1,5 +1,6 @@ package com.sky.dto; +import com.sky.entity.Employee; import lombok.Data; import java.io.Serializable; @@ -15,5 +16,4 @@ public class EmployeePageQueryDTO implements Serializable { //每页显示记录数 private int pageSize; - } diff --git a/sky-pojo/src/main/java/com/sky/entity/Employee.java b/sky-pojo/src/main/java/com/sky/entity/Employee.java index 359e380..3b1824d 100644 --- a/sky-pojo/src/main/java/com/sky/entity/Employee.java +++ b/sky-pojo/src/main/java/com/sky/entity/Employee.java @@ -1,5 +1,6 @@ package com.sky.entity; +import com.fasterxml.jackson.annotation.JsonFormat; import lombok.*; import java.io.Serializable; @@ -29,7 +30,7 @@ public class Employee implements Serializable { private Integer status; - //@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy年MM月dd日 HH:mm:ss") private LocalDateTime createTime; //@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") diff --git a/sky-server/src/main/java/com/sky/config/WebMvcConfiguration.java b/sky-server/src/main/java/com/sky/config/WebMvcConfiguration.java index 98fc764..c545af3 100644 --- a/sky-server/src/main/java/com/sky/config/WebMvcConfiguration.java +++ b/sky-server/src/main/java/com/sky/config/WebMvcConfiguration.java @@ -1,10 +1,15 @@ package com.sky.config; +import ch.qos.logback.classic.pattern.MessageConverter; +import com.fasterxml.jackson.databind.ObjectMapper; import com.sky.interceptor.JwtTokenAdminInterceptor; +import com.sky.json.JacksonObjectMapper; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +import org.springframework.http.converter.HttpMessageConverter; +import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport; @@ -15,6 +20,9 @@ import springfox.documentation.service.ApiInfo; import springfox.documentation.spi.DocumentationType; import springfox.documentation.spring.web.plugins.Docket; +import javax.annotation.Resource; +import java.util.List; + /** * 配置类,注册web层相关组件 */ @@ -22,13 +30,13 @@ import springfox.documentation.spring.web.plugins.Docket; @Slf4j public class WebMvcConfiguration extends WebMvcConfigurationSupport { - @Autowired + @Resource private JwtTokenAdminInterceptor jwtTokenAdminInterceptor; /** * 注册自定义拦截器 * - * @param registry + * @param registry InterceptorRegistry */ protected void addInterceptors(InterceptorRegistry registry) { log.info("开始注册自定义拦截器..."); @@ -39,7 +47,8 @@ public class WebMvcConfiguration extends WebMvcConfigurationSupport { /** * 通过knife4j生成接口文档 - * @return + * + * @return Docket */ @Bean public Docket docket() { @@ -59,10 +68,25 @@ public class WebMvcConfiguration extends WebMvcConfigurationSupport { /** * 设置静态资源映射 - * @param registry + * + * @param registry ResourceHandlerRegistry */ protected void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/doc.html").addResourceLocations("classpath:/META-INF/resources/"); registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/"); } + + /** + * 扩展Spring MVC框架转换器 + * + * @param converters List> + */ + @Override + protected void extendMessageConverters(List> converters) { + super.extendMessageConverters(converters); + log.info("扩展消息转换器..."); + MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter(); + converter.setObjectMapper(new JacksonObjectMapper()); + converters.add(0,converter); + } } diff --git a/sky-server/src/main/java/com/sky/controller/admin/EmployeeController.java b/sky-server/src/main/java/com/sky/controller/admin/EmployeeController.java index 6f12a99..63802a4 100644 --- a/sky-server/src/main/java/com/sky/controller/admin/EmployeeController.java +++ b/sky-server/src/main/java/com/sky/controller/admin/EmployeeController.java @@ -5,8 +5,10 @@ import com.sky.constant.PasswordConstant; import com.sky.constant.StatusConstant; import com.sky.dto.EmployeeDTO; import com.sky.dto.EmployeeLoginDTO; +import com.sky.dto.EmployeePageQueryDTO; import com.sky.entity.Employee; import com.sky.properties.JwtProperties; +import com.sky.result.PageResult; import com.sky.result.Result; import com.sky.service.EmployeeService; import com.sky.utils.JwtUtil; @@ -18,10 +20,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.DigestUtils; -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 javax.annotation.Resource; import java.time.LocalDateTime; @@ -92,9 +91,22 @@ public class EmployeeController { */ @Operation(summary = "新增员工") @PostMapping - public Result save(@RequestBody EmployeeDTO employeeDTO) { + public Result save(@RequestBody EmployeeDTO employeeDTO) { log.info("新增员工:{}", employeeDTO); employeeService.insert(employeeDTO); return Result.success(); } + + /** + * 员工分页查询 + * + * @return Result + */ + @Operation(summary = "员工分页查询") + @GetMapping("/page") + public Result pageResultResult(EmployeePageQueryDTO employeePageQueryDTO) { + log.info("员工查找,参数为:{}", employeeService); + PageResult pageResult = employeeService.pageQuery(employeePageQueryDTO); + return Result.success(pageResult); + } } diff --git a/sky-server/src/main/java/com/sky/mapper/EmployeeMapper.java b/sky-server/src/main/java/com/sky/mapper/EmployeeMapper.java index 7543023..b9e35f7 100644 --- a/sky-server/src/main/java/com/sky/mapper/EmployeeMapper.java +++ b/sky-server/src/main/java/com/sky/mapper/EmployeeMapper.java @@ -1,5 +1,7 @@ package com.sky.mapper; +import com.github.pagehelper.Page; +import com.sky.dto.EmployeePageQueryDTO; import com.sky.entity.Employee; import org.apache.ibatis.annotations.Insert; import org.apache.ibatis.annotations.Mapper; @@ -21,4 +23,11 @@ public interface EmployeeMapper { * @param employee 员工 */ void insert(Employee employee); + + /** + * 员工分页查询 + * @param employeePageQueryDTO EmployeePageQueryDTO + * @return Page + */ + Page pageQuery(EmployeePageQueryDTO employeePageQueryDTO); } diff --git a/sky-server/src/main/java/com/sky/service/EmployeeService.java b/sky-server/src/main/java/com/sky/service/EmployeeService.java index f2ccf16..a1be09a 100644 --- a/sky-server/src/main/java/com/sky/service/EmployeeService.java +++ b/sky-server/src/main/java/com/sky/service/EmployeeService.java @@ -2,7 +2,9 @@ package com.sky.service; import com.sky.dto.EmployeeDTO; import com.sky.dto.EmployeeLoginDTO; +import com.sky.dto.EmployeePageQueryDTO; import com.sky.entity.Employee; +import com.sky.result.PageResult; public interface EmployeeService { @@ -18,4 +20,11 @@ public interface EmployeeService { * @param employeeDTO 请求新增员工参数 */ void insert(EmployeeDTO employeeDTO); + + /** + * 员工分页查询 + * @param employeeLoginDTO EmployeeService + * @return PageResult + */ + PageResult pageQuery(EmployeePageQueryDTO employeePageQueryDTO); } diff --git a/sky-server/src/main/java/com/sky/service/impl/EmployeeServiceImpl.java b/sky-server/src/main/java/com/sky/service/impl/EmployeeServiceImpl.java index 1534099..123db7e 100644 --- a/sky-server/src/main/java/com/sky/service/impl/EmployeeServiceImpl.java +++ b/sky-server/src/main/java/com/sky/service/impl/EmployeeServiceImpl.java @@ -1,16 +1,20 @@ package com.sky.service.impl; +import com.github.pagehelper.Page; +import com.github.pagehelper.PageHelper; import com.sky.constant.MessageConstant; import com.sky.constant.PasswordConstant; import com.sky.constant.StatusConstant; import com.sky.context.BaseContext; import com.sky.dto.EmployeeDTO; import com.sky.dto.EmployeeLoginDTO; +import com.sky.dto.EmployeePageQueryDTO; import com.sky.entity.Employee; import com.sky.exception.AccountLockedException; import com.sky.exception.AccountNotFoundException; import com.sky.exception.PasswordErrorException; import com.sky.mapper.EmployeeMapper; +import com.sky.result.PageResult; import com.sky.service.EmployeeService; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -21,6 +25,7 @@ import javax.annotation.Resource; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.time.LocalDateTime; +import java.util.List; @Service public class EmployeeServiceImpl implements EmployeeService { @@ -66,10 +71,11 @@ public class EmployeeServiceImpl implements EmployeeService { /** * 插入员工数据 + * * @param employeeDTO EmployeeDTO */ @Override - public void insert(EmployeeDTO employeeDTO) { + public void insert(EmployeeDTO employeeDTO) { Employee employee = new Employee(); // 对象属性拷贝 BeanUtils.copyProperties(employeeDTO, employee); @@ -90,4 +96,20 @@ public class EmployeeServiceImpl implements EmployeeService { employeeMapper.insert(employee); BaseContext.removeCurrentId(); } + + /** + * 员工分页查询 + * + * @param employeePageQueryDTO EmployeeService + * @return PageResult + */ + @Override + public PageResult pageQuery(EmployeePageQueryDTO employeePageQueryDTO) { + PageHelper.startPage(employeePageQueryDTO.getPage(), employeePageQueryDTO.getPageSize()); + Page page = employeeMapper.pageQuery(employeePageQueryDTO); + long total = page.getTotal(); + List result = page.getResult(); + + return new PageResult(total, result); + } } diff --git a/sky-server/src/main/resources/mapper/EmployeeMapper.xml b/sky-server/src/main/resources/mapper/EmployeeMapper.xml index 18c2a67..fa4a069 100644 --- a/sky-server/src/main/resources/mapper/EmployeeMapper.xml +++ b/sky-server/src/main/resources/mapper/EmployeeMapper.xml @@ -3,11 +3,22 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > - + insert into employee (name, username, password, phone, sex, id, id_number, status, create_time, update_time, create_user, update_user) values (#{name}, #{username}, #{password}, #{phone}, #{sex}, #{id}, #{idNumber}, #{status}, #{createTime}, #{updateTime}, #{createUser}, #{updateUser}); + + +