/* * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * Neither the name of the dreamlu.net developer nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * Author: Chill 庄骞 (smallchill@163.com) */ package org.springblade.modules.doorplateAddress.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springblade.common.node.TreeNode; import org.springblade.common.utils.NodeTreeUtil; import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.core.secure.utils.AuthUtil; import org.springblade.modules.doorplateAddress.entity.DoorplateAddressEntity; import org.springblade.modules.doorplateAddress.mapper.DoorplateAddressMapper; import org.springblade.modules.doorplateAddress.service.IDoorplateAddressService; import org.springblade.modules.doorplateAddress.vo.DoorplateAddressVO; import org.springblade.modules.house.service.IHouseholdLabelService; import org.springblade.modules.house.service.IHouseholdService; import org.springblade.modules.place.service.IPlaceService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.metadata.IPage; import java.util.ArrayList; import java.util.List; /** * 门牌地址表(总台账数据) 服务实现类 * * @author BladeX * @since 2023-10-28 */ @Service public class DoorplateAddressServiceImpl extends ServiceImpl implements IDoorplateAddressService { @Autowired private IPlaceService placeService; @Autowired private IHouseholdService householdService; @Override public IPage selectDoorplateAddressPage(IPage page, DoorplateAddressVO doorplateAddress) { return page.setRecords(baseMapper.selectDoorplateAddressPage(page, doorplateAddress)); } /** * 根据角色获取功能集合数据 * @param roleName * @return */ @Override public Object getFuncList(String roleName) { List list = new ArrayList<>(); if (null!=roleName && !roleName.equals("")) { // 如果是网格管理员,系统管理员 if (roleName.equals("网格管理员") || roleName.equals("系统管理员")){ // 查询街道 List townList = baseMapper.getRegionListByGrouyTwon(); // 查询社区 List neiList = baseMapper.getRegionListByGrouyNei(); TreeNode node = townList.get(0); node.setHasChildren(true); // 遍历 for (TreeNode treeNode : neiList) { treeNode.setHasChildren(false); node.getChildren().add(treeNode); } // 查询区域数据,当前只有西市街道数据 return townList; } // 如果是场所负责人 if (roleName.equals("场所负责人")){ // 查询场所集合信息 list = placeService.selectPlaceNodeList(AuthUtil.getUserId()); // 返回 return list; } // 如果是居民 if (roleName.equals("居民")){ // 查询房屋集合信息 list = householdService.selectHouseNodeList(AuthUtil.getUserId()); // 返回 return list; } } return list; } }