package com.whdc.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.whdc.mapper.OrganizationMapper;
import com.whdc.model.entity.Organization;
import com.whdc.model.entity.UnitDict;
import com.whdc.model.vo.AdcdTree;
import com.whdc.service.IAdinfoService;
import com.whdc.service.IOrganizationService;
import com.whdc.service.IUnitDictService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
*
* 服务实现类
*
* @author xusan
* @date 2024-05-11
*/
@Service
public class OrganizationServiceImpl extends ServiceImpl implements IOrganizationService {
@Autowired
private IUnitDictService unitDictService;
@Autowired
private IAdinfoService adinfoService;
@Override
public IPage page(Organization dto) {
return baseMapper.page(new Page<>(), dto);
}
@Override
public List find(Organization dto) {
return null;
}
@Override
public List findByUserId(String userId) {
List organizations = baseMapper.findByUserId(userId);
List list = unitDictService.findByUserId(userId);
List tree = adinfoService.tree(null, null);
Map> collect = list.stream().collect(Collectors.groupingBy(UnitDict::getOId));
organizations.forEach(organization -> {
List unitDicts = collect.get(organization.getId());
organization.setUnitDicts(unitDicts);
String name = organization.getName();
if (name.contains("市") && name.contains("县")){
organization.setAdinfoList(tree);
}
});
return organizations;
}
}