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.TrainingInstitution; import com.gkhy.exam.noncoalmine.entity.ViolationRegistration; import com.gkhy.exam.noncoalmine.mapper.TrainingInstitutionMapper; import com.gkhy.exam.noncoalmine.model.addForm.TrainingInstitutionAddForm; import com.gkhy.exam.noncoalmine.model.modForm.TrainingInstitutionModForm; import com.gkhy.exam.noncoalmine.model.query.TrainingInstitutionQuery; import com.gkhy.exam.noncoalmine.model.vo.TrainingInstitutionVO; import com.gkhy.exam.noncoalmine.service.TrainingInstitutionService; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.domain.model.LoginUser; 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.ArrayList; import java.util.List; import java.util.Set; import java.util.stream.Collectors; @Service("trainingInstitutionService") public class TrainingInstitutionServiceImpl extends ServiceImpl implements TrainingInstitutionService { @Autowired private TrainingInstitutionMapper trainingInstitutionMapper; @Autowired private SysDistrictService districtService; @Override public List listByPage(TrainingInstitutionQuery 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 = trainingInstitutionMapper.listByPage(query); return trainingInstitutionVOS; } @Override public int mod(TrainingInstitutionModForm modForm) { TrainingInstitution trainingInstitution = new TrainingInstitution(); BeanUtils.copyProperties(modForm,trainingInstitution); return baseMapper.updateById(trainingInstitution); } @Override public int add(TrainingInstitutionAddForm addForm) { TrainingInstitution trainingInstitution = new TrainingInstitution(); BeanUtils.copyProperties(addForm,trainingInstitution); trainingInstitution.setDelFlag((byte)0); return baseMapper.insert(trainingInstitution); } @Override public void delBatch(List institutionIds) { UpdateWrapper updateWrapper = new UpdateWrapper<>(); updateWrapper.in("institution_id",institutionIds) .set("del_flag",(byte)2); this.update(updateWrapper); } @Override public List selectByPermissionList(TrainingInstitutionQuery query) { LoginUser loginUser = SecurityUtils.getLoginUser(); List institutionVOList = new ArrayList<>(); Set permissions = loginUser.getPermissions(); if(permissions.contains("admin") || permissions.contains("common")){ //管理员 institutionVOList = trainingInstitutionMapper.selectAll(query); }else { query.setUserId(loginUser.getUserId()); institutionVOList = trainingInstitutionMapper.getUserInstitutions(query); } return institutionVOList; } @Override public List select(TrainingInstitutionQuery query) { return trainingInstitutionMapper.selectAll(query); } }