package com.doc.biz.service.impl; import com.doc.biz.domain.DocSpace; import com.doc.biz.mapper.DocSpaceMapper; 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; /** * 查询文档空间管理 * * @param spaceId 文档空间管理主键 * @return 文档空间管理 */ @Override public DocSpace selectDocSpaceBySpaceId(Long spaceId) { return docSpaceMapper.selectDocSpaceBySpaceId(spaceId); } /** * 查询文档空间管理列表 * * @param docSpace 文档空间管理 * @return 文档空间管理 */ @Override public List selectDocSpaceList(DocSpace docSpace) { return docSpaceMapper.selectDocSpaceList(docSpace); } /** * 新增文档空间管理 * * @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) { //初始化用户空间 DocSpace space = new DocSpace(); space.setSpaceType(SpaceType.PERSONAL.getValue()); space.setOwner(user.getUserId()); List list = selectDocSpaceList(space); if (list.size() > 0) { //如果有记录,则更新空间名称 space = list.get(0); space.setSpaceName("\"" + user.getNickName() + "\"的个人空间"); space.setUpdateBy(SecurityUtils.getUsername()); updateDocSpace(space); } else { //如果没有则插入 space.setSpaceName("\"" + user.getNickName() + "\"的个人空间"); String defaultCap = configService.selectConfigByKey("user.default.cap"); BigDecimal cap = new BigDecimal(defaultCap); space.setSpaceCap(cap); space.setCreateBy(SecurityUtils.getUsername()); insertDocSpace(space); } } /** * 初始化部门空间 * * @param dept 部门实体 */ @Override public void initDeptSpace(SysDept dept) { //初始化用户空间 DocSpace space = new DocSpace(); space.setSpaceType(SpaceType.DEPT.getValue()); space.setOwner(dept.getDeptId()); List list = selectDocSpaceList(space); if (list.size() > 0) { //如果有记录,则更新空间名称 space = list.get(0); space.setSpaceName("\"" + dept.getDeptName() + "\"的部门空间"); space.setUpdateBy(SecurityUtils.getUsername()); updateDocSpace(space); } else { //如果没有则插入 space.setSpaceName("\"" + dept.getDeptName() + "\"的部门空间"); String defaultCap = configService.selectConfigByKey("dept.default.cap"); BigDecimal cap = new BigDecimal(defaultCap); space.setSpaceCap(cap); space.setCreateBy(SecurityUtils.getUsername()); insertDocSpace(space); } } }