diff --git a/adc-da-report/src/main/java/com/adc/da/report/controller/ReportManageConroller.java b/adc-da-report/src/main/java/com/adc/da/report/controller/ReportManageConroller.java index c59c073..f5adbf5 100644 --- a/adc-da-report/src/main/java/com/adc/da/report/controller/ReportManageConroller.java +++ b/adc-da-report/src/main/java/com/adc/da/report/controller/ReportManageConroller.java @@ -113,6 +113,17 @@ public class ReportManageConroller { return Result.success(map); } + /** + * 报告详情接口 + * @param reportId + * @return + */ + @ApiOperation("报告详情接口") + @GetMapping("/detail/{reportId}") + public ResponseMessage reportDetail(@PathVariable String reportId) { + return reportService.reportDetail(reportId); + } + /** * 报告管理列表 * @param vo diff --git a/adc-da-report/src/main/java/com/adc/da/report/dao/mysql/ReportDao.java b/adc-da-report/src/main/java/com/adc/da/report/dao/mysql/ReportDao.java index 257a475..aec54ae 100644 --- a/adc-da-report/src/main/java/com/adc/da/report/dao/mysql/ReportDao.java +++ b/adc-da-report/src/main/java/com/adc/da/report/dao/mysql/ReportDao.java @@ -2,6 +2,7 @@ package com.adc.da.report.dao.mysql; import com.adc.da.report.eo.ReportEntity; import com.adc.da.report.eo.TtReportManageAct; +import com.adc.da.report.vo.ReportDetailVo; import com.adc.da.report.vo.ReportQueryVo; import com.adc.da.report.vo.ReportVo; import com.baomidou.mybatisplus.core.mapper.BaseMapper; @@ -62,4 +63,6 @@ public interface ReportDao extends BaseMapper { long selectByidAndName(@Param("Vo")ReportEntity entity); void saveReportAct(@Param("Vo") TtReportManageAct ttReportManageAct); + + ReportDetailVo reportDetail(@Param("reportId") String reportId); } diff --git a/adc-da-report/src/main/java/com/adc/da/report/service/IReportService.java b/adc-da-report/src/main/java/com/adc/da/report/service/IReportService.java index 2e782ac..7e0b78a 100644 --- a/adc-da-report/src/main/java/com/adc/da/report/service/IReportService.java +++ b/adc-da-report/src/main/java/com/adc/da/report/service/IReportService.java @@ -3,6 +3,7 @@ package com.adc.da.report.service; import com.adc.da.report.eo.ReportEntity; import com.adc.da.report.vo.ReportQueryVo; import com.adc.da.report.vo.ReportVo; +import com.adc.da.util.http.ResponseMessage; import com.baomidou.mybatisplus.core.metadata.IPage; import java.io.IOException; @@ -59,4 +60,12 @@ public interface IReportService { * @return */ boolean isReportValid(String reportId); + + /** + * 报告详情页 + * + * @param reportId + * @return + */ + ResponseMessage reportDetail(String reportId); } diff --git a/adc-da-report/src/main/java/com/adc/da/report/service/impl/IReportServiceImpl.java b/adc-da-report/src/main/java/com/adc/da/report/service/impl/IReportServiceImpl.java index fb001e7..e01fa83 100644 --- a/adc-da-report/src/main/java/com/adc/da/report/service/impl/IReportServiceImpl.java +++ b/adc-da-report/src/main/java/com/adc/da/report/service/impl/IReportServiceImpl.java @@ -10,10 +10,13 @@ import com.adc.da.report.dao.mysql.ReportUserDao; import com.adc.da.report.eo.*; import com.adc.da.report.service.*; import com.adc.da.report.util.*; +import com.adc.da.report.vo.ReportDetailVo; import com.adc.da.report.vo.ReportQueryVo; import com.adc.da.report.vo.ReportVo; import com.adc.da.sys.dao.mysql.RoleEODao; import com.adc.da.sys.entity.RoleEO; +import com.adc.da.util.http.ResponseMessage; +import com.adc.da.util.http.Result; import com.adc.da.util.utils.CollectionUtils; import com.adc.da.util.utils.FileUtil; import com.adc.da.util.utils.StringUtils; @@ -22,6 +25,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.api.R; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.extern.slf4j.Slf4j; @@ -532,6 +536,29 @@ public class IReportServiceImpl extends ServiceImpl return report != null; } + @Override + public ResponseMessage reportDetail(String reportId) { + ReportDetailVo reportDetailVo = reportDao.reportDetail(reportId); + //设置标签列表 + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(ReportLabelEntity::getReportId, reportId); + List reportLabelEntities = reportLabelDao.selectList(wrapper); + if (CollectionUtils.isNotEmpty(reportLabelEntities)) { + List reportLabelIds = reportLabelEntities.stream().map(ReportLabelEntity::getLabelId).collect(Collectors.toList()); + reportDetailVo.setLabelIds(reportLabelIds); + List labelEntities = iTreeLabelService.query().in("id", reportLabelIds).list(); + List labels = labelEntities.stream().map(TreeLabelEntity::getLabel).collect(Collectors.toList()); + reportDetailVo.setLabelList(labels); + } + //设置当前用户受否有下载权限 + if (reportDetailVo.getCreateUserId().equals(UserUtils.getUserId())) { + reportDetailVo.setDownPower(1); + } else { + //TODO 写对应的查询权限逻辑 + } + return Result.success(reportDetailVo); + } + /** * 创建htmlstring * diff --git a/adc-da-report/src/main/java/com/adc/da/report/vo/ReportDetailVo.java b/adc-da-report/src/main/java/com/adc/da/report/vo/ReportDetailVo.java new file mode 100644 index 0000000..73cbb28 --- /dev/null +++ b/adc-da-report/src/main/java/com/adc/da/report/vo/ReportDetailVo.java @@ -0,0 +1,98 @@ +package com.adc.da.report.vo; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.Accessors; + +import java.util.List; + +/** + * @author: CaiHaohan + * @Date: 2023/5/8 16:41 + * @Description: + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +@Accessors(chain = true) +public class ReportDetailVo { + + /** + * id + */ + private String id; + + /** + * 报告名 + */ + private String name; + + /** + * 关键字 + */ + private String keyContent; + + /** + * 内容摘要 + */ + private String mainContent; + + /** + * 部门 + */ + private String departmentId; + + /** + * 部门 + */ + private String departmentName; + + /** + * 年 + */ + private String year; + + /** + * 报告涉密等级 + */ + private String confidentialLevel; + + /** + * 隐私等级 + */ + private String privacyLevel; + + /** + * 文件id + */ + private String fileId; + + /** + * 创建人id + */ + private String createUserId; + + /** + * 上传人姓名 + */ + private String uploaderName; + + /** + * 标签列表id + */ + private List labelIds; + + /** + * 标签列表名 + */ + private List labelList; + + /** + * 下载权限(0没有1有) + */ + private Integer downPower; +} diff --git a/adc-da-report/src/main/resources/mybatis/mapper/mysql/ReportManageMapper.xml b/adc-da-report/src/main/resources/mybatis/mapper/mysql/ReportManageMapper.xml index 210c100..1ace692 100644 --- a/adc-da-report/src/main/resources/mybatis/mapper/mysql/ReportManageMapper.xml +++ b/adc-da-report/src/main/resources/mybatis/mapper/mysql/ReportManageMapper.xml @@ -224,4 +224,22 @@ +