消息模块
All checks were successful
JslGroup/JslDeveloper/JSL_OrganizeInternalOA/pipeline/head This commit looks good
All checks were successful
JslGroup/JslDeveloper/JSL_OrganizeInternalOA/pipeline/head This commit looks good
This commit is contained in:
parent
5d046f4a04
commit
6dbed458bd
@ -1,20 +1,20 @@
|
|||||||
package com.jsl.oa.controllers;
|
package com.jsl.oa.controllers;
|
||||||
|
|
||||||
|
import com.jsl.oa.model.doData.MessageAddDO;
|
||||||
import com.jsl.oa.services.MessageService;
|
import com.jsl.oa.services.MessageService;
|
||||||
import com.jsl.oa.utils.BaseResponse;
|
import com.jsl.oa.utils.*;
|
||||||
import com.jsl.oa.utils.ErrorCode;
|
|
||||||
import com.jsl.oa.utils.JwtUtil;
|
|
||||||
import com.jsl.oa.utils.ResultUtil;
|
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.format.annotation.DateTimeFormat;
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
import org.springframework.validation.BindingResult;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
|
||||||
|
|
||||||
|
import javax.naming.Binding;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <h1>消息控制器</h1>
|
* <h1>消息控制器</h1>
|
||||||
@ -34,14 +34,15 @@ public class MessageController {
|
|||||||
|
|
||||||
@DeleteMapping("/message/delete")
|
@DeleteMapping("/message/delete")
|
||||||
public BaseResponse messageDelete(@RequestParam Long id, HttpServletRequest request) {
|
public BaseResponse messageDelete(@RequestParam Long id, HttpServletRequest request) {
|
||||||
|
log.info("请求接口[DELETE]:/message/delete");
|
||||||
if (id == null) {
|
if (id == null) {
|
||||||
return ResultUtil.error(ErrorCode.PARAMETER_ERROR);
|
return ResultUtil.error(ErrorCode.PARAMETER_ERROR);
|
||||||
} else return messageService.messageDelete(id, request);
|
} else return messageService.messageDelete(id, request);
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/message/get")
|
@GetMapping("/message/get")
|
||||||
public BaseResponse messageGet(@RequestParam(defaultValue = "1") Long page,
|
public BaseResponse messageGet(@RequestParam(required = false,defaultValue = "1") Integer page,
|
||||||
@RequestParam(defaultValue = "10") Long pageSize,
|
@RequestParam(required = false,defaultValue = "10") Integer pageSize,
|
||||||
HttpServletRequest request,
|
HttpServletRequest request,
|
||||||
@DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate begin,
|
@DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate begin,
|
||||||
@DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate end) {
|
@DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate end) {
|
||||||
@ -53,9 +54,10 @@ public class MessageController {
|
|||||||
} else return messageService.messageGet(begin, end, page, pageSize, uid);
|
} else return messageService.messageGet(begin, end, page, pageSize, uid);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
@GetMapping("/message/get/all")
|
@GetMapping("/message/get/all")
|
||||||
public BaseResponse messageGetAll(@RequestParam(defaultValue = "1") Long page,
|
public BaseResponse messageGetAll(@RequestParam(defaultValue = "1") Integer page,
|
||||||
@RequestParam(defaultValue = "10") Long pageSize,
|
@RequestParam(defaultValue = "10") Integer pageSize,
|
||||||
HttpServletRequest request,
|
HttpServletRequest request,
|
||||||
@RequestParam Long uid,
|
@RequestParam Long uid,
|
||||||
@DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate begin,
|
@DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate begin,
|
||||||
@ -65,7 +67,19 @@ public class MessageController {
|
|||||||
Long LoginId = JwtUtil.getUserId(token);
|
Long LoginId = JwtUtil.getUserId(token);
|
||||||
if (LoginId == null) {
|
if (LoginId == null) {
|
||||||
return ResultUtil.error(ErrorCode.USER_NOT_EXIST);
|
return ResultUtil.error(ErrorCode.USER_NOT_EXIST);
|
||||||
} else return messageService.messageGetAll(request, begin, end, page, pageSize, LoginId, uid);
|
} else return messageService.messageGetAll(begin, end, page, pageSize, LoginId, uid);
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
@PostMapping("/message/add")
|
||||||
|
public BaseResponse messageAdd(HttpServletRequest request,
|
||||||
|
@RequestBody @Validated MessageAddDO messageAddDO,
|
||||||
|
@NotNull BindingResult bindingResult) {
|
||||||
|
log.info("请求接口[POST]:/message/add");
|
||||||
|
//校验参数
|
||||||
|
if (bindingResult.hasErrors()) {
|
||||||
|
return ResultUtil.error(ErrorCode.REQUEST_BODY_ERROR, Processing.getValidatedErrorList(bindingResult));
|
||||||
|
}
|
||||||
|
return messageService.messageAdd(request, messageAddDO);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,11 +1,14 @@
|
|||||||
package com.jsl.oa.mapper;
|
package com.jsl.oa.mapper;
|
||||||
|
|
||||||
|
import com.jsl.oa.model.doData.MessageAddDO;
|
||||||
import com.jsl.oa.model.doData.MessageDO;
|
import com.jsl.oa.model.doData.MessageDO;
|
||||||
|
import org.apache.ibatis.annotations.Insert;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
import org.apache.ibatis.annotations.Select;
|
import org.apache.ibatis.annotations.Select;
|
||||||
import org.apache.ibatis.annotations.Update;
|
import org.apache.ibatis.annotations.Update;
|
||||||
|
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
@ -13,7 +16,7 @@ import java.util.List;
|
|||||||
public interface MessageMapper {
|
public interface MessageMapper {
|
||||||
|
|
||||||
@Update("UPDATE organize_oa.oa_message " +
|
@Update("UPDATE organize_oa.oa_message " +
|
||||||
"SET `read` = 1, deleted_at = CURRENT_TIMESTAMP " +
|
"SET `is_delete` = 1, deleted_at = CURRENT_TIMESTAMP " +
|
||||||
"WHERE id = #{mid}")
|
"WHERE id = #{mid}")
|
||||||
boolean deleteMessage(Long mid);
|
boolean deleteMessage(Long mid);
|
||||||
|
|
||||||
@ -23,7 +26,11 @@ public interface MessageMapper {
|
|||||||
@Select("select count(*) from organize_oa.oa_message where uid = #{uid}")
|
@Select("select count(*) from organize_oa.oa_message where uid = #{uid}")
|
||||||
Long count(Long uid);
|
Long count(Long uid);
|
||||||
|
|
||||||
@Select("select * from organize_oa.oa_message where uid = #{uid}")
|
@Select("select * from organize_oa.oa_message where uid = #{uid} and created_at between" +
|
||||||
//and created_at between #{begin} and #{end} limit #{start},#{pageSize}")
|
" #{begin} and #{end} ")
|
||||||
List<MessageDO> page(LocalDate begin, LocalDate end, Long uid, Long start, Long pageSize);
|
List<MessageDO> page(LocalDate begin, LocalDate end, Long uid);
|
||||||
|
|
||||||
|
@Insert("INSERT INTO organize_oa.oa_message (uid,title,text,sid) " +
|
||||||
|
"VALUES (#{uid}, #{title}, #{text},#{sid})")
|
||||||
|
boolean messageAdd (MessageAddDO messageAddDO);
|
||||||
}
|
}
|
||||||
|
21
src/main/java/com/jsl/oa/model/doData/MessageAddDO.java
Normal file
21
src/main/java/com/jsl/oa/model/doData/MessageAddDO.java
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
package com.jsl.oa.model.doData;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NonNull;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
|
import java.sql.Timestamp;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@Accessors(chain = true)
|
||||||
|
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||||
|
public class MessageAddDO {
|
||||||
|
@NotNull(message = "发送到用户的id不能为空")
|
||||||
|
private Long uid;
|
||||||
|
private Long sid;
|
||||||
|
private String title;
|
||||||
|
private String text;
|
||||||
|
|
||||||
|
}
|
@ -21,10 +21,11 @@ import java.sql.Timestamp;
|
|||||||
public class MessageDO {
|
public class MessageDO {
|
||||||
|
|
||||||
private Long id;
|
private Long id;
|
||||||
|
private Long sid;
|
||||||
private Long uid;
|
private Long uid;
|
||||||
private String title;
|
private String title;
|
||||||
private String text;
|
private String text;
|
||||||
private Short read;
|
private Integer isDelete;
|
||||||
private Timestamp createdAt;
|
private Timestamp createdAt;
|
||||||
private Timestamp deletedAt;
|
private Timestamp deletedAt;
|
||||||
|
|
||||||
|
18
src/main/java/com/jsl/oa/model/voData/MessageGetVO.java
Normal file
18
src/main/java/com/jsl/oa/model/voData/MessageGetVO.java
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
package com.jsl.oa.model.voData;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import java.sql.Timestamp;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class MessageGetVO {
|
||||||
|
private String sidName;
|
||||||
|
private String txt;
|
||||||
|
private String title;
|
||||||
|
private Timestamp createdAt;
|
||||||
|
|
||||||
|
}
|
@ -1,9 +1,11 @@
|
|||||||
package com.jsl.oa.services;
|
package com.jsl.oa.services;
|
||||||
|
|
||||||
|
import com.jsl.oa.model.doData.MessageAddDO;
|
||||||
import com.jsl.oa.utils.BaseResponse;
|
import com.jsl.oa.utils.BaseResponse;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <h1>消息服务接口</h1>
|
* <h1>消息服务接口</h1>
|
||||||
@ -18,7 +20,9 @@ public interface MessageService {
|
|||||||
|
|
||||||
BaseResponse messageDelete(Long mid,HttpServletRequest request);
|
BaseResponse messageDelete(Long mid,HttpServletRequest request);
|
||||||
|
|
||||||
BaseResponse messageGet(LocalDate begin,LocalDate end,Long page,Long pageSize,Long uid);
|
BaseResponse messageGet(LocalDate begin, LocalDate end, Integer page, Integer pageSize, Long uid);
|
||||||
|
|
||||||
BaseResponse messageGetAll(HttpServletRequest request,LocalDate begin, LocalDate end, Long page, Long pageSize, Long loginId, Long uid);
|
//BaseResponse messageGetAll(LocalDate begin, LocalDate end, Integer page, Integer pageSize, Long loginId, Long uid);
|
||||||
|
|
||||||
|
BaseResponse messageAdd(HttpServletRequest request, MessageAddDO messageAddDO);
|
||||||
}
|
}
|
||||||
|
@ -5,8 +5,12 @@ import com.jsl.oa.annotations.CheckUserAbleToUse;
|
|||||||
import com.jsl.oa.annotations.CheckUserHasPermission;
|
import com.jsl.oa.annotations.CheckUserHasPermission;
|
||||||
import com.jsl.oa.mapper.MessageMapper;
|
import com.jsl.oa.mapper.MessageMapper;
|
||||||
import com.jsl.oa.mapper.RoleMapper;
|
import com.jsl.oa.mapper.RoleMapper;
|
||||||
|
import com.jsl.oa.mapper.UserMapper;
|
||||||
|
import com.jsl.oa.model.doData.MessageAddDO;
|
||||||
import com.jsl.oa.model.doData.MessageDO;
|
import com.jsl.oa.model.doData.MessageDO;
|
||||||
import com.jsl.oa.model.doData.PageBeanDO;
|
import com.jsl.oa.model.doData.PageBeanDO;
|
||||||
|
import com.jsl.oa.model.voData.MessageGetVO;
|
||||||
|
import com.jsl.oa.model.voData.ProjectSimpleVO;
|
||||||
import com.jsl.oa.services.MessageService;
|
import com.jsl.oa.services.MessageService;
|
||||||
import com.jsl.oa.utils.BaseResponse;
|
import com.jsl.oa.utils.BaseResponse;
|
||||||
import com.jsl.oa.utils.ErrorCode;
|
import com.jsl.oa.utils.ErrorCode;
|
||||||
@ -18,6 +22,8 @@ import org.springframework.stereotype.Service;
|
|||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
@ -37,10 +43,12 @@ public class MessageServiceImpl implements MessageService {
|
|||||||
|
|
||||||
private final MessageMapper messageMapper;
|
private final MessageMapper messageMapper;
|
||||||
private final RoleMapper roleMapper;
|
private final RoleMapper roleMapper;
|
||||||
|
private final UserMapper userMapper;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@CheckUserHasPermission("message.delete")
|
//@CheckUserHasPermission("message.delete")
|
||||||
public BaseResponse messageDelete(Long mid, HttpServletRequest request) {
|
public BaseResponse messageDelete(Long mid, HttpServletRequest request) {
|
||||||
|
log.info("\t执行 service 层 messageDelete 方法");
|
||||||
//获取消息数据
|
//获取消息数据
|
||||||
MessageDO messageDO = messageMapper.getMessageById(mid);
|
MessageDO messageDO = messageMapper.getMessageById(mid);
|
||||||
//检测用户id与消息的uid是否相同
|
//检测用户id与消息的uid是否相同
|
||||||
@ -56,28 +64,40 @@ public class MessageServiceImpl implements MessageService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@CheckUserAbleToUse
|
//@CheckUserAbleToUse
|
||||||
public BaseResponse messageGet(LocalDate begin, LocalDate end, Long page, Long pageSize, Long uid) {
|
public BaseResponse messageGet(LocalDate begin, LocalDate end, Integer page,
|
||||||
//1.记录总数据数
|
Integer pageSize, Long uid) {
|
||||||
Long count = messageMapper.count(uid);
|
log.info("\t执行 service 层 messageGet 方法");
|
||||||
|
|
||||||
//2.获取分页数据列表
|
|
||||||
//默认获取时间为最近30天
|
//默认获取时间为最近30天
|
||||||
if (begin == null) {
|
if (begin == null) {
|
||||||
begin = LocalDate.now();
|
end = LocalDate.now();
|
||||||
end = begin.minusDays(30);
|
begin = end.minusDays(30);
|
||||||
}
|
}
|
||||||
Long start = (page - 1) * pageSize;
|
List<MessageDO> messageList = messageMapper.page(begin, end, uid);
|
||||||
List<MessageDO> empList = messageMapper.page(begin, end, uid, start, pageSize);
|
List<MessageGetVO> messageGetVOList = new ArrayList<>();
|
||||||
|
for (MessageDO messageDO : messageList) {
|
||||||
//3.封装PageBean对象
|
MessageGetVO messageGetVO = new MessageGetVO();
|
||||||
PageBeanDO<MessageDO> pageBean = new PageBeanDO<>(count, empList);
|
messageGetVO.setSidName(userMapper.getUserById(messageDO.getSid()).getUsername());
|
||||||
return ResultUtil.success(pageBean);
|
messageGetVO.setTxt(messageDO.getText());
|
||||||
|
messageGetVO.setTitle(messageDO.getTitle());
|
||||||
|
messageGetVO.setCreatedAt(messageDO.getCreatedAt());
|
||||||
|
messageGetVOList.add(messageGetVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//3.分页返回
|
||||||
|
int start = (page-1) * pageSize;
|
||||||
|
int endIndex = start + pageSize;
|
||||||
|
List<MessageGetVO> pageData = messageGetVOList.subList(start,
|
||||||
|
Math.min(endIndex,messageGetVOList.size()));
|
||||||
|
return ResultUtil.success(pageData);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
@Override
|
@Override
|
||||||
@CheckUserHasPermission("message.get")
|
@CheckUserHasPermission("message.get")
|
||||||
public BaseResponse messageGetAll(HttpServletRequest request, LocalDate begin, LocalDate end, Long page, Long pageSize, Long loginId, Long uid) {
|
public BaseResponse messageGetAll( LocalDate begin, LocalDate end, Integer page,
|
||||||
|
Integer pageSize, Long loginId, Long uid) {
|
||||||
log.info("请求接口服务层");
|
log.info("请求接口服务层");
|
||||||
//1.记录总数据数
|
//1.记录总数据数
|
||||||
Long count = messageMapper.count(uid);
|
Long count = messageMapper.count(uid);
|
||||||
@ -88,12 +108,26 @@ public class MessageServiceImpl implements MessageService {
|
|||||||
begin = LocalDate.now();
|
begin = LocalDate.now();
|
||||||
end = begin.minusDays(30);
|
end = begin.minusDays(30);
|
||||||
}
|
}
|
||||||
Long start = (page - 1) * pageSize;
|
List<MessageDO> messageDOList = messageMapper.page(begin, end, uid);
|
||||||
List<MessageDO> messageDOList = messageMapper.page(begin, end, uid, start, pageSize);
|
|
||||||
|
|
||||||
//3.封装PageBean对象
|
//3.分页返回
|
||||||
PageBeanDO<MessageDO> pageBean = new PageBeanDO<>(count, messageDOList);
|
int start = (page-1) * pageSize;
|
||||||
return ResultUtil.success(pageBean);
|
int endIndex = start + pageSize;
|
||||||
|
List<MessageDO> pageData = messageDOList.subList((start),
|
||||||
|
Math.min(endIndex,messageDOList.size()));
|
||||||
|
return ResultUtil.success(pageData);
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public BaseResponse messageAdd(HttpServletRequest request, MessageAddDO messageAddDO) {
|
||||||
|
log.info("\t执行 service 层 messageAdd 方法");
|
||||||
|
|
||||||
|
Long sid = JwtUtil.getUserId(request.getHeader("Authorization").replace("Bearer ", ""));
|
||||||
|
messageAddDO.setSid(sid);
|
||||||
|
if(!messageMapper.messageAdd(messageAddDO)){
|
||||||
|
return ResultUtil.error(ErrorCode.DATABASE_INSERT_ERROR);
|
||||||
|
}
|
||||||
|
return ResultUtil.success();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user