From 38f1a806a4e1d8e1560f07a5a26b51cf6a4692be Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期一, 17 三月 2025 10:57:57 +0800
Subject: [PATCH] 党员管理接口调试修改

---
 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/SystemUserServiceImpl.java |  108 ++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 104 insertions(+), 4 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/SystemUserServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/SystemUserServiceImpl.java
index ddfbdfa..262694c 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/SystemUserServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/SystemUserServiceImpl.java
@@ -3,34 +3,47 @@
 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.beust.jcommander.internal.Lists;
+import com.panzhihua.common.model.vos.sangeshenbian.SystemUserVo;
 import com.panzhihua.common.utlis.StringUtils;
 import com.panzhihua.sangeshenbian.dao.SystemUserMapper;
+import com.panzhihua.sangeshenbian.model.entity.ComAct;
 import com.panzhihua.sangeshenbian.model.entity.SystemUser;
+import com.panzhihua.sangeshenbian.model.vo.RegionVO;
+import com.panzhihua.sangeshenbian.service.IBcRegionService;
+import com.panzhihua.sangeshenbian.service.IComActService;
+import com.panzhihua.sangeshenbian.service.IComStreetService;
 import com.panzhihua.sangeshenbian.service.ISystemUserService;
 import com.panzhihua.sangeshenbian.warpper.SystemUserList;
 import com.panzhihua.sangeshenbian.warpper.SystemUserListVo;
+import lombok.RequiredArgsConstructor;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
+import java.util.List;
 import java.util.Optional;
+import java.util.stream.Collectors;
 
 /**
  * @author zhibing.pu
  * @Date 2025/2/18 22:30
  */
 @Service
+@RequiredArgsConstructor(onConstructor_ = {@Lazy})
 public class SystemUserServiceImpl extends ServiceImpl<SystemUserMapper, SystemUser> implements ISystemUserService {
-	
+	private final IComActService comActService;
 	/**
 	 * 获取列表数据
 	 * @param query
 	 * @return
 	 */
 	@Override
-	public IPage<SystemUserListVo> list(Integer accountLevel, SystemUserList query) {
+	public IPage<SystemUserListVo> list(SystemUser user, SystemUserList query) {
 		Page page = new Page<>();
 		page.setCurrent(query.getPageNum());
 		page.setSize(query.getPageSize());
-		IPage<SystemUserListVo> list = this.baseMapper.list(page, accountLevel, query);
+		IPage<SystemUserListVo> list = this.baseMapper.list(page, user, query);
 		return list;
 	}
 
@@ -40,7 +53,7 @@
 	 * @return
 	 */
 	@Override
-	public Optional<SystemUser> getSystemUserByPhone(String phone) {
+	public Optional<SystemUser> getSystemUserAdminByPhone(String phone) {
 		if (StringUtils.isBlank(phone)) {
 			return Optional.empty();
 		}
@@ -48,4 +61,91 @@
 				.eq(SystemUser::getPhone, phone).ne(SystemUser::getStatus, 3)
 				.eq(SystemUser::getIsAdmin, 1).last("LIMIT 1").oneOpt();
 	}
+
+	@Override
+	public Optional<SystemUser> getSystemUserByPhone(String phone) {
+		if (StringUtils.isBlank(phone)) {
+			return Optional.empty();
+		}
+		return this.lambdaQuery()
+				.eq(SystemUser::getPhone, phone).ne(SystemUser::getStatus, 3).last("LIMIT 1").oneOpt();
+	}
+
+	/**
+	 * 获取行政区划数据
+	 *
+	 * @param pcode
+	 * @return
+	 */
+	@Override
+	public List<RegionVO> getRegion(String pcode) {
+		return this.baseMapper.getRegion(pcode);
+	}
+	
+	
+	/**
+	 * 获取街道数据
+	 *
+	 * @param areaCode
+	 * @return
+	 */
+	@Override
+	public List<RegionVO> getStreet(String areaCode) {
+		return this.baseMapper.getStreet(areaCode);
+	}
+	
+	
+	/**
+	 * 获取社区数据
+	 *
+	 * @param streetId
+	 * @return
+	 */
+	@Override
+	public List<RegionVO> getCommunity(String streetId) {
+		return this.baseMapper.getCommunity(streetId);
+	}
+
+	/**
+	 * 获取区县-街道-社区树
+	 * @return
+	 */
+	@Override
+	public List<RegionVO> getRegionTree(SystemUserVo loginUserInfo) {
+		Integer accountLevel = loginUserInfo.getAccountLevel();
+		List<RegionVO> regionTree = new ArrayList<>();
+		switch (accountLevel) {
+			case 1:
+				regionTree = baseMapper.getRegion("510400");
+				baseMapper.getStreet("510400");
+				regionTree.forEach(district -> {
+					List<RegionVO> streets = baseMapper.getStreet(district.getId());
+					district.setChildren(streets);
+					streets.forEach(street -> {
+						List<RegionVO> communities = baseMapper.getCommunity(street.getId());
+						street.setChildren(communities);
+					});
+				});
+				break;
+			case 2:
+				regionTree = baseMapper.getStreet(loginUserInfo.getDistrictsCode());
+				regionTree.forEach(regionVO->{
+					List<RegionVO> communities = baseMapper.getCommunity(regionVO.getId());
+					regionVO.setChildren(communities);
+				});
+				break;
+			case 3:
+				regionTree = baseMapper.getCommunity(loginUserInfo.getStreetId());
+				break;
+			case 4:
+				ComAct byId = comActService.getById(loginUserInfo.getCommunityId());
+				RegionVO regionVO = new RegionVO();
+				regionVO.setId(byId.getCommunityId().toString());
+				regionVO.setName(byId.getName());
+				regionTree = Lists.newArrayList(regionVO);
+				break;
+		}
+
+		return regionTree;
+	}
 }

--
Gitblit v1.7.1