diff --git a/src/main/java/com/jsl/oa/config/startup/PermissionList.java b/src/main/java/com/jsl/oa/config/startup/PermissionList.java index 29615c9..52c4bdf 100644 --- a/src/main/java/com/jsl/oa/config/startup/PermissionList.java +++ b/src/main/java/com/jsl/oa/config/startup/PermissionList.java @@ -33,11 +33,16 @@ public class PermissionList { permissionPrincipal.add(new PermissionVO("project:add", "增加项目")); permissionPrincipal.add(new PermissionVO("project:child:add", "增加子系统")); permissionPrincipal.add(new PermissionVO("project:module:add", "增加子模块")); + permissionPrincipal.add(new PermissionVO("review:add", "添加审核申请")); + permissionPrincipal.add(new PermissionVO("project:daily:add", "添加日报")); + permissionPrincipal.add(new PermissionVO("project:daily:delete", "删除日报")); permissionDeveloper.add(new PermissionVO("auth:change_password", "修改密码")); permissionDeveloper.add(new PermissionVO("info:get_header_image", "获取头部图片")); permissionDeveloper.add(new PermissionVO("info:edit_header_image", "编辑头部图片")); permissionDeveloper.add(new PermissionVO("info:delete_header_image", "删除头部图片")); + permissionDeveloper.add(new PermissionVO("project:daily:add", "添加日报")); + permissionDeveloper.add(new PermissionVO("review:add", "添加审核申请")); permissionPrincipal.add(new PermissionVO("project:child:add", "增加子系统")); permissionPrincipal.add(new PermissionVO("project:module:add", "增加子模块")); } diff --git a/src/main/java/com/jsl/oa/controllers/ProjectDailyController.java b/src/main/java/com/jsl/oa/controllers/ProjectDailyController.java index 550e1f1..4b77b59 100644 --- a/src/main/java/com/jsl/oa/controllers/ProjectDailyController.java +++ b/src/main/java/com/jsl/oa/controllers/ProjectDailyController.java @@ -1,6 +1,7 @@ package com.jsl.oa.controllers; +import com.jsl.oa.annotations.NeedPermission; import com.jsl.oa.model.vodata.ProjectDailyAddVO; import com.jsl.oa.services.ProjectDailyService; import com.jsl.oa.utils.BaseResponse; @@ -42,6 +43,7 @@ public class ProjectDailyController { * @return 新增结果 */ @PostMapping("/daily/add") + @NeedPermission("project:daily:add") public BaseResponse add(@RequestBody @Validated ProjectDailyAddVO projectDailyAddVO, @NotNull BindingResult bindingResult, HttpServletRequest request) { @@ -49,15 +51,23 @@ public class ProjectDailyController { if (bindingResult.hasErrors()) { return ResultUtil.error(ErrorCode.PARAMETER_ERROR, Processing.getValidatedErrorList(bindingResult)); } - + log.info("请求接口[GET]: /daily/add"); return projectDailyService.addDaily(projectDailyAddVO, request); } + @DeleteMapping("/daily/delete") + @NeedPermission("project:daily:delete") + public BaseResponse delete(@RequestParam Integer dailyId, + HttpServletRequest request) { + log.info("请求接口[DELETE]: /daily/delete"); + return projectDailyService.deleteDaily(dailyId, request); + } @GetMapping("/daily/getMyDaily") public BaseResponse getMyDaily(@RequestParam Integer page, @RequestParam Integer pageSize, HttpServletRequest request) { + log.info("请求接口[GET]: /daily/getMyDaily"); return projectDailyService.getMyDaily(page, pageSize, request); } @@ -70,7 +80,7 @@ public class ProjectDailyController { String endTime, HttpServletRequest request) { - + log.info("请求接口[GET]: /daily/search"); return projectDailyService.searchMyDaily(projectId, page, pageSize, diff --git a/src/main/java/com/jsl/oa/controllers/ReviewController.java b/src/main/java/com/jsl/oa/controllers/ReviewController.java index 7432a56..6eb00cf 100644 --- a/src/main/java/com/jsl/oa/controllers/ReviewController.java +++ b/src/main/java/com/jsl/oa/controllers/ReviewController.java @@ -1,5 +1,6 @@ package com.jsl.oa.controllers; +import com.jsl.oa.annotations.NeedPermission; import com.jsl.oa.model.vodata.ReviewAddVO; import com.jsl.oa.model.vodata.ReviewUpdateResultVO; import com.jsl.oa.services.ReviewService; @@ -64,6 +65,7 @@ public class ReviewController { * @Param null: **/ @PostMapping("/review/add") + @NeedPermission("review:add") public BaseResponse addReview(@RequestBody @Validated ReviewAddVO reviewAddVO, @NotNull BindingResult bindingResult, HttpServletRequest request) { diff --git a/src/main/java/com/jsl/oa/dao/ProjectDailyDAO.java b/src/main/java/com/jsl/oa/dao/ProjectDailyDAO.java index 40bee4e..1f94987 100644 --- a/src/main/java/com/jsl/oa/dao/ProjectDailyDAO.java +++ b/src/main/java/com/jsl/oa/dao/ProjectDailyDAO.java @@ -111,6 +111,10 @@ public class ProjectDailyDAO { return projectDailyDOList; } + + public void deleteDailyById(Integer dailyId) { + projectDailyMapper.deleteDailyById(dailyId); + } } diff --git a/src/main/java/com/jsl/oa/mapper/ProjectDailyMapper.java b/src/main/java/com/jsl/oa/mapper/ProjectDailyMapper.java index e4076de..69909bc 100644 --- a/src/main/java/com/jsl/oa/mapper/ProjectDailyMapper.java +++ b/src/main/java/com/jsl/oa/mapper/ProjectDailyMapper.java @@ -27,6 +27,10 @@ public interface ProjectDailyMapper { List getProjectDailyByProjectAndTime(Long id, Date beginTime, Date endTime); List getProjectDailyByUserAndTime(Long userId, Date beginTime, Date endTime); + + ProjectDailyDO getDailyById(Integer id); + + void deleteDailyById(Integer id); } diff --git a/src/main/java/com/jsl/oa/services/ProjectDailyService.java b/src/main/java/com/jsl/oa/services/ProjectDailyService.java index 4e7f0b7..d7e12d6 100644 --- a/src/main/java/com/jsl/oa/services/ProjectDailyService.java +++ b/src/main/java/com/jsl/oa/services/ProjectDailyService.java @@ -28,6 +28,8 @@ public interface ProjectDailyService { Date beginTime, Date endTime, HttpServletRequest request); + + BaseResponse deleteDaily(Integer dailyId, HttpServletRequest request); } diff --git a/src/main/java/com/jsl/oa/services/impl/ProjectDailyServiceImpl.java b/src/main/java/com/jsl/oa/services/impl/ProjectDailyServiceImpl.java index c62e0b3..b627360 100644 --- a/src/main/java/com/jsl/oa/services/impl/ProjectDailyServiceImpl.java +++ b/src/main/java/com/jsl/oa/services/impl/ProjectDailyServiceImpl.java @@ -6,6 +6,7 @@ package com.jsl.oa.services.impl; import com.jsl.oa.dao.ProjectDAO; import com.jsl.oa.dao.ProjectDailyDAO; import com.jsl.oa.dao.UserDAO; +import com.jsl.oa.mapper.ProjectDailyMapper; import com.jsl.oa.model.dodata.ProjectDailyDO; import com.jsl.oa.model.vodata.ProjectDailyAddVO; import com.jsl.oa.model.vodata.ProjectDailyDataVO; @@ -42,6 +43,7 @@ public class ProjectDailyServiceImpl implements ProjectDailyService { private final ProjectDAO projectDAO; private final UserDAO userDAO; private final ProjectDailyDAO projectDailyDAO; + private final ProjectDailyMapper projectDailyMapper; @Override @@ -125,6 +127,21 @@ public class ProjectDailyServiceImpl implements ProjectDailyService { } + @Override + public BaseResponse deleteDaily(Integer dailyId, HttpServletRequest request) { + + Long userId = Processing.getAuthHeaderToUserId(request); +// 检查用户是否为项目负责人 + if (!projectDAO.isPrincipalUser(userId, projectDailyMapper.getDailyById(dailyId).getProjectId())) { + return ResultUtil.error(ErrorCode.User_NOT_PROJECT_PRINCIPAL); + } + + projectDailyDAO.deleteDailyById(dailyId); + + return ResultUtil.success(); + } + + public List encapsulateArrayClass(List projectDailyDOList) { // 定义封装结果数组 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 f0d505b..2bf0e09 100644 --- a/src/main/java/com/jsl/oa/services/impl/ReviewServiceImpl.java +++ b/src/main/java/com/jsl/oa/services/impl/ReviewServiceImpl.java @@ -212,6 +212,9 @@ public class ReviewServiceImpl implements ReviewService { //定义申请者id reviewDO.setSenderId(userId); + reviewDO.setProjectId(Long.valueOf(reviewAddVO.getProjectId())); + reviewDO.setProjectChildId(Long.valueOf(reviewAddVO.getProjectChildId())); + reviewDO.setProjectModuleId(Long.valueOf(reviewAddVO.getProjectModuleId())); //添加数据 reviewDAO.addReview(reviewDO); diff --git a/src/main/java/com/jsl/oa/utils/ErrorCode.java b/src/main/java/com/jsl/oa/utils/ErrorCode.java index 8bb67cc..38c1b5b 100755 --- a/src/main/java/com/jsl/oa/utils/ErrorCode.java +++ b/src/main/java/com/jsl/oa/utils/ErrorCode.java @@ -55,6 +55,7 @@ public enum ErrorCode { PROJECT_NOT_USER("ProjectNotUser", 40020, "项目无此用户"), PROJECT_CHILD_NOT_EXIST("ProjectChildNotExist", 40021, "子系统不存在"), MODULE_NOT_EXIST("ModuleNotExist", 40022, "模块不存在"), + User_NOT_PROJECT_PRINCIPAL("UserNotProjectPrincipal", 40023, "用户非项目负责人"), REVIEW_NOT_EXIST("ReviewNotExit", 40101, "未找到对应审核信息"); diff --git a/src/main/resources/com/jsl/oa/mapper/ProjectDailyMapper.xml b/src/main/resources/com/jsl/oa/mapper/ProjectDailyMapper.xml index 7514619..36b4110 100644 --- a/src/main/resources/com/jsl/oa/mapper/ProjectDailyMapper.xml +++ b/src/main/resources/com/jsl/oa/mapper/ProjectDailyMapper.xml @@ -53,4 +53,17 @@ and is_delete = 0 + + + + + UPDATE oa_project_daily + SET is_delete = 1 + WHERE id = #{id} + \ No newline at end of file