package com.javaweb.geo.service.impl; import java.util.ArrayList; import java.util.LinkedHashSet; import java.util.List; import java.util.stream.Collectors; 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.CompanyUserMapper; import com.javaweb.geo.domain.CompanyUser; import com.javaweb.geo.service.ICompanyUserService; import com.javaweb.common.core.text.Convert; import org.springframework.util.ObjectUtils; /** * 企业-人员Service业务层处理 * * @author zmk * @date 2022-10-14 */ @Service public class CompanyUserServiceImpl implements ICompanyUserService { @Autowired private CompanyUserMapper companyUserMapper; @Autowired private SysUserMapper sysUserMapper; /** * 查询企业-人员 * * @param ids 企业-人员ID * @return 企业-人员 */ @Override public CompanyUser selectCompanyUserById(String ids) { return companyUserMapper.selectCompanyUserById(ids); } /** * 查询企业-人员列表 * * @param companyUser 企业-人员 * @return 企业-人员 */ @Override public List selectCompanyUserList(CompanyUser companyUser) { //return companyUserMapper.selectCompanyUserList(companyUser); 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 = companyUserMapper.selectCompanyUserList(companyUser); } // 普通角色 if (collect.contains(RecordType.role_gongsi.getId())){ SysUser u = sysUserMapper.selectUserById(sysUser.getUserId()); companyUser.setCompanyId(u.getCompanyId()); resultList = companyUserMapper.selectCompanyUserList(companyUser); } } return resultList; } /** * 新增企业-人员 * * @param companyUser 企业-人员 * @return 结果 */ @Override public int insertCompanyUser(CompanyUser companyUser) { return companyUserMapper.insertCompanyUser(companyUser); } /** * 修改企业-人员 * * @param companyUser 企业-人员 * @return 结果 */ @Override public int updateCompanyUser(CompanyUser companyUser) { return companyUserMapper.updateCompanyUser(companyUser); } /** * 删除企业-人员对象 * * @param ids 需要删除的数据ID * @return 结果 */ @Override public int deleteCompanyUserByIds(String ids) { return companyUserMapper.deleteCompanyUserByIds(Convert.toStrArray(ids)); } /** * 删除企业-人员信息 * * @param ids 企业-人员ID * @return 结果 */ @Override public int deleteCompanyUserById(String ids) { return companyUserMapper.deleteCompanyUserById(ids); } }