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.ExpectContent; import com.gkhy.exam.system.domain.ExpectContentMess; import com.gkhy.exam.system.domain.ExpectEvaluate; import com.gkhy.exam.system.mapper.ExpectContentMapper; import com.gkhy.exam.system.mapper.ExpectEvaluateMapper; import com.gkhy.exam.system.service.ExpectEvaluateService; 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; import java.util.stream.Collectors; @Service public class ExpectEvaluateServiceImpl extends ServiceImpl implements ExpectEvaluateService { @Autowired private ExpectEvaluateMapper expectEvaluateMapper; @Autowired private ExpectContentMapper expectContentMapper; @Override public CommonPage selectExpectEvaluateList(ExpectEvaluate expectEvaluate) { if (!SecurityUtils.adminUser()){ if (expectEvaluate.getCompanyId()==null){ throw new ApiException("非管理员操作,企业id不可为空"); } } PageUtils.startPage(); List expectEvaluates = expectEvaluateMapper.selectEvaluateList(expectEvaluate); for (ExpectEvaluate evaluate : expectEvaluates) { List expectContents = expectContentMapper.selectByDiscrenId(evaluate.getExpectDiscrenId()); for (ExpectContent expectContent : expectContents) { List expectContentMesses = expectContentMapper.selectByContentId(expectContent.getId()); expectContent.setExpectContentMesses(expectContentMesses); } evaluate.setExpectContents(expectContents); } return CommonPage.restPage(expectEvaluates); } @Override @Transactional public CommonResult insertExpectEvaluate(ExpectEvaluate expectEvaluate) { List expectEvaluates = expectEvaluateMapper.selectByDiscrenID(expectEvaluate.getExpectDiscrenId()); if (expectEvaluates.size()>0){ throw new ApiException("当前企业已有数据,请删除后重试"); } expectEvaluate.setCreateBy(SecurityUtils.getUsername()); expectEvaluate.setCreateTime(LocalDateTime.now()); expectEvaluateMapper.insert(expectEvaluate); List collect = expectEvaluate.getExpectContents() .stream() .flatMap(expectContent -> expectContent.getExpectContentMesses().stream()) .collect(Collectors.toList()); expectContentMapper.updateContentMessById(collect); return CommonResult.success(); } @Override public CommonResult updateExpectEvaluate(ExpectEvaluate expectEvaluate) { expectEvaluate.setUpdateBy(SecurityUtils.getUsername()); expectEvaluate.setUpdateTime(LocalDateTime.now()); expectEvaluateMapper.updateById(expectEvaluate); List collect = expectEvaluate.getExpectContents() .stream() .flatMap(expectContent -> expectContent.getExpectContentMesses().stream()) .collect(Collectors.toList()); expectContentMapper.updateContentMessById(collect); return CommonResult.success(); } @Override public CommonResult deletedExpectEvaluate(Integer expectEvaluateId) { ExpectEvaluate expectEvaluate = new ExpectEvaluate(); expectEvaluate.setId(expectEvaluateId); expectEvaluate.setUpdateTime(LocalDateTime.now()); expectEvaluate.setUpdateBy(SecurityUtils.getUsername()); expectEvaluate.setDelFlag(2); expectEvaluateMapper.updateById(expectEvaluate); return CommonResult.success(); } }