diff --git a/src/main/java/com/jsl/oa/controllers/MessageController.java b/src/main/java/com/jsl/oa/controllers/MessageController.java
index bf8b3a8..d511a9f 100644
--- a/src/main/java/com/jsl/oa/controllers/MessageController.java
+++ b/src/main/java/com/jsl/oa/controllers/MessageController.java
@@ -1,5 +1,4 @@
package com.jsl.oa.controllers;
-
import com.jsl.oa.services.MessageService;
import com.jsl.oa.utils.BaseResponse;
import com.jsl.oa.utils.ErrorCode;
@@ -8,13 +7,10 @@ import com.jsl.oa.utils.ResultUtil;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.format.annotation.DateTimeFormat;
-import org.springframework.web.bind.annotation.DeleteMapping;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
-import java.time.LocalDate;
+import java.time.LocalDateTime;
/**
*
消息控制器
@@ -59,11 +55,12 @@ public class MessageController {
* @return 消息列表
*/
@GetMapping("/message/get")
- public BaseResponse messageGet(@RequestParam(defaultValue = "1") Long page,
- @RequestParam(defaultValue = "10") Long pageSize,
- HttpServletRequest request,
- @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate begin,
- @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate end) {
+ public BaseResponse messageGet(
+ @RequestParam(required = false, defaultValue = "1") Integer page,
+ @RequestParam(required = false, defaultValue = "10") Integer pageSize,
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime begin,
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime end,
+ HttpServletRequest request) {
log.info("请求接口[GET]:/message/get");
String token = request.getHeader("Authorization").replace("Bearer ", "");
Long uid = JwtUtil.getUserId(token);
@@ -75,32 +72,23 @@ public class MessageController {
}
/**
- * 获取所有消息列表
+ * 指派时消息
*
- * @param page 页码
- * @param pageSize 每页条数
- * @param request 请求对象
- * @param begin 开始日期
- * @param end 结束日期
- * @param uid 用户id
- * @return 消息列表
+ * @param request
+ * @return
*/
- @GetMapping("/message/get/all")
- public BaseResponse messageGetAll(@RequestParam(defaultValue = "1") Long page,
- @RequestParam(defaultValue = "10") Long pageSize,
- HttpServletRequest request,
- @RequestParam Long uid,
- @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate begin,
- @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate end) {
- log.info("请求接口[GET]:/message/get/all");
- String token = request.getHeader("Authorization").replace("Bearer ", "");
- Long loginId = JwtUtil.getUserId(token);
- if (loginId == null) {
- return ResultUtil.error(ErrorCode.USER_NOT_EXIST);
- } else {
- return messageService.messageGetAll(request, begin, end, page, pageSize, loginId, uid);
- }
+ @PostMapping("/message/assign")
+ public BaseResponse messageAssign(
+ @RequestParam Integer pId,
+ @RequestParam Integer systemId,
+ @RequestParam Integer moddleId,
+ @RequestParam Long uId,
+ @RequestParam Long isPass,
+ HttpServletRequest request) {
+ //messageService.messageAdd(pId, systemId, moddleId, uId, isPass, request);
+ return ResultUtil.success();
}
+
}
diff --git a/src/main/java/com/jsl/oa/controllers/ProjectController.java b/src/main/java/com/jsl/oa/controllers/ProjectController.java
index 7167cc6..91d555f 100755
--- a/src/main/java/com/jsl/oa/controllers/ProjectController.java
+++ b/src/main/java/com/jsl/oa/controllers/ProjectController.java
@@ -1,7 +1,4 @@
package com.jsl.oa.controllers;
-
-import com.jsl.oa.model.vodata.ProjectCuttingAddVO;
-import com.jsl.oa.model.vodata.ProjectCuttingEditVO;
import com.jsl.oa.model.vodata.ProjectEditVO;
import com.jsl.oa.model.vodata.ProjectWorkVO;
import com.jsl.oa.model.vodata.business.info.ProjectShowVO;
@@ -16,7 +13,6 @@ import org.jetbrains.annotations.NotNull;
import org.springframework.validation.BindingResult;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
-
import javax.servlet.http.HttpServletRequest;
import java.util.List;
@@ -140,7 +136,9 @@ public class ProjectController {
* @return {@link BaseResponse}
*/
@PostMapping("/project/header/add")
- public BaseResponse projectAddHeader(@RequestBody @Validated ProjectShowVO projectShowVO, HttpServletRequest request, @NotNull BindingResult bindingResult) {
+ public BaseResponse projectAddHeader(@RequestBody @Validated ProjectShowVO projectShowVO,
+ HttpServletRequest request,
+ @NotNull BindingResult bindingResult) {
log.info("请求接口[POST]: /project/header/add");
// 判断是否有参数错误
if (bindingResult.hasErrors()) {
@@ -160,7 +158,10 @@ public class ProjectController {
* @return {@link BaseResponse}
*/
@PutMapping("/project/header/edit/{projectId}")
- public BaseResponse projectEditById(@RequestParam Long projectId, HttpServletRequest request, @RequestBody @Validated ProjectEditVO projectEdit, @NotNull BindingResult bindingResult) {
+ public BaseResponse projectEditById(@RequestParam Long projectId,
+ @RequestBody @Validated ProjectEditVO projectEdit,
+ @NotNull BindingResult bindingResult,
+ HttpServletRequest request) {
log.info("请求接口[PUT]: /project/header/edit/{projectId}");
// 判断是否有参数错误
if (bindingResult.hasErrors()) {
@@ -177,7 +178,9 @@ public class ProjectController {
* @return {@link BaseResponse}
*/
@PostMapping("/project/work/add")
- public BaseResponse projectWorkAdd(HttpServletRequest request, @RequestBody @Validated ProjectWorkVO projectWorkVO, @NotNull BindingResult bindingResult) {
+ public BaseResponse projectWorkAdd(HttpServletRequest request,
+ @RequestBody @Validated ProjectWorkVO projectWorkVO,
+ @NotNull BindingResult bindingResult) {
log.info("请求接口[POST]: /project/work/add");
// 判断是否有参数错误
if (bindingResult.hasErrors()) {
@@ -196,39 +199,6 @@ public class ProjectController {
return projectService.projectPrincipalGet();
}
- /**
- * 用户获取所分到的项目模块
- *
- * @param uid 用户 id
- * @return {@link BaseResponse}
- */
- @GetMapping("/project/cut/user")
- public BaseResponse projectGetUserInCutting(@RequestParam Long uid) {
- log.info("请求接口[GET]: /project/cut/user");
- // 判断是否有参数错误
- if (uid == null) {
- return ResultUtil.error(ErrorCode.PARAMETER_ERROR);
- }
- return projectService.projectGetUserInCutting(uid);
- }
-
- /**
- * 给某用户分配项目模块
- *
- * @param uid 用户 id
- * @param pid 项目 id
- * @return {@link BaseResponse}
- */
- @PostMapping("/project/cut/user/add")
- public BaseResponse projectAddUserForCutting(HttpServletRequest request, @RequestParam Long uid, @RequestParam Long pid) {
- log.info("请求接口[Post]: /project/cut/user/add");
- // 判断是否有参数错误
- if (uid == null || pid == null) {
- return ResultUtil.error(ErrorCode.PARAMETER_ERROR);
- }
- return projectService.projectAddUserForCutting(request, uid, pid);
- }
-
/**
* 删除某项目记录
*
@@ -244,51 +214,6 @@ public class ProjectController {
return projectService.projectDelete(request, id);
}
- /**
- * 项目轮播图
- *
- * @param request 请求
- * @param projectCuttingAddVO 项目轮播图信息
- * @param bindingResult 参数校验
- * @return {@link BaseResponse}
- */
- @PostMapping("/project/cut/add")
- public BaseResponse projectCuttingAdd(HttpServletRequest request, @RequestBody @Validated ProjectCuttingAddVO projectCuttingAddVO, @NotNull BindingResult bindingResult) {
- log.info("请求接口[Post]: /project/cut/add");
- // 判断是否有参数错误
- if (bindingResult.hasErrors()) {
- return ResultUtil.error(ErrorCode.REQUEST_BODY_ERROR, Processing.getValidatedErrorList(bindingResult));
- }
- return projectService.addProjectCutting(request, projectCuttingAddVO);
- }
-
-
- @PutMapping("/project/cut/edit")
- public BaseResponse projectCuttingEdit(HttpServletRequest request, @RequestBody @Validated ProjectCuttingEditVO projectCuttingEditVO, @NotNull BindingResult bindingResult) {
- log.info("请求接口[Put]: /project/cut/edit");
- // 判断是否有参数错误
- if (bindingResult.hasErrors()) {
- return ResultUtil.error(ErrorCode.REQUEST_BODY_ERROR, Processing.getValidatedErrorList(bindingResult));
- }
- return projectService.editProjectCutting(request, projectCuttingEditVO);
- }
-
- @PutMapping("/project/cut/user/to")
- public BaseResponse projectToOtherUserForCutting(
- HttpServletRequest request,
- @RequestParam Long oldUid,
- @RequestParam Long pid,
- @RequestParam Long newUid
- ) {
- log.info("请求接口[Put]: /project/cut/user/to");
- // 判断是否有参数错误
- if (oldUid == null || pid == null || newUid == null) {
- return ResultUtil.error(ErrorCode.REQUEST_BODY_ERROR);
- }
- return projectService.projectToOtherUserForCutting(request, oldUid, pid, newUid);
- }
-
-
@GetMapping("/project/file")
public BaseResponse getProjectFile(HttpServletRequest request, @RequestParam Long projectId) {
log.info("请求接口[Get]: /project/file");
diff --git a/src/main/java/com/jsl/oa/dao/ProjectDAO.java b/src/main/java/com/jsl/oa/dao/ProjectDAO.java
index d13cb73..649964b 100644
--- a/src/main/java/com/jsl/oa/dao/ProjectDAO.java
+++ b/src/main/java/com/jsl/oa/dao/ProjectDAO.java
@@ -1,10 +1,7 @@
package com.jsl.oa.dao;
-
import com.google.gson.Gson;
import com.jsl.oa.mapper.ProjectMapper;
-import com.jsl.oa.model.dodata.ProjectCuttingDO;
import com.jsl.oa.model.dodata.ProjectDO;
-import com.jsl.oa.model.dodata.ProjectUserDO;
import com.jsl.oa.model.dodata.ProjectWorkDO;
import com.jsl.oa.model.dodata.info.ProjectShowDO;
import com.jsl.oa.model.vodata.ProjectEditVO;
@@ -61,18 +58,6 @@ public class ProjectDAO {
return projectMapper.getProjectById(id) != null;
}
- public List projectGetUserInCutting(Long uid) {
- log.info("\t> 执行 DAO 层 ProjectDAO.projectGetUserInCutting 方法");
- log.info("\t\t> 从 MySQL 获取数据");
- return projectMapper.projectGetUserInCutting(uid);
- }
-
- public void projectAddUserForCutting(Long uid, Long pid) {
- log.info("\t> 执行 DAO 层 ProjectDAO.projectAddUserForCutting 方法");
- log.info("\t\t> 从 MySQL 获取数据");
- projectMapper.projectAddUserInCutting(uid, pid);
- }
-
public ProjectShowDO getHeader() {
log.info("\t> 执行 DAO 层 ProjectDAO.getHeader 方法");
log.info("\t\t> 从 MySQL 获取数据");
@@ -150,7 +135,8 @@ public class ProjectDAO {
}
}
- public List workget(Long userId, Integer listAll, List tags, List isFinish, Integer is) {
+ public List workget(Long userId, Integer listAll,
+ List tags, List isFinish, Integer is) {
log.info("\t> 执行 DAO 层 ProjectDAO.workget 方法");
log.info("\t\t> 从 MySQL 获取数据");
if (tags != null && !tags.isEmpty()) {
@@ -180,46 +166,12 @@ public class ProjectDAO {
return projectMapper.deleteProject(id);
}
- public void projectCuttingAdd(ProjectCuttingDO projectCuttingDO) {
- log.info("\t> 执行 DAO 层 ProjectDAO.projectCuttingAdd 方法");
- log.info("\t\t> 从 MySQL 获取数据");
- projectMapper.projectCuttingAdd(projectCuttingDO);
- }
-
public boolean isExistProjectById(Long id) {
log.info("\t> 执行 DAO 层 ProjectDAO.isExistProjectById 方法");
log.info("\t\t> 从 MySQL 获取数据");
return projectMapper.getProjectById(id) != null;
}
- public boolean updateProjectCutting(ProjectCuttingDO projectCuttingDO) {
- log.info("\t> 执行 DAO 层 ProjectDAO.updateProjectCutting 方法");
- log.info("\t\t> 从 MySQL 获取数据");
- return projectMapper.projectCuttingUpdate(projectCuttingDO);
- }
-
- public boolean isExistProjectCutting(Long id) {
- log.info("\t> 执行 DAO 层 ProjectDAO.isExistProjectCutting 方法");
- log.info("\t\t> 从 MySQL 获取数据");
- return projectMapper.getProjectCuttingById(id) != null;
- }
-
- public boolean isExistProjectUser(Long pid, Long uid) {
- log.info("\t> 执行 DAO 层 ProjectDAO.isExistProjectUse 方法");
- log.info("\t\t> 从 MySQL 获取数据");
- return projectMapper.getProjectUserByPidAndUid(pid, uid) != null;
- }
-
- public boolean updateUserForProjectUserByPidAndUid(Long pid, Long oldUid, Long newUid) {
- log.info("\t> 执行 DAO 层 ProjectDAO.updateUserForProjectUserByPidAndUid 方法");
- log.info("\t\t> 从 MySQL 获取数据");
- ProjectUserDO projectUserDO = projectMapper.getProjectUserByPidAndUid(pid, oldUid);
- if (projectUserDO == null) {
- return false;
- }
- log.info("\t\t> 从 MySQL 更新数据");
- return projectMapper.updateUserForProjectUser(newUid, projectUserDO.getId());
- }
public boolean isPrincipalUser(Long uid, Long projectId) {
log.info("\t> 执行 DAO 层 ProjectDAO.isPrincipalUser 方法");
diff --git a/src/main/java/com/jsl/oa/mapper/MessageMapper.java b/src/main/java/com/jsl/oa/mapper/MessageMapper.java
index 25896f9..be5fd13 100644
--- a/src/main/java/com/jsl/oa/mapper/MessageMapper.java
+++ b/src/main/java/com/jsl/oa/mapper/MessageMapper.java
@@ -1,11 +1,13 @@
package com.jsl.oa.mapper;
import com.jsl.oa.model.dodata.MessageDO;
+import com.jsl.oa.model.vodata.MessageAddVO;
+import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
-import java.time.LocalDate;
+import java.time.LocalDateTime;
import java.util.List;
@@ -13,17 +15,18 @@ import java.util.List;
public interface MessageMapper {
@Update("UPDATE organize_oa.oa_message "
- + "SET `read` = 1, deleted_at = CURRENT_TIMESTAMP "
+ + "SET `is_delete` = 1, deleted_at = CURRENT_TIMESTAMP "
+ "WHERE id = #{mid}")
boolean deleteMessage(Long mid);
@Select("SELECT * FROM organize_oa.oa_message where id = #{mid}")
MessageDO getMessageById(Long mid);
- @Select("select count(*) from organize_oa.oa_message where uid = #{uid}")
- Long count(Long uid);
+ @Select("select * from organize_oa.oa_message where uid = #{uid} and is_delete = 0 "
+ + "and created_at between #{begin} and #{end}")
+ List page(LocalDateTime begin, LocalDateTime end, Long uid);
- @Select("select * from organize_oa.oa_message where uid = #{uid}")
- //and created_at between #{begin} and #{end} limit #{start},#{pageSize}")
- List page(LocalDate begin, LocalDate end, Long uid, Long start, Long pageSize);
+ @Insert("insert into organize_oa.oa_message (uid, title, text, sid) "
+ + "values(#{uid},#{title},#{text},#{sid})")
+ void messageAdd(MessageAddVO messageAddVO);
}
diff --git a/src/main/java/com/jsl/oa/mapper/ProjectMapper.java b/src/main/java/com/jsl/oa/mapper/ProjectMapper.java
index 0c1bb5b..dc25d03 100644
--- a/src/main/java/com/jsl/oa/mapper/ProjectMapper.java
+++ b/src/main/java/com/jsl/oa/mapper/ProjectMapper.java
@@ -1,8 +1,6 @@
package com.jsl.oa.mapper;
-
import com.jsl.oa.model.dodata.ProjectCuttingDO;
import com.jsl.oa.model.dodata.ProjectDO;
-import com.jsl.oa.model.dodata.ProjectUserDO;
import com.jsl.oa.model.dodata.ProjectWorkDO;
import com.jsl.oa.model.vodata.ProjectInfoVO;
import com.jsl.oa.model.vodata.ProjectWorkSimpleVO;
@@ -73,26 +71,15 @@ public interface ProjectMapper {
@Update("UPDATE organize_oa.oa_project SET is_delete = 1 where id=#{id}")
boolean deleteProject(Long id);
- @Insert("INSERT INTO organize_oa.oa_project_cutting (pid, name, tag, real_time) "
- + "VALUES (#{pid}, #{name}, #{tag}, #{realTime})")
- void projectCuttingAdd(ProjectCuttingDO projectCuttingDO);
-
@Update("UPDATE organize_oa.oa_project_cutting SET name = #{name}, "
+ "tag = #{tag}, engineering = #{engineering}, estimated_time = #{estimatedTime}, "
+ "real_time = #{realTime}, updated_at = CURRENT_TIMESTAMP WHERE id = #{id}")
boolean projectCuttingUpdate(ProjectCuttingDO projectCuttingDO);
-
- @Select("SELECT * FROM organize_oa.oa_project_cutting WHERE id = #{id}")
- ProjectCuttingDO getProjectCuttingById(Long id);
-
- @Select("SELECT * FROM organize_oa.oa_project_user WHERE pid = #{pid} AND uid = #{uid}")
- ProjectUserDO getProjectUserByPidAndUid(Long pid, Long uid);
-
@Update("UPDATE organize_oa.oa_project_user SET uid = #{uid} , updated_at = CURRENT_TIMESTAMP WHERE id = #{id}")
boolean updateUserForProjectUser(Long uid, Long id);
- //@Select("select * from organize_oa.oa_project_work where is_finish=#{isFinish} and is_delete=false and principal_id =#{userId}")
+
List workgetByIsfinish(Long userId, List isFinish, Integer is);
List workgetByTags(Long userId, List tags, Integer is, List isFinish);
@@ -122,4 +109,10 @@ public interface ProjectMapper {
@Select("select * from organize_oa.oa_project_work where id=#{id}")
ProjectWorkDO getProjectWorkById(Long id);
+
+ @Select("select principal_id from organize_oa.oa_project_work where project_id=#{id}")
+ List getMemberByProjectId(Integer id);
+
+ @Select("select principal_id from organize_oa.oa_project_work where pid=#{id}")
+ List getMemberBySystemId(Integer id);
}
diff --git a/src/main/java/com/jsl/oa/model/dodata/MessageDO.java b/src/main/java/com/jsl/oa/model/dodata/MessageDO.java
index 0921bd5..1be987a 100644
--- a/src/main/java/com/jsl/oa/model/dodata/MessageDO.java
+++ b/src/main/java/com/jsl/oa/model/dodata/MessageDO.java
@@ -22,9 +22,10 @@ public class MessageDO {
private Long id;
private Long uid;
+ private Long sid;
private String title;
private String text;
- private Short read;
+ private Integer isDelete;
private Timestamp createdAt;
private Timestamp deletedAt;
diff --git a/src/main/java/com/jsl/oa/model/vodata/MessageAddVO.java b/src/main/java/com/jsl/oa/model/vodata/MessageAddVO.java
new file mode 100644
index 0000000..a574a97
--- /dev/null
+++ b/src/main/java/com/jsl/oa/model/vodata/MessageAddVO.java
@@ -0,0 +1,18 @@
+package com.jsl.oa.model.vodata;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+
+@Data
+@Accessors(chain = true)
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class MessageAddVO {
+ private String text;
+ private String title;
+ private Long uid;
+ private Long sid;
+ private String type;
+ private Integer toId;
+
+}
diff --git a/src/main/java/com/jsl/oa/model/vodata/MessageGetVO.java b/src/main/java/com/jsl/oa/model/vodata/MessageGetVO.java
new file mode 100644
index 0000000..d391bde
--- /dev/null
+++ b/src/main/java/com/jsl/oa/model/vodata/MessageGetVO.java
@@ -0,0 +1,17 @@
+package com.jsl.oa.model.vodata;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import lombok.Data;
+import lombok.experimental.Accessors;
+import java.sql.Timestamp;
+
+@Data
+@Accessors(chain = true)
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class MessageGetVO {
+ private String text;
+ private String title;
+ private Timestamp createdAt;
+ private String senderName;
+
+}
diff --git a/src/main/java/com/jsl/oa/services/MessageService.java b/src/main/java/com/jsl/oa/services/MessageService.java
index 944c35a..89c2910 100644
--- a/src/main/java/com/jsl/oa/services/MessageService.java
+++ b/src/main/java/com/jsl/oa/services/MessageService.java
@@ -3,7 +3,7 @@ package com.jsl.oa.services;
import com.jsl.oa.utils.BaseResponse;
import javax.servlet.http.HttpServletRequest;
-import java.time.LocalDate;
+import java.time.LocalDateTime;
/**
* 消息服务接口
@@ -18,15 +18,16 @@ public interface MessageService {
BaseResponse messageDelete(Long mid, HttpServletRequest request);
- BaseResponse messageGet(LocalDate begin, LocalDate end, Long page, Long pageSize, Long uid);
+ BaseResponse messageGet(
+ LocalDateTime begin,
+ LocalDateTime end,
+ Integer page,
+ Integer pageSize,
+ Long uid);
- BaseResponse messageGetAll(
- HttpServletRequest request,
- LocalDate begin,
- LocalDate end,
- Long page,
- Long pageSize,
- Long loginId,
- Long uid
- );
+ void messageAdd(Integer pId, Integer systemId, Integer moddleId, Long uid, HttpServletRequest request);
+ void messageAdd(Integer pId, Integer systemId, Integer moddleId, Long uid, Long isPass, HttpServletRequest request);
+ void messageAdd(Integer pId, Integer type, Integer systemId, HttpServletRequest request);
+ void messageAdd(Integer pId, Integer systmeId, Integer moddleId, Integer type, HttpServletRequest request);
+ void messageAdd(Integer pId, Integer systemId, Integer moddleId);
}
diff --git a/src/main/java/com/jsl/oa/services/ProjectService.java b/src/main/java/com/jsl/oa/services/ProjectService.java
index 9915778..1dec679 100644
--- a/src/main/java/com/jsl/oa/services/ProjectService.java
+++ b/src/main/java/com/jsl/oa/services/ProjectService.java
@@ -12,10 +12,6 @@ public interface ProjectService {
BaseResponse projectEdit(HttpServletRequest request, ProjectEditVO projectEdit, Long projectId);
- BaseResponse projectGetUserInCutting(Long uid);
-
- BaseResponse projectAddUserForCutting(HttpServletRequest request, Long uid, Long pid);
-
BaseResponse getHeader(Integer id);
BaseResponse addHeader(HttpServletRequest request, ProjectShowVO projectShowVO);
@@ -24,19 +20,15 @@ public interface ProjectService {
BaseResponse editHeader(HttpServletRequest request, ProjectShowVO projectShowVO, Integer id);
- BaseResponse get(Integer listAll, HttpServletRequest request, List tags, List isFinish, Integer page, Integer pageSize);
+ BaseResponse get(Integer listAll, HttpServletRequest request,
+ List tags, List isFinish, Integer page, Integer pageSize);
BaseResponse getByName(String name);
BaseResponse projectDelete(HttpServletRequest request, List id);
- BaseResponse addProjectCutting(HttpServletRequest request, ProjectCuttingAddVO projectCuttingAddVO);
-
- BaseResponse editProjectCutting(HttpServletRequest request, ProjectCuttingEditVO projectCuttingEditVO);
-
- BaseResponse projectToOtherUserForCutting(HttpServletRequest request, Long oldUid, Long pid, Long newUid);
-
- BaseResponse workget(Integer listAll, HttpServletRequest request, List tags, List isFinish, Integer is, Integer page, Integer pageSize);
+ BaseResponse workget(Integer listAll, HttpServletRequest request,
+ List tags, List isFinish, Integer is, Integer page, Integer pageSize);
BaseResponse projecWorktAdd(HttpServletRequest request, ProjectWorkVO projectWorkVO);
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 a387dab..e47d204 100644
--- a/src/main/java/com/jsl/oa/services/impl/MessageServiceImpl.java
+++ b/src/main/java/com/jsl/oa/services/impl/MessageServiceImpl.java
@@ -1,25 +1,21 @@
package com.jsl.oa.services.impl;
-
-
import com.jsl.oa.annotations.CheckUserAbleToUse;
-import com.jsl.oa.annotations.CheckUserHasPermission;
+import com.jsl.oa.dao.UserDAO;
import com.jsl.oa.mapper.MessageMapper;
-import com.jsl.oa.mapper.RoleMapper;
+import com.jsl.oa.mapper.ProjectMapper;
import com.jsl.oa.model.dodata.MessageDO;
-import com.jsl.oa.model.dodata.PageBeanDO;
+import com.jsl.oa.model.vodata.MessageAddVO;
+import com.jsl.oa.model.vodata.MessageGetVO;
import com.jsl.oa.services.MessageService;
-import com.jsl.oa.utils.BaseResponse;
-import com.jsl.oa.utils.ErrorCode;
-import com.jsl.oa.utils.JwtUtil;
-import com.jsl.oa.utils.ResultUtil;
+import com.jsl.oa.utils.*;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
-
import javax.servlet.http.HttpServletRequest;
-import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.util.ArrayList;
import java.util.List;
-
+import static java.lang.System.*;
/**
* 消息服务层实现类
@@ -36,10 +32,11 @@ import java.util.List;
public class MessageServiceImpl implements MessageService {
private final MessageMapper messageMapper;
- private final RoleMapper roleMapper;
+ private final UserDAO userDAO;
+ private final ProjectMapper projectMapper;
@Override
- @CheckUserHasPermission("message.delete")
+ @CheckUserAbleToUse
public BaseResponse messageDelete(Long mid, HttpServletRequest request) {
//获取消息数据
MessageDO messageDO = messageMapper.getMessageById(mid);
@@ -55,55 +52,226 @@ public class MessageServiceImpl implements MessageService {
return ResultUtil.success();
}
+ @SuppressWarnings("checkstyle:Regexp")
@Override
@CheckUserAbleToUse
- public BaseResponse messageGet(LocalDate begin, LocalDate end, Long page, Long pageSize, Long uid) {
- //1.记录总数据数
- Long count = messageMapper.count(uid);
-
- //2.获取分页数据列表
+ public BaseResponse messageGet(LocalDateTime beginTime,
+ LocalDateTime endTime,
+ Integer page,
+ Integer pageSize,
+ Long uid) {
//默认获取时间为最近30天
- if (begin == null) {
- begin = LocalDate.now();
- end = begin.minusDays(30);
+ if (beginTime == null) {
+ endTime = LocalDateTime.now();
+ beginTime = endTime.minusDays(30);
}
- Long start = (page - 1) * pageSize;
- List empList = messageMapper.page(begin, end, uid, start, pageSize);
-
- //3.封装PageBean对象
- PageBeanDO pageBean = new PageBeanDO<>(count, empList);
- return ResultUtil.success(pageBean);
+ List messageDOList = messageMapper.page(beginTime, endTime, uid);
+ //封装返回数据
+ List messageGetVOList = new ArrayList<>();
+ for (MessageDO messageDO : messageDOList) {
+ MessageGetVO messageGetVO1 = new MessageGetVO();
+ messageGetVO1.setText(messageDO.getText());
+ messageGetVO1.setTitle(messageDO.getTitle());
+ messageGetVO1.setCreatedAt(messageDO.getCreatedAt());
+ if (messageDO.getSid() != null) {
+ messageGetVO1.setSenderName(userDAO.getUserById(messageDO.getSid()).getUsername());
+ }
+ messageGetVOList.add(messageGetVO1);
+ }
+ //分页返回
+ int start = (page - 1) * pageSize;
+ int end = start + pageSize;
+ List pageData = messageGetVOList.subList(start,
+ Math.min(end, messageGetVOList.size()));
+ return ResultUtil.success(pageData);
}
+ /**
+ * 添加指派消息
+ *
+ * @param pId 项目id
+ * @param systemId 系统id
+ * @param moddleId 模块id
+ * @param uid 用户id
+ * @param request
+ */
@Override
- @CheckUserHasPermission("message.get")
- public BaseResponse messageGetAll(
- HttpServletRequest request,
- LocalDate begin,
- LocalDate end,
- Long page,
- Long pageSize,
- Long loginId,
- Long uid
- ) {
- log.info("请求接口服务层");
- //1.记录总数据数
- Long count = messageMapper.count(uid);
-
- //2.获取分页数据列表
- //默认获取时间为最近30天
- if (begin == null) {
- begin = LocalDate.now();
- end = begin.minusDays(30);
+ public void messageAdd(
+ Integer pId,
+ Integer systemId,
+ Integer moddleId,
+ Long uid,
+ HttpServletRequest request) {
+ // 拿到token,获取发送人id
+ String token = request.getHeader("Authorization").replace("Bearer ", "");
+ Long sid = JwtUtil.getUserId(token);
+ // 获取发送人名字,项目名,子系统名,子模块名
+ String senderName = userDAO.getUserById(sid).getUsername();
+ String projectName = projectMapper.tgetProjectById(pId).getName();
+ String systemName = projectMapper.getWorkById(systemId).getName();
+ // 添加消息
+ MessageAddVO messageAddVO = new MessageAddVO();
+ messageAddVO.setSid(sid);
+ messageAddVO.setUid(uid);
+ messageAddVO.setTitle("指派消息");
+ if (moddleId == null) {
+ messageAddVO.setText(senderName + "指派了" + projectName + "项目的" + systemName + "子系统给您");
+ } else {
+ String moddleName = projectMapper.getWorkById(moddleId).getName();
+ messageAddVO.setText(senderName + "指派了" + projectName + "项目的" + systemName + "子系统的" + moddleName + "子模块给您");
}
- Long start = (page - 1) * pageSize;
- List messageDOList = messageMapper.page(begin, end, uid, start, pageSize);
-
- //3.封装PageBean对象
- PageBeanDO pageBean = new PageBeanDO<>(count, messageDOList);
- return ResultUtil.success(pageBean);
+ messageAddVO.setType("跳转审批页");
+ messageMapper.messageAdd(messageAddVO);
}
+ /**
+ * 添加审批消息
+ *
+ * @param pId 项目id
+ * @param systemId 系统id
+ * @param moddleId 模块id
+ * @param uid 用户id
+ * @param isPass 是否通过 1:通过 0:未通过
+ * @param request
+ */
+ @Override
+ public void messageAdd(
+ Integer pId,
+ Integer systemId,
+ Integer moddleId,
+ Long uid,
+ Long isPass,
+ HttpServletRequest request) {
+ // 获取发送人名字,项目名,子系统名,子模块名
+ String projectName = projectMapper.tgetProjectById(pId).getName();
+ String systemName = projectMapper.getWorkById(systemId).getName();
+ // 添加消息
+ MessageAddVO messageAddVO = new MessageAddVO();
+ messageAddVO.setUid(uid);
+ messageAddVO.setTitle("审批消息");
+ String moddleName = projectMapper.getWorkById(moddleId).getName();
+ if (isPass == 1) {
+ messageAddVO.setText("您申请的" + projectName + "项目的" + systemName + "系统的" + moddleName + "模块负责人已通过");
+ } else {
+ messageAddVO.setText("您申请的" + projectName + "项目的" + systemName + "系统的" + moddleName + "模块负责人未通过");
+ }
+ messageAddVO.setType("消息详情");
+ messageMapper.messageAdd(messageAddVO);
+ }
+
+ /**
+ * 添加项目变动消息
+ * @param pId 项目id
+ * @param type 类型 1:上传文档 2:修改状态 3:修改负责人
+ * @param systemId 系统id
+ * @param request
+ */
+ @Override
+ public void messageAdd(
+ Integer pId,
+ Integer type,
+ Integer systemId,
+ HttpServletRequest request) {
+ // 获取项目名,负责人名
+ String projectName = projectMapper.tgetProjectById(pId).getName();
+ String senderName = userDAO.getUserById(Processing.getAuthHeaderToUserId(request)).getUsername();
+ String systemName = projectMapper.getWorkById(systemId).getName();
+ // 添加消息
+ // 1:上传文档 2:修改状态 3:修改负责人
+ List uidList = projectMapper.getMemberByProjectId(pId);
+ for (Long uid : uidList) {
+ MessageAddVO messageAddVO = new MessageAddVO();
+ messageAddVO.setUid(uid);
+ messageAddVO.setTitle("项目变动消息");
+ if (type == 3) {
+ messageAddVO.setText("项目负责人" + senderName + "调整了" + systemName + "子系统的负责人");
+ } else if (type == 2) {
+ messageAddVO.setText("项目负责人" + senderName + "修改了" + projectName + "项目的状态");
+ } else if (type == 1) {
+ messageAddVO.setText("项目负责人" + senderName + "上传了文档到" + projectName + "项目");
+ }
+ messageAddVO.setType("跳转项目页");
+ messageAddVO.setToId(pId);
+ messageMapper.messageAdd(messageAddVO);
+ }
+ }
+
+ /**
+ * 添加子系统变动消息
+ *
+ * @param pId 项目id
+ * @param systmeId 系统id
+ * @param moddleId 模块id
+ * @param type 类型 1:删除模块 2:修改简介 3:修改周期
+ * @param request
+ */
+ @Override
+ public void messageAdd(
+ Integer pId,
+ Integer systmeId,
+ Integer moddleId,
+ Integer type,
+ HttpServletRequest request) {
+ // 获取项目名,负责人名
+ String projectName = projectMapper.tgetProjectById(pId).getName();
+ String senderName = userDAO.getUserById(Processing.getAuthHeaderToUserId(request)).getUsername();
+ String systemName = projectMapper.getWorkById(systmeId).getName();
+ String moddleName = projectMapper.getWorkById(moddleId).getName();
+ // 添加消息
+ // 1:删除模块 2:修改简介 3:修改周期
+ if (type == 1) {
+ MessageAddVO messageAddVO = new MessageAddVO();
+ messageAddVO.setUid(projectMapper.getPid(moddleId));
+ messageAddVO.setTitle("子系统变动消息");
+ messageAddVO.setText("项目经理" + senderName + "删除了" + projectName + "项目的"
+ + systemName + "系统的" + moddleName + "模块");
+ messageMapper.messageAdd(messageAddVO);
+ } else {
+ List uidList = projectMapper.getMemberBySystemId(systmeId);
+ for (Long uid : uidList) {
+ MessageAddVO messageAddVO = new MessageAddVO();
+ messageAddVO.setUid(uid);
+ messageAddVO.setTitle("子系统变动消息");
+ if (type == 2) {
+ messageAddVO.setText("项目经理" + senderName + "修改了" + projectName + "项目的"
+ + systemName + "系统的简介说明");
+ } else if (type == 3) {
+ messageAddVO.setText("项目经理" + senderName + "修改了" + projectName + "项目的"
+ + systemName + "系统的系统周期/工作量");
+ }
+ messageAddVO.setType("跳转系统页");
+ messageAddVO.setToId(systmeId);
+ messageMapper.messageAdd(messageAddVO);
+ }
+ }
+ }
+
+ /**
+ * 添加日报消息
+ *
+ * @param pId 项目id
+ * @param systemId 系统id
+ * @param moddleId 模块id
+ */
+ @Override
+ public void messageAdd(
+ Integer pId,
+ Integer systemId,
+ Integer moddleId) {
+ // 获取项目名,系统名,模块名,负责人名
+ String projectName = projectMapper.tgetProjectById(pId).getName();
+ String systemName = projectMapper.getWorkById(systemId).getName();
+ String moddleName = projectMapper.getWorkById(moddleId).getName();
+ String principalName = userDAO.getUserById(projectMapper.getPid(moddleId)).getUsername();
+ // 添加消息
+ MessageAddVO messageAddVO = new MessageAddVO();
+ messageAddVO.setUid(projectMapper.getPid(systemId));
+ messageAddVO.setTitle("日报消息");
+ messageAddVO.setText(projectName + "项目的" + systemName + "系统的" + moddleName + "模块负责人" + principalName
+ + "刚刚填写了日报");
+ messageAddVO.setType("跳转日报页");
+ messageMapper.messageAdd(messageAddVO);
+ }
}
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 d94dff1..f3ccf55 100644
--- a/src/main/java/com/jsl/oa/services/impl/ModuleServiceImpl.java
+++ b/src/main/java/com/jsl/oa/services/impl/ModuleServiceImpl.java
@@ -83,7 +83,6 @@ public class ModuleServiceImpl implements ModuleService {
@Override
public BaseResponse deleteById(HttpServletRequest request, Long id) {
-
// 检测是否为管理员
if (!Processing.checkUserIsAdmin(request, roleMapper)) {
return ResultUtil.error(ErrorCode.NOT_PERMISSION);
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 1396230..a2916e4 100644
--- a/src/main/java/com/jsl/oa/services/impl/ProjectServiceImpl.java
+++ b/src/main/java/com/jsl/oa/services/impl/ProjectServiceImpl.java
@@ -1,5 +1,4 @@
package com.jsl.oa.services.impl;
-
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
@@ -9,7 +8,6 @@ import com.jsl.oa.dao.UserDAO;
import com.jsl.oa.mapper.ProjectMapper;
import com.jsl.oa.mapper.RoleMapper;
import com.jsl.oa.mapper.UserMapper;
-import com.jsl.oa.model.dodata.ProjectCuttingDO;
import com.jsl.oa.model.dodata.ProjectDO;
import com.jsl.oa.model.dodata.UserDO;
import com.jsl.oa.model.dodata.info.ProjectShowDO;
@@ -93,12 +91,13 @@ public class ProjectServiceImpl implements ProjectService {
} else {
return ResultUtil.error(ErrorCode.NOT_PERMISSION);
}
- }//增加子模块
- else {
+ } else {
//是否是子系统的负责人
if (Objects.equals(userId, projectMapper.getPirIdbyWorkid(projectWorkVO.getPid()))) {
projectDAO.projectWorkAdd(projectWorkVO);
- } else return ResultUtil.error(ErrorCode.NOT_PERMISSION);
+ } else {
+ return ResultUtil.error(ErrorCode.NOT_PERMISSION);
+ }
}
return ResultUtil.success("添加成功");
@@ -231,8 +230,8 @@ public class ProjectServiceImpl implements ProjectService {
//判断用户是否为老师 或者 项目负责人
- if (!Processing.checkUserIsTeacher(request, roleMapper) ||
- !projectDAO.isPrincipalUser(Processing.getAuthHeaderToUserId(request), projectId)) {
+ if (!Processing.checkUserIsTeacher(request, roleMapper)
+ || !projectDAO.isPrincipalUser(Processing.getAuthHeaderToUserId(request), projectId)) {
return ResultUtil.error(ErrorCode.NOT_PERMISSION);
}
@@ -246,30 +245,6 @@ public class ProjectServiceImpl implements ProjectService {
}
- @Override
- @CheckUserHasPermission("project.cutting.user.get")
- public BaseResponse projectGetUserInCutting(Long uid) {
- log.info("\t> 执行 Service 层 ProjectService.projectGetUserInCutting 方法");
- if (userDAO.isExistUser(uid)) {
- List projectCuttingDOList = projectDAO.projectGetUserInCutting(uid);
- return ResultUtil.success(projectCuttingDOList);
- } else {
- return ResultUtil.error(ErrorCode.USER_NOT_EXIST);
- }
- }
-
- @Override
- @CheckUserHasPermission("project.cutting.user.add")
- public BaseResponse projectAddUserForCutting(HttpServletRequest request, Long uid, Long pid) {
- log.info("\t> 执行 Service 层 ProjectService.projectAddUserForCutting 方法");
- if (userDAO.isExistUser(uid)) {
- projectDAO.projectAddUserForCutting(uid, pid);
- return ResultUtil.success();
- } else {
- return ResultUtil.error(ErrorCode.USER_NOT_EXIST);
- }
- }
-
@Override
public BaseResponse getHeader(Integer id) {
log.info("\t> 执行 Service 层 InfoService.getHeader 方法");
@@ -361,7 +336,8 @@ public class ProjectServiceImpl implements ProjectService {
}
@Override
- public BaseResponse get(Integer listAll, HttpServletRequest request, List tags, List isFinish, Integer page, Integer pageSize) {
+ public BaseResponse get(Integer listAll, HttpServletRequest request,
+ List tags, List isFinish, Integer page, Integer pageSize) {
log.info("\t> 执行 Service 层 ProjectService.get 方法");
//获取用户
@@ -437,7 +413,9 @@ public class ProjectServiceImpl implements ProjectService {
}
@Override
- public BaseResponse workget(Integer listAll, HttpServletRequest request, List tags, List isFinish, Integer is, Integer page, Integer pageSize) {
+ public BaseResponse workget(Integer listAll, HttpServletRequest request,
+ List tags, List isFinish, Integer is,
+ Integer page, Integer pageSize) {
log.info("\t> 执行 Service 层 ProjectService.workget 方法");
//获取用户
@@ -541,57 +519,4 @@ public class ProjectServiceImpl implements ProjectService {
}
return ResultUtil.success();
}
-
- @Override
- @CheckUserHasPermission("project.cutting.add")
- public BaseResponse addProjectCutting(HttpServletRequest request, ProjectCuttingAddVO projectCuttingAddVO) {
- log.info("\t> 执行 Service 层 ProjectService.projectCuttingAdd方法");
- //赋值数据
- ProjectCuttingDO projectCuttingDO = new ProjectCuttingDO();
- Processing.copyProperties(projectCuttingAddVO, projectCuttingDO);
- //根据pid检测项目是否存在
- if (!projectDAO.isExistProjectById(projectCuttingAddVO.getPid())) {
- return ResultUtil.error(ErrorCode.PROJECT_NOT_EXIST);
- }
- //向数据库添加数据
- projectDAO.projectCuttingAdd(projectCuttingDO);
- return ResultUtil.success();
- }
-
- @Override
- @CheckUserHasPermission("project.cutting.edit")
- public BaseResponse editProjectCutting(HttpServletRequest request, ProjectCuttingEditVO projectCuttingEditVO) {
- log.info("\t> 执行 Service 层 ProjectService.projectCuttingEdit方法");
- //赋值数据
- ProjectCuttingDO projectCuttingDO = new ProjectCuttingDO();
- Processing.copyProperties(projectCuttingEditVO, projectCuttingDO);
- //根据id检测项目模块是否存在
- if (!projectDAO.isExistProjectCutting(projectCuttingEditVO.getId())) {
- return ResultUtil.error(ErrorCode.PROJECT_CUTTING_NOT_EXIST);
- }
- //向数据库添加数据
- projectDAO.updateProjectCutting(projectCuttingDO);
- return ResultUtil.success();
- }
-
- @Override
- @CheckUserHasPermission("project.cutting.delete")
- public BaseResponse projectToOtherUserForCutting(HttpServletRequest request, Long oldUid, Long pid, Long newUid) {
- log.info("\t> 执行 Service 层 ProjectService.projectToOtherUserForCutting方法");
- //检测新旧用户是否存在
- if (!userDAO.isExistUser(oldUid) || !userDAO.isExistUser(newUid)) {
- return ResultUtil.error(ErrorCode.USER_NOT_EXIST);
- }
- //用户项目表是否含有对应记录
- if (!projectDAO.isExistProjectUser(pid, oldUid)) {
- return ResultUtil.error(ErrorCode.PROJECT_USER_NOT_EXIST);
- }
- //更新数据
- if (!projectDAO.updateUserForProjectUserByPidAndUid(pid, oldUid, newUid)) {
- return ResultUtil.error(ErrorCode.DATABASE_UPDATE_ERROR);
- }
- return ResultUtil.success();
- }
-
-
}