feature-zrx #24

Merged
XiaoLFeng merged 7 commits from feature-zrx into develop 2024-04-18 22:30:35 +08:00
6 changed files with 75 additions and 0 deletions
Showing only changes of commit 9c4cb174eb - Show all commits

View File

@ -53,6 +53,10 @@ public class ProjectDailyController {
}
@GetMapping("/daily/getMyDaily")
public BaseResponse getMyDaily(HttpServletRequest request) {
return projectDailyService.getMyDaily(request);
}
}

View File

@ -4,11 +4,17 @@ package com.jsl.oa.dao;
*/
import com.jsl.oa.mapper.ProjectDailyMapper;
import com.jsl.oa.mapper.ProjectMapper;
import com.jsl.oa.model.dodata.ProjectDO;
import com.jsl.oa.model.dodata.ProjectDailyDO;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.List;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
@ -26,6 +32,7 @@ import org.springframework.stereotype.Component;
public class ProjectDailyDAO {
private final ProjectDailyMapper projectDailyMapper;
private final ProjectMapper projectMapper;
public void addProjectDaily(ProjectDailyDO projectDailyDO) {
@ -33,6 +40,38 @@ public class ProjectDailyDAO {
}
public List<ProjectDailyDO> getMyProjectDaily(Long userId) {
// 日报数据数组
List<ProjectDailyDO> projectDailyDOList = new ArrayList<>();
// 先获取我负责的项目下的日报数据
//获取我负责的项目
List<ProjectDO> projectDOS = projectMapper.getAllProjectByUserId(userId);
//获取项目下对应日报
for (ProjectDO projectDO:projectDOS) {
List dailyFromProject = projectDailyMapper.getProjectDailyByProject(projectDO.getId());
projectDailyDOList.addAll(dailyFromProject);
}
// 在获取本人的发布日报
List<ProjectDailyDO> myProjectDaily = projectDailyMapper.getProjectDailyByUser(userId);
projectDailyDOList.addAll(myProjectDaily);
// 去除重复的日报信息
projectDailyDOList = projectDailyDOList.stream()
// 根据 id 属性进行去重
.collect(Collectors.toMap(ProjectDailyDO::getId,
Function.identity(), (existing, replacement) -> existing))
.values().stream()
.collect(Collectors.toList());
return projectDailyDOList;
}
}

View File

@ -4,6 +4,8 @@ package com.jsl.oa.mapper;
import com.jsl.oa.model.dodata.ProjectDailyDO;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* 项目日报(ProjectDaily)表数据库访问层
@ -16,6 +18,11 @@ public interface ProjectDailyMapper {
void insert(ProjectDailyDO projectDailyDO);
List<ProjectDailyDO> getProjectDailyByUser(Long uid);
List<ProjectDailyDO> getProjectDailyByProject(Long pid);
}

View File

@ -20,6 +20,7 @@ public interface ProjectDailyService {
BaseResponse addDaily(ProjectDailyAddVO projectDailyAddVO, HttpServletRequest request);
BaseResponse getMyDaily(HttpServletRequest request);
}

View File

@ -19,6 +19,7 @@ import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletRequest;
import java.util.Date;
import java.util.List;
/**
* <h1>日志服务层实现类</h1>
@ -64,8 +65,18 @@ public class ProjectDailyServiceImpl implements ProjectDailyService {
return ResultUtil.success();
}
@Override
public BaseResponse getMyDaily(HttpServletRequest request) {
// 获取用户id
Long userId = Processing.getAuthHeaderToUserId(request);
// 获取 我发布的及自己负责的项目下 的日报
List<ProjectDailyDO> projectDailyDOList =
projectDailyDAO.getMyProjectDaily(userId);
return ResultUtil.success(projectDailyDOList);
}
}

View File

@ -25,4 +25,17 @@
</trim>
</insert>
<select id="getProjectDailyByUser" parameterType="java.lang.Long"
resultType="com.jsl.oa.model.dodata.ProjectDailyDO">
select * from oa_project_daily where user_id = #{uid}
and is_delete = 0
</select>
<select id="getProjectDailyByProject" parameterType="java.lang.Integer"
resultType="com.jsl.oa.model.dodata.ProjectDailyDO">
select * from oa_project_daily where user_id = #{pid}
and is_delete = 0
</select>
</mapper>