123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188 |
- package com.doc.biz.service.impl;
- import com.doc.biz.domain.DocDir;
- import com.doc.biz.domain.DocSpace;
- import com.doc.biz.mapper.DocSpaceMapper;
- import com.doc.biz.service.IDocDirService;
- import com.doc.biz.service.IDocSpaceService;
- import com.doc.common.core.domain.entity.SysDept;
- import com.doc.common.core.domain.entity.SysUser;
- import com.doc.common.enums.SpaceType;
- import com.doc.common.utils.DateUtils;
- import com.doc.common.utils.SecurityUtils;
- import com.doc.system.service.ISysConfigService;
- import org.springframework.stereotype.Service;
- import javax.annotation.Resource;
- import java.math.BigDecimal;
- import java.util.List;
- /**
- * 文档空间管理Service业务层处理
- *
- * @author wukai
- * @date 2023-08-15
- */
- @Service
- public class DocSpaceServiceImpl implements IDocSpaceService {
- @Resource
- private DocSpaceMapper docSpaceMapper;
- @Resource
- private ISysConfigService configService;
- @Resource
- private IDocDirService dirService;
- /**
- * 查询文档空间管理
- *
- * @param spaceId 文档空间管理主键
- * @return 文档空间管理
- */
- @Override
- public DocSpace selectDocSpaceBySpaceId(Long spaceId) {
- return docSpaceMapper.selectDocSpaceBySpaceId(spaceId);
- }
- /**
- * 查询文档空间管理列表
- *
- * @param docSpace 文档空间管理
- * @return 文档空间管理
- */
- @Override
- public List<DocSpace> selectDocSpaceList(DocSpace docSpace) {
- return docSpaceMapper.selectDocSpaceList(docSpace);
- }
- /**
- * 根据空间类型查询目录
- *
- * @param type 空间类型
- * @return 文档空间管理集合
- */
- @Override
- public DocSpace selectDocSpaceList(String type) {
- DocSpace search = new DocSpace();
- search.setSpaceType(type);
- switch (type) {
- // case "1":
- // break;
- case "2":
- search.setOwner(SecurityUtils.getDeptId());
- break;
- case "3":
- search.setOwner(SecurityUtils.getUserId());
- break;
- default:
- }
- List<DocSpace> space = selectDocSpaceList(search);
- if (space.size() == 1) {
- return space.get(0);
- } else {
- return null;
- }
- }
- /**
- * 新增文档空间管理
- *
- * @param docSpace 文档空间管理
- * @return 结果
- */
- @Override
- public int insertDocSpace(DocSpace docSpace) {
- docSpace.setCreateTime(DateUtils.getNowDate());
- return docSpaceMapper.insertDocSpace(docSpace);
- }
- /**
- * 修改文档空间管理
- *
- * @param docSpace 文档空间管理
- * @return 结果
- */
- @Override
- public int updateDocSpace(DocSpace docSpace) {
- docSpace.setUpdateTime(DateUtils.getNowDate());
- return docSpaceMapper.updateDocSpace(docSpace);
- }
- /**
- * 批量删除文档空间管理
- *
- * @param spaceIds 需要删除的文档空间管理主键
- * @return 结果
- */
- @Override
- public int deleteDocSpaceBySpaceIds(Long[] spaceIds) {
- return docSpaceMapper.deleteDocSpaceBySpaceIds(spaceIds);
- }
- /**
- * 删除文档空间管理信息
- *
- * @param spaceId 文档空间管理主键
- * @return 结果
- */
- @Override
- public int deleteDocSpaceBySpaceId(Long spaceId) {
- return docSpaceMapper.deleteDocSpaceBySpaceId(spaceId);
- }
- /**
- * 初始化用户空间
- *
- * @param user 用户实体
- */
- @Override
- public void initUserSpace(SysUser user) {
- String spaceName = "\"" + user.getNickName() + "\"的个人空间";
- String defaultCap = configService.selectConfigByKey("user.default.cap");
- initSpace(SpaceType.PERSONAL, user.getUserId(), spaceName, defaultCap);
- }
- /**
- * 初始化部门空间
- *
- * @param dept 部门实体
- */
- @Override
- public void initDeptSpace(SysDept dept) {
- String spaceName = "\"" + dept.getDeptName() + "\"的部门空间";
- String defaultCap = configService.selectConfigByKey("dept.default.cap");
- initSpace(SpaceType.DEPT, dept.getDeptId(), spaceName, defaultCap);
- }
- /**
- * 初始化空间
- *
- * @param spaceType 空间类型
- * @param owner 所有人
- * @param spaceName 空间名称
- * @param defaultCap 空间大小
- */
- private void initSpace(SpaceType spaceType, Long owner, String spaceName, String defaultCap) {
- //初始化部门空间
- DocSpace space = new DocSpace();
- space.setSpaceType(spaceType.getValue());
- space.setOwner(owner);
- List<DocSpace> list = selectDocSpaceList(space);
- space.setSpaceName(spaceName);
- if (list.size() > 0) {
- //如果有记录,则更新空间名称
- space.setSpaceId(list.get(0).getSpaceId());
- space.setUpdateBy(SecurityUtils.getUsername());
- updateDocSpace(space);
- } else {
- //如果木有记录,则插入
- space.setSpaceCap(new BigDecimal(defaultCap));
- space.setCreateBy(SecurityUtils.getUsername());
- insertDocSpace(space);
- }
- //初始化顶层目录
- dirService.initTopDir(space);
- }
- }
|