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.exception.ApiException; import com.gkhy.exam.common.utils.PageUtils; import com.gkhy.exam.common.utils.SecurityUtils; import com.gkhy.exam.system.domain.RiskContent; import com.gkhy.exam.system.domain.RiskContentMess; import com.gkhy.exam.system.domain.RiskManage; import com.gkhy.exam.system.mapper.RiskContentMapper; import com.gkhy.exam.system.mapper.RiskManageMapper; import com.gkhy.exam.system.service.RiskManageService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; @Service public class RiskManageServiceImpl extends ServiceImpl implements RiskManageService { @Autowired private RiskManageMapper riskManageMapper; @Autowired private RiskContentMapper riskContentMapper; @Override public CommonPage selectRiskManageList(RiskManage riskManage) { if (!SecurityUtils.adminUser()){ if (riskManage.getCompanyId()==null){ throw new ApiException("非管理员操作,企业id不可为空"); } } PageUtils.startPage(); List riskManages = riskManageMapper.selectRiskManageList(riskManage); for (RiskManage manage : riskManages) { List riskContents = riskContentMapper.selectRiskContent(manage.getId()); for (RiskContent riskContent : riskContents) { List riskContentMesses = riskContentMapper.selectContentMess(riskContent.getId()); riskContent.setContentMesses(riskContentMesses); } manage.setRiskContents(riskContents); } return CommonPage.restPage(riskManages); } @Override public CommonResult selectRiskManageListAll(RiskManage riskManage) { List riskManages = riskManageMapper.selectRiskManageList(riskManage); for (RiskManage manage : riskManages) { List riskContents = riskContentMapper.selectRiskContent(manage.getId()); for (RiskContent riskContent : riskContents) { List riskContentMesses = riskContentMapper.selectContentMess(riskContent.getId()); riskContent.setContentMesses(riskContentMesses); } manage.setRiskContents(riskContents); } return CommonResult.success(riskManages); } @Override @Transactional public CommonResult insertRiskManage(RiskManage riskManage) { List riskManages = riskManageMapper.selectManageList(riskManage); if (riskManages.size()>0){ throw new ApiException("当前企业已有数据,请删除后重试"); } riskManage.setCreateBy(SecurityUtils.getUsername()); riskManage.setCreateTime(LocalDateTime.now()); riskManageMapper.insert(riskManage); List riskContents = riskManage.getRiskContents(); List riskContentMesses = new ArrayList<>(); for (RiskContent riskContent : riskContents) { riskContent.setRiskManageId(riskManage.getId()); riskContentMapper.insert(riskContent); List contentMesses = riskContent.getContentMesses(); for (RiskContentMess contentMess : contentMesses) { contentMess.setRiskContentId(riskContent.getId()); } riskContentMesses.addAll(contentMesses); } riskContentMapper.insertRiskContentMess(riskContentMesses); return CommonResult.success(); } @Override public CommonResult updateRiskManage(RiskManage riskManage) { riskManage.setUpdateBy(SecurityUtils.getUsername()); riskManage.setUpdateTime(LocalDateTime.now()); riskManageMapper.updateById(riskManage); riskContentMapper.deletedByManageId(riskManage.getId()); List riskContents = riskManage.getRiskContents(); List riskContentMesses = new ArrayList<>(); for (RiskContent riskContent : riskContents) { riskContent.setId(null); riskContentMapper.insert(riskContent); List contentMesses = riskContent.getContentMesses(); for (RiskContentMess contentMess : contentMesses) { contentMess.setRiskContentId(riskContent.getId()); } riskContentMesses.addAll(contentMesses); } riskContentMapper.insertRiskContentMess(riskContentMesses); return CommonResult.success(); } @Override public CommonResult deletedRiskManage(Integer riskManageId) { RiskManage riskManage = new RiskManage(); riskManage.setUpdateTime(LocalDateTime.now()); riskManage.setUpdateBy(SecurityUtils.getUsername()); riskManage.setDelFlag(2); riskManage.setId(riskManageId); riskManageMapper.updateById(riskManage); return CommonResult.success(); } }