From 3df0c754d31aeed8b59077504560c3bc6dea146e Mon Sep 17 00:00:00 2001 From: 176yunxuan <362612387@qq.com~> Date: Thu, 18 Apr 2024 09:34:23 +0800 Subject: [PATCH 1/3] =?UTF-8?q?fix:=E6=9F=A5=E8=AF=A2=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E9=87=8D=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/jsl/oa/mapper/ProjectMapper.java | 4 +++- .../jsl/oa/services/impl/MessageServiceImpl.java | 14 +++++++++++--- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/jsl/oa/mapper/ProjectMapper.java b/src/main/java/com/jsl/oa/mapper/ProjectMapper.java index e6d35b3..7a40ce4 100644 --- a/src/main/java/com/jsl/oa/mapper/ProjectMapper.java +++ b/src/main/java/com/jsl/oa/mapper/ProjectMapper.java @@ -106,7 +106,9 @@ public interface ProjectMapper { + "AND is_delete = 0") ProjectModuleDO getProjectWorkById(Long id); - @Select("select principal_id from organize_oa.oa_project_child where project_id=#{id}") + @Select("select principal_id from organize_oa.oa_project_child where project_id=#{id} union " + + "select principal_id from organize_oa.oa_project_modules where project_child_id in" + + "(select id from organize_oa.oa_project_child where project_id = #{id})") List getMemberByProjectId(Integer id); @Select("select principal_id from organize_oa.oa_project_modules where project_child_id=#{id}") diff --git a/src/main/java/com/jsl/oa/services/impl/MessageServiceImpl.java b/src/main/java/com/jsl/oa/services/impl/MessageServiceImpl.java index e102af1..e436f37 100644 --- a/src/main/java/com/jsl/oa/services/impl/MessageServiceImpl.java +++ b/src/main/java/com/jsl/oa/services/impl/MessageServiceImpl.java @@ -157,6 +157,7 @@ public class MessageServiceImpl implements MessageService { String systemName = projectMapper.getWorkById(systemId).getName(); // 添加消息 MessageAddVO messageAddVO = new MessageAddVO(); + messageAddVO.setSid(Processing.getAuthHeaderToUserId(request)); messageAddVO.setUid(uid); messageAddVO.setTitle("审批消息"); String moddleName = projectMapper.getModuleById(moddleId).getName(); @@ -193,16 +194,21 @@ public class MessageServiceImpl implements MessageService { for (Long uid : uidList) { MessageAddVO messageAddVO = new MessageAddVO(); messageAddVO.setUid(uid); + messageAddVO.setSid(Processing.getAuthHeaderToUserId(request)); messageAddVO.setTitle("项目变动消息"); if (type == 3) { messageAddVO.setText("项目负责人" + senderName + "调整了" + systemName + "子系统的负责人"); + messageAddVO.setType("Project_child"); + messageAddVO.setToId(systemId.longValue()); } else if (type == 2) { messageAddVO.setText("项目负责人" + senderName + "修改了" + projectName + "项目的状态"); + messageAddVO.setType("Project"); + messageAddVO.setToId(pId.longValue()); } else if (type == 1) { messageAddVO.setText("项目负责人" + senderName + "上传了文档到" + projectName + "项目"); + messageAddVO.setType("Project"); + messageAddVO.setToId(pId.longValue()); } - messageAddVO.setType("Project"); - messageAddVO.setToId(pId.longValue()); messageMapper.messageAdd(messageAddVO); } } @@ -233,6 +239,7 @@ public class MessageServiceImpl implements MessageService { if (type == 1) { MessageAddVO messageAddVO = new MessageAddVO(); messageAddVO.setUid(projectMapper.getPid(moddleId)); + messageAddVO.setSid(Processing.getAuthHeaderToUserId(request)); messageAddVO.setTitle("子系统变动消息"); messageAddVO.setText("项目经理" + senderName + "删除了" + projectName + "项目的" + systemName + "系统的" + moddleName + "模块"); @@ -242,6 +249,7 @@ public class MessageServiceImpl implements MessageService { for (Long uid : uidList) { MessageAddVO messageAddVO = new MessageAddVO(); messageAddVO.setUid(uid); + messageAddVO.setSid(Processing.getAuthHeaderToUserId(request)); messageAddVO.setTitle("子系统变动消息"); if (type == 2) { messageAddVO.setText("项目经理" + senderName + "修改了" + projectName + "项目的" @@ -280,7 +288,7 @@ public class MessageServiceImpl implements MessageService { messageAddVO.setTitle("日报消息"); messageAddVO.setText(projectName + "项目的" + systemName + "系统的" + moddleName + "模块负责人" + principalName + "刚刚填写了日报"); - messageAddVO.setType("跳转日报页"); + messageAddVO.setType("Project_daily"); messageMapper.messageAdd(messageAddVO); } From e0d4d0e9c7a524aa0956dc5f649bc07d7ff8c1f0 Mon Sep 17 00:00:00 2001 From: 176yunxuan <362612387@qq.com~> Date: Thu, 18 Apr 2024 15:17:08 +0800 Subject: [PATCH 2/3] =?UTF-8?q?fix:=E6=B7=BB=E5=8A=A0=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E6=9D=83=E9=99=90=EF=BC=8C=E5=90=8D=E5=AD=97=E6=A8=A1=E7=B3=8A?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E9=A1=B9=E7=9B=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jsl/oa/config/startup/PermissionList.java | 1 + .../jsl/oa/controllers/ProjectController.java | 10 +++++ .../java/com/jsl/oa/mapper/ProjectMapper.java | 3 ++ .../com/jsl/oa/model/dodata/ProjectDO.java | 2 + .../com/jsl/oa/model/vodata/ReturnGetVO.java | 23 ++++++++++++ .../com/jsl/oa/services/ProjectService.java | 2 + .../oa/services/impl/ProjectServiceImpl.java | 37 ++++++++++++------- 7 files changed, 64 insertions(+), 14 deletions(-) create mode 100644 src/main/java/com/jsl/oa/model/vodata/ReturnGetVO.java 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 02ba8b5..2ae0d8f 100644 --- a/src/main/java/com/jsl/oa/config/startup/PermissionList.java +++ b/src/main/java/com/jsl/oa/config/startup/PermissionList.java @@ -28,6 +28,7 @@ public class PermissionList { permissionPrincipal.add(new PermissionVO("info:get_header_image", "获取头部图片")); permissionPrincipal.add(new PermissionVO("info:edit_header_image", "编辑头部图片")); permissionPrincipal.add(new PermissionVO("info:delete_header_image", "删除头部图片")); + permissionPrincipal.add(new PermissionVO("project:add", "增加项目")); permissionDeveloper.add(new PermissionVO("auth:change_password", "修改密码")); permissionDeveloper.add(new PermissionVO("info:get_header_image", "获取头部图片")); diff --git a/src/main/java/com/jsl/oa/controllers/ProjectController.java b/src/main/java/com/jsl/oa/controllers/ProjectController.java index a37aafd..a7beabf 100755 --- a/src/main/java/com/jsl/oa/controllers/ProjectController.java +++ b/src/main/java/com/jsl/oa/controllers/ProjectController.java @@ -1,5 +1,6 @@ package com.jsl.oa.controllers; +import com.jsl.oa.annotations.NeedPermission; import com.jsl.oa.model.vodata.ProjectEditVO; import com.jsl.oa.model.vodata.ProjectInfoVO; import com.jsl.oa.model.vodata.ProjectWorkVO; @@ -248,6 +249,7 @@ public BaseResponse projectParticipateGet( */ @PostMapping("/project/add") + @NeedPermission("project:add") public BaseResponse projectAdd( @RequestBody @Validated ProjectInfoVO projectInfoVO, @NotNull BindingResult bindingResult, @@ -322,4 +324,12 @@ public BaseResponse projectParticipateGet( } + @GetMapping("/project/get/name") + public BaseResponse projectGetName( + @RequestParam String name, + HttpServletRequest request + ) { + return projectService.projectGetName(name, request); + } + } diff --git a/src/main/java/com/jsl/oa/mapper/ProjectMapper.java b/src/main/java/com/jsl/oa/mapper/ProjectMapper.java index 7a40ce4..dcaad1f 100644 --- a/src/main/java/com/jsl/oa/mapper/ProjectMapper.java +++ b/src/main/java/com/jsl/oa/mapper/ProjectMapper.java @@ -147,4 +147,7 @@ public interface ProjectMapper { void deleteProjectChild(Long id1); void deleteProjectModule(Long id1); + + @Select("select * from organize_oa.oa_project where name like CONCAT('%',#{name},'%')") + List getByLikeName(String name); } diff --git a/src/main/java/com/jsl/oa/model/dodata/ProjectDO.java b/src/main/java/com/jsl/oa/model/dodata/ProjectDO.java index b83fd08..26195a8 100755 --- a/src/main/java/com/jsl/oa/model/dodata/ProjectDO.java +++ b/src/main/java/com/jsl/oa/model/dodata/ProjectDO.java @@ -1,5 +1,6 @@ package com.jsl.oa.model.dodata; +import com.fasterxml.jackson.annotation.JsonInclude; import lombok.Data; import lombok.experimental.Accessors; @@ -17,6 +18,7 @@ import java.sql.Timestamp; */ @Data @Accessors(chain = true) +@JsonInclude(JsonInclude.Include.NON_NULL) public class ProjectDO { /** * 主键 diff --git a/src/main/java/com/jsl/oa/model/vodata/ReturnGetVO.java b/src/main/java/com/jsl/oa/model/vodata/ReturnGetVO.java new file mode 100644 index 0000000..8fb1afc --- /dev/null +++ b/src/main/java/com/jsl/oa/model/vodata/ReturnGetVO.java @@ -0,0 +1,23 @@ +package com.jsl.oa.model.vodata; + + +import com.fasterxml.jackson.annotation.JsonInclude; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.Accessors; + +@Data +@NoArgsConstructor +@AllArgsConstructor +@Accessors(chain = true) +@JsonInclude(JsonInclude.Include.NON_NULL) + +/** + * 模糊查询返回,系统/项目/模块 名字和id + + */ +public class ReturnGetVO { + private String name; + private Long id; +} diff --git a/src/main/java/com/jsl/oa/services/ProjectService.java b/src/main/java/com/jsl/oa/services/ProjectService.java index f70398a..2e71184 100644 --- a/src/main/java/com/jsl/oa/services/ProjectService.java +++ b/src/main/java/com/jsl/oa/services/ProjectService.java @@ -67,4 +67,6 @@ public interface ProjectService { BaseResponse projectChildDelete(HttpServletRequest request, List id); BaseResponse projectModuleDelete(HttpServletRequest request, List id); + + BaseResponse projectGetName(String name, HttpServletRequest request); } diff --git a/src/main/java/com/jsl/oa/services/impl/ProjectServiceImpl.java b/src/main/java/com/jsl/oa/services/impl/ProjectServiceImpl.java index 722f1b8..d5bc501 100644 --- a/src/main/java/com/jsl/oa/services/impl/ProjectServiceImpl.java +++ b/src/main/java/com/jsl/oa/services/impl/ProjectServiceImpl.java @@ -31,8 +31,10 @@ import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletRequest; import java.sql.Timestamp; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Objects; +import com.google.gson.Gson; import static java.lang.System.*; @@ -58,6 +60,7 @@ public class ProjectServiceImpl implements ProjectService { private final ObjectMapper objectMapper; private final RoleDAO roleDAO; private final MessageService messageService; + private final Gson gson; @Override public BaseResponse projectAdd(HttpServletRequest request, ProjectInfoVO projectAdd) { @@ -71,18 +74,11 @@ public class ProjectServiceImpl implements ProjectService { } else { projectAdd.setDescription("{\"描述\":\" " + projectAdd.getDescription() + "\"}"); } - String tags = projectAdd.getTags(); - String[] split = tags.split(","); - String open = "{\"tags\":[\""; - String close = "]}"; - StringBuilder tag = new StringBuilder(); - for (String tag1 : split) { - tag.append(tag1).append("\",\""); - } - if (tag.length() > 0) { - tag = new StringBuilder(tag.substring(0, tag.length() - 2)); - } - projectAdd.setTags(open + tag + close); + + HashMap tagMap = new HashMap<>(); + tagMap.put("tags", projectAdd.getTags().split(",")); + projectAdd.setTags(gson.toJson(tagMap)); + projectAdd.setFiles("{\"URI\":\"" + projectAdd.getFiles() + "\"}"); @@ -241,6 +237,19 @@ public class ProjectServiceImpl implements ProjectService { return ResultUtil.success(); } + @Override + public BaseResponse projectGetName(String name, HttpServletRequest request) { + List projectDOList = projectMapper.getByLikeName(name); + + List returnGetVOList = new ArrayList<>(); + for (ProjectDO projectDO : projectDOList) { + ReturnGetVO returnGetVO = new ReturnGetVO(); + Processing.copyProperties(projectDO, returnGetVO); + returnGetVOList.add(returnGetVO); + } + return ResultUtil.success(returnGetVOList); + } + @Override public BaseResponse getModuleById(Integer id) { ProjectModuleDO projectWorkSimpleVO = projectMapper.getModuleById(id); @@ -260,9 +269,9 @@ public class ProjectServiceImpl implements ProjectService { } ProjectModuleSimpleVO projectModuleSimpleVO = new ProjectModuleSimpleVO(); projectModuleSimpleVO.setPrincipalUser(userDAO.getUserById(projectMapper.getPid(id)).getUsername()); - out.println("准备拷贝"); + Processing.copyProperties(projectWorkSimpleVO, projectModuleSimpleVO); - out.println("拷贝wan"); + return ResultUtil.success(projectModuleSimpleVO); } From 3e2b10c049ce690d036b0f656800be0e9e124021 Mon Sep 17 00:00:00 2001 From: XiaoLFeng Date: Thu, 18 Apr 2024 15:21:38 +0800 Subject: [PATCH 3/3] =?UTF-8?q?fix(=E4=B8=9A=E5=8A=A1):=20=E4=B8=9A?= =?UTF-8?q?=E5=8A=A1=E8=A1=A5=E4=B8=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit json 补丁 --- .../java/com/jsl/oa/services/impl/ProjectServiceImpl.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/jsl/oa/services/impl/ProjectServiceImpl.java b/src/main/java/com/jsl/oa/services/impl/ProjectServiceImpl.java index d5bc501..df0bf35 100644 --- a/src/main/java/com/jsl/oa/services/impl/ProjectServiceImpl.java +++ b/src/main/java/com/jsl/oa/services/impl/ProjectServiceImpl.java @@ -5,6 +5,7 @@ import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; +import com.google.gson.Gson; import com.jsl.oa.annotations.NeedPermission; import com.jsl.oa.dao.ProjectDAO; import com.jsl.oa.dao.RoleDAO; @@ -34,9 +35,9 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Objects; -import com.google.gson.Gson; -import static java.lang.System.*; +import static java.lang.System.currentTimeMillis; +import static java.lang.System.out; /** *

项目服务层实现类