feat:新增日报模块查询我的日报接口
This commit is contained in:
parent
121b87c683
commit
9c4cb174eb
@ -53,6 +53,10 @@ public class ProjectDailyController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@GetMapping("/daily/getMyDaily")
|
||||||
|
public BaseResponse getMyDaily(HttpServletRequest request) {
|
||||||
|
return projectDailyService.getMyDaily(request);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4,11 +4,17 @@ package com.jsl.oa.dao;
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
import com.jsl.oa.mapper.ProjectDailyMapper;
|
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 com.jsl.oa.model.dodata.ProjectDailyDO;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Component;
|
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 {
|
public class ProjectDailyDAO {
|
||||||
|
|
||||||
private final ProjectDailyMapper projectDailyMapper;
|
private final ProjectDailyMapper projectDailyMapper;
|
||||||
|
private final ProjectMapper projectMapper;
|
||||||
|
|
||||||
|
|
||||||
public void addProjectDaily(ProjectDailyDO projectDailyDO) {
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -4,6 +4,8 @@ package com.jsl.oa.mapper;
|
|||||||
import com.jsl.oa.model.dodata.ProjectDailyDO;
|
import com.jsl.oa.model.dodata.ProjectDailyDO;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 项目日报(ProjectDaily)表数据库访问层
|
* 项目日报(ProjectDaily)表数据库访问层
|
||||||
@ -16,6 +18,11 @@ public interface ProjectDailyMapper {
|
|||||||
|
|
||||||
|
|
||||||
void insert(ProjectDailyDO projectDailyDO);
|
void insert(ProjectDailyDO projectDailyDO);
|
||||||
|
|
||||||
|
List<ProjectDailyDO> getProjectDailyByUser(Long uid);
|
||||||
|
|
||||||
|
List<ProjectDailyDO> getProjectDailyByProject(Long pid);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -20,6 +20,7 @@ public interface ProjectDailyService {
|
|||||||
|
|
||||||
BaseResponse addDaily(ProjectDailyAddVO projectDailyAddVO, HttpServletRequest request);
|
BaseResponse addDaily(ProjectDailyAddVO projectDailyAddVO, HttpServletRequest request);
|
||||||
|
|
||||||
|
BaseResponse getMyDaily(HttpServletRequest request);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -19,6 +19,7 @@ import org.springframework.stereotype.Service;
|
|||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <h1>日志服务层实现类</h1>
|
* <h1>日志服务层实现类</h1>
|
||||||
@ -64,8 +65,18 @@ public class ProjectDailyServiceImpl implements ProjectDailyService {
|
|||||||
return ResultUtil.success();
|
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);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -25,4 +25,17 @@
|
|||||||
</trim>
|
</trim>
|
||||||
</insert>
|
</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>
|
</mapper>
|
Loading…
x
Reference in New Issue
Block a user