消息模块
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;
|
||||
|
||||
import com.jsl.oa.model.doData.MessageAddDO;
|
||||
import com.jsl.oa.services.MessageService;
|
||||
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.*;
|
||||
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 org.springframework.validation.BindingResult;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.naming.Binding;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* <h1>消息控制器</h1>
|
||||
@ -34,14 +34,15 @@ public class MessageController {
|
||||
|
||||
@DeleteMapping("/message/delete")
|
||||
public BaseResponse messageDelete(@RequestParam Long id, HttpServletRequest request) {
|
||||
log.info("请求接口[DELETE]:/message/delete");
|
||||
if (id == null) {
|
||||
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,
|
||||
public BaseResponse messageGet(@RequestParam(required = false,defaultValue = "1") Integer page,
|
||||
@RequestParam(required = false,defaultValue = "10") Integer pageSize,
|
||||
HttpServletRequest request,
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate begin,
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate end) {
|
||||
@ -53,9 +54,10 @@ public class MessageController {
|
||||
} 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,
|
||||
public BaseResponse messageGetAll(@RequestParam(defaultValue = "1") Integer page,
|
||||
@RequestParam(defaultValue = "10") Integer pageSize,
|
||||
HttpServletRequest request,
|
||||
@RequestParam Long uid,
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate begin,
|
||||
@ -65,7 +67,19 @@ public class MessageController {
|
||||
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);
|
||||
} 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;
|
||||
|
||||
import com.jsl.oa.model.doData.MessageAddDO;
|
||||
import com.jsl.oa.model.doData.MessageDO;
|
||||
import org.apache.ibatis.annotations.Insert;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
import org.apache.ibatis.annotations.Update;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@ -13,7 +16,7 @@ import java.util.List;
|
||||
public interface MessageMapper {
|
||||
|
||||
@Update("UPDATE organize_oa.oa_message " +
|
||||
"SET `read` = 1, deleted_at = CURRENT_TIMESTAMP " +
|
||||
"SET `is_delete` = 1, deleted_at = CURRENT_TIMESTAMP " +
|
||||
"WHERE id = #{mid}")
|
||||
boolean deleteMessage(Long mid);
|
||||
|
||||
@ -23,7 +26,11 @@ public interface MessageMapper {
|
||||
@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<MessageDO> page(LocalDate begin, LocalDate end, Long uid, Long start, Long pageSize);
|
||||
@Select("select * from organize_oa.oa_message where uid = #{uid} and created_at between" +
|
||||
" #{begin} and #{end} ")
|
||||
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 {
|
||||
|
||||
private Long id;
|
||||
private Long sid;
|
||||
private Long uid;
|
||||
private String title;
|
||||
private String text;
|
||||
private Short read;
|
||||
private Integer isDelete;
|
||||
private Timestamp createdAt;
|
||||
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;
|
||||
|
||||
import com.jsl.oa.model.doData.MessageAddDO;
|
||||
import com.jsl.oa.utils.BaseResponse;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* <h1>消息服务接口</h1>
|
||||
@ -18,7 +20,9 @@ public interface MessageService {
|
||||
|
||||
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.mapper.MessageMapper;
|
||||
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.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.utils.BaseResponse;
|
||||
import com.jsl.oa.utils.ErrorCode;
|
||||
@ -18,6 +22,8 @@ import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@ -37,10 +43,12 @@ public class MessageServiceImpl implements MessageService {
|
||||
|
||||
private final MessageMapper messageMapper;
|
||||
private final RoleMapper roleMapper;
|
||||
private final UserMapper userMapper;
|
||||
|
||||
@Override
|
||||
@CheckUserHasPermission("message.delete")
|
||||
//@CheckUserHasPermission("message.delete")
|
||||
public BaseResponse messageDelete(Long mid, HttpServletRequest request) {
|
||||
log.info("\t执行 service 层 messageDelete 方法");
|
||||
//获取消息数据
|
||||
MessageDO messageDO = messageMapper.getMessageById(mid);
|
||||
//检测用户id与消息的uid是否相同
|
||||
@ -56,28 +64,40 @@ public class MessageServiceImpl implements MessageService {
|
||||
}
|
||||
|
||||
@Override
|
||||
@CheckUserAbleToUse
|
||||
public BaseResponse messageGet(LocalDate begin, LocalDate end, Long page, Long pageSize, Long uid) {
|
||||
//1.记录总数据数
|
||||
Long count = messageMapper.count(uid);
|
||||
//@CheckUserAbleToUse
|
||||
public BaseResponse messageGet(LocalDate begin, LocalDate end, Integer page,
|
||||
Integer pageSize, Long uid) {
|
||||
log.info("\t执行 service 层 messageGet 方法");
|
||||
|
||||
//2.获取分页数据列表
|
||||
//默认获取时间为最近30天
|
||||
if (begin == null) {
|
||||
begin = LocalDate.now();
|
||||
end = begin.minusDays(30);
|
||||
end = LocalDate.now();
|
||||
begin = end.minusDays(30);
|
||||
}
|
||||
List<MessageDO> messageList = messageMapper.page(begin, end, uid);
|
||||
List<MessageGetVO> messageGetVOList = new ArrayList<>();
|
||||
for (MessageDO messageDO : messageList) {
|
||||
MessageGetVO messageGetVO = new MessageGetVO();
|
||||
messageGetVO.setSidName(userMapper.getUserById(messageDO.getSid()).getUsername());
|
||||
messageGetVO.setTxt(messageDO.getText());
|
||||
messageGetVO.setTitle(messageDO.getTitle());
|
||||
messageGetVO.setCreatedAt(messageDO.getCreatedAt());
|
||||
messageGetVOList.add(messageGetVO);
|
||||
}
|
||||
Long start = (page - 1) * pageSize;
|
||||
List<MessageDO> empList = messageMapper.page(begin, end, uid, start, pageSize);
|
||||
|
||||
//3.封装PageBean对象
|
||||
PageBeanDO<MessageDO> pageBean = new PageBeanDO<>(count, empList);
|
||||
return ResultUtil.success(pageBean);
|
||||
//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
|
||||
@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("请求接口服务层");
|
||||
//1.记录总数据数
|
||||
Long count = messageMapper.count(uid);
|
||||
@ -88,12 +108,26 @@ public class MessageServiceImpl implements MessageService {
|
||||
begin = LocalDate.now();
|
||||
end = begin.minusDays(30);
|
||||
}
|
||||
Long start = (page - 1) * pageSize;
|
||||
List<MessageDO> messageDOList = messageMapper.page(begin, end, uid, start, pageSize);
|
||||
List<MessageDO> messageDOList = messageMapper.page(begin, end, uid);
|
||||
|
||||
//3.封装PageBean对象
|
||||
PageBeanDO<MessageDO> pageBean = new PageBeanDO<>(count, messageDOList);
|
||||
return ResultUtil.success(pageBean);
|
||||
//3.分页返回
|
||||
int start = (page-1) * pageSize;
|
||||
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