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<Company> selectCompanyList(Company company)
|
{
|
// return companyMapper.selectCompanyList(company);
|
List<Company> resultList = new ArrayList<>();
|
|
SysUser sysUser = ShiroUtils.getSysUser();
|
List<SysRole> roles = sysUser.getRoles();
|
|
if (!ObjectUtils.isEmpty(roles)){
|
LinkedHashSet<String> 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);
|
}
|
}
|