From 3b9a7cfe5e335a446a2cdf3334df3627901c9047 Mon Sep 17 00:00:00 2001 From: xiangZr-hhh <“2774915446@qq.com”> Date: Fri, 12 Apr 2024 08:20:28 +0800 Subject: [PATCH 01/11] =?UTF-8?q?feat=EF=BC=9A=E5=A2=9E=E5=8A=A0=E6=96=B0?= =?UTF-8?q?=E4=B8=9A=E5=8A=A1=E5=8A=9F=E8=83=BD=E8=8E=B7=E5=8F=96=E6=88=91?= =?UTF-8?q?=E7=9A=84=E5=AE=A1=E6=A0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../oa/common/constant/ReviewConstants.java | 23 ++++++ .../jsl/oa/controllers/ReviewController.java | 22 ++++-- .../java/com/jsl/oa/mapper/ReviewMapper.java | 9 +++ .../com/jsl/oa/services/ReviewService.java | 4 +- .../oa/services/impl/ReviewServiceImpl.java | 71 ++++++++++++++++++- 5 files changed, 122 insertions(+), 7 deletions(-) create mode 100644 src/main/java/com/jsl/oa/common/constant/ReviewConstants.java diff --git a/src/main/java/com/jsl/oa/common/constant/ReviewConstants.java b/src/main/java/com/jsl/oa/common/constant/ReviewConstants.java new file mode 100644 index 0000000..42ffd47 --- /dev/null +++ b/src/main/java/com/jsl/oa/common/constant/ReviewConstants.java @@ -0,0 +1,23 @@ +package com.jsl.oa.common.constant; + + +/** + *

Review常量类

+ *
+ * 用于存放审核信息的审批状态常量 + * + * @version v1.1.0 + * @since v1.1.0 + * @author zrx_hhh + */ +public class ReviewConstants { + + public static final int NOT_APPROVED = 0; + + public static final int APPROVED = 1; + + public static final int PENDING = 2; + +} + + diff --git a/src/main/java/com/jsl/oa/controllers/ReviewController.java b/src/main/java/com/jsl/oa/controllers/ReviewController.java index dff99f8..197462d 100644 --- a/src/main/java/com/jsl/oa/controllers/ReviewController.java +++ b/src/main/java/com/jsl/oa/controllers/ReviewController.java @@ -5,7 +5,6 @@ import com.jsl.oa.utils.BaseResponse; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; 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; @@ -26,16 +25,29 @@ public class ReviewController { private final ReviewService reviewService; /** - * @Description: 获取我的审核列表 + * @Description: 获取审核记录列表 * @Date: 2024/4/11 * @Param request: **/ - @GetMapping("/review/getMyReview") - public BaseResponse getUserReview(@RequestParam Long projectId, HttpServletRequest request) { + @GetMapping("/review/getReviewRecords") + public BaseResponse getUserReviewRecords(HttpServletRequest request) { log.info("请求接口[GET]: /review/getMyReview"); - return reviewService.getUserReview(projectId, request); + return reviewService.getUserReview(request); } + + /** + * @Description: 获取我的审核数据 + * @Date: 2024/4/12 + * @Param request: + **/ + @GetMapping("/review/getMyReview") + public BaseResponse getMyReview(HttpServletRequest request) { + log.info("请求接口[GET]: /review/getMyReview"); + return reviewService.getUserPendingApprovalReview(request); + } + + } diff --git a/src/main/java/com/jsl/oa/mapper/ReviewMapper.java b/src/main/java/com/jsl/oa/mapper/ReviewMapper.java index ea2613e..604c048 100644 --- a/src/main/java/com/jsl/oa/mapper/ReviewMapper.java +++ b/src/main/java/com/jsl/oa/mapper/ReviewMapper.java @@ -12,10 +12,19 @@ public interface ReviewMapper { + "AND is_delete = 0") List selectAllReviewFromProject(Long projectId); + @Select("SELECT * FROM organize_oa.oa_review WHERE project_id = #{projectId}" + + "AND is_delete = 0 AND review_result = #{result}") + List selectApprovedResultReviewFromProject(Long projectId, Integer result); + @Select("SELECT * FROM organize_oa.oa_review WHERE " + "project_subsystem_id = #{subsystemId} AND is_delete = 0") List selectReviewFromSubsystem(Long subsystemId); + @Select("SELECT * FROM organize_oa.oa_review WHERE " + + "project_subsystem_id = #{subsystemId} " + + "AND is_delete = 0 AND review_result = #{result}") + List selectApprovedResultReviewsFromSubsystem(Long subsystemId, Integer result); + @Select("SELECT * FROM organize_oa.oa_review WHERE " + "project_submodule_id = #{subsystemId} AND is_delete = 0") List selectReviewFromSubmodule(Long submoduleId); diff --git a/src/main/java/com/jsl/oa/services/ReviewService.java b/src/main/java/com/jsl/oa/services/ReviewService.java index af5b9a2..acd3c04 100644 --- a/src/main/java/com/jsl/oa/services/ReviewService.java +++ b/src/main/java/com/jsl/oa/services/ReviewService.java @@ -7,6 +7,8 @@ import javax.servlet.http.HttpServletRequest; public interface ReviewService { - BaseResponse getUserReview(Long projectId, HttpServletRequest request); + BaseResponse getUserPendingApprovalReview(HttpServletRequest request); + + BaseResponse getUserReview(HttpServletRequest request); } diff --git a/src/main/java/com/jsl/oa/services/impl/ReviewServiceImpl.java b/src/main/java/com/jsl/oa/services/impl/ReviewServiceImpl.java index 2157ff6..9ddcd42 100644 --- a/src/main/java/com/jsl/oa/services/impl/ReviewServiceImpl.java +++ b/src/main/java/com/jsl/oa/services/impl/ReviewServiceImpl.java @@ -1,6 +1,7 @@ package com.jsl.oa.services.impl; +import com.jsl.oa.common.constant.ReviewConstants; import com.jsl.oa.dao.ProjectDAO; import com.jsl.oa.dao.ReviewDAO; import com.jsl.oa.dao.UserDAO; @@ -20,6 +21,8 @@ import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletRequest; import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; import java.util.List; @Slf4j @@ -36,7 +39,65 @@ public class ReviewServiceImpl implements ReviewService { @Override - public BaseResponse getUserReview(Long projectId, HttpServletRequest request) { + public BaseResponse getUserPendingApprovalReview(HttpServletRequest request) { + log.info("\t> 执行 Service 层 ReviewService.getUserPendingApprovalReview 方法"); + + //获取用户 + Long userId = Processing.getAuthHeaderToUserId(request); + + //存储审核数据的数组 + List reviewData = new ArrayList<>(); + + //先获取用户为项目负责人的项目列表 + projectDAO.getProjectByPrincipalUser(userId); + + //先从用户为 项目负责人 的项目中获取对应 审核信息 + for (ProjectDO projectDO : projectDAO.getProjectByPrincipalUser(userId)) { + //查询每个项目下所有的审核信息 + List reviewDOS = reviewMapper. + selectApprovedResultReviewFromProject(projectDO.getId(), + ReviewConstants.PENDING); + //封装VO类 + reviewData.addAll(encapsulateArrayClass(reviewDOS)); + } + + //在从用户为 子系统负责人 的项目中获取对应 审核信息 + for (ProjectWorkDO projectWorkDO : projectDAO.getAllSubsystemByUserId(userId)) { + //查询每个项目下状态为2的审核信息 + List reviewDOS = reviewMapper. + selectApprovedResultReviewsFromSubsystem(projectWorkDO.getId(), + ReviewConstants.PENDING); + //封装VO类 + reviewData.addAll(encapsulateArrayClass(reviewDOS)); + } + + + //在从用户为 子模块负责人 的项目中获取对应 审核信息 + for (ProjectWorkDO projectWorkDO : projectDAO.getAllSubmoduleByUserId(userId)) { + //查询每个项目下所有的审核信息 + List reviewDOS = reviewMapper. + selectApprovedResultReviewsFromSubsystem(projectWorkDO.getId(), + ReviewConstants.PENDING); + //封装VO类 + reviewData.addAll(encapsulateArrayClass(reviewDOS)); + } + + + //按照申请时间降序排序 + Collections.sort(reviewData, new Comparator() { + @Override + public int compare(ReviewVO review1, ReviewVO review2) { + return review2.getApplicationTime().compareTo(review1.getApplicationTime()); + } + }); + + return ResultUtil.success(reviewData); + } + + + + @Override + public BaseResponse getUserReview(HttpServletRequest request) { log.info("\t> 执行 Service 层 ReviewService.getUserReview 方法"); //获取用户 @@ -76,6 +137,14 @@ public class ReviewServiceImpl implements ReviewService { reviewData.addAll(encapsulateArrayClass(reviewDOS)); } + //按照申请时间降序排序 + Collections.sort(reviewData, new Comparator() { + @Override + public int compare(ReviewVO review1, ReviewVO review2) { + return review2.getApplicationTime().compareTo(review1.getApplicationTime()); + } + }); + return ResultUtil.success(reviewData); } From ff34595002669108e9eb8f589d37963006f1b0b2 Mon Sep 17 00:00:00 2001 From: xiangZr-hhh <“2774915446@qq.com”> Date: Fri, 12 Apr 2024 09:20:51 +0800 Subject: [PATCH 02/11] =?UTF-8?q?feat=EF=BC=9A=E5=A2=9E=E5=8A=A0=E6=96=B0?= =?UTF-8?q?=E4=B8=9A=E5=8A=A1=E5=8A=9F=E8=83=BD=E6=96=B0=E5=A2=9E=E5=AE=A1?= =?UTF-8?q?=E6=A0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../oa/common/constant/ReviewConstants.java | 8 ++- .../jsl/oa/controllers/ReviewController.java | 29 +++++++++ src/main/java/com/jsl/oa/dao/ReviewDAO.java | 45 ++++++++++++- .../java/com/jsl/oa/mapper/ReviewMapper.java | 1 + .../com/jsl/oa/model/vodata/ReviewAddVO.java | 29 +++++++++ .../com/jsl/oa/services/ReviewService.java | 2 + .../oa/services/impl/ReviewServiceImpl.java | 49 ++++++++++---- .../com/jsl/oa/mapper/ReviewMapper.xml | 64 +++++++++++++++++++ 8 files changed, 212 insertions(+), 15 deletions(-) create mode 100644 src/main/java/com/jsl/oa/model/vodata/ReviewAddVO.java create mode 100644 src/main/resources/com/jsl/oa/mapper/ReviewMapper.xml diff --git a/src/main/java/com/jsl/oa/common/constant/ReviewConstants.java b/src/main/java/com/jsl/oa/common/constant/ReviewConstants.java index 42ffd47..029ff85 100644 --- a/src/main/java/com/jsl/oa/common/constant/ReviewConstants.java +++ b/src/main/java/com/jsl/oa/common/constant/ReviewConstants.java @@ -4,7 +4,7 @@ package com.jsl.oa.common.constant; /** *

Review常量类

*
- * 用于存放审核信息的审批状态常量 + * 用于存放审核信息的审批状态常量与类别常量 * * @version v1.1.0 * @since v1.1.0 @@ -12,12 +12,18 @@ package com.jsl.oa.common.constant; */ public class ReviewConstants { +// 审核状态 0:未通过;1:已通过;2:未审批 public static final int NOT_APPROVED = 0; public static final int APPROVED = 1; public static final int PENDING = 2; +// 审核类型 0:子系统;1:子模块 + public static final int SUBSYSTEM = 0; + + public static final int SUBMODULE = 1; + } diff --git a/src/main/java/com/jsl/oa/controllers/ReviewController.java b/src/main/java/com/jsl/oa/controllers/ReviewController.java index 197462d..14f4f22 100644 --- a/src/main/java/com/jsl/oa/controllers/ReviewController.java +++ b/src/main/java/com/jsl/oa/controllers/ReviewController.java @@ -1,13 +1,21 @@ package com.jsl.oa.controllers; +import com.jsl.oa.model.vodata.ReviewAddVO; import com.jsl.oa.services.ReviewService; import com.jsl.oa.utils.BaseResponse; +import com.jsl.oa.utils.ErrorCode; +import com.jsl.oa.utils.ResultUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.BindingResult; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; +import javax.validation.constraints.NotNull; /** * 审核控制器 @@ -48,6 +56,27 @@ public class ReviewController { } + /** + * @Description: 新增审核申请 + * @Date: 2024/4/12 + * @Param null: + **/ + @PostMapping("/review/add") + public BaseResponse addReview(@RequestBody @Validated ReviewAddVO reviewAddVO, + @NotNull BindingResult bindingResult, + HttpServletRequest request) { + log.info("请求接口[POST]: /review/add"); + + if (bindingResult.hasErrors()) { + return ResultUtil.error(ErrorCode.REQUEST_BODY_ERROR); + } + + return reviewService.addReview(reviewAddVO, request); + } + + + + } diff --git a/src/main/java/com/jsl/oa/dao/ReviewDAO.java b/src/main/java/com/jsl/oa/dao/ReviewDAO.java index 5309e98..85083bf 100644 --- a/src/main/java/com/jsl/oa/dao/ReviewDAO.java +++ b/src/main/java/com/jsl/oa/dao/ReviewDAO.java @@ -27,13 +27,54 @@ public class ReviewDAO { private final ReviewMapper reviewMapper; private final ProjectMapper projectMapper; - public List getPrincipalUserReview(Long pid) { - return reviewMapper.selectAllReviewFromProject(pid); + + public List selectAllReviewFromProject(Long projectId) { + log.info("\t> 执行 DAO 层 ReviewDAO.selectAllReviewFromProject 方法"); + log.info("\t\t> 从 MySQL 获取数据"); + return reviewMapper.selectAllReviewFromProject(projectId); } + public List selectApprovedResultReviewFromProject(Long projectId, + Integer result) { + log.info("\t> 执行 DAO 层 ReviewDAO.selectApprovedResultReviewFromProject 方法"); + log.info("\t\t> 从 MySQL 获取数据"); + return reviewMapper.selectApprovedResultReviewFromProject(projectId, + result); + } + + public List selectReviewFromSubsystem(Long subsystemId) { + log.info("\t> 执行 DAO 层 ReviewDAO.selectReviewFromSubsystem 方法"); + log.info("\t\t> 从 MySQL 获取数据"); + return reviewMapper.selectReviewFromSubsystem(subsystemId); + } + + public List selectApprovedResultReviewsFromSubsystem(Long subsystemId, + Integer result) { + log.info("\t> 执行 DAO 层 ReviewDAO.selectApprovedResultReviewsFromSubsystem 方法"); + log.info("\t\t> 从 MySQL 获取数据"); + return reviewMapper.selectApprovedResultReviewsFromSubsystem(subsystemId, + result); + } + + public List selectReviewFromSubmodule(Long submoduleId) { + log.info("\t> 执行 DAO 层 ReviewDAO.selectReviewFromSubmodule 方法"); + log.info("\t\t> 从 MySQL 获取数据"); + return reviewMapper.selectReviewFromSubmodule(submoduleId); + } + + public void addReview(ReviewDO reviewDO) { + log.info("\t> 执行 DAO 层 ReviewDAO.addReview 方法"); + log.info("\t\t> 从 MySQL 插入数据"); + reviewMapper.addReview(reviewDO); + } + + public String getNameBySubproject(Long subId) { + log.info("\t> 执行 DAO 层 ReviewDAO.getNameBySubproject 方法"); + if (subId != null) { + log.info("\t\t> 从 MySQL 获取数据"); return projectMapper.getProjectWorkById(subId).getName(); } diff --git a/src/main/java/com/jsl/oa/mapper/ReviewMapper.java b/src/main/java/com/jsl/oa/mapper/ReviewMapper.java index 604c048..541d3f5 100644 --- a/src/main/java/com/jsl/oa/mapper/ReviewMapper.java +++ b/src/main/java/com/jsl/oa/mapper/ReviewMapper.java @@ -32,5 +32,6 @@ public interface ReviewMapper { @Select("SELECT * FROM organize_oa.oa_review WHERE id = #{id} AND is_delete = 0") ReviewDO selectReviewById(Long id); + void addReview(ReviewDO reviewDO); } diff --git a/src/main/java/com/jsl/oa/model/vodata/ReviewAddVO.java b/src/main/java/com/jsl/oa/model/vodata/ReviewAddVO.java new file mode 100644 index 0000000..640fcc3 --- /dev/null +++ b/src/main/java/com/jsl/oa/model/vodata/ReviewAddVO.java @@ -0,0 +1,29 @@ +package com.jsl.oa.model.vodata; + + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +@Data +public class ReviewAddVO { + + //申请名称 + @NotBlank(message = "审核名称不能为空") + private String name; + //申请理由 + @NotBlank(message = "申请理由不能为空") + private String content; + //申请的项目id + @NotNull(message = "项目id不能为空") + private Long projectId; + //申请的子系统id + @NotNull(message = "子系统id不能为空") + private Long projectSubsystemId; + //申请的子模块id + private Long projectSubmoduleId; + +} + + diff --git a/src/main/java/com/jsl/oa/services/ReviewService.java b/src/main/java/com/jsl/oa/services/ReviewService.java index acd3c04..606b3eb 100644 --- a/src/main/java/com/jsl/oa/services/ReviewService.java +++ b/src/main/java/com/jsl/oa/services/ReviewService.java @@ -1,6 +1,7 @@ package com.jsl.oa.services; +import com.jsl.oa.model.vodata.ReviewAddVO; import com.jsl.oa.utils.BaseResponse; import javax.servlet.http.HttpServletRequest; @@ -11,4 +12,5 @@ public interface ReviewService { BaseResponse getUserReview(HttpServletRequest request); + BaseResponse addReview(ReviewAddVO reviewAddVO, HttpServletRequest request); } diff --git a/src/main/java/com/jsl/oa/services/impl/ReviewServiceImpl.java b/src/main/java/com/jsl/oa/services/impl/ReviewServiceImpl.java index 9ddcd42..04d3012 100644 --- a/src/main/java/com/jsl/oa/services/impl/ReviewServiceImpl.java +++ b/src/main/java/com/jsl/oa/services/impl/ReviewServiceImpl.java @@ -5,11 +5,11 @@ import com.jsl.oa.common.constant.ReviewConstants; import com.jsl.oa.dao.ProjectDAO; import com.jsl.oa.dao.ReviewDAO; import com.jsl.oa.dao.UserDAO; -import com.jsl.oa.mapper.ReviewMapper; import com.jsl.oa.mapper.UserMapper; import com.jsl.oa.model.dodata.ProjectDO; import com.jsl.oa.model.dodata.ProjectWorkDO; import com.jsl.oa.model.dodata.ReviewDO; +import com.jsl.oa.model.vodata.ReviewAddVO; import com.jsl.oa.model.vodata.ReviewVO; import com.jsl.oa.services.ReviewService; import com.jsl.oa.utils.BaseResponse; @@ -20,10 +20,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletRequest; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Comparator; -import java.util.List; +import java.util.*; @Slf4j @Service @@ -35,7 +32,6 @@ public class ReviewServiceImpl implements ReviewService { private final ProjectDAO projectDAO; private final UserMapper userMapper; - private final ReviewMapper reviewMapper; @Override @@ -54,7 +50,7 @@ public class ReviewServiceImpl implements ReviewService { //先从用户为 项目负责人 的项目中获取对应 审核信息 for (ProjectDO projectDO : projectDAO.getProjectByPrincipalUser(userId)) { //查询每个项目下所有的审核信息 - List reviewDOS = reviewMapper. + List reviewDOS = reviewDAO. selectApprovedResultReviewFromProject(projectDO.getId(), ReviewConstants.PENDING); //封装VO类 @@ -64,7 +60,7 @@ public class ReviewServiceImpl implements ReviewService { //在从用户为 子系统负责人 的项目中获取对应 审核信息 for (ProjectWorkDO projectWorkDO : projectDAO.getAllSubsystemByUserId(userId)) { //查询每个项目下状态为2的审核信息 - List reviewDOS = reviewMapper. + List reviewDOS = reviewDAO. selectApprovedResultReviewsFromSubsystem(projectWorkDO.getId(), ReviewConstants.PENDING); //封装VO类 @@ -75,7 +71,7 @@ public class ReviewServiceImpl implements ReviewService { //在从用户为 子模块负责人 的项目中获取对应 审核信息 for (ProjectWorkDO projectWorkDO : projectDAO.getAllSubmoduleByUserId(userId)) { //查询每个项目下所有的审核信息 - List reviewDOS = reviewMapper. + List reviewDOS = reviewDAO. selectApprovedResultReviewsFromSubsystem(projectWorkDO.getId(), ReviewConstants.PENDING); //封装VO类 @@ -112,7 +108,7 @@ public class ReviewServiceImpl implements ReviewService { //先从用户为 项目负责人 的项目中获取对应 审核信息 for (ProjectDO projectDO : projectDAO.getProjectByPrincipalUser(userId)) { //查询每个项目下所有的审核信息 - List reviewDOS = reviewMapper. + List reviewDOS = reviewDAO. selectAllReviewFromProject(projectDO.getId()); //封装VO类 reviewData.addAll(encapsulateArrayClass(reviewDOS)); @@ -121,7 +117,7 @@ public class ReviewServiceImpl implements ReviewService { //在从用户为 子系统负责人 的项目中获取对应 审核信息 for (ProjectWorkDO projectWorkDO : projectDAO.getAllSubsystemByUserId(userId)) { //查询每个项目下所有的审核信息 - List reviewDOS = reviewMapper. + List reviewDOS = reviewDAO. selectReviewFromSubsystem(projectWorkDO.getId()); //封装VO类 reviewData.addAll(encapsulateArrayClass(reviewDOS)); @@ -131,7 +127,7 @@ public class ReviewServiceImpl implements ReviewService { //在从用户为 子模块负责人 的项目中获取对应 审核信息 for (ProjectWorkDO projectWorkDO : projectDAO.getAllSubmoduleByUserId(userId)) { //查询每个项目下所有的审核信息 - List reviewDOS = reviewMapper. + List reviewDOS = reviewDAO. selectReviewFromSubmodule(projectWorkDO.getId()); //封装VO类 reviewData.addAll(encapsulateArrayClass(reviewDOS)); @@ -149,6 +145,35 @@ public class ReviewServiceImpl implements ReviewService { } + + @Override + public BaseResponse addReview(ReviewAddVO reviewAddVO, HttpServletRequest request) { + log.info("\t> 执行 Service 层 ReviewService.addReview 方法"); + + //获取用户 + Long userId = Processing.getAuthHeaderToUserId(request); + + //定义要添加的审核实体类 + ReviewDO reviewDO = new ReviewDO(); + //现将属性相同的值拷贝 + Processing.copyProperties(reviewAddVO, reviewDO); + + //定义审核的类型(子模块id为空则为 子系统类型,否则为子模块类型) + if (reviewAddVO.getProjectSubmoduleId() == null) { + reviewDO.setCategory(ReviewConstants.SUBSYSTEM); + } else if (reviewAddVO.getProjectSubmoduleId() != null) { + reviewDO.setCategory(ReviewConstants.SUBMODULE); + } + + //定义申请者id + reviewDO.setSenderId(userId); + //添加数据 + reviewDAO.addReview(reviewDO); + + return ResultUtil.success("申请成功"); + } + + /** * @Description: 封装审核的VO类 * @Date: 2024/4/11 diff --git a/src/main/resources/com/jsl/oa/mapper/ReviewMapper.xml b/src/main/resources/com/jsl/oa/mapper/ReviewMapper.xml new file mode 100644 index 0000000..2a59034 --- /dev/null +++ b/src/main/resources/com/jsl/oa/mapper/ReviewMapper.xml @@ -0,0 +1,64 @@ + + + + + + insert into organize_oa.oa_review + + + + name = #{name}, + + + + content = #{content}, + + + + sender_id = #{sender_id}, + + + + recipient_id = #{recipient_id}, + + + + category = #{category}, + + + + project_id = #{project_id}, + + + + project_subsystem_id = #{project_subsystem_id}, + + + + project_submodule_id = #{project_submodule_id}, + + + + application_time = #{application_time}, + + + + review_time = #{review_time}, + + + + review_result = #{review_result}, + + + + is_delete = #{is_delete}, + + + + where id = #{id} + + + + \ No newline at end of file From ec45c0b233094e3de7fe0b4e8e0b7a1e7dd840d4 Mon Sep 17 00:00:00 2001 From: xiangZr-hhh <“2774915446@qq.com”> Date: Fri, 12 Apr 2024 14:28:28 +0800 Subject: [PATCH 03/11] =?UTF-8?q?feat=EF=BC=9A=E5=A2=9E=E5=8A=A0=E6=96=B0?= =?UTF-8?q?=E4=B8=9A=E5=8A=A1=E5=8A=9F=E8=83=BD=E4=BF=AE=E6=94=B9=E5=AE=A1?= =?UTF-8?q?=E6=A0=B8=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../oa/common/constant/ReviewConstants.java | 10 ++-- .../jsl/oa/controllers/ReviewController.java | 21 +++++-- src/main/java/com/jsl/oa/dao/ReviewDAO.java | 16 +++++- .../java/com/jsl/oa/mapper/ReviewMapper.java | 6 +- .../com/jsl/oa/model/dodata/ReviewDO.java | 6 +- .../oa/model/vodata/ReviewUpdateResultVO.java | 23 ++++++++ .../com/jsl/oa/services/ReviewService.java | 3 + .../oa/services/impl/ReviewServiceImpl.java | 28 +++++++++ src/main/java/com/jsl/oa/utils/ErrorCode.java | 3 +- .../java/com/jsl/oa/utils/Processing.java | 4 +- .../com/jsl/oa/mapper/ReviewMapper.xml | 57 +++++++++++++++++++ 11 files changed, 158 insertions(+), 19 deletions(-) create mode 100644 src/main/java/com/jsl/oa/model/vodata/ReviewUpdateResultVO.java diff --git a/src/main/java/com/jsl/oa/common/constant/ReviewConstants.java b/src/main/java/com/jsl/oa/common/constant/ReviewConstants.java index 029ff85..3468ef4 100644 --- a/src/main/java/com/jsl/oa/common/constant/ReviewConstants.java +++ b/src/main/java/com/jsl/oa/common/constant/ReviewConstants.java @@ -13,16 +13,16 @@ package com.jsl.oa.common.constant; public class ReviewConstants { // 审核状态 0:未通过;1:已通过;2:未审批 - public static final int NOT_APPROVED = 0; + public static final short NOT_APPROVED = 0; - public static final int APPROVED = 1; + public static final short APPROVED = 1; - public static final int PENDING = 2; + public static final short PENDING = 2; // 审核类型 0:子系统;1:子模块 - public static final int SUBSYSTEM = 0; + public static final short SUBSYSTEM = 0; - public static final int SUBMODULE = 1; + public static final short SUBMODULE = 1; } diff --git a/src/main/java/com/jsl/oa/controllers/ReviewController.java b/src/main/java/com/jsl/oa/controllers/ReviewController.java index 14f4f22..d0d1659 100644 --- a/src/main/java/com/jsl/oa/controllers/ReviewController.java +++ b/src/main/java/com/jsl/oa/controllers/ReviewController.java @@ -1,6 +1,7 @@ package com.jsl.oa.controllers; import com.jsl.oa.model.vodata.ReviewAddVO; +import com.jsl.oa.model.vodata.ReviewUpdateResultVO; import com.jsl.oa.services.ReviewService; import com.jsl.oa.utils.BaseResponse; import com.jsl.oa.utils.ErrorCode; @@ -9,10 +10,7 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.BindingResult; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import javax.validation.constraints.NotNull; @@ -76,6 +74,21 @@ public class ReviewController { + @PutMapping("/review/updateReview") + public BaseResponse updateReview(@RequestBody @Validated ReviewUpdateResultVO reviewUpdateResultVOVO, + @NotNull BindingResult bindingResult, + HttpServletRequest request) { + log.info("请求接口[PUT]: /review/updateReview"); + + if (bindingResult.hasErrors()) { + return ResultUtil.error(ErrorCode.REQUEST_BODY_ERROR); + } + + return reviewService.updateReviewResult(reviewUpdateResultVOVO, request); + } + + + } diff --git a/src/main/java/com/jsl/oa/dao/ReviewDAO.java b/src/main/java/com/jsl/oa/dao/ReviewDAO.java index 85083bf..11f8989 100644 --- a/src/main/java/com/jsl/oa/dao/ReviewDAO.java +++ b/src/main/java/com/jsl/oa/dao/ReviewDAO.java @@ -35,7 +35,7 @@ public class ReviewDAO { } public List selectApprovedResultReviewFromProject(Long projectId, - Integer result) { + short result) { log.info("\t> 执行 DAO 层 ReviewDAO.selectApprovedResultReviewFromProject 方法"); log.info("\t\t> 从 MySQL 获取数据"); return reviewMapper.selectApprovedResultReviewFromProject(projectId, @@ -49,7 +49,7 @@ public class ReviewDAO { } public List selectApprovedResultReviewsFromSubsystem(Long subsystemId, - Integer result) { + short result) { log.info("\t> 执行 DAO 层 ReviewDAO.selectApprovedResultReviewsFromSubsystem 方法"); log.info("\t\t> 从 MySQL 获取数据"); return reviewMapper.selectApprovedResultReviewsFromSubsystem(subsystemId, @@ -68,6 +68,18 @@ public class ReviewDAO { reviewMapper.addReview(reviewDO); } + public ReviewDO selectReviewById(Long id) { + log.info("\t> 执行 DAO 层 ReviewDAO.selectReviewById 方法"); + log.info("\t\t> 从 MySQL 获取数据"); + return reviewMapper.selectReviewById(id); + } + + public void updateReview(ReviewDO reviewDO) { + log.info("\t> 执行 DAO 层 ReviewDAO.updateReview 方法"); + log.info("\t\t> 从 MySQL 更新数据"); + reviewMapper.updateReview(reviewDO); + } + public String getNameBySubproject(Long subId) { diff --git a/src/main/java/com/jsl/oa/mapper/ReviewMapper.java b/src/main/java/com/jsl/oa/mapper/ReviewMapper.java index 541d3f5..f1ed6b8 100644 --- a/src/main/java/com/jsl/oa/mapper/ReviewMapper.java +++ b/src/main/java/com/jsl/oa/mapper/ReviewMapper.java @@ -14,7 +14,7 @@ public interface ReviewMapper { @Select("SELECT * FROM organize_oa.oa_review WHERE project_id = #{projectId}" + "AND is_delete = 0 AND review_result = #{result}") - List selectApprovedResultReviewFromProject(Long projectId, Integer result); + List selectApprovedResultReviewFromProject(Long projectId, short result); @Select("SELECT * FROM organize_oa.oa_review WHERE " + "project_subsystem_id = #{subsystemId} AND is_delete = 0") @@ -23,7 +23,7 @@ public interface ReviewMapper { @Select("SELECT * FROM organize_oa.oa_review WHERE " + "project_subsystem_id = #{subsystemId} " + "AND is_delete = 0 AND review_result = #{result}") - List selectApprovedResultReviewsFromSubsystem(Long subsystemId, Integer result); + List selectApprovedResultReviewsFromSubsystem(Long subsystemId, short result); @Select("SELECT * FROM organize_oa.oa_review WHERE " + "project_submodule_id = #{subsystemId} AND is_delete = 0") @@ -32,6 +32,8 @@ public interface ReviewMapper { @Select("SELECT * FROM organize_oa.oa_review WHERE id = #{id} AND is_delete = 0") ReviewDO selectReviewById(Long id); + void updateReview(ReviewDO reviewDO); + void addReview(ReviewDO reviewDO); } diff --git a/src/main/java/com/jsl/oa/model/dodata/ReviewDO.java b/src/main/java/com/jsl/oa/model/dodata/ReviewDO.java index e4423d1..467c2e5 100644 --- a/src/main/java/com/jsl/oa/model/dodata/ReviewDO.java +++ b/src/main/java/com/jsl/oa/model/dodata/ReviewDO.java @@ -31,7 +31,7 @@ public class ReviewDO { //审核者用户id private Long recipientId; //审核类别(0:子系统;1:子模块) - private Integer category; + private Short category; //申请的项目id private Long projectId; //申请的子系统id @@ -43,9 +43,9 @@ public class ReviewDO { //审核时间 private Date reviewTime; //审核结果(0:未通过;1:通过;2:未审批) - private Integer reviewResult; + private Short reviewResult; //是否删除(0:未删除;1:已删除) - private Integer isDelete; + private String isDelete; } diff --git a/src/main/java/com/jsl/oa/model/vodata/ReviewUpdateResultVO.java b/src/main/java/com/jsl/oa/model/vodata/ReviewUpdateResultVO.java new file mode 100644 index 0000000..11d8741 --- /dev/null +++ b/src/main/java/com/jsl/oa/model/vodata/ReviewUpdateResultVO.java @@ -0,0 +1,23 @@ +package com.jsl.oa.model.vodata; + +import lombok.Data; + +import javax.validation.constraints.Max; +import javax.validation.constraints.Min; +import javax.validation.constraints.NotNull; + +@Data +public class ReviewUpdateResultVO { + + @NotNull + private Long id; + + @NotNull + @Min(value = 0, message = "未通过:0,已通过:1,待审批:2") + @Max(value = 2, message = "未通过:0,已通过:1,待审批:2") + private Short result; + + +} + + diff --git a/src/main/java/com/jsl/oa/services/ReviewService.java b/src/main/java/com/jsl/oa/services/ReviewService.java index 606b3eb..0457d36 100644 --- a/src/main/java/com/jsl/oa/services/ReviewService.java +++ b/src/main/java/com/jsl/oa/services/ReviewService.java @@ -2,6 +2,7 @@ package com.jsl.oa.services; import com.jsl.oa.model.vodata.ReviewAddVO; +import com.jsl.oa.model.vodata.ReviewUpdateResultVO; import com.jsl.oa.utils.BaseResponse; import javax.servlet.http.HttpServletRequest; @@ -13,4 +14,6 @@ public interface ReviewService { BaseResponse getUserReview(HttpServletRequest request); BaseResponse addReview(ReviewAddVO reviewAddVO, HttpServletRequest request); + + BaseResponse updateReviewResult(ReviewUpdateResultVO reviewUpdateResultVOVO, HttpServletRequest request); } diff --git a/src/main/java/com/jsl/oa/services/impl/ReviewServiceImpl.java b/src/main/java/com/jsl/oa/services/impl/ReviewServiceImpl.java index 04d3012..74b72c1 100644 --- a/src/main/java/com/jsl/oa/services/impl/ReviewServiceImpl.java +++ b/src/main/java/com/jsl/oa/services/impl/ReviewServiceImpl.java @@ -10,9 +10,11 @@ import com.jsl.oa.model.dodata.ProjectDO; import com.jsl.oa.model.dodata.ProjectWorkDO; import com.jsl.oa.model.dodata.ReviewDO; import com.jsl.oa.model.vodata.ReviewAddVO; +import com.jsl.oa.model.vodata.ReviewUpdateResultVO; import com.jsl.oa.model.vodata.ReviewVO; import com.jsl.oa.services.ReviewService; import com.jsl.oa.utils.BaseResponse; +import com.jsl.oa.utils.ErrorCode; import com.jsl.oa.utils.Processing; import com.jsl.oa.utils.ResultUtil; import lombok.RequiredArgsConstructor; @@ -174,6 +176,32 @@ public class ReviewServiceImpl implements ReviewService { } + + @Override + public BaseResponse updateReviewResult(ReviewUpdateResultVO reviewUpdateResultVO, HttpServletRequest request) { + + //获取当前用户 + Long userId = Processing.getAuthHeaderToUserId(request); + + //获取对应审核信息 + ReviewDO reviewDO = reviewDAO.selectReviewById(reviewUpdateResultVO.getId()); + + if (reviewDO == null) { + return ResultUtil.error(ErrorCode.REVIEW_NOT_EXIST); + } + + //设置对应属性 + reviewDO.setReviewTime(new Date()); + reviewDO.setRecipientId(userId); + reviewDO.setReviewResult(reviewUpdateResultVO.getResult()); + + //更新数据 + reviewDAO.updateReview(reviewDO); + + return ResultUtil.success(); + } + + /** * @Description: 封装审核的VO类 * @Date: 2024/4/11 diff --git a/src/main/java/com/jsl/oa/utils/ErrorCode.java b/src/main/java/com/jsl/oa/utils/ErrorCode.java index bb01d53..05e988d 100755 --- a/src/main/java/com/jsl/oa/utils/ErrorCode.java +++ b/src/main/java/com/jsl/oa/utils/ErrorCode.java @@ -52,7 +52,8 @@ public enum ErrorCode { PROJECT_CUTTING_NOT_EXIST("ProjectCuttingNotExist", 40017, "项目分割模块不存在"), PROJECT_USER_NOT_EXIST("ProjectUserNotExist", 40018, "用户项目表无对应记录"), PROJECT_FILE_JSON_ERROR("ProjectFileJsonError", 40019, "项目文件json格式错误"), - PROJECT_NOT_USER("ProjectNotUser", 40020, "项目无此用户"); + PROJECT_NOT_USER("ProjectNotUser", 40020, "项目无此用户"), + REVIEW_NOT_EXIST("ReviewNotExit", 40101, "未找到对应审核信息"); private final String output; diff --git a/src/main/java/com/jsl/oa/utils/Processing.java b/src/main/java/com/jsl/oa/utils/Processing.java index ab81654..b588f47 100755 --- a/src/main/java/com/jsl/oa/utils/Processing.java +++ b/src/main/java/com/jsl/oa/utils/Processing.java @@ -434,7 +434,7 @@ public class Processing { * @Date: 2024/4/11 * @Param category: **/ - public static String turnReviewCategory(Integer category) { + public static String turnReviewCategory(short category) { switch (category) { case 0: return "子系统"; @@ -445,7 +445,7 @@ public class Processing { } } - public static String turnReviewResult(Integer result) { + public static String turnReviewResult(short result) { switch (result) { case 0: return "已拒绝"; diff --git a/src/main/resources/com/jsl/oa/mapper/ReviewMapper.xml b/src/main/resources/com/jsl/oa/mapper/ReviewMapper.xml index 2a59034..492ae12 100644 --- a/src/main/resources/com/jsl/oa/mapper/ReviewMapper.xml +++ b/src/main/resources/com/jsl/oa/mapper/ReviewMapper.xml @@ -61,4 +61,61 @@ + + update organize_oa.oa_review + + + + name = #{name}, + + + + content = #{content}, + + + + sender_id = #{sender_id}, + + + + recipient_id = #{recipient_id}, + + + + category = #{category}, + + + + project_id = #{project_id}, + + + + project_subsystem_id = #{project_subsystem_id}, + + + + project_submodule_id = #{project_submodule_id}, + + + + application_time = #{application_time}, + + + + review_time = #{review_time}, + + + + review_result = #{review_result}, + + + + is_delete = #{is_delete}, + + + + where id = #{id} + + + \ No newline at end of file From 49247fd88fde72bdbecd77794923492f96c320f4 Mon Sep 17 00:00:00 2001 From: xiangZr-hhh <“2774915446@qq.com”> Date: Fri, 12 Apr 2024 18:42:06 +0800 Subject: [PATCH 04/11] =?UTF-8?q?fix:=E4=BF=AE=E6=94=B9=E5=AE=A1=E6=A0=B8?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修正xml文件的部分bug --- .../java/com/jsl/oa/mapper/ProjectMapper.java | 13 +- .../java/com/jsl/oa/mapper/ReviewMapper.java | 4 +- .../oa/services/impl/ReviewServiceImpl.java | 17 +- .../com/jsl/oa/mapper/ReviewMapper.xml | 182 ++++++++++-------- 4 files changed, 124 insertions(+), 92 deletions(-) diff --git a/src/main/java/com/jsl/oa/mapper/ProjectMapper.java b/src/main/java/com/jsl/oa/mapper/ProjectMapper.java index fd80579..7504948 100644 --- a/src/main/java/com/jsl/oa/mapper/ProjectMapper.java +++ b/src/main/java/com/jsl/oa/mapper/ProjectMapper.java @@ -108,9 +108,18 @@ public interface ProjectMapper { + "where DATE(deadline) = DATE(#{threeDayLater}) and is_finish != 1") List getProjectWorkByTime(LocalDateTime threeDayLater); + @Select("select * from organize_oa.oa_project_work where " + + "principal_id=#{uid} " + + "AND is_delete = 0 AND type = 1") List getAllSubmoduleByUserId(Long uid); - List getProjectByPrincipalUser(Long uid); - + @Select("select * from organize_oa.oa_project_work where " + + "principal_id=#{uid} " + + "AND is_delete = 0 AND type = 0") List getAllSubsystemByUserId(Long uid); + + @Select("select * from organize_oa.oa_project where " + + "principal_id=#{uid} " + + "AND is_delete = 0") + List getProjectByPrincipalUser(Long uid); } diff --git a/src/main/java/com/jsl/oa/mapper/ReviewMapper.java b/src/main/java/com/jsl/oa/mapper/ReviewMapper.java index f1ed6b8..144a832 100644 --- a/src/main/java/com/jsl/oa/mapper/ReviewMapper.java +++ b/src/main/java/com/jsl/oa/mapper/ReviewMapper.java @@ -8,11 +8,11 @@ import java.util.List; @Mapper public interface ReviewMapper { - @Select("SELECT * FROM organize_oa.oa_review WHERE project_id = #{projectId}" + @Select("SELECT * FROM organize_oa.oa_review WHERE project_id = #{projectId} " + "AND is_delete = 0") List selectAllReviewFromProject(Long projectId); - @Select("SELECT * FROM organize_oa.oa_review WHERE project_id = #{projectId}" + @Select("SELECT * FROM organize_oa.oa_review WHERE project_id = #{projectId} " + "AND is_delete = 0 AND review_result = #{result}") List selectApprovedResultReviewFromProject(Long projectId, short result); diff --git a/src/main/java/com/jsl/oa/services/impl/ReviewServiceImpl.java b/src/main/java/com/jsl/oa/services/impl/ReviewServiceImpl.java index 74b72c1..4e7993b 100644 --- a/src/main/java/com/jsl/oa/services/impl/ReviewServiceImpl.java +++ b/src/main/java/com/jsl/oa/services/impl/ReviewServiceImpl.java @@ -93,7 +93,6 @@ public class ReviewServiceImpl implements ReviewService { } - @Override public BaseResponse getUserReview(HttpServletRequest request) { log.info("\t> 执行 Service 层 ReviewService.getUserReview 方法"); @@ -147,7 +146,6 @@ public class ReviewServiceImpl implements ReviewService { } - @Override public BaseResponse addReview(ReviewAddVO reviewAddVO, HttpServletRequest request) { log.info("\t> 执行 Service 层 ReviewService.addReview 方法"); @@ -176,7 +174,6 @@ public class ReviewServiceImpl implements ReviewService { } - @Override public BaseResponse updateReviewResult(ReviewUpdateResultVO reviewUpdateResultVO, HttpServletRequest request) { @@ -216,14 +213,19 @@ public class ReviewServiceImpl implements ReviewService { ReviewVO reviewVO = new ReviewVO(); // 现将相同的属性赋值 Processing.copyProperties(reviewDO, reviewVO); -// 赋值其他属性 +// 赋值其他非空属性 reviewVO.setCategory(Processing.turnReviewCategory(reviewDO.getCategory())) .setSenderName(userMapper.getUserById(reviewDO.getSenderId()).getNickname()) - .setRecipientName(userMapper.getUserById(reviewDO.getRecipientId()).getNickname()) .setProjectName(projectDAO.getProjectById(reviewDO.getProjectId()).getName()) .setSubsystemName(reviewDAO.getNameBySubproject(reviewDO.getProjectSubsystemId())) - .setSubmoduleName(reviewDAO.getNameBySubproject(reviewDO.getProjectSubmoduleId())) .setResult(Processing.turnReviewResult(reviewDO.getReviewResult())); +// 赋值可为空属性并进行判断 + if (reviewDO.getRecipientId() != null) { + reviewVO.setRecipientName(userMapper.getUserById(reviewDO.getRecipientId()).getNickname()); + } + if (reviewDO.getProjectSubmoduleId() != null) { + reviewVO.setSubmoduleName(reviewDAO.getNameBySubproject(reviewDO.getProjectSubmoduleId())); + } // 将封装好的结果添加到结果集 resultData.add(reviewVO); } @@ -232,9 +234,6 @@ public class ReviewServiceImpl implements ReviewService { } - - - } diff --git a/src/main/resources/com/jsl/oa/mapper/ReviewMapper.xml b/src/main/resources/com/jsl/oa/mapper/ReviewMapper.xml index 492ae12..1d4c6ed 100644 --- a/src/main/resources/com/jsl/oa/mapper/ReviewMapper.xml +++ b/src/main/resources/com/jsl/oa/mapper/ReviewMapper.xml @@ -4,118 +4,142 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - - insert into organize_oa.oa_review - - + + INSERT INTO organize_oa.oa_review + - name = #{name}, + name, - - content = #{content}, + content, - - - sender_id = #{sender_id}, + + sender_id, - - - recipient_id = #{recipient_id}, + + recipient_id, - - category = #{category}, + category, - - - project_id = #{project_id}, + + project_id, - - - project_subsystem_id = #{project_subsystem_id}, + + project_subsystem_id, - - - project_submodule_id = #{project_submodule_id}, + + project_submodule_id, - - - application_time = #{application_time}, + + application_time, - - - review_time = #{review_time}, + + review_time, - - - review_result = #{review_result}, + + review_result, - - - is_delete = #{is_delete}, + + is_delete, - - - where id = #{id} + + + + #{name}, + + + #{content}, + + + #{senderId}, + + + #{recipientId}, + + + #{category}, + + + #{projectId}, + + + #{projectSubsystemId}, + + + #{projectSubmoduleId}, + + + #{applicationTime}, + + + #{reviewTime}, + + + #{reviewResult}, + + + #{isDelete}, + + update organize_oa.oa_review - + + + name = #{name}, + - - name = #{name}, - + + content = #{content}, + - - content = #{content}, - + + sender_id = #{senderId}, + - - sender_id = #{sender_id}, - + + recipient_id = #{recipientId}, + - - recipient_id = #{recipient_id}, - + + category = #{category}, + - - category = #{category}, - + + project_id = #{projectId}, + - - project_id = #{project_id}, - + + project_subsystem_id = #{projectSubsystemId}, + - - project_subsystem_id = #{project_subsystem_id}, - + + project_submodule_id = #{projectSubmoduleId}, + - - project_submodule_id = #{project_submodule_id}, - + + application_time = #{applicationTime}, + - - application_time = #{application_time}, - + + review_time = #{reviewTime}, + - - review_time = #{review_time}, - + + review_result = #{reviewResult}, + - - review_result = #{review_result}, - - - - is_delete = #{is_delete}, - - - + + is_delete = #{isDelete}, + + where id = #{id} + + \ No newline at end of file From 36964d44475e3d3461289e1816b62f6c41c34577 Mon Sep 17 00:00:00 2001 From: xiangZr-hhh <“2774915446@qq.com”> Date: Fri, 12 Apr 2024 19:07:27 +0800 Subject: [PATCH 05/11] =?UTF-8?q?fix:=E4=BF=AE=E6=94=B9=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E5=AE=A1=E6=A0=B8=E4=BF=A1=E6=81=AF=E3=80=81=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E5=AE=A1=E6=A0=B8=E4=BF=A1=E6=81=AF=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 添加审核信息接口:增加判断审核名称是否重复 获取审核信息接口:在子模块名称为空时,返回无,而不是返回null --- src/main/java/com/jsl/oa/mapper/ReviewMapper.java | 2 ++ .../java/com/jsl/oa/services/impl/ReviewServiceImpl.java | 7 +++++++ 2 files changed, 9 insertions(+) diff --git a/src/main/java/com/jsl/oa/mapper/ReviewMapper.java b/src/main/java/com/jsl/oa/mapper/ReviewMapper.java index 144a832..16dac5c 100644 --- a/src/main/java/com/jsl/oa/mapper/ReviewMapper.java +++ b/src/main/java/com/jsl/oa/mapper/ReviewMapper.java @@ -36,4 +36,6 @@ public interface ReviewMapper { void addReview(ReviewDO reviewDO); + @Select("SELECT * FROM organize_oa.oa_review WHERE name = #{name} AND is_delete = 0") + List selectReviewByName(String name); } diff --git a/src/main/java/com/jsl/oa/services/impl/ReviewServiceImpl.java b/src/main/java/com/jsl/oa/services/impl/ReviewServiceImpl.java index 4e7993b..e92f5e0 100644 --- a/src/main/java/com/jsl/oa/services/impl/ReviewServiceImpl.java +++ b/src/main/java/com/jsl/oa/services/impl/ReviewServiceImpl.java @@ -153,6 +153,11 @@ public class ReviewServiceImpl implements ReviewService { //获取用户 Long userId = Processing.getAuthHeaderToUserId(request); + //检查审核事项名称是否重复 + if (!reviewDAO.checkNameIsExist(reviewAddVO.getName())) { + return ResultUtil.error(ErrorCode.REVIEW_NAME_REPEAT); + } + //定义要添加的审核实体类 ReviewDO reviewDO = new ReviewDO(); //现将属性相同的值拷贝 @@ -225,6 +230,8 @@ public class ReviewServiceImpl implements ReviewService { } if (reviewDO.getProjectSubmoduleId() != null) { reviewVO.setSubmoduleName(reviewDAO.getNameBySubproject(reviewDO.getProjectSubmoduleId())); + } else { + reviewVO.setSubsystemName("无"); } // 将封装好的结果添加到结果集 resultData.add(reviewVO); From cd51b261e14a36addfd71b9d780d286a62a22f31 Mon Sep 17 00:00:00 2001 From: xiangZr-hhh <“2774915446@qq.com”> Date: Fri, 12 Apr 2024 19:24:24 +0800 Subject: [PATCH 06/11] =?UTF-8?q?fix:=E4=BF=AE=E6=94=B9=E7=94=B3=E8=AF=B7?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修正部分查询逻辑 --- .../oa/services/impl/ReviewServiceImpl.java | 53 +++++++++++++------ 1 file changed, 38 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/jsl/oa/services/impl/ReviewServiceImpl.java b/src/main/java/com/jsl/oa/services/impl/ReviewServiceImpl.java index e92f5e0..1323ea6 100644 --- a/src/main/java/com/jsl/oa/services/impl/ReviewServiceImpl.java +++ b/src/main/java/com/jsl/oa/services/impl/ReviewServiceImpl.java @@ -23,6 +23,7 @@ import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletRequest; import java.util.*; +import java.util.stream.Collectors; @Slf4j @Service @@ -43,8 +44,9 @@ public class ReviewServiceImpl implements ReviewService { //获取用户 Long userId = Processing.getAuthHeaderToUserId(request); + //存储审核数据的数组 - List reviewData = new ArrayList<>(); + List reviewData = new ArrayList<>(); //先获取用户为项目负责人的项目列表 projectDAO.getProjectByPrincipalUser(userId); @@ -56,7 +58,7 @@ public class ReviewServiceImpl implements ReviewService { selectApprovedResultReviewFromProject(projectDO.getId(), ReviewConstants.PENDING); //封装VO类 - reviewData.addAll(encapsulateArrayClass(reviewDOS)); + reviewData.addAll(reviewDOS); } //在从用户为 子系统负责人 的项目中获取对应 审核信息 @@ -66,7 +68,7 @@ public class ReviewServiceImpl implements ReviewService { selectApprovedResultReviewsFromSubsystem(projectWorkDO.getId(), ReviewConstants.PENDING); //封装VO类 - reviewData.addAll(encapsulateArrayClass(reviewDOS)); + reviewData.addAll(reviewDOS); } @@ -77,19 +79,30 @@ public class ReviewServiceImpl implements ReviewService { selectApprovedResultReviewsFromSubsystem(projectWorkDO.getId(), ReviewConstants.PENDING); //封装VO类 - reviewData.addAll(encapsulateArrayClass(reviewDOS)); + reviewData.addAll(reviewDOS); } + //根据id进行去重 + reviewData = reviewData.stream() + .collect(Collectors.toMap(ReviewDO::getId, review -> review, (existing, replacement) -> existing)) + .values() + .stream() + .collect(Collectors.toList()); + + //按照申请时间降序排序 - Collections.sort(reviewData, new Comparator() { + Collections.sort(reviewData, new Comparator() { @Override - public int compare(ReviewVO review1, ReviewVO review2) { + public int compare(ReviewDO review1, ReviewDO review2) { return review2.getApplicationTime().compareTo(review1.getApplicationTime()); } }); - return ResultUtil.success(reviewData); + //封装对应VO类 + List result = encapsulateArrayClass(reviewData); + + return ResultUtil.success(result); } @@ -101,7 +114,7 @@ public class ReviewServiceImpl implements ReviewService { Long userId = Processing.getAuthHeaderToUserId(request); //存储审核数据的数组 - List reviewData = new ArrayList<>(); + List reviewData = new ArrayList<>(); //先获取用户为项目负责人的项目列表 projectDAO.getProjectByPrincipalUser(userId); @@ -112,7 +125,7 @@ public class ReviewServiceImpl implements ReviewService { List reviewDOS = reviewDAO. selectAllReviewFromProject(projectDO.getId()); //封装VO类 - reviewData.addAll(encapsulateArrayClass(reviewDOS)); + reviewData.addAll(reviewDOS); } //在从用户为 子系统负责人 的项目中获取对应 审核信息 @@ -121,7 +134,7 @@ public class ReviewServiceImpl implements ReviewService { List reviewDOS = reviewDAO. selectReviewFromSubsystem(projectWorkDO.getId()); //封装VO类 - reviewData.addAll(encapsulateArrayClass(reviewDOS)); + reviewData.addAll(reviewDOS); } @@ -131,18 +144,28 @@ public class ReviewServiceImpl implements ReviewService { List reviewDOS = reviewDAO. selectReviewFromSubmodule(projectWorkDO.getId()); //封装VO类 - reviewData.addAll(encapsulateArrayClass(reviewDOS)); + reviewData.addAll(reviewDOS); } + //根据id进行去重 + reviewData = reviewData.stream() + .collect(Collectors.toMap(ReviewDO::getId, review -> review, (existing, replacement) -> existing)) + .values() + .stream() + .collect(Collectors.toList()); + //按照申请时间降序排序 - Collections.sort(reviewData, new Comparator() { + Collections.sort(reviewData, new Comparator() { @Override - public int compare(ReviewVO review1, ReviewVO review2) { + public int compare(ReviewDO review1, ReviewDO review2) { return review2.getApplicationTime().compareTo(review1.getApplicationTime()); } }); - return ResultUtil.success(reviewData); + //封装对应VO类 + List result = encapsulateArrayClass(reviewData); + + return ResultUtil.success(result); } @@ -231,7 +254,7 @@ public class ReviewServiceImpl implements ReviewService { if (reviewDO.getProjectSubmoduleId() != null) { reviewVO.setSubmoduleName(reviewDAO.getNameBySubproject(reviewDO.getProjectSubmoduleId())); } else { - reviewVO.setSubsystemName("无"); + reviewVO.setSubmoduleName("无"); } // 将封装好的结果添加到结果集 resultData.add(reviewVO); From 8ab59b5a1dfea85c7911655d8378fd6d426680fe Mon Sep 17 00:00:00 2001 From: xiangZr-hhh <“2774915446@qq.com”> Date: Tue, 16 Apr 2024 16:07:06 +0800 Subject: [PATCH 07/11] =?UTF-8?q?patch:=E8=A1=A5=E4=B8=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修正部分数据表字段,修正对应接口 --- .../jsl/oa/controllers/ReviewController.java | 18 +- src/main/java/com/jsl/oa/dao/ProjectDAO.java | 15 +- src/main/java/com/jsl/oa/dao/ReviewDAO.java | 13 +- .../java/com/jsl/oa/mapper/ProjectMapper.java | 19 +- .../java/com/jsl/oa/mapper/ReviewMapper.java | 16 +- .../com/jsl/oa/model/dodata/ReviewDO.java | 4 +- .../com/jsl/oa/model/vodata/ReviewAddVO.java | 4 +- .../com/jsl/oa/model/vodata/ReviewDataVO.java | 16 ++ .../com/jsl/oa/services/ReviewService.java | 4 +- .../oa/services/impl/ModuleServiceImpl.java | 2 +- .../oa/services/impl/ReviewServiceImpl.java | 208 +++++++++++++++--- .../com/jsl/oa/mapper/ReviewMapper.xml | 24 +- 12 files changed, 271 insertions(+), 72 deletions(-) create mode 100644 src/main/java/com/jsl/oa/model/vodata/ReviewDataVO.java diff --git a/src/main/java/com/jsl/oa/controllers/ReviewController.java b/src/main/java/com/jsl/oa/controllers/ReviewController.java index d0d1659..a7c229d 100644 --- a/src/main/java/com/jsl/oa/controllers/ReviewController.java +++ b/src/main/java/com/jsl/oa/controllers/ReviewController.java @@ -27,7 +27,7 @@ import javax.validation.constraints.NotNull; @RequiredArgsConstructor public class ReviewController { -// 审核服务 + // 审核服务 private final ReviewService reviewService; /** @@ -36,9 +36,12 @@ public class ReviewController { * @Param request: **/ @GetMapping("/review/getReviewRecords") - public BaseResponse getUserReviewRecords(HttpServletRequest request) { + public BaseResponse getUserReviewRecords( + @RequestParam Integer page, + @RequestParam Integer pageSize, + HttpServletRequest request) { log.info("请求接口[GET]: /review/getMyReview"); - return reviewService.getUserReview(request); + return reviewService.getUserReview(page, pageSize, request); } @@ -48,9 +51,11 @@ public class ReviewController { * @Param request: **/ @GetMapping("/review/getMyReview") - public BaseResponse getMyReview(HttpServletRequest request) { + public BaseResponse getMyReview(@RequestParam Integer page, + @RequestParam Integer pageSize, + HttpServletRequest request) { log.info("请求接口[GET]: /review/getMyReview"); - return reviewService.getUserPendingApprovalReview(request); + return reviewService.getUserPendingApprovalReview(page, pageSize, request); } @@ -73,7 +78,6 @@ public class ReviewController { } - @PutMapping("/review/updateReview") public BaseResponse updateReview(@RequestBody @Validated ReviewUpdateResultVO reviewUpdateResultVOVO, @NotNull BindingResult bindingResult, @@ -88,8 +92,6 @@ public class ReviewController { } - - } diff --git a/src/main/java/com/jsl/oa/dao/ProjectDAO.java b/src/main/java/com/jsl/oa/dao/ProjectDAO.java index 6ffe0d0..80a6007 100644 --- a/src/main/java/com/jsl/oa/dao/ProjectDAO.java +++ b/src/main/java/com/jsl/oa/dao/ProjectDAO.java @@ -1,6 +1,7 @@ package com.jsl.oa.dao; import com.google.gson.Gson; import com.jsl.oa.mapper.ProjectMapper; +import com.jsl.oa.model.dodata.ProjectChildDO; import com.jsl.oa.model.dodata.ProjectDO; import com.jsl.oa.model.dodata.ProjectModuleDO; import com.jsl.oa.model.dodata.info.ProjectShowDO; @@ -193,19 +194,19 @@ public class ProjectDAO { public List getProjectByPrincipalUser(Long uid) { log.info("\t> 执行 DAO 层 ProjectDAO.getProjectFromUser 方法"); log.info("\t\t> 从 MySQL 获取数据"); - return projectMapper.getProjectByPrincipalUser(uid); + return projectMapper.getAllProjectByUserId(uid); } - public List getAllSubsystemByUserId(Long uid) { - log.info("\t> 执行 DAO 层 ProjectDAO.getAllSubsystemByUserId 方法"); + public List getAllProjectChildByUId(Long uid) { + log.info("\t> 执行 DAO 层 ProjectDAO.getAllProjectChildByUId 方法"); log.info("\t\t> 从 MySQL 获取数据"); - return projectMapper.getAllSubsystemByUserId(uid); + return projectMapper.getAllChildProjectByUserId(uid); } - public List getAllSubmoduleByUserId(Long uid) { - log.info("\t> 执行 DAO 层 ProjectDAO.getAllSubmoduleByUserId 方法"); + public List getAllModuleByUId(Long uid) { + log.info("\t> 执行 DAO 层 ProjectDAO.getAllModuleByUId 方法"); log.info("\t\t> 从 MySQL 获取数据"); - return projectMapper.getAllSubmoduleByUserId(uid); + return projectMapper.getAllModuleByUserId(uid); } } diff --git a/src/main/java/com/jsl/oa/dao/ReviewDAO.java b/src/main/java/com/jsl/oa/dao/ReviewDAO.java index 11f8989..78d44de 100644 --- a/src/main/java/com/jsl/oa/dao/ReviewDAO.java +++ b/src/main/java/com/jsl/oa/dao/ReviewDAO.java @@ -62,6 +62,15 @@ public class ReviewDAO { return reviewMapper.selectReviewFromSubmodule(submoduleId); } + public List selectApprovedResultReviewsFromSubModule(Long id, + short result) { + log.info("\t> 执行 DAO 层 ReviewDAO.selectApprovedResultReviewsFromSubModule 方法"); + log.info("\t\t> 从 MySQL 获取数据"); + return reviewMapper.selectApprovedResultReviewFromModule(id, + result); + } + + public void addReview(ReviewDO reviewDO) { log.info("\t> 执行 DAO 层 ReviewDAO.addReview 方法"); log.info("\t\t> 从 MySQL 插入数据"); @@ -81,13 +90,13 @@ public class ReviewDAO { } - public String getNameBySubproject(Long subId) { + public String getNameByModule(Integer subId) { log.info("\t> 执行 DAO 层 ReviewDAO.getNameBySubproject 方法"); if (subId != null) { log.info("\t\t> 从 MySQL 获取数据"); - return projectMapper.getProjectWorkById(subId).getName(); + return projectMapper.getModuleById(subId).getName(); } if (subId == null) { diff --git a/src/main/java/com/jsl/oa/mapper/ProjectMapper.java b/src/main/java/com/jsl/oa/mapper/ProjectMapper.java index 82b67b0..404855e 100644 --- a/src/main/java/com/jsl/oa/mapper/ProjectMapper.java +++ b/src/main/java/com/jsl/oa/mapper/ProjectMapper.java @@ -111,13 +111,26 @@ public interface ProjectMapper { + "where DATE(deadline) = DATE(#{threeDayLater}) and status = 0") List getProjectWorkByTime(LocalDateTime threeDayLater); - List getAllSubmoduleByUserId(Long uid); - List getProjectByPrincipalUser(Long uid); + @Select("select * from organize_oa.oa_project_modules " + + "where is_delete = 0 and principal_id = #{uid}") + List getAllModuleByUserId(Long uid); + + @Select("select * from organize_oa.oa_project_child " + + "where project_id = #{pid} and is_delete = 0 ") + List getAllChildProjectByUserId(Long uid); + + @Select("select * from organize_oa.oa_project " + + "where is_delete = 0 and principal_id = #{uid}") + List getAllProjectByUserId(Long uid); - List getAllSubsystemByUserId(Long uid); @Select("select * from organize_oa.oa_project_child where " + "DATE (created_at) = DATE (#{threeDaysLater}) and status = 0") List getProjectChildByTime(LocalDateTime threeDaysLater); + + + @Select("select * from organize_oa.oa_project_child where " + + "id = #{id} and is_delete = 0") + ProjectChildDO getProjectChildById(Integer id); } diff --git a/src/main/java/com/jsl/oa/mapper/ReviewMapper.java b/src/main/java/com/jsl/oa/mapper/ReviewMapper.java index 2e53c93..0561dda 100644 --- a/src/main/java/com/jsl/oa/mapper/ReviewMapper.java +++ b/src/main/java/com/jsl/oa/mapper/ReviewMapper.java @@ -18,17 +18,21 @@ public interface ReviewMapper { List selectApprovedResultReviewFromProject(Long projectId, short result); @Select("SELECT * FROM organize_oa.oa_review WHERE " - + "project_subsystem_id = #{subsystemId} AND is_delete = 0") - List selectReviewFromSubsystem(Long subsystemId); + + "project_child_id = #{childId} AND is_delete = 0") + List selectReviewFromSubsystem(Long childId); @Select("SELECT * FROM organize_oa.oa_review WHERE " - + "project_subsystem_id = #{subsystemId} " + + "project_child_id = #{childId} " + "AND is_delete = 0 AND review_result = #{result}") - List selectApprovedResultReviewsFromSubsystem(Long subsystemId, short result); + List selectApprovedResultReviewsFromSubsystem(Long childId, short result); @Select("SELECT * FROM organize_oa.oa_review WHERE " - + "project_submodule_id = #{subsystemId} AND is_delete = 0") - List selectReviewFromSubmodule(Long submoduleId); + + "project_module_id = #{moduleId} AND is_delete = 0") + List selectReviewFromSubmodule(Long moduleId); + + @Select("SELECT * FROM organize_oa.oa_review WHERE review_result = #{result} and " + + "project_module_id = #{moduleId} AND is_delete = 0") + List selectApprovedResultReviewFromModule(Long moduleId, short result); @Select("SELECT * FROM organize_oa.oa_review WHERE id = #{id} AND is_delete = 0") ReviewDO selectReviewById(Long id); diff --git a/src/main/java/com/jsl/oa/model/dodata/ReviewDO.java b/src/main/java/com/jsl/oa/model/dodata/ReviewDO.java index 467c2e5..2280e81 100644 --- a/src/main/java/com/jsl/oa/model/dodata/ReviewDO.java +++ b/src/main/java/com/jsl/oa/model/dodata/ReviewDO.java @@ -35,9 +35,9 @@ public class ReviewDO { //申请的项目id private Long projectId; //申请的子系统id - private Long projectSubsystemId; + private Long projectChildId; //申请的子模块id - private Long projectSubmoduleId; + private Long projectModuleId; //申请时间 private Date applicationTime; //审核时间 diff --git a/src/main/java/com/jsl/oa/model/vodata/ReviewAddVO.java b/src/main/java/com/jsl/oa/model/vodata/ReviewAddVO.java index 640fcc3..25114be 100644 --- a/src/main/java/com/jsl/oa/model/vodata/ReviewAddVO.java +++ b/src/main/java/com/jsl/oa/model/vodata/ReviewAddVO.java @@ -20,9 +20,9 @@ public class ReviewAddVO { private Long projectId; //申请的子系统id @NotNull(message = "子系统id不能为空") - private Long projectSubsystemId; + private Long projectChildId; //申请的子模块id - private Long projectSubmoduleId; + private Long projectModuleId; } diff --git a/src/main/java/com/jsl/oa/model/vodata/ReviewDataVO.java b/src/main/java/com/jsl/oa/model/vodata/ReviewDataVO.java new file mode 100644 index 0000000..e22dacc --- /dev/null +++ b/src/main/java/com/jsl/oa/model/vodata/ReviewDataVO.java @@ -0,0 +1,16 @@ +package com.jsl.oa.model.vodata; + + +import lombok.Data; + +import java.util.List; + +@Data +public class ReviewDataVO { + + private Integer dataTotal; + + private List data; +} + + diff --git a/src/main/java/com/jsl/oa/services/ReviewService.java b/src/main/java/com/jsl/oa/services/ReviewService.java index 0457d36..89c2447 100644 --- a/src/main/java/com/jsl/oa/services/ReviewService.java +++ b/src/main/java/com/jsl/oa/services/ReviewService.java @@ -9,9 +9,9 @@ import javax.servlet.http.HttpServletRequest; public interface ReviewService { - BaseResponse getUserPendingApprovalReview(HttpServletRequest request); + BaseResponse getUserPendingApprovalReview(Integer page, Integer pageSize, HttpServletRequest request); - BaseResponse getUserReview(HttpServletRequest request); + BaseResponse getUserReview(Integer page, Integer pageSize, HttpServletRequest request); BaseResponse addReview(ReviewAddVO reviewAddVO, HttpServletRequest request); diff --git a/src/main/java/com/jsl/oa/services/impl/ModuleServiceImpl.java b/src/main/java/com/jsl/oa/services/impl/ModuleServiceImpl.java index ac75a22..6dba1bf 100644 --- a/src/main/java/com/jsl/oa/services/impl/ModuleServiceImpl.java +++ b/src/main/java/com/jsl/oa/services/impl/ModuleServiceImpl.java @@ -69,7 +69,7 @@ public class ModuleServiceImpl implements ModuleService { Processing.copyProperties(projectWorkDO, projectWorkAndNameVO); // 添加负责人和子系统名称 projectWorkAndNameVO. - setChildSystemName(projectDAO.getProjectWorkerById(projectWorkDO.getPid()).getName()) + setChildSystemName(projectDAO.getProjectWorkerById(projectWorkDO.getProjectChildId()).getName()) .setPrincipalUser(userDAO.getUserById(projectWorkDO.getPrincipalId()).getUsername()); projectWorkAndNameVOS.add(projectWorkAndNameVO); diff --git a/src/main/java/com/jsl/oa/services/impl/ReviewServiceImpl.java b/src/main/java/com/jsl/oa/services/impl/ReviewServiceImpl.java index 7f8859b..5e3613a 100644 --- a/src/main/java/com/jsl/oa/services/impl/ReviewServiceImpl.java +++ b/src/main/java/com/jsl/oa/services/impl/ReviewServiceImpl.java @@ -1,17 +1,22 @@ package com.jsl.oa.services.impl; +import com.jsl.oa.common.constant.ReviewConstants; import com.jsl.oa.dao.ProjectDAO; import com.jsl.oa.dao.ReviewDAO; import com.jsl.oa.dao.UserDAO; -import com.jsl.oa.mapper.ReviewMapper; +import com.jsl.oa.mapper.ProjectMapper; import com.jsl.oa.mapper.UserMapper; +import com.jsl.oa.model.dodata.ProjectChildDO; import com.jsl.oa.model.dodata.ProjectDO; import com.jsl.oa.model.dodata.ProjectModuleDO; import com.jsl.oa.model.dodata.ReviewDO; +import com.jsl.oa.model.vodata.ReviewAddVO; +import com.jsl.oa.model.vodata.ReviewUpdateResultVO; import com.jsl.oa.model.vodata.ReviewVO; import com.jsl.oa.services.ReviewService; import com.jsl.oa.utils.BaseResponse; +import com.jsl.oa.utils.ErrorCode; import com.jsl.oa.utils.Processing; import com.jsl.oa.utils.ResultUtil; import lombok.RequiredArgsConstructor; @@ -19,8 +24,8 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletRequest; -import java.util.ArrayList; -import java.util.List; +import java.util.*; +import java.util.stream.Collectors; @Slf4j @Service @@ -32,18 +37,21 @@ public class ReviewServiceImpl implements ReviewService { private final ProjectDAO projectDAO; private final UserMapper userMapper; - private final ReviewMapper reviewMapper; + private final ProjectMapper projectMapper; @Override - public BaseResponse getUserReview(Long projectId, HttpServletRequest request) { - log.info("\t> 执行 Service 层 ReviewService.getUserReview 方法"); + public BaseResponse getUserPendingApprovalReview(Integer page, + Integer pageSize, + HttpServletRequest request) { + log.info("\t> 执行 Service 层 ReviewService.getUserPendingApprovalReview 方法"); //获取用户 Long userId = Processing.getAuthHeaderToUserId(request); + //存储审核数据的数组 - List reviewData = new ArrayList<>(); + List reviewData = new ArrayList<>(); //先获取用户为项目负责人的项目列表 projectDAO.getProjectByPrincipalUser(userId); @@ -51,32 +59,173 @@ public class ReviewServiceImpl implements ReviewService { //先从用户为 项目负责人 的项目中获取对应 审核信息 for (ProjectDO projectDO : projectDAO.getProjectByPrincipalUser(userId)) { //查询每个项目下所有的审核信息 - List reviewDOS = reviewMapper. - selectAllReviewFromProject(projectDO.getId()); + List reviewDOS = reviewDAO. + selectApprovedResultReviewFromProject(projectDO.getId(), + ReviewConstants.PENDING); //封装VO类 - reviewData.addAll(encapsulateArrayClass(reviewDOS)); + reviewData.addAll(reviewDOS); } //在从用户为 子系统负责人 的项目中获取对应 审核信息 - for (ProjectModuleDO projectWorkDO : projectDAO.getAllSubsystemByUserId(userId)) { - //查询每个项目下所有的审核信息 - List reviewDOS = reviewMapper. - selectReviewFromSubsystem(projectWorkDO.getId()); + for (ProjectChildDO projectChildDO : projectDAO.getAllProjectChildByUId(userId)) { + //查询每个项目下状态为2的审核信息 + List reviewDOS = reviewDAO. + selectApprovedResultReviewsFromSubsystem(projectChildDO.getId(), + ReviewConstants.PENDING); //封装VO类 - reviewData.addAll(encapsulateArrayClass(reviewDOS)); + reviewData.addAll(reviewDOS); } //在从用户为 子模块负责人 的项目中获取对应 审核信息 - for (ProjectModuleDO projectWorkDO : projectDAO.getAllSubmoduleByUserId(userId)) { + for (ProjectModuleDO projectModuleDO : projectDAO.getAllModuleByUId(userId)) { //查询每个项目下所有的审核信息 - List reviewDOS = reviewMapper. - selectReviewFromSubmodule(projectWorkDO.getId()); + List reviewDOS = reviewDAO. + selectApprovedResultReviewsFromSubModule(projectModuleDO.getId(), + ReviewConstants.PENDING); //封装VO类 - reviewData.addAll(encapsulateArrayClass(reviewDOS)); + reviewData.addAll(reviewDOS); } - return ResultUtil.success(reviewData); + + //根据id进行去重 + reviewData = reviewData.stream() + .collect(Collectors.toMap(ReviewDO::getId, review -> review, (existing, replacement) -> existing)) + .values() + .stream() + .collect(Collectors.toList()); + + + //按照申请时间降序排序 + Collections.sort(reviewData, new Comparator() { + @Override + public int compare(ReviewDO review1, ReviewDO review2) { + return review2.getApplicationTime().compareTo(review1.getApplicationTime()); + } + }); + + //封装对应VO类 + List result = encapsulateArrayClass(reviewData); + + return ResultUtil.success(result); + } + + + @Override + public BaseResponse getUserReview(Integer page, + Integer pageSize, + HttpServletRequest request) { + log.info("\t> 执行 Service 层 ReviewService.getUserReview 方法"); + + //获取用户 + Long userId = Processing.getAuthHeaderToUserId(request); + + //存储审核数据的数组 + List reviewData = new ArrayList<>(); + + //先获取用户为项目负责人的项目列表 + projectDAO.getProjectByPrincipalUser(userId); + + //先从用户为 项目负责人 的项目中获取对应 审核信息 + for (ProjectDO projectDO : projectDAO.getProjectByPrincipalUser(userId)) { + //查询每个项目下所有的审核信息 + List reviewDOS = reviewDAO. + selectAllReviewFromProject(projectDO.getId()); + //封装VO类 + reviewData.addAll(reviewDOS); + } + + //在从用户为 子系统负责人 的项目中获取对应 审核信息 + for (ProjectChildDO projectChildDO : projectDAO.getAllProjectChildByUId(userId)) { + //查询每个项目下所有的审核信息 + List reviewDOS = reviewDAO. + selectReviewFromSubsystem(projectChildDO.getId()); + //封装VO类 + reviewData.addAll(reviewDOS); + } + + + //在从用户为 子模块负责人 的项目中获取对应 审核信息 + for (ProjectModuleDO projectModuleDO : projectDAO.getAllModuleByUId(userId)) { + //查询每个项目下所有的审核信息 + List reviewDOS = reviewDAO. + selectReviewFromSubmodule(projectModuleDO.getId()); + //封装VO类 + reviewData.addAll(reviewDOS); + } + + //根据id进行去重 + reviewData = reviewData.stream() + .collect(Collectors.toMap(ReviewDO::getId, review -> review, (existing, replacement) -> existing)) + .values() + .stream() + .collect(Collectors.toList()); + + //按照申请时间降序排序 + Collections.sort(reviewData, new Comparator() { + @Override + public int compare(ReviewDO review1, ReviewDO review2) { + return review2.getApplicationTime().compareTo(review1.getApplicationTime()); + } + }); + + //封装对应VO类 + List result = encapsulateArrayClass(reviewData); + + return ResultUtil.success(result); + } + + + @Override + public BaseResponse addReview(ReviewAddVO reviewAddVO, HttpServletRequest request) { + log.info("\t> 执行 Service 层 ReviewService.addReview 方法"); + + //获取用户 + Long userId = Processing.getAuthHeaderToUserId(request); + + //定义要添加的审核实体类 + ReviewDO reviewDO = new ReviewDO(); + //现将属性相同的值拷贝 + Processing.copyProperties(reviewAddVO, reviewDO); + + //定义审核的类型(子模块id为空则为 子系统类型,否则为子模块类型) + if (reviewAddVO.getProjectModuleId() == null) { + reviewDO.setCategory(ReviewConstants.SUBSYSTEM); + } else if (reviewAddVO.getProjectModuleId() != null) { + reviewDO.setCategory(ReviewConstants.SUBMODULE); + } + + //定义申请者id + reviewDO.setSenderId(userId); + //添加数据 + reviewDAO.addReview(reviewDO); + + return ResultUtil.success("申请成功"); + } + + + @Override + public BaseResponse updateReviewResult(ReviewUpdateResultVO reviewUpdateResultVO, HttpServletRequest request) { + + //获取当前用户 + Long userId = Processing.getAuthHeaderToUserId(request); + + //获取对应审核信息 + ReviewDO reviewDO = reviewDAO.selectReviewById(reviewUpdateResultVO.getId()); + + if (reviewDO == null) { + return ResultUtil.error(ErrorCode.REVIEW_NOT_EXIST); + } + + //设置对应属性 + reviewDO.setReviewTime(new Date()); + reviewDO.setRecipientId(userId); + reviewDO.setReviewResult(reviewUpdateResultVO.getResult()); + + //更新数据 + reviewDAO.updateReview(reviewDO); + + return ResultUtil.success(); } @@ -94,14 +243,22 @@ public class ReviewServiceImpl implements ReviewService { ReviewVO reviewVO = new ReviewVO(); // 现将相同的属性赋值 Processing.copyProperties(reviewDO, reviewVO); -// 赋值其他属性 +// 赋值其他非空属性 reviewVO.setCategory(Processing.turnReviewCategory(reviewDO.getCategory())) .setSenderName(userMapper.getUserById(reviewDO.getSenderId()).getNickname()) - .setRecipientName(userMapper.getUserById(reviewDO.getRecipientId()).getNickname()) .setProjectName(projectDAO.getProjectById(reviewDO.getProjectId()).getName()) - .setSubsystemName(reviewDAO.getNameBySubproject(reviewDO.getProjectSubsystemId())) - .setSubmoduleName(reviewDAO.getNameBySubproject(reviewDO.getProjectSubmoduleId())) + .setSubsystemName(projectMapper.getProjectChildById( + Math.toIntExact(reviewDO.getProjectChildId())).getName()) .setResult(Processing.turnReviewResult(reviewDO.getReviewResult())); +// 赋值可为空属性并进行判断 + if (reviewDO.getRecipientId() != null) { + reviewVO.setRecipientName(userMapper.getUserById(reviewDO.getRecipientId()).getNickname()); + } + if (reviewDO.getProjectModuleId() != null) { + reviewVO.setSubmoduleName(reviewDAO.getNameByModule(Math.toIntExact(reviewDO.getProjectModuleId()))); + } else { + reviewVO.setSubmoduleName("无"); + } // 将封装好的结果添加到结果集 resultData.add(reviewVO); } @@ -110,9 +267,6 @@ public class ReviewServiceImpl implements ReviewService { } - - - } diff --git a/src/main/resources/com/jsl/oa/mapper/ReviewMapper.xml b/src/main/resources/com/jsl/oa/mapper/ReviewMapper.xml index 1d4c6ed..23a6f09 100644 --- a/src/main/resources/com/jsl/oa/mapper/ReviewMapper.xml +++ b/src/main/resources/com/jsl/oa/mapper/ReviewMapper.xml @@ -25,11 +25,11 @@ project_id, - - project_subsystem_id, + + project_child_id, - - project_submodule_id, + + project_module_id, application_time, @@ -63,11 +63,11 @@ #{projectId}, - - #{projectSubsystemId}, + + #{projectChildId}, - - #{projectSubmoduleId}, + + #{projectModuleId}, #{applicationTime}, @@ -112,12 +112,12 @@ project_id = #{projectId}, - - project_subsystem_id = #{projectSubsystemId}, + + project_child_id = #{projectChildId}, - - project_submodule_id = #{projectSubmoduleId}, + + project_module_id = #{projectModuleId}, From 36bbaf09954ce6d86df762dd2662a1827fffe64e Mon Sep 17 00:00:00 2001 From: xiangZr-hhh <“2774915446@qq.com”> Date: Tue, 16 Apr 2024 18:09:16 +0800 Subject: [PATCH 08/11] =?UTF-8?q?fix:=E4=BF=AE=E6=AD=A3=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修正分页与查询接口 --- .../jsl/oa/controllers/ReviewController.java | 9 + .../com/jsl/oa/model/vodata/ReviewDataVO.java | 2 +- .../com/jsl/oa/services/ReviewService.java | 2 + .../oa/services/impl/ReviewServiceImpl.java | 193 +++++++++++++++++- 4 files changed, 203 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/jsl/oa/controllers/ReviewController.java b/src/main/java/com/jsl/oa/controllers/ReviewController.java index a7c229d..e5c225d 100644 --- a/src/main/java/com/jsl/oa/controllers/ReviewController.java +++ b/src/main/java/com/jsl/oa/controllers/ReviewController.java @@ -92,6 +92,15 @@ public class ReviewController { } + @GetMapping("/review/search") + public BaseResponse searchReview(String content, + Short statue, + HttpServletRequest request, + @RequestParam Integer page, + @RequestParam Integer pageSize) { + log.info("请求接口[GET]: /review/search"); + return reviewService.searchReview(content, statue, request, page, pageSize); + } } diff --git a/src/main/java/com/jsl/oa/model/vodata/ReviewDataVO.java b/src/main/java/com/jsl/oa/model/vodata/ReviewDataVO.java index e22dacc..7700711 100644 --- a/src/main/java/com/jsl/oa/model/vodata/ReviewDataVO.java +++ b/src/main/java/com/jsl/oa/model/vodata/ReviewDataVO.java @@ -10,7 +10,7 @@ public class ReviewDataVO { private Integer dataTotal; - private List data; + private List reviews; } diff --git a/src/main/java/com/jsl/oa/services/ReviewService.java b/src/main/java/com/jsl/oa/services/ReviewService.java index 89c2447..bbcfc39 100644 --- a/src/main/java/com/jsl/oa/services/ReviewService.java +++ b/src/main/java/com/jsl/oa/services/ReviewService.java @@ -16,4 +16,6 @@ public interface ReviewService { BaseResponse addReview(ReviewAddVO reviewAddVO, HttpServletRequest request); BaseResponse updateReviewResult(ReviewUpdateResultVO reviewUpdateResultVOVO, HttpServletRequest request); + + BaseResponse searchReview(String content, Short statue, HttpServletRequest request, Integer page, Integer pageSize); } diff --git a/src/main/java/com/jsl/oa/services/impl/ReviewServiceImpl.java b/src/main/java/com/jsl/oa/services/impl/ReviewServiceImpl.java index 5e3613a..28d1f99 100644 --- a/src/main/java/com/jsl/oa/services/impl/ReviewServiceImpl.java +++ b/src/main/java/com/jsl/oa/services/impl/ReviewServiceImpl.java @@ -1,6 +1,8 @@ package com.jsl.oa.services.impl; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; import com.jsl.oa.common.constant.ReviewConstants; import com.jsl.oa.dao.ProjectDAO; import com.jsl.oa.dao.ReviewDAO; @@ -12,6 +14,7 @@ import com.jsl.oa.model.dodata.ProjectDO; import com.jsl.oa.model.dodata.ProjectModuleDO; import com.jsl.oa.model.dodata.ReviewDO; import com.jsl.oa.model.vodata.ReviewAddVO; +import com.jsl.oa.model.vodata.ReviewDataVO; import com.jsl.oa.model.vodata.ReviewUpdateResultVO; import com.jsl.oa.model.vodata.ReviewVO; import com.jsl.oa.services.ReviewService; @@ -107,7 +110,13 @@ public class ReviewServiceImpl implements ReviewService { //封装对应VO类 List result = encapsulateArrayClass(reviewData); - return ResultUtil.success(result); + //封装结果类与数据总数 + int total = result.size(); + ReviewDataVO reviewDataVO = new ReviewDataVO(); + reviewDataVO.setReviews(result); + reviewDataVO.setDataTotal(total); + + return ResultUtil.success(reviewDataVO); } @@ -172,7 +181,13 @@ public class ReviewServiceImpl implements ReviewService { //封装对应VO类 List result = encapsulateArrayClass(reviewData); - return ResultUtil.success(result); + //封装结果类与数据总数 + int total = result.size(); + ReviewDataVO reviewDataVO = new ReviewDataVO(); + reviewDataVO.setReviews(result); + reviewDataVO.setDataTotal(total); + + return ResultUtil.success(reviewDataVO); } @@ -229,6 +244,116 @@ public class ReviewServiceImpl implements ReviewService { } + + @Override + public BaseResponse searchReview(String content, + Short statue, + HttpServletRequest request, + Integer page, Integer pageSize) { + + List reviewVOS = new ArrayList<>(); + +// 根据判断结果筛选 + if (statue == null || statue.equals("")) { + List reviewVOs = getReview(request); + reviewVOS.addAll(reviewVOs); + } else { + List reviewVOs = getReviewsByResult(request, statue); + reviewVOS.addAll(reviewVOs); + } + +// 根据内容筛选 + if (content == null || content.equals("")) { + // 使用PageHelper进行分页 + PageHelper.startPage(page, pageSize); + PageInfo pageInfo1 = new PageInfo<>(reviewVOS); + int total = reviewVOS.size(); + ReviewDataVO reviewDataVO = new ReviewDataVO(); + reviewDataVO.setReviews(pageInfo1.getList()); + reviewDataVO.setDataTotal(total); + return ResultUtil.success(reviewDataVO); + } else { + reviewVOS = reviewVOS.stream() + .filter(reviewVO -> reviewVO.getName().contains(content) || reviewVO.getContent().contains(content)) + .collect(Collectors.toList()); + } + + // 使用PageHelper进行分页 + PageHelper.startPage(page, pageSize); + PageInfo pageInfo = new PageInfo<>(reviewVOS); + + + //封装结果类与数据总数 + int total = (int) pageInfo.getTotal(); + ReviewDataVO reviewDataVO = new ReviewDataVO(); + reviewDataVO.setReviews(pageInfo.getList()); + reviewDataVO.setDataTotal(total); + + return ResultUtil.success(reviewDataVO); + } + + + + private List getReview(HttpServletRequest request) { + //获取用户 + Long userId = Processing.getAuthHeaderToUserId(request); + + //存储审核数据的数组 + List reviewData = new ArrayList<>(); + + //先获取用户为项目负责人的项目列表 + projectDAO.getProjectByPrincipalUser(userId); + + //先从用户为 项目负责人 的项目中获取对应 审核信息 + for (ProjectDO projectDO : projectDAO.getProjectByPrincipalUser(userId)) { + //查询每个项目下所有的审核信息 + List reviewDOS = reviewDAO. + selectAllReviewFromProject(projectDO.getId()); + //封装VO类 + reviewData.addAll(reviewDOS); + } + + //在从用户为 子系统负责人 的项目中获取对应 审核信息 + for (ProjectChildDO projectChildDO : projectDAO.getAllProjectChildByUId(userId)) { + //查询每个项目下所有的审核信息 + List reviewDOS = reviewDAO. + selectReviewFromSubsystem(projectChildDO.getId()); + //封装VO类 + reviewData.addAll(reviewDOS); + } + + + //在从用户为 子模块负责人 的项目中获取对应 审核信息 + for (ProjectModuleDO projectModuleDO : projectDAO.getAllModuleByUId(userId)) { + //查询每个项目下所有的审核信息 + List reviewDOS = reviewDAO. + selectReviewFromSubmodule(projectModuleDO.getId()); + //封装VO类 + reviewData.addAll(reviewDOS); + } + + //根据id进行去重 + reviewData = reviewData.stream() + .collect(Collectors.toMap(ReviewDO::getId, review -> review, (existing, replacement) -> existing)) + .values() + .stream() + .collect(Collectors.toList()); + + //按照申请时间降序排序 + Collections.sort(reviewData, new Comparator() { + @Override + public int compare(ReviewDO review1, ReviewDO review2) { + return review2.getApplicationTime().compareTo(review1.getApplicationTime()); + } + }); + + //封装对应VO类 + List result = encapsulateArrayClass(reviewData); + + return result; + } + + /** * @Description: 封装审核的VO类 * @Date: 2024/4/11 @@ -267,6 +392,70 @@ public class ReviewServiceImpl implements ReviewService { } + public List getReviewsByResult( + HttpServletRequest request, + Short result) { + +// 获取用户 + Long userId = Processing.getAuthHeaderToUserId(request); + + //存储审核数据的数组 + List reviewData = new ArrayList<>(); + + //先获取用户为项目负责人的项目列表 + projectDAO.getProjectByPrincipalUser(userId); + + //先从用户为 项目负责人 的项目中获取对应 审核信息 + for (ProjectDO projectDO : projectDAO.getProjectByPrincipalUser(userId)) { + //查询每个项目下所有的审核信息 + List reviewDOS = reviewDAO. + selectApprovedResultReviewFromProject(projectDO.getId(), + result); + //封装VO类 + reviewData.addAll(reviewDOS); + } + + //在从用户为 子系统负责人 的项目中获取对应 审核信息 + for (ProjectChildDO projectChildDO : projectDAO.getAllProjectChildByUId(userId)) { + //查询每个项目下状态为2的审核信息 + List reviewDOS = reviewDAO. + selectApprovedResultReviewsFromSubsystem(projectChildDO.getId(), + result); + //封装VO类 + reviewData.addAll(reviewDOS); + } + + + //在从用户为 子模块负责人 的项目中获取对应 审核信息 + for (ProjectModuleDO projectModuleDO : projectDAO.getAllModuleByUId(userId)) { + //查询每个项目下所有的审核信息 + List reviewDOS = reviewDAO. + selectApprovedResultReviewsFromSubModule(projectModuleDO.getId(), + result); + //封装VO类 + reviewData.addAll(reviewDOS); + } + + + //根据id进行去重 + reviewData = reviewData.stream() + .collect(Collectors.toMap(ReviewDO::getId, review -> review, (existing, replacement) -> existing)) + .values() + .stream() + .collect(Collectors.toList()); + + + //按照申请时间降序排序 + Collections.sort(reviewData, new Comparator() { + @Override + public int compare(ReviewDO review1, ReviewDO review2) { + return review2.getApplicationTime().compareTo(review1.getApplicationTime()); + } + }); + + return encapsulateArrayClass(reviewData); + } + } From cb1d61da88d8d10375213af6b5d9b555a468ec02 Mon Sep 17 00:00:00 2001 From: xiangZr-hhh <“2774915446@qq.com”> Date: Tue, 16 Apr 2024 18:20:06 +0800 Subject: [PATCH 09/11] =?UTF-8?q?fix:=E4=BF=AE=E6=AD=A3=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 分页修正 --- .../oa/services/impl/ReviewServiceImpl.java | 44 ++++++++----------- 1 file changed, 19 insertions(+), 25 deletions(-) diff --git a/src/main/java/com/jsl/oa/services/impl/ReviewServiceImpl.java b/src/main/java/com/jsl/oa/services/impl/ReviewServiceImpl.java index 28d1f99..ed22c1c 100644 --- a/src/main/java/com/jsl/oa/services/impl/ReviewServiceImpl.java +++ b/src/main/java/com/jsl/oa/services/impl/ReviewServiceImpl.java @@ -1,8 +1,6 @@ package com.jsl.oa.services.impl; -import com.github.pagehelper.PageHelper; -import com.github.pagehelper.PageInfo; import com.jsl.oa.common.constant.ReviewConstants; import com.jsl.oa.dao.ProjectDAO; import com.jsl.oa.dao.ReviewDAO; @@ -111,10 +109,7 @@ public class ReviewServiceImpl implements ReviewService { List result = encapsulateArrayClass(reviewData); //封装结果类与数据总数 - int total = result.size(); - ReviewDataVO reviewDataVO = new ReviewDataVO(); - reviewDataVO.setReviews(result); - reviewDataVO.setDataTotal(total); + ReviewDataVO reviewDataVO = getReviewsByPage(result, page, pageSize); return ResultUtil.success(reviewDataVO); } @@ -182,10 +177,7 @@ public class ReviewServiceImpl implements ReviewService { List result = encapsulateArrayClass(reviewData); //封装结果类与数据总数 - int total = result.size(); - ReviewDataVO reviewDataVO = new ReviewDataVO(); - reviewDataVO.setReviews(result); - reviewDataVO.setDataTotal(total); + ReviewDataVO reviewDataVO = getReviewsByPage(result, page, pageSize); return ResultUtil.success(reviewDataVO); } @@ -264,13 +256,9 @@ public class ReviewServiceImpl implements ReviewService { // 根据内容筛选 if (content == null || content.equals("")) { - // 使用PageHelper进行分页 - PageHelper.startPage(page, pageSize); - PageInfo pageInfo1 = new PageInfo<>(reviewVOS); - int total = reviewVOS.size(); - ReviewDataVO reviewDataVO = new ReviewDataVO(); - reviewDataVO.setReviews(pageInfo1.getList()); - reviewDataVO.setDataTotal(total); + //封装结果类与数据总数 + ReviewDataVO reviewDataVO = getReviewsByPage(reviewVOS, page, pageSize); + return ResultUtil.success(reviewDataVO); } else { reviewVOS = reviewVOS.stream() @@ -278,16 +266,9 @@ public class ReviewServiceImpl implements ReviewService { .collect(Collectors.toList()); } - // 使用PageHelper进行分页 - PageHelper.startPage(page, pageSize); - PageInfo pageInfo = new PageInfo<>(reviewVOS); - //封装结果类与数据总数 - int total = (int) pageInfo.getTotal(); - ReviewDataVO reviewDataVO = new ReviewDataVO(); - reviewDataVO.setReviews(pageInfo.getList()); - reviewDataVO.setDataTotal(total); + ReviewDataVO reviewDataVO = getReviewsByPage(reviewVOS, page, pageSize); return ResultUtil.success(reviewDataVO); } @@ -456,6 +437,19 @@ public class ReviewServiceImpl implements ReviewService { return encapsulateArrayClass(reviewData); } + + public ReviewDataVO getReviewsByPage(List allReviews, int page, int pageSize) { + ReviewDataVO reviewDataVO = new ReviewDataVO(); + int total = allReviews.size(); + int startIndex = (page - 1) * pageSize; + int endIndex = Math.min(startIndex + pageSize, total); + List reviewsOnPage = allReviews.subList(startIndex, endIndex); + + reviewDataVO.setReviews(reviewsOnPage); + reviewDataVO.setDataTotal(total); + + return reviewDataVO; + } } From cd65a5c6f8c3ea2b5eb576499b14e517f56ecf9c Mon Sep 17 00:00:00 2001 From: xiangZr-hhh <“2774915446@qq.com”> Date: Tue, 16 Apr 2024 19:00:32 +0800 Subject: [PATCH 10/11] =?UTF-8?q?fix:=E8=B0=83=E6=95=B4=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 调整所有审核查询接口的部分字段名称 --- src/main/java/com/jsl/oa/model/vodata/ReviewVO.java | 8 ++++---- .../java/com/jsl/oa/services/impl/ReviewServiceImpl.java | 7 ++++--- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/jsl/oa/model/vodata/ReviewVO.java b/src/main/java/com/jsl/oa/model/vodata/ReviewVO.java index a62beaf..9177701 100644 --- a/src/main/java/com/jsl/oa/model/vodata/ReviewVO.java +++ b/src/main/java/com/jsl/oa/model/vodata/ReviewVO.java @@ -30,13 +30,13 @@ public class ReviewVO { //申请的项目名称 private String projectName; //申请的子系统id - private Long projectSubsystemId; + private Long projectChildId; //申请的子系统名称 - private String subsystemName; + private String projectChildName; //申请的子模块id - private Long projectSubmoduleId; + private Long projectModuleId; //申请的模块名称 - private String submoduleName; + private String projectModuleName; //申请时间 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date applicationTime; diff --git a/src/main/java/com/jsl/oa/services/impl/ReviewServiceImpl.java b/src/main/java/com/jsl/oa/services/impl/ReviewServiceImpl.java index ed22c1c..5336f74 100644 --- a/src/main/java/com/jsl/oa/services/impl/ReviewServiceImpl.java +++ b/src/main/java/com/jsl/oa/services/impl/ReviewServiceImpl.java @@ -353,7 +353,7 @@ public class ReviewServiceImpl implements ReviewService { reviewVO.setCategory(Processing.turnReviewCategory(reviewDO.getCategory())) .setSenderName(userMapper.getUserById(reviewDO.getSenderId()).getNickname()) .setProjectName(projectDAO.getProjectById(reviewDO.getProjectId()).getName()) - .setSubsystemName(projectMapper.getProjectChildById( + .setProjectChildName(projectMapper.getProjectChildById( Math.toIntExact(reviewDO.getProjectChildId())).getName()) .setResult(Processing.turnReviewResult(reviewDO.getReviewResult())); // 赋值可为空属性并进行判断 @@ -361,9 +361,10 @@ public class ReviewServiceImpl implements ReviewService { reviewVO.setRecipientName(userMapper.getUserById(reviewDO.getRecipientId()).getNickname()); } if (reviewDO.getProjectModuleId() != null) { - reviewVO.setSubmoduleName(reviewDAO.getNameByModule(Math.toIntExact(reviewDO.getProjectModuleId()))); + reviewVO.setProjectModuleName( + reviewDAO.getNameByModule(Math.toIntExact(reviewDO.getProjectModuleId()))); } else { - reviewVO.setSubmoduleName("无"); + reviewVO.setProjectModuleName("无"); } // 将封装好的结果添加到结果集 resultData.add(reviewVO); From 1a65d8ce8fcbb5471665acb3fdbad4865b2250da Mon Sep 17 00:00:00 2001 From: xiangZr-hhh <“2774915446@qq.com”> Date: Tue, 16 Apr 2024 19:33:42 +0800 Subject: [PATCH 11/11] =?UTF-8?q?#patch:=E8=A1=A5=E4=B8=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 删除多余的log日志 --- .../jsl/oa/controllers/ReviewController.java | 1 - src/main/java/com/jsl/oa/dao/ReviewDAO.java | 21 ------------------- .../oa/services/impl/ReviewServiceImpl.java | 4 ---- 3 files changed, 26 deletions(-) diff --git a/src/main/java/com/jsl/oa/controllers/ReviewController.java b/src/main/java/com/jsl/oa/controllers/ReviewController.java index e5c225d..563249d 100644 --- a/src/main/java/com/jsl/oa/controllers/ReviewController.java +++ b/src/main/java/com/jsl/oa/controllers/ReviewController.java @@ -54,7 +54,6 @@ public class ReviewController { public BaseResponse getMyReview(@RequestParam Integer page, @RequestParam Integer pageSize, HttpServletRequest request) { - log.info("请求接口[GET]: /review/getMyReview"); return reviewService.getUserPendingApprovalReview(page, pageSize, request); } diff --git a/src/main/java/com/jsl/oa/dao/ReviewDAO.java b/src/main/java/com/jsl/oa/dao/ReviewDAO.java index 78d44de..012825b 100644 --- a/src/main/java/com/jsl/oa/dao/ReviewDAO.java +++ b/src/main/java/com/jsl/oa/dao/ReviewDAO.java @@ -29,73 +29,52 @@ public class ReviewDAO { public List selectAllReviewFromProject(Long projectId) { - log.info("\t> 执行 DAO 层 ReviewDAO.selectAllReviewFromProject 方法"); - log.info("\t\t> 从 MySQL 获取数据"); return reviewMapper.selectAllReviewFromProject(projectId); } public List selectApprovedResultReviewFromProject(Long projectId, short result) { - log.info("\t> 执行 DAO 层 ReviewDAO.selectApprovedResultReviewFromProject 方法"); - log.info("\t\t> 从 MySQL 获取数据"); return reviewMapper.selectApprovedResultReviewFromProject(projectId, result); } public List selectReviewFromSubsystem(Long subsystemId) { - log.info("\t> 执行 DAO 层 ReviewDAO.selectReviewFromSubsystem 方法"); - log.info("\t\t> 从 MySQL 获取数据"); return reviewMapper.selectReviewFromSubsystem(subsystemId); } public List selectApprovedResultReviewsFromSubsystem(Long subsystemId, short result) { - log.info("\t> 执行 DAO 层 ReviewDAO.selectApprovedResultReviewsFromSubsystem 方法"); - log.info("\t\t> 从 MySQL 获取数据"); return reviewMapper.selectApprovedResultReviewsFromSubsystem(subsystemId, result); } public List selectReviewFromSubmodule(Long submoduleId) { - log.info("\t> 执行 DAO 层 ReviewDAO.selectReviewFromSubmodule 方法"); - log.info("\t\t> 从 MySQL 获取数据"); return reviewMapper.selectReviewFromSubmodule(submoduleId); } public List selectApprovedResultReviewsFromSubModule(Long id, short result) { - log.info("\t> 执行 DAO 层 ReviewDAO.selectApprovedResultReviewsFromSubModule 方法"); - log.info("\t\t> 从 MySQL 获取数据"); return reviewMapper.selectApprovedResultReviewFromModule(id, result); } public void addReview(ReviewDO reviewDO) { - log.info("\t> 执行 DAO 层 ReviewDAO.addReview 方法"); - log.info("\t\t> 从 MySQL 插入数据"); reviewMapper.addReview(reviewDO); } public ReviewDO selectReviewById(Long id) { - log.info("\t> 执行 DAO 层 ReviewDAO.selectReviewById 方法"); - log.info("\t\t> 从 MySQL 获取数据"); return reviewMapper.selectReviewById(id); } public void updateReview(ReviewDO reviewDO) { - log.info("\t> 执行 DAO 层 ReviewDAO.updateReview 方法"); - log.info("\t\t> 从 MySQL 更新数据"); reviewMapper.updateReview(reviewDO); } public String getNameByModule(Integer subId) { - log.info("\t> 执行 DAO 层 ReviewDAO.getNameBySubproject 方法"); - if (subId != null) { - log.info("\t\t> 从 MySQL 获取数据"); return projectMapper.getModuleById(subId).getName(); } diff --git a/src/main/java/com/jsl/oa/services/impl/ReviewServiceImpl.java b/src/main/java/com/jsl/oa/services/impl/ReviewServiceImpl.java index 5336f74..b537ee8 100644 --- a/src/main/java/com/jsl/oa/services/impl/ReviewServiceImpl.java +++ b/src/main/java/com/jsl/oa/services/impl/ReviewServiceImpl.java @@ -45,8 +45,6 @@ public class ReviewServiceImpl implements ReviewService { public BaseResponse getUserPendingApprovalReview(Integer page, Integer pageSize, HttpServletRequest request) { - log.info("\t> 执行 Service 层 ReviewService.getUserPendingApprovalReview 方法"); - //获取用户 Long userId = Processing.getAuthHeaderToUserId(request); @@ -119,7 +117,6 @@ public class ReviewServiceImpl implements ReviewService { public BaseResponse getUserReview(Integer page, Integer pageSize, HttpServletRequest request) { - log.info("\t> 执行 Service 层 ReviewService.getUserReview 方法"); //获取用户 Long userId = Processing.getAuthHeaderToUserId(request); @@ -185,7 +182,6 @@ public class ReviewServiceImpl implements ReviewService { @Override public BaseResponse addReview(ReviewAddVO reviewAddVO, HttpServletRequest request) { - log.info("\t> 执行 Service 层 ReviewService.addReview 方法"); //获取用户 Long userId = Processing.getAuthHeaderToUserId(request);