patch:审核模块
审核模块代码部分解耦,增加可读性
This commit is contained in:
parent
cada75e210
commit
037b36bf3f
|
@ -62,6 +62,10 @@ public class ReviewDAO {
|
|||
return reviewMapper.selectReviewByUser(uid);
|
||||
}
|
||||
|
||||
public List<ReviewDO> getReviewByUserAndResult(Long uid, Short result) {
|
||||
return reviewMapper.selectReviewByUserAndResult(uid, result);
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void addReview(ReviewDO reviewDO) {
|
||||
|
|
|
@ -47,4 +47,8 @@ public interface ReviewMapper {
|
|||
@Select("SELECT * FROM organize_oa.oa_review WHERE sender_id = #{uid} AND "
|
||||
+ "is_delete = 0")
|
||||
List<ReviewDO> selectReviewByUser(Long uid);
|
||||
|
||||
@Select("SELECT * FROM organize_oa.oa_review WHERE sender_id = #{uid} AND "
|
||||
+ "is_delete = 0 AND review_result = #{result}")
|
||||
List<ReviewDO> selectReviewByUserAndResult(Long uid, Short result);
|
||||
}
|
||||
|
|
|
@ -41,6 +41,13 @@ public class ReviewServiceImpl implements ReviewService {
|
|||
private final ProjectMapper projectMapper;
|
||||
|
||||
|
||||
/**
|
||||
* @Description: 获取用户未审核的数据(只包括管理项目下未审核的数据)
|
||||
* @Date: 2024/4/19
|
||||
* @Param page: 当前页码
|
||||
* @Param pageSize: 每页大小
|
||||
* @Param request: request请求
|
||||
**/
|
||||
@Override
|
||||
public BaseResponse getUserPendingApprovalReview(Integer page,
|
||||
Integer pageSize,
|
||||
|
@ -86,7 +93,6 @@ public class ReviewServiceImpl implements ReviewService {
|
|||
reviewData.addAll(reviewDOS);
|
||||
}
|
||||
|
||||
|
||||
//根据id进行去重
|
||||
reviewData = reviewData.stream()
|
||||
.collect(Collectors.toMap(ReviewDO::getId, review -> review, (existing, replacement) -> existing))
|
||||
|
@ -94,7 +100,6 @@ public class ReviewServiceImpl implements ReviewService {
|
|||
.stream()
|
||||
.collect(Collectors.toList());
|
||||
|
||||
|
||||
//按照申请时间降序排序
|
||||
Collections.sort(reviewData, new Comparator<ReviewDO>() {
|
||||
@Override
|
||||
|
@ -113,6 +118,13 @@ public class ReviewServiceImpl implements ReviewService {
|
|||
}
|
||||
|
||||
|
||||
/**
|
||||
* @Description: 获取我的审核数据(用户管理项目下与自己的记录)
|
||||
* @Date: 2024/4/19
|
||||
* @Param page: 当前页码
|
||||
* @Param pageSize: 每页大小
|
||||
* @Param request: request请求
|
||||
**/
|
||||
@Override
|
||||
public BaseResponse getUserReview(Integer page,
|
||||
Integer pageSize,
|
||||
|
@ -124,42 +136,13 @@ public class ReviewServiceImpl implements ReviewService {
|
|||
//存储审核数据的数组
|
||||
List<ReviewDO> reviewData = new ArrayList<>();
|
||||
|
||||
//先获取用户为项目负责人的项目列表
|
||||
projectDAO.getProjectByPrincipalUser(userId);
|
||||
//先获取用户管理下的所有审核信息
|
||||
reviewData.addAll(getAllReviewFromProject(userId));
|
||||
|
||||
//先从用户为 项目负责人 的项目中获取对应 审核信息
|
||||
for (ProjectDO projectDO : projectDAO.getProjectByPrincipalUser(userId)) {
|
||||
//查询每个项目下所有的审核信息
|
||||
List<ReviewDO> reviewDOS = reviewDAO.
|
||||
selectAllReviewFromProject(projectDO.getId());
|
||||
//封装VO类
|
||||
reviewData.addAll(reviewDOS);
|
||||
}
|
||||
|
||||
//在从用户为 子系统负责人 的项目中获取对应 审核信息
|
||||
for (ProjectChildDO projectChildDO : projectDAO.getAllProjectChildByUId(userId)) {
|
||||
//查询每个项目下所有的审核信息
|
||||
List<ReviewDO> reviewDOS = reviewDAO.
|
||||
selectReviewFromSubsystem(projectChildDO.getId());
|
||||
//封装VO类
|
||||
reviewData.addAll(reviewDOS);
|
||||
}
|
||||
|
||||
|
||||
//在从用户为 子模块负责人 的项目中获取对应 审核信息
|
||||
for (ProjectModuleDO projectModuleDO : projectDAO.getAllModuleByUId(userId)) {
|
||||
//查询每个项目下所有的审核信息
|
||||
List<ReviewDO> reviewDOS = reviewDAO.
|
||||
selectReviewFromSubmodule(projectModuleDO.getId());
|
||||
//封装VO类
|
||||
reviewData.addAll(reviewDOS);
|
||||
}
|
||||
|
||||
// 获取自己的审核记录
|
||||
//获取自己的审核记录
|
||||
List<ReviewDO> myReviewDO = reviewDAO.getReviewByUser(userId);
|
||||
reviewData.addAll(myReviewDO);
|
||||
|
||||
|
||||
//根据id进行去重
|
||||
reviewData = reviewData.stream()
|
||||
.collect(Collectors.toMap(ReviewDO::getId, review -> review, (existing, replacement) -> existing))
|
||||
|
@ -185,6 +168,12 @@ public class ReviewServiceImpl implements ReviewService {
|
|||
}
|
||||
|
||||
|
||||
/**
|
||||
* @Description: 添加审核接口
|
||||
* @Date: 2024/4/19
|
||||
* @Param reviewAddVO: 审核添加实体类
|
||||
* @Param request: request请求
|
||||
**/
|
||||
@Override
|
||||
public BaseResponse addReview(ReviewAddVO reviewAddVO, HttpServletRequest request) {
|
||||
|
||||
|
@ -289,10 +278,10 @@ public class ReviewServiceImpl implements ReviewService {
|
|||
Integer page,
|
||||
Integer pageSize) {
|
||||
|
||||
|
||||
// 获取审核记录数据
|
||||
List<ReviewVO> reviewVOS = getReviewsByResult(request, statue);
|
||||
|
||||
|
||||
// 根据内容筛选
|
||||
if (content == null || content.equals("")) {
|
||||
//封装结果类与数据总数
|
||||
|
@ -318,36 +307,8 @@ public class ReviewServiceImpl implements ReviewService {
|
|||
//存储审核数据的数组
|
||||
List<ReviewDO> reviewData = new ArrayList<>();
|
||||
|
||||
//先获取用户为项目负责人的项目列表
|
||||
projectDAO.getProjectByPrincipalUser(userId);
|
||||
|
||||
//先从用户为 项目负责人 的项目中获取对应 审核信息
|
||||
for (ProjectDO projectDO : projectDAO.getProjectByPrincipalUser(userId)) {
|
||||
//查询每个项目下所有的审核信息
|
||||
List<ReviewDO> reviewDOS = reviewDAO.
|
||||
selectAllReviewFromProject(projectDO.getId());
|
||||
//封装VO类
|
||||
reviewData.addAll(reviewDOS);
|
||||
}
|
||||
|
||||
//在从用户为 子系统负责人 的项目中获取对应 审核信息
|
||||
for (ProjectChildDO projectChildDO : projectDAO.getAllProjectChildByUId(userId)) {
|
||||
//查询每个项目下所有的审核信息
|
||||
List<ReviewDO> reviewDOS = reviewDAO.
|
||||
selectReviewFromSubsystem(projectChildDO.getId());
|
||||
//封装VO类
|
||||
reviewData.addAll(reviewDOS);
|
||||
}
|
||||
|
||||
|
||||
//在从用户为 子模块负责人 的项目中获取对应 审核信息
|
||||
for (ProjectModuleDO projectModuleDO : projectDAO.getAllModuleByUId(userId)) {
|
||||
//查询每个项目下所有的审核信息
|
||||
List<ReviewDO> reviewDOS = reviewDAO.
|
||||
selectReviewFromSubmodule(projectModuleDO.getId());
|
||||
//封装VO类
|
||||
reviewData.addAll(reviewDOS);
|
||||
}
|
||||
//获取用户管理的项目下的审核数据
|
||||
reviewData.addAll(getAllReviewFromProject(userId));
|
||||
|
||||
//根据id进行去重
|
||||
reviewData = reviewData.stream()
|
||||
|
@ -413,15 +374,14 @@ public class ReviewServiceImpl implements ReviewService {
|
|||
public List<ReviewVO> getReviewsByResult(
|
||||
HttpServletRequest request,
|
||||
Short result) {
|
||||
|
||||
// 获取用户
|
||||
Long userId = Processing.getAuthHeaderToUserId(request);
|
||||
|
||||
//存储审核数据的数组
|
||||
List<ReviewDO> reviewData = new ArrayList<>();
|
||||
|
||||
//先获取用户为项目负责人的项目列表
|
||||
projectDAO.getProjectByPrincipalUser(userId);
|
||||
//如果审核结果不为空,则根据审核结果进行审查
|
||||
if (result != null) {
|
||||
|
||||
//先从用户为 项目负责人 的项目中获取对应 审核信息
|
||||
for (ProjectDO projectDO : projectDAO.getProjectByPrincipalUser(userId)) {
|
||||
|
@ -455,8 +415,17 @@ public class ReviewServiceImpl implements ReviewService {
|
|||
}
|
||||
|
||||
// 获取自己的审核记录
|
||||
List<ReviewDO> myReviewDO = reviewDAO.getReviewByUser(userId);
|
||||
List<ReviewDO> myReviewDO = reviewDAO.getReviewByUserAndResult(userId, result);
|
||||
reviewData.addAll(myReviewDO);
|
||||
}
|
||||
|
||||
// 如果审核结果为空,获取全部
|
||||
if (result == null) {
|
||||
//获取用户管理项目下的所有审核数据
|
||||
reviewData.addAll(getAllReviewFromProject(userId));
|
||||
//获取用户自己的所有审核数据
|
||||
reviewData.addAll(reviewDAO.getReviewByUser(userId));
|
||||
}
|
||||
|
||||
//根据id进行去重
|
||||
reviewData = reviewData.stream()
|
||||
|
@ -465,7 +434,6 @@ public class ReviewServiceImpl implements ReviewService {
|
|||
.stream()
|
||||
.collect(Collectors.toList());
|
||||
|
||||
|
||||
//按照申请时间降序排序
|
||||
Collections.sort(reviewData, new Comparator<ReviewDO>() {
|
||||
@Override
|
||||
|
@ -478,6 +446,13 @@ public class ReviewServiceImpl implements ReviewService {
|
|||
}
|
||||
|
||||
|
||||
/**
|
||||
* @Description: 审核数据分页处理
|
||||
* @Date: 2024/4/19
|
||||
* @Param allReviews: 审核数据
|
||||
* @Param page: 当前页码
|
||||
* @Param pageSize: 每页大小
|
||||
**/
|
||||
public ReviewDataVO getReviewsByPage(List<ReviewVO> allReviews, int page, int pageSize) {
|
||||
ReviewDataVO reviewDataVO = new ReviewDataVO();
|
||||
int total = allReviews.size();
|
||||
|
@ -496,6 +471,48 @@ public class ReviewServiceImpl implements ReviewService {
|
|||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @Description: 获取用户管理项目下的所有审核数据
|
||||
* @Date: 2024/4/19
|
||||
* @Param userId:
|
||||
**/
|
||||
public List<ReviewDO> getAllReviewFromProject(Long userId) {
|
||||
|
||||
List<ReviewDO> reviewData = new ArrayList<>();
|
||||
|
||||
//先从用户为 项目负责人 的项目中获取对应 审核信息
|
||||
for (ProjectDO projectDO : projectDAO.getProjectByPrincipalUser(userId)) {
|
||||
//查询每个项目下所有的审核信息
|
||||
List<ReviewDO> reviewDOS = reviewDAO.
|
||||
selectAllReviewFromProject(projectDO.getId());
|
||||
//封装VO类
|
||||
reviewData.addAll(reviewDOS);
|
||||
}
|
||||
|
||||
//在从用户为 子系统负责人 的项目中获取对应 审核信息
|
||||
for (ProjectChildDO projectChildDO : projectDAO.getAllProjectChildByUId(userId)) {
|
||||
//查询每个项目下所有的审核信息
|
||||
List<ReviewDO> reviewDOS = reviewDAO.
|
||||
selectReviewFromSubsystem(projectChildDO.getId());
|
||||
//封装VO类
|
||||
reviewData.addAll(reviewDOS);
|
||||
}
|
||||
|
||||
|
||||
//在从用户为 子模块负责人 的项目中获取对应 审核信息
|
||||
for (ProjectModuleDO projectModuleDO : projectDAO.getAllModuleByUId(userId)) {
|
||||
//查询每个项目下所有的审核信息
|
||||
List<ReviewDO> reviewDOS = reviewDAO.
|
||||
selectReviewFromSubmodule(projectModuleDO.getId());
|
||||
//封装VO类
|
||||
reviewData.addAll(reviewDOS);
|
||||
}
|
||||
|
||||
return reviewData;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user