From 0c9a434ca2d0521d726f9539ba0f6b2dfb52841c Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期五, 23 五月 2025 22:40:06 +0800 Subject: [PATCH] bug修改 --- springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/SystemUserServiceImpl.java | 131 ++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 127 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..816ae9e 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 @@ -1,36 +1,63 @@ package com.panzhihua.sangeshenbian.service.impl; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 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.SystemUserLevelMapper; import com.panzhihua.sangeshenbian.dao.SystemUserMapper; +import com.panzhihua.sangeshenbian.model.entity.ComAct; +import com.panzhihua.sangeshenbian.model.entity.ComStreet; +import com.panzhihua.sangeshenbian.model.entity.PartyMember; import com.panzhihua.sangeshenbian.model.entity.SystemUser; +import com.panzhihua.sangeshenbian.model.entity.SystemUserLevel; +import com.panzhihua.sangeshenbian.model.vo.RegionVO; +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 lombok.extern.slf4j.Slf4j; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; +import java.util.ArrayList; +import java.util.Comparator; +import java.util.List; import java.util.Optional; /** * @author zhibing.pu * @Date 2025/2/18 22:30 */ +@Slf4j @Service +@RequiredArgsConstructor(onConstructor_ = {@Lazy}) public class SystemUserServiceImpl extends ServiceImpl<SystemUserMapper, SystemUser> implements ISystemUserService { - + private final IComActService comActService; + private final SystemUserLevelMapper systemUserLevelMapper; + private final IComStreetService comStreetService; /** * 获取列表数据 * @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); + list.getRecords().forEach(item -> { + List<SystemUserLevel> systemUserLevels = systemUserLevelMapper.selectList(new LambdaQueryWrapper<SystemUserLevel>().eq(SystemUserLevel::getStatus,1).eq(SystemUserLevel::getSystemUserId, item.getId())); + systemUserLevels.sort(Comparator.comparing(SystemUserLevel::getLevel)); + item.setList(systemUserLevels); + }); return list; } @@ -40,7 +67,7 @@ * @return */ @Override - public Optional<SystemUser> getSystemUserByPhone(String phone) { + public Optional<SystemUser> getSystemUserAdminByPhone(String phone) { if (StringUtils.isBlank(phone)) { return Optional.empty(); } @@ -48,4 +75,100 @@ .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) { + log.info("getRegionTree入参:{}",JSONObject.toJSONString(loginUserInfo)); + SystemUser systemUser = getById(loginUserInfo.getId()); + Integer accountLevel = systemUser.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(systemUser.getDistrictsCode()); + regionTree.forEach(regionVO->{ + List<RegionVO> communities = baseMapper.getCommunity(regionVO.getId()); + regionVO.setChildren(communities); + }); + break; + case 3: + ComStreet street = comStreetService.getById(systemUser.getStreetId()); + RegionVO streetVO = new RegionVO(); + streetVO.setId(street.getStreetId()); + streetVO.setName(street.getName()); + List<RegionVO> communities = baseMapper.getCommunity(systemUser.getStreetId()); + streetVO.setChildren(communities); + regionTree = Lists.newArrayList(streetVO); + break; + case 4: + ComAct byId = comActService.getById(systemUser.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