DocRecentServiceImpl.java 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. package com.doc.biz.service.impl;
  2. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  3. import com.doc.biz.domain.DocInfo;
  4. import com.doc.biz.domain.DocRecent;
  5. import com.doc.biz.mapper.DocRecentMapper;
  6. import com.doc.biz.service.IDocInfoService;
  7. import com.doc.biz.service.IDocRecentService;
  8. import com.doc.common.utils.DateUtils;
  9. import org.springframework.stereotype.Service;
  10. import javax.annotation.Resource;
  11. import java.util.List;
  12. /**
  13. * 最近文件Service业务层处理
  14. *
  15. * @author wukai
  16. * @date 2023-08-15
  17. */
  18. @Service
  19. public class DocRecentServiceImpl implements IDocRecentService {
  20. @Resource
  21. private DocRecentMapper docRecentMapper;
  22. @Resource
  23. private IDocInfoService infoService;
  24. /**
  25. * 查询最近文件
  26. *
  27. * @param recentId 最近文件主键
  28. * @return 最近文件
  29. */
  30. @Override
  31. public DocRecent selectDocRecentByRecentId(Long recentId) {
  32. return docRecentMapper.selectDocRecentByRecentId(recentId);
  33. }
  34. /**
  35. * 查询最近文件列表
  36. *
  37. * @param docRecent 最近文件
  38. * @return 最近文件
  39. */
  40. @Override
  41. public List<DocRecent> selectDocRecentList(DocRecent docRecent) {
  42. if ("Y".equals(docRecent.getIsFolder())) {
  43. return docRecentMapper.selectFolderList(docRecent);
  44. } else if ("N".equals(docRecent.getIsFolder())) {
  45. return docRecentMapper.selectFileList(docRecent);
  46. } else {
  47. return docRecentMapper.selectDocRecentList(docRecent);
  48. }
  49. }
  50. /**
  51. * 新增最近文件
  52. *
  53. * @param docRecent 最近文件
  54. * @return 结果
  55. */
  56. @Override
  57. public int insertDocRecent(DocRecent docRecent) {
  58. docRecent.setCreateTime(DateUtils.getNowDate());
  59. QueryWrapper<DocRecent> queryWrapper = new QueryWrapper<>();
  60. queryWrapper.eq("is_folder", docRecent.getIsFolder());
  61. queryWrapper.eq("owner", docRecent.getOwner());
  62. queryWrapper.eq("rela_id", docRecent.getRelaId());
  63. docRecentMapper.delete(queryWrapper);
  64. return docRecentMapper.insertDocRecent(docRecent);
  65. }
  66. /**
  67. * @param uid 用户ID
  68. * @param fileId 文件ID
  69. * @return
  70. */
  71. @Override
  72. public int insertDocRecent(Long uid, String fileId) {
  73. DocInfo info = infoService.selectDocInfoByFileId(fileId);
  74. if (info != null) {
  75. //插入最近访问记录
  76. //如果info=null,则代表是查看历史版本文件,不需要记录
  77. DocRecent recent = new DocRecent();
  78. recent.setIsFolder("N");
  79. recent.setOwner(uid);
  80. recent.setRelaId(info.getDocId());
  81. return insertDocRecent(recent);
  82. }
  83. return 0;
  84. }
  85. /**
  86. * 修改最近文件
  87. *
  88. * @param docRecent 最近文件
  89. * @return 结果
  90. */
  91. @Override
  92. public int updateDocRecent(DocRecent docRecent) {
  93. docRecent.setUpdateTime(DateUtils.getNowDate());
  94. return docRecentMapper.updateDocRecent(docRecent);
  95. }
  96. /**
  97. * 批量删除最近文件
  98. *
  99. * @param recentIds 需要删除的最近文件主键
  100. * @return 结果
  101. */
  102. @Override
  103. public int deleteDocRecentByRecentIds(Long[] recentIds) {
  104. return docRecentMapper.deleteDocRecentByRecentIds(recentIds);
  105. }
  106. /**
  107. * 删除最近文件信息
  108. *
  109. * @param recentId 最近文件主键
  110. * @return 结果
  111. */
  112. @Override
  113. public int deleteDocRecentByRecentId(Long recentId) {
  114. return docRecentMapper.deleteDocRecentByRecentId(recentId);
  115. }
  116. /**
  117. * 删除最近文件信息
  118. *
  119. * @param isFolder 是否文件夹
  120. * @param realId 关联ID
  121. */
  122. @Override
  123. public void delete(String isFolder, Long realId) {
  124. QueryWrapper<DocRecent> queryWrapper = new QueryWrapper<>();
  125. queryWrapper.eq("is_folder", isFolder);
  126. queryWrapper.eq("rela_id", realId);
  127. docRecentMapper.delete(queryWrapper);
  128. }
  129. }