package com.gkhy.exam.noncoalmine.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gkhy.exam.noncoalmine.entity.ExamSite; import com.gkhy.exam.noncoalmine.entity.TrainingInstitution; import com.gkhy.exam.noncoalmine.mapper.ExamSiteMapper; import com.gkhy.exam.noncoalmine.mapper.TrainingInstitutionMapper; import com.gkhy.exam.noncoalmine.model.addForm.ExamSiteAddForm; import com.gkhy.exam.noncoalmine.model.modForm.ExamSiteModForm; import com.gkhy.exam.noncoalmine.model.query.ExamSiteQuery; import com.gkhy.exam.noncoalmine.model.vo.ExamSiteVO; import com.gkhy.exam.noncoalmine.service.ExamSiteService; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.system.domain.SysDistrict; import com.ruoyi.system.service.SysDistrictService; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; import java.util.stream.Collectors; /** * (ExamSite)表服务实现类 * * @author makejava * @since 2023-09-13 16:11:11 */ @Service("examSiteService") public class ExamSiteServiceImpl extends ServiceImpl implements ExamSiteService { @Autowired private SysDistrictService districtService; @Autowired private ExamSiteMapper examSiteMapper; @Autowired private TrainingInstitutionMapper institutionMapper; @Override public List listByPage(ExamSiteQuery query) { SysUser user = SecurityUtils.getLoginUser().getUser(); if(StringUtils.isEmpty(query.getDistrictCode())){ //传入区划为空 if(!user.isAdmin(user.getUserId())){ //非超管 List districtList = districtService .selectAll() .stream() .filter(sysDistrict -> sysDistrict.getId().equals(user.getDistrictId())) .collect(Collectors.toList()); if(districtList.size() > 0){ SysDistrict sysDistrict = districtList.get(0); query.setDistrictCode(sysDistrict.getCode()); } } } List trainingInstitutionVOS = examSiteMapper.listByPage(query); trainingInstitutionVOS.forEach(item->{ TrainingInstitution trainingInstitution = institutionMapper.selectById(item.getInstitutionId()); item.setInstitutionName(trainingInstitution != null ? trainingInstitution.getInstitutionName() : ""); }); return trainingInstitutionVOS; } /** * 新增 * @param addForm * @return */ @Override public int add(ExamSiteAddForm addForm) { ExamSite examSite = new ExamSite(); BeanUtils.copyProperties(addForm,examSite); examSite.setDelFlag((byte)0); return baseMapper.insert(examSite); } /** * 修改 * @param modForm * @return */ @Override public int mod(ExamSiteModForm modForm) { ExamSite examSite = new ExamSite(); BeanUtils.copyProperties(modForm,examSite); return baseMapper.updateById(examSite); } @Override public void delBatch(List siteIds) { UpdateWrapper updateWrapper = new UpdateWrapper<>(); updateWrapper.in("site_id",siteIds) .set("del_flag",(byte)2); this.update(updateWrapper); } @Override public List getSiteByInstitutionId(Long institutionId) { List examSites = baseMapper.selectList(new LambdaQueryWrapper().eq(ExamSite::getDelFlag, (byte) 0).eq(ExamSite::getInstitutionId, institutionId)); return examSites; } }