From 95d7781abb03d9a095ea88acb12e770255ac32ba Mon Sep 17 00:00:00 2001 From: 176yunxuan <362612387@qq.com~> Date: Tue, 23 Jan 2024 10:28:02 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=A1=E6=81=AF=E8=8E=B7=E5=8F=96=E5=AE=8C?= =?UTF-8?q?=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jsl/oa/controllers/MessageController.java | 36 +++++++++++++ .../java/com/jsl/oa/mapper/MessageMapper.java | 9 ++++ .../com/jsl/oa/model/doData/PageBeanDO.java | 15 ++++++ .../com/jsl/oa/services/MessageService.java | 4 ++ .../oa/services/impl/MessageServiceImpl.java | 50 +++++++++++++++++++ src/main/resources/application.yml | 6 +-- 6 files changed, 117 insertions(+), 3 deletions(-) create mode 100644 src/main/java/com/jsl/oa/model/doData/PageBeanDO.java diff --git a/src/main/java/com/jsl/oa/controllers/MessageController.java b/src/main/java/com/jsl/oa/controllers/MessageController.java index 7336adf..d23437a 100644 --- a/src/main/java/com/jsl/oa/controllers/MessageController.java +++ b/src/main/java/com/jsl/oa/controllers/MessageController.java @@ -1,17 +1,23 @@ package com.jsl.oa.controllers; +import com.jsl.oa.common.constant.BusinessConstants; import com.jsl.oa.services.MessageService; import com.jsl.oa.services.impl.MessageServiceImpl; import com.jsl.oa.utils.BaseResponse; import com.jsl.oa.utils.ErrorCode; +import com.jsl.oa.utils.JwtUtil; import com.jsl.oa.utils.ResultUtil; +import com.jsl.oa.utils.redis.TokenRedisUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.springframework.format.annotation.DateTimeFormat; import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; +import java.time.LocalDate; /** *

消息控制器

@@ -35,6 +41,36 @@ public class MessageController { return ResultUtil.error(ErrorCode.PARAMETER_ERROR); } else return messageService.messageDelete(id,request); } + + @GetMapping("/message/get") + public BaseResponse messageGet(@RequestParam(defaultValue = "1") Long page, + @RequestParam(defaultValue = "10") Long pageSize, + HttpServletRequest request, + @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate begin, + @DateTimeFormat (pattern = "yyyy-MM-dd") LocalDate end) { + log.info("请求接口[GET]:/message/get"); + String token = request.getHeader("Authorization").replace("Bearer ", ""); + Long uid = JwtUtil.getUserId(token); + if(uid == null){ + return ResultUtil.error(ErrorCode.USER_NOT_EXIST); + } else return messageService.messageGet(begin,end,page,pageSize,uid); + } + + @GetMapping("/message/get/all") + public BaseResponse messageGetAll(@RequestParam(defaultValue = "1") Long page, + @RequestParam(defaultValue = "10") Long pageSize, + HttpServletRequest request, + @RequestParam Long uid, + @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate begin, + @DateTimeFormat (pattern = "yyyy-MM-dd") LocalDate end) { + log.info("请求接口[GET]:/message/get/all"); + String token = request.getHeader("Authorization").replace("Bearer ", ""); + Long LoginId = JwtUtil.getUserId(token); + if(LoginId == null){ + return ResultUtil.error(ErrorCode.USER_NOT_EXIST); + } else return messageService.messageGetAll(request,begin,end,page,pageSize,LoginId,uid); + } + } diff --git a/src/main/java/com/jsl/oa/mapper/MessageMapper.java b/src/main/java/com/jsl/oa/mapper/MessageMapper.java index c8137f4..61f4f32 100644 --- a/src/main/java/com/jsl/oa/mapper/MessageMapper.java +++ b/src/main/java/com/jsl/oa/mapper/MessageMapper.java @@ -6,6 +6,9 @@ import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Update; +import java.time.LocalDate; +import java.util.List; + @Mapper public interface MessageMapper { @@ -17,4 +20,10 @@ public interface MessageMapper { @Select("SELECT * FROM organize_oa.oa_message where id = #{mid}") MessageDO getMessageById(Long mid); + + @Select("select count(*) from organize_oa.oa_message where uid = #{uid}") + Long count(Long uid); + + @Select("select * from organize_oa.oa_message where uid = #{uid}") //and created_at between #{begin} and #{end} limit #{start},#{pageSize}") + List page(LocalDate begin,LocalDate end,Long uid, Long start, Long pageSize); } diff --git a/src/main/java/com/jsl/oa/model/doData/PageBeanDO.java b/src/main/java/com/jsl/oa/model/doData/PageBeanDO.java new file mode 100644 index 0000000..854ec83 --- /dev/null +++ b/src/main/java/com/jsl/oa/model/doData/PageBeanDO.java @@ -0,0 +1,15 @@ +package com.jsl.oa.model.doData; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class PageBeanDO { + private Long total;//总记录数 + private List rows;//数据列表 +} diff --git a/src/main/java/com/jsl/oa/services/MessageService.java b/src/main/java/com/jsl/oa/services/MessageService.java index 11b8c60..7030145 100644 --- a/src/main/java/com/jsl/oa/services/MessageService.java +++ b/src/main/java/com/jsl/oa/services/MessageService.java @@ -3,6 +3,7 @@ package com.jsl.oa.services; import com.jsl.oa.utils.BaseResponse; import javax.servlet.http.HttpServletRequest; +import java.time.LocalDate; /** *

消息服务接口

@@ -17,4 +18,7 @@ public interface MessageService { BaseResponse messageDelete(Long mid,HttpServletRequest request); + BaseResponse messageGet(LocalDate begin,LocalDate end,Long page,Long pageSize,Long uid); + + BaseResponse messageGetAll(HttpServletRequest request,LocalDate begin, LocalDate end, Long page, Long pageSize, Long loginId, Long uid); } diff --git a/src/main/java/com/jsl/oa/services/impl/MessageServiceImpl.java b/src/main/java/com/jsl/oa/services/impl/MessageServiceImpl.java index e483032..b620874 100644 --- a/src/main/java/com/jsl/oa/services/impl/MessageServiceImpl.java +++ b/src/main/java/com/jsl/oa/services/impl/MessageServiceImpl.java @@ -2,13 +2,19 @@ package com.jsl.oa.services.impl; import com.jsl.oa.mapper.MessageMapper; +import com.jsl.oa.mapper.RoleMapper; import com.jsl.oa.model.doData.MessageDO; +import com.jsl.oa.model.doData.PageBeanDO; import com.jsl.oa.services.MessageService; import com.jsl.oa.utils.*; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletRequest; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.temporal.ChronoUnit; +import java.util.List; @Slf4j @@ -17,6 +23,7 @@ import javax.servlet.http.HttpServletRequest; public class MessageServiceImpl implements MessageService { private final MessageMapper messageMapper; + private final RoleMapper roleMapper; @Override public BaseResponse messageDelete(Long mid, HttpServletRequest request) { @@ -34,6 +41,49 @@ public class MessageServiceImpl implements MessageService { return ResultUtil.success(); } + @Override + public BaseResponse messageGet(LocalDate begin,LocalDate end,Long page,Long pageSize,Long uid) { + //1.记录总数据数 + Long count = messageMapper.count(uid); + + //2.获取分页数据列表 + //默认获取时间为最近30天 + if(begin == null){ + begin = LocalDate.now(); + end = begin.minus(30, ChronoUnit.DAYS); + } + Long start = (page-1) * pageSize; + List empList = messageMapper.page(begin,end,uid,start,pageSize); + + //3.封装PageBean对象 + PageBeanDO pageBean = new PageBeanDO(count,empList); + return ResultUtil.success(pageBean); + } + + @Override + public BaseResponse messageGetAll(HttpServletRequest request,LocalDate begin, LocalDate end, Long page, Long pageSize, Long loginId, Long uid) { + log.info("请求接口服务层"); + if(!Processing.checkUserIsAdmin(request,roleMapper)){ + return ResultUtil.error(ErrorCode.NOT_ADMIN); + }else { + //1.记录总数据数 + Long count = messageMapper.count(uid); + + //2.获取分页数据列表 + //默认获取时间为最近30天 + if(begin == null){ + begin = LocalDate.now(); + end = begin.minus(30, ChronoUnit.DAYS); + } + Long start = (page - 1) * pageSize; + List messageDOList = messageMapper.page(begin,end,uid, start, pageSize); + + //3.封装PageBean对象 + PageBeanDO pageBean = new PageBeanDO(count, messageDOList); + return ResultUtil.success(pageBean); + } + } + } diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 22149f4..5e48499 100755 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -3,14 +3,14 @@ server: spring: datasource: url: jdbc:mysql://localhost:3306 - username: root + username: organize_oa password: 123456 driver-class-name: com.mysql.cj.jdbc.Driver redis: database: 0 - host: 192.168.80.129 + host: local port: 6379 - password: 123456 + password: profiles: active: dev mybatis: