[新增] 报告日志管理

This commit is contained in:
bupengxiang
2023-05-06 18:04:14 +08:00
parent 3cd351adc5
commit 8d93660dc6
13 changed files with 466 additions and 229 deletions
@@ -0,0 +1,113 @@
package com.adc.da.report.controller;
import com.adc.da.report.eo.ReportLogBook;
import com.adc.da.report.service.IReportLogService;
import com.adc.da.report.vo.DeleteParamRequestVO;
import com.adc.da.report.vo.ReportLogPageVO;
import com.adc.da.util.http.ResponseMessage;
import com.adc.da.util.http.Result;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* @Author bu
*/
@Api(tags = "报告日志book管理")
@RequestMapping("/${restPath}/reportLogBook")
@RestController
public class ReportLogBookController {
@Autowired
private IReportLogService reportLogService;
/**
* @param reportLogPageVO
* @return com.adc.da.util.http.ResponseMessage
* @author bu
* @date 2023-05-06
* @description 分页查询
*/
@PostMapping(value = "/page")
@ApiOperation(value = "分页查询")
@ApiImplicitParam(name = "reportLogPageVO", value = "查询条件VO", dataType = "ReportLogPageVO")
public ResponseMessage<Page<ReportLogBook>> page(@RequestBody ReportLogPageVO reportLogPageVO){
//分页查询
Page<ReportLogBook> reportLogIPage = reportLogService.selectPage(reportLogPageVO);
return Result.success(reportLogIPage);
}
/**
* @param reportLogPageVO
* @return com.adc.da.util.http.ResponseMessage
* @author bu
* @date 2023-05-06
* @description 列表查询
*/
@PostMapping("/list")
@ApiOperation(value = "列表查询")
@ApiImplicitParam(name = "reportLogPageVO", value = "查询条件VO", dataType = "ReportLogPageVO")
public ResponseMessage<List<ReportLogBook>> list(@RequestBody ReportLogPageVO reportLogPageVO) {
//列表查询
List<ReportLogBook> reportLogBookList = reportLogService.selectList(reportLogPageVO);
return Result.success(reportLogBookList);
}
/**
* @param id
* @return com.adc.da.util.http.ResponseMessage
* @author bu
* @date 2023-05-06
* @description 根据id查询
*/
@GetMapping("/info/{id}")
@ApiOperation(value = "根据id查询")
@ApiImplicitParam(name = "id", value = "主键ID", dataType = "String")
public ResponseMessage<ReportLogBook> info(@PathVariable("id") String id){
//根据id查询
ReportLogBook reportLogBook = reportLogService.selectById(id);
return Result.success(reportLogBook);
}
/**
* @param reportLogBook
* @return com.adc.da.util.http.ResponseMessage
* @author bu
* @date 2023-05-06
* @description 单条数据新增/更改
*/
@PostMapping("/saveOrUpdate")
@ApiOperation(value = "单条数据新增/更改")
@ApiImplicitParam(name = "reportLog", value = " ReportLog实体", dataType = "ReportLog")
public ResponseMessage<String> saveOrUpdate(@RequestBody ReportLogBook reportLogBook){
//单条数据新增/更改
reportLogService.saveOrUpdateSingle(reportLogBook);
return Result.success(reportLogBook.getId());
}
/**
* @param deleteParamRequestVO
* @return com.adc.da.util.http.ResponseMessage
* @author bu
* @date 2023-05-06
* @description 根据id或id数组进行删除
*/
@DeleteMapping("/delete")
@ApiOperation(value = "单条/批量删除数据")
public ResponseMessage delete(@RequestBody DeleteParamRequestVO deleteParamRequestVO){
//单条/批量删除数据
reportLogService.deleteById(deleteParamRequestVO);
return Result.success();
}
}
@@ -1,9 +1,12 @@
package com.adc.da.report.controller;
import com.adc.da.login.util.UserUtils;
import com.adc.da.report.annotation.ReportLog;
import com.adc.da.report.dao.mysql.ReportDao;
import com.adc.da.report.dao.mysql.ReportLogDao;
import com.adc.da.report.eo.FileEntity;
import com.adc.da.report.eo.ReportEntity;
import com.adc.da.report.eo.ReportLogBook;
import com.adc.da.report.service.IFileService;
import com.adc.da.report.service.IReportService;
import com.adc.da.report.util.LocalFileUtil;
@@ -74,6 +77,8 @@ public class ReportManageConroller {
@Autowired
private ReportDao reportDao;
@Autowired
private ReportLogDao reportLogDao;
/**
* 新增或编辑报告
* @param vo
@@ -165,6 +170,13 @@ public class ReportManageConroller {
String html = reportService.reportHtml(id);
Map<String, Object> map = new HashMap<>();
map.put("content", html);
ReportLogBook reportLog = new ReportLogBook();
reportLog.setReportId(id);
reportLog.setType(1);
reportLog.setUpdateTime(new Date());
reportLog.setUserId(UserUtils.getUserId());
reportLogDao.insert(reportLog);
return Result.success(map);
}
@@ -330,7 +342,7 @@ public class ReportManageConroller {
*/
@ApiOperation(value = "|下载文件")
@GetMapping("/download")
public void downloadPic(HttpServletResponse response, String fileId) throws IOException {
public void downloadPic(HttpServletResponse response, String fileId,String repostId) throws IOException {
try {
FileEntity entity = fileService.getFile(fileId);
@@ -351,6 +363,12 @@ public class ReportManageConroller {
} catch (Exception ex) {
log.info(ex.getMessage(),ex);
}
ReportLogBook reportLog = new ReportLogBook();
reportLog.setReportId(repostId);
reportLog.setType(2);
reportLog.setUpdateTime(new Date());
reportLog.setUserId(UserUtils.getUserId());
reportLogDao.insert(reportLog);
}
@@ -0,0 +1,47 @@
package com.adc.da.report.dao.mysql;
import com.adc.da.report.eo.ReportLogBook;
import com.adc.da.report.vo.ReportLogPageVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @author bu
* @version 1.0
* @description 报告日志 Mapper接口
* @date 2023-05-06
*/
public interface ReportLogDao extends BaseMapper<ReportLogBook> {
/**
* @param reportLogPageVO
* @param page
* @author bu
* @date 2023-05-06
* @description 使用分页插件进行查询
*/
List<ReportLogBook> selectPage(Page<ReportLogBook> page, @Param("pageVO") ReportLogPageVO reportLogPageVO);
/**
* @param reportLogPageVO
* @param page
* @author bu
* @date 2023-05-06
* @description 使用分页插件进行查询总数
*/
Long selectPageCount(@Param("pageVO") ReportLogPageVO reportLogPageVO);
/**
* @param reportLogPageVO
* @return java.util.List
* @author bu
* @date 2023-05-06
* @description 列表查询
*/
List<ReportLogBook> queryList(@Param("pageVO") ReportLogPageVO reportLogPageVO);
}
@@ -0,0 +1,45 @@
package com.adc.da.report.eo;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.Date;
/**
* @author bu
* @version 1.0
* @description 报告日志
* @date 2023-05-06
*/
@Data
@TableName("report_log")
public class ReportLogBook {
@TableId("id")
private String id;
/**
* 报告id
*/
@TableField("report_id")
private String reportId;
/**
* 类型 1预览 2下载 3点赞
*/
private Integer type;
/**
* 操作人
*/
@TableField("user_id")
private String userId;
/**
* 操作时间
*/
@TableField("update_time")
private Date updateTime;
}
@@ -0,0 +1,27 @@
package com.adc.da.report.service;
import com.adc.da.report.eo.ReportLogBook;
import com.adc.da.report.vo.DeleteParamRequestVO;
import com.adc.da.report.vo.ReportLogPageVO;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import java.util.List;
/**
* @author bu
* @version 1.0
* @description 报告日志
* @date 2023-05-06
*/
public interface IReportLogService {
Page<ReportLogBook> selectPage(ReportLogPageVO reportLogPageVO);
List<ReportLogBook> selectList(ReportLogPageVO reportLogPageVO);
ReportLogBook selectById(String id);
void saveOrUpdateSingle(ReportLogBook reportLogBook);
void deleteById(DeleteParamRequestVO deleteParamVO);
}
@@ -0,0 +1,110 @@
package com.adc.da.report.service.impl;
import com.adc.da.report.dao.mysql.ReportLogDao;
import com.adc.da.report.eo.ReportLogBook;
import com.adc.da.report.service.IReportLogService;
import com.adc.da.report.vo.DeleteParamRequestVO;
import com.adc.da.report.vo.ReportLogPageVO;
import com.adc.da.util.utils.StringUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import java.util.ArrayList;
import java.util.List;
/**
* @author bu
* @version 1.0
* @description 报告日志 服务实现类
* @date 2023-05-06
*/
@Slf4j
@Service
public class IReportLogServiceImpl extends ServiceImpl<ReportLogDao, ReportLogBook> implements IReportLogService {
/**
* @param reportLogPageVO
* @return <com.adc.da.report.entity.ReportLog>
* @author bu
* @date 2023-05-06
* @description 分页查询
*/
public Page<ReportLogBook> selectPage(ReportLogPageVO reportLogPageVO){
Page<ReportLogBook> page = new Page<>(reportLogPageVO.getCurrent(),
reportLogPageVO.getSize());
page.setRecords(baseMapper.selectPage(page, reportLogPageVO));
Long total = baseMapper.selectPageCount(reportLogPageVO);
page.setTotal(total);
return page;
}
/**
* @param reportLogPageVO
* @return java.util.List<com.adc.da.report.entity.ReportLog>
* @author bu
* @date 2023-05-06
* @description 列表查询
*/
public List<ReportLogBook> selectList(ReportLogPageVO reportLogPageVO) {
return baseMapper.queryList(reportLogPageVO);
}
/**
* @param id
* @return com.adc.da.report.entity.ReportLog
* @author bu
* @date 2023-05-06
* @description 根据id查询
*/
public ReportLogBook selectById(String id) {
return baseMapper.selectById(id);
}
/**
* @param reportLogBook
* @return boolean
* @author bu
* @date 2023-05-06
* @description 单条数据新增/更改
*/
public void saveOrUpdateSingle(ReportLogBook reportLogBook) {
if (StringUtils.isEmpty(reportLogBook.getId())) {
baseMapper.insert(reportLogBook);
} else {
baseMapper.updateById(reportLogBook);
}
}
/**
* @param deleteParamVO
* @return void
* @author bu
* @date 2023-05-06
* @description 根据id或id数组进行删除
*/
public void deleteById(DeleteParamRequestVO deleteParamVO) {
if (ObjectUtils.isEmpty(deleteParamVO)) {
return;
}
List<String> ids = new ArrayList<>();
if (!ObjectUtils.isEmpty(deleteParamVO.getId())) {
ids.add(deleteParamVO.getId());
}
if (!ObjectUtils.isEmpty(deleteParamVO.getIds())) {
ids.addAll(deleteParamVO.getIds());
}
if (ObjectUtils.isEmpty(deleteParamVO)) {
return;
}
// Q<ReportLog> wrapper = new EntityWrapper();
// wrapper.in("id",ids);
// ReportLog reportLog = new ReportLog();
// reportLog.setDel(YesOrNoEnum.YES.getValue());
// baseMapper.update(reportLog,wrapper);
}
}
@@ -0,0 +1,31 @@
package com.adc.da.report.vo;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* @author bu
* @version 1.0
* @description 报告日志查询条件VO
* @date 2023-05-06
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class ReportLogPageVO extends BasePageVO {
/**
*
*/
private String reportId;
/**
* 类型 1预览 2下载 3点赞
*/
private Integer type;
/**
* 操作人
*/
private String userId;
}
@@ -0,0 +1,74 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.adc.da.report.dao.mysql.ReportLogDao">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.adc.da.report.eo.ReportLogBook">
<result column="id" property="id" />
<result column="update_time" property="updateTime" />
<result column="report_id" property="reportId" />
<result column="type" property="type" />
<result column="user_id" property="userId" />
</resultMap>
<!--表名信息-->
<sql id="TableName">
report_log
</sql>
<!-- 通用查询结果列 -->
<sql id="BaseColumnList">
id,
update_time,
report_id, type, user_id
</sql>
<!-- 查询条件 -->
<sql id="BaseQuerySql">
<where>
AND del = '${@com.adc.da.sys.constant.YesOrNoEnum@NO.value}'
<if test="pageVO != null">
<if test="pageVO.reportId !=null and pageVO.reportId !=''">
AND report_id LIKE CONCAT(CONCAT('%',#{pageVO.reportId}),'%')
</if>
<if test="pageVO.type !=null">
AND type = #{pageVO.type}
</if>
<if test="pageVO.userId !=null and pageVO.userId !=''">
AND user_id LIKE CONCAT(CONCAT('%',#{pageVO.userId}),'%')
</if>
</if>
</where>
</sql>
<!-- 根据查询VO进行分页查询 -->
<select id="selectPage" resultMap="BaseResultMap">
SELECT
<include refid="BaseColumnList"/>
FROM <include refid="TableName"/>
<include refid="BaseQuerySql"/>
ORDER BY create_time DESC
</select>
<!-- 根据查询VO进行分页查询总数 -->
<select id="selectPageCount" resultType="java.lang.Long">
SELECT
COUNT(1)
FROM (
SELECT
<include refid="BaseColumnList"/>
FROM <include refid="TableName"/>
<include refid="BaseQuerySql"/>
)a
</select>
<!-- 根据查询VO进行列表查询 -->
<select id="queryList" resultMap="BaseResultMap">
SELECT
<include refid="BaseColumnList"/>
FROM <include refid="TableName"/>
<include refid="BaseQuerySql"/>
ORDER BY create_time DESC
</select>
</mapper>