package com.gkhy.exam.system.service.impl; import cn.hutool.db.Page; 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.RiskMonitor; import com.gkhy.exam.system.mapper.RiskContentMapper; import com.gkhy.exam.system.mapper.RiskMonitorMapper; import com.gkhy.exam.system.service.RiskMonitorService; 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.List; import java.util.stream.Collectors; @Service public class RiskMonitorServiceImpl extends ServiceImpl implements RiskMonitorService { @Autowired private RiskMonitorMapper riskMonitorMapper; @Autowired private RiskContentMapper riskContentMapper; @Override public CommonPage selectRiskMonitorList(RiskMonitor riskMonitor) { if (!SecurityUtils.adminUser()){ if (riskMonitor.getCompanyId()==null){ throw new ApiException("非管理员操作,企业id不可为空"); } } PageUtils.startPage(); List riskMonitors = riskMonitorMapper.selectMonitorList(riskMonitor); for (RiskMonitor monitor : riskMonitors) { List riskContents = riskContentMapper.selectRiskContent(monitor.getRiskManageId()); for (RiskContent riskContent : riskContents) { List riskContentMesses = riskContentMapper.selectContentMess(riskContent.getId()); riskContent.setContentMesses(riskContentMesses); } monitor.setRiskContents(riskContents); } return CommonPage.restPage(riskMonitors); } @Override @Transactional public CommonResult insertRiskMonitor(RiskMonitor riskMonitor) { List riskMonitors = riskMonitorMapper.selectMonitor(riskMonitor); if (riskMonitors.size()>0){ throw new ApiException("当前企业已有数据,请删除后重试"); } riskMonitor.setCreateBy(SecurityUtils.getUsername()); riskMonitor.setCreateTime(LocalDateTime.now()); riskMonitorMapper.insert(riskMonitor); List allContentMess = riskMonitor.getRiskContents().stream() .flatMap(riskContent -> riskContent.getContentMesses().stream()) .collect(Collectors.toList()); riskContentMapper.updateContentMess(allContentMess); return CommonResult.success(); } @Override public CommonResult updateRiskMonitor(RiskMonitor riskMonitor) { riskMonitor.setUpdateBy(SecurityUtils.getUsername()); riskMonitor.setUpdateTime(LocalDateTime.now()); riskMonitorMapper.updateById(riskMonitor); List allContentMess = riskMonitor.getRiskContents().stream() .flatMap(riskContent -> riskContent.getContentMesses().stream()) .collect(Collectors.toList()); riskContentMapper.updateContentMess(allContentMess); return CommonResult.success(); } @Override public CommonResult deletedRiskMonitor(Integer riskMonitorId) { RiskMonitor riskMonitor = new RiskMonitor(); riskMonitor.setUpdateTime(LocalDateTime.now()); riskMonitor.setUpdateBy(SecurityUtils.getUsername()); riskMonitor.setId(riskMonitorId); riskMonitor.setDelFlag(2); riskMonitorMapper.updateById(riskMonitor); return CommonResult.success(); } }