DocSpaceServiceImpl.java 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. package com.doc.biz.service.impl;
  2. import com.doc.biz.domain.DocSpace;
  3. import com.doc.biz.mapper.DocSpaceMapper;
  4. import com.doc.biz.service.IDocSpaceService;
  5. import com.doc.common.core.domain.entity.SysDept;
  6. import com.doc.common.core.domain.entity.SysUser;
  7. import com.doc.common.enums.SpaceType;
  8. import com.doc.common.utils.DateUtils;
  9. import com.doc.common.utils.SecurityUtils;
  10. import com.doc.system.service.ISysConfigService;
  11. import org.springframework.stereotype.Service;
  12. import javax.annotation.Resource;
  13. import java.math.BigDecimal;
  14. import java.util.List;
  15. /**
  16. * 文档空间管理Service业务层处理
  17. *
  18. * @author wukai
  19. * @date 2023-08-15
  20. */
  21. @Service
  22. public class DocSpaceServiceImpl implements IDocSpaceService {
  23. @Resource
  24. private DocSpaceMapper docSpaceMapper;
  25. @Resource
  26. private ISysConfigService configService;
  27. /**
  28. * 查询文档空间管理
  29. *
  30. * @param spaceId 文档空间管理主键
  31. * @return 文档空间管理
  32. */
  33. @Override
  34. public DocSpace selectDocSpaceBySpaceId(Long spaceId) {
  35. return docSpaceMapper.selectDocSpaceBySpaceId(spaceId);
  36. }
  37. /**
  38. * 查询文档空间管理列表
  39. *
  40. * @param docSpace 文档空间管理
  41. * @return 文档空间管理
  42. */
  43. @Override
  44. public List<DocSpace> selectDocSpaceList(DocSpace docSpace) {
  45. return docSpaceMapper.selectDocSpaceList(docSpace);
  46. }
  47. /**
  48. * 新增文档空间管理
  49. *
  50. * @param docSpace 文档空间管理
  51. * @return 结果
  52. */
  53. @Override
  54. public int insertDocSpace(DocSpace docSpace) {
  55. docSpace.setCreateTime(DateUtils.getNowDate());
  56. return docSpaceMapper.insertDocSpace(docSpace);
  57. }
  58. /**
  59. * 修改文档空间管理
  60. *
  61. * @param docSpace 文档空间管理
  62. * @return 结果
  63. */
  64. @Override
  65. public int updateDocSpace(DocSpace docSpace) {
  66. docSpace.setUpdateTime(DateUtils.getNowDate());
  67. return docSpaceMapper.updateDocSpace(docSpace);
  68. }
  69. /**
  70. * 批量删除文档空间管理
  71. *
  72. * @param spaceIds 需要删除的文档空间管理主键
  73. * @return 结果
  74. */
  75. @Override
  76. public int deleteDocSpaceBySpaceIds(Long[] spaceIds) {
  77. return docSpaceMapper.deleteDocSpaceBySpaceIds(spaceIds);
  78. }
  79. /**
  80. * 删除文档空间管理信息
  81. *
  82. * @param spaceId 文档空间管理主键
  83. * @return 结果
  84. */
  85. @Override
  86. public int deleteDocSpaceBySpaceId(Long spaceId) {
  87. return docSpaceMapper.deleteDocSpaceBySpaceId(spaceId);
  88. }
  89. /**
  90. * 初始化用户空间
  91. *
  92. * @param user 用户实体
  93. */
  94. @Override
  95. public void initUserSpace(SysUser user) {
  96. //初始化用户空间
  97. DocSpace space = new DocSpace();
  98. space.setSpaceType(SpaceType.PERSONAL.getValue());
  99. space.setOwner(user.getUserId());
  100. List<DocSpace> list = selectDocSpaceList(space);
  101. if (list.size() > 0) {
  102. //如果有记录,则更新空间名称
  103. space = list.get(0);
  104. space.setSpaceName("\"" + user.getNickName() + "\"的个人空间");
  105. space.setUpdateBy(SecurityUtils.getUsername());
  106. updateDocSpace(space);
  107. } else {
  108. //如果没有则插入
  109. space.setSpaceName("\"" + user.getNickName() + "\"的个人空间");
  110. String defaultCap = configService.selectConfigByKey("user.default.cap");
  111. BigDecimal cap = new BigDecimal(defaultCap);
  112. space.setSpaceCap(cap);
  113. space.setCreateBy(SecurityUtils.getUsername());
  114. insertDocSpace(space);
  115. }
  116. }
  117. /**
  118. * 初始化部门空间
  119. *
  120. * @param dept 部门实体
  121. */
  122. @Override
  123. public void initDeptSpace(SysDept dept) {
  124. //初始化用户空间
  125. DocSpace space = new DocSpace();
  126. space.setSpaceType(SpaceType.DEPT.getValue());
  127. space.setOwner(dept.getDeptId());
  128. List<DocSpace> list = selectDocSpaceList(space);
  129. if (list.size() > 0) {
  130. //如果有记录,则更新空间名称
  131. space = list.get(0);
  132. space.setSpaceName("\"" + dept.getDeptName() + "\"的部门空间");
  133. space.setUpdateBy(SecurityUtils.getUsername());
  134. updateDocSpace(space);
  135. } else {
  136. //如果没有则插入
  137. space.setSpaceName("\"" + dept.getDeptName() + "\"的部门空间");
  138. String defaultCap = configService.selectConfigByKey("dept.default.cap");
  139. BigDecimal cap = new BigDecimal(defaultCap);
  140. space.setSpaceCap(cap);
  141. space.setCreateBy(SecurityUtils.getUsername());
  142. insertDocSpace(space);
  143. }
  144. }
  145. }