package com.javaweb.geo.service.impl; import java.util.ArrayList; import java.util.Date; import java.util.LinkedHashSet; import java.util.List; import java.util.stream.Collectors; import com.javaweb.common.utils.IdGenerate; import com.javaweb.common.utils.StringUtils; import com.javaweb.framework.util.ShiroUtils; import com.javaweb.geotdp.enums.RecordType; import com.javaweb.system.domain.SysRole; import com.javaweb.system.domain.SysUser; import com.javaweb.system.mapper.SysUserMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.javaweb.geo.mapper.CompanyMapper; import com.javaweb.geo.domain.Company; import com.javaweb.geo.service.ICompanyService; import com.javaweb.common.core.text.Convert; import org.springframework.util.ObjectUtils; /** * 勘察单位Service业务层处理 * * @author zmk * @date 2022-10-14 */ @Service public class CompanyServiceImpl implements ICompanyService { @Autowired private CompanyMapper companyMapper; @Autowired private SysUserMapper sysUserMapper; /** * 查询勘察单位 * * @param ids 勘察单位ID * @return 勘察单位 */ @Override public Company selectCompanyById(String ids) { return companyMapper.selectCompanyById(ids); } /** * 查询勘察单位列表 * * @param company 勘察单位 * @return 勘察单位 */ @Override public List selectCompanyList(Company company) { // return companyMapper.selectCompanyList(company); List resultList = new ArrayList<>(); SysUser sysUser = ShiroUtils.getSysUser(); List roles = sysUser.getRoles(); if (!ObjectUtils.isEmpty(roles)){ LinkedHashSet collect = roles.stream().map(SysRole::getRoleKey).collect(Collectors.toCollection(LinkedHashSet::new)); // 管理员角色 if (collect.contains(RecordType.role_admin.getId())){ resultList = companyMapper.selectCompanyList(company); } // 普通角色 if (collect.contains(RecordType.role_gongsi.getId())){ SysUser u = sysUserMapper.selectUserById(sysUser.getUserId()); company.setIds(u.getCompanyId()); resultList = companyMapper.selectCompanyList(company); } } return resultList; } /** * 新增勘察单位 * * @param company 勘察单位 * @return 结果 */ @Override public int insertCompany(Company company) { if(StringUtils.isEmpty(company.getIds())){ company.setIds(IdGenerate.nextId()); } if(company.getAddTime()==null){ company.setAddTime(new Date()); } company.setCity(1);//北京 company.setProvince(1);//北京 return companyMapper.insertCompany(company); } /** * 修改勘察单位 * * @param company 勘察单位 * @return 结果 */ @Override public int updateCompany(Company company) { return companyMapper.updateCompany(company); } /** * 删除勘察单位对象 * * @param ids 需要删除的数据ID * @return 结果 */ @Override public int deleteCompanyByIds(String ids) { return companyMapper.deleteCompanyByIds(Convert.toStrArray(ids)); } /** * 删除勘察单位信息 * * @param ids 勘察单位ID * @return 结果 */ @Override public int deleteCompanyById(String ids) { return companyMapper.deleteCompanyById(ids); } }