package com.gkhy.exam.system.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gkhy.exam.common.api.CommonPage; import com.gkhy.exam.common.api.CommonResult; import com.gkhy.exam.common.utils.SecurityUtils; import com.gkhy.exam.system.domain.Catalogue; import com.gkhy.exam.system.domain.CatalogueData; import com.gkhy.exam.system.domain.CatalogueDataFile; import com.gkhy.exam.system.domain.SysCompany; import com.gkhy.exam.system.domain.req.CatalogueDataReq; import com.gkhy.exam.system.domain.req.CatalogueReq; import com.gkhy.exam.system.domain.vo.CatalogueDataVo; import com.gkhy.exam.system.domain.vo.CatalogueVo; import com.gkhy.exam.system.mapper.CatalogueMapper; import com.gkhy.exam.system.mapper.SysCompanyMapper; import com.gkhy.exam.system.service.CatalogueService; import com.gkhy.exam.system.service.SysCompanyService; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.time.LocalDate; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; @Service public class CatalogueServiceImpl extends ServiceImpl implements CatalogueService { @Autowired private CatalogueMapper catalogueMapper; @Autowired private SysCompanyMapper sysCompanyMapper; /** * 目录管理 * @param catalogueReq * @return */ @Override public CommonResult selectCatalogueList(CatalogueReq catalogueReq) { List catalogueVos = catalogueMapper.selectCatalogueList(catalogueReq); List collect = catalogueVos.stream().filter(catalogueVo -> catalogueVo.getParentId() == 0).collect(Collectors.toList()); for (CatalogueVo catalogueVo : collect) { List getchildren = getchildren(catalogueVo, catalogueVos); catalogueVo.setChildren(getchildren); } return CommonResult.success(collect); } private List getchildren(CatalogueVo catalogueVo, List catalogueVos) { List catalogueCharlden = new ArrayList<>(); for (CatalogueVo catalogue : catalogueVos) { if (catalogueVo.getId() == catalogue.getParentId()){ catalogueCharlden.add(catalogue); } } for (CatalogueVo vo : catalogueCharlden) { List getchildren = getchildren(vo, catalogueVos); vo.setChildren(getchildren); } return catalogueCharlden; } @Override public CommonResult insertCatalogue(Catalogue catalogue) { catalogue.setCreateBy(SecurityUtils.getUsername()); catalogue.setCreateTime(LocalDate.now()); int insert = catalogueMapper.insert(catalogue); if (insert>0){ return CommonResult.success(); } return CommonResult.failed(); } @Override public CommonResult updateCatalogue(Catalogue catalogue) { catalogue.setUpdateBy(SecurityUtils.getUsername()); catalogue.setUpdateTime(LocalDate.now()); int i = catalogueMapper.updateById(catalogue); if (i>0){ return CommonResult.success(); } return CommonResult.failed(); } @Override public CommonResult deletedCatalogue(Integer catalogueId) { CatalogueReq catalogueReq = new CatalogueReq(); catalogueReq.setCatalogueId(catalogueId); List catalogueDataVos = catalogueMapper.selectCatalogueDataList(catalogueReq); if (catalogueDataVos.size()>0){ return CommonResult.failed("当前目录存在数据,请勿删除"); } Catalogue catalogue = new Catalogue(); catalogue.setId(catalogueId); catalogue.setDelFlag(2); catalogue.setUpdateTime(LocalDate.now()); catalogue.setUpdateBy(SecurityUtils.getUsername()); int i = catalogueMapper.updateById(catalogue); if (i>0){ return CommonResult.success(); } return CommonResult.failed(); } /** * 目录数据管理 * @param catalogueReq * @return */ @Override public CommonResult selectCatalogueDataList(CatalogueReq catalogueReq) { List catalogueData = catalogueMapper.selectCatalogueDataList(catalogueReq); for (CatalogueDataVo catalogueDatum : catalogueData) { List catalogueDataFiles = catalogueMapper.selectCatalogueDataFile(catalogueDatum.getCompanyId(), catalogueDatum.getCatalogueId()); catalogueDatum.setFiles(catalogueDataFiles); } return CommonResult.success(catalogueData); } @Override public CommonResult insertCatalogueData(CatalogueDataReq catalogue) { List catalogueData1 = catalogueMapper.selectByCompanyId(catalogue.getCompanyId()); if (catalogueData1.size()>0){ return CommonResult.failed("当前企业已有数据,请勿重复添加"); } CatalogueData catalogueData = new CatalogueData(); BeanUtils.copyProperties(catalogue,catalogueData); Integer i = catalogueMapper.insertCatalogueData(catalogueData); // List files = catalogue.getFiles(); if (i>0){ // for (CatalogueDataFile file : files) { // file.setCatalogueDataId(catalogueData.getId()); // file.setCreateBy(SecurityUtils.getUsername()); // file.setCreateTime(LocalDate.now()); // catalogueMapper.insertCatalogueDataFile(file); // } return CommonResult.success(); } return CommonResult.failed(); } @Override public CommonResult updateCatalogueData(CatalogueDataReq catalogue) { CatalogueData catalogueData = new CatalogueData(); BeanUtils.copyProperties(catalogue,catalogueData); Integer i = catalogueMapper.updateCatalogueData(catalogueData); // List files = catalogue.getFiles(); if (i>0){ // catalogueMapper.updateCatalogueDataFile(files); return CommonResult.success(); } return CommonResult.failed(); } @Override public CommonResult deletedCatalogueData(Integer catalogueDataId) { CatalogueData catalogueData = new CatalogueData(); catalogueData.setId(catalogueDataId); catalogueData.setDelFlag(2); catalogueData.setUpdateBy(SecurityUtils.getUsername()); catalogueData.setUpdateTime(LocalDate.now()); Integer i = catalogueMapper.updateCatalogueData(catalogueData); if (i>9){ return CommonResult.success(); } return CommonResult.failed(); } @Override public CommonResult insertCatalogueDataFile(CatalogueDataFile catalogueDataFile) { catalogueDataFile.setCreateTime(LocalDate.now()); catalogueDataFile.setCreateBy(SecurityUtils.getUsername()); catalogueMapper.insertCatalogueDataFile(catalogueDataFile); return CommonResult.success(); } @Override public CommonResult updateCatalogueDataFile(CatalogueDataFile catalogueDataFile) { catalogueDataFile.setUpdateBy(SecurityUtils.getUsername()); catalogueDataFile.setUpdateTime(LocalDate.now()); catalogueMapper.updateCatalogueDataFile(catalogueDataFile); return CommonResult.success(); } @Override public CommonResult deletedCatalogueDataFile(Integer dataFileId) { CatalogueDataFile catalogueDataFile = new CatalogueDataFile(); catalogueDataFile.setId(dataFileId); catalogueDataFile.setDelFlag(2); catalogueDataFile.setUpdateTime(LocalDate.now()); catalogueDataFile.setUpdateBy(SecurityUtils.getUsername()); catalogueMapper.updateCatalogueDataFile(catalogueDataFile); return CommonResult.success(); } }