| | |
| | | package com.panzhihua.service_community.service.impl; |
| | | |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.panzhihua.common.model.dtos.property.CommonPage; |
| | | import com.panzhihua.common.model.vos.R; |
| | | import com.panzhihua.common.model.vos.community.ProvinceCityReturnVO; |
| | | import com.panzhihua.service_community.entity.BcRegion; |
| | | import com.panzhihua.service_community.dao.BcRegionDao; |
| | | import com.panzhihua.service_community.service.BcRegionService; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.data.redis.core.StringRedisTemplate; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 行政区划表(BcRegion)表服务实现类 |
| | |
| | | @Slf4j |
| | | @Service |
| | | public class BcRegionServiceImpl extends ServiceImpl<BcRegionDao, BcRegion> implements BcRegionService { |
| | | @Resource |
| | | private StringRedisTemplate stringRedisTemplate; |
| | | |
| | | @Override |
| | | public R pageList(String name) { |
| | | return R.ok(this.baseMapper.selectByName(name)); |
| | | public R pageList(String province, String city, String country,String town) { |
| | | return R.ok(this.baseMapper.selectByName(province,city,country,town)); |
| | | } |
| | | |
| | | @Override |
| | | public R levelList(Integer level,String code) { |
| | | if(level==1){ |
| | | List<ProvinceCityReturnVO> firstLevel=this.baseMapper.selectFirst(); |
| | | return R.ok(firstLevel); |
| | | } |
| | | if(level==2){ |
| | | List<ProvinceCityReturnVO> secondLevel=this.baseMapper.selectSecond(code); |
| | | return R.ok(secondLevel); |
| | | } |
| | | if(level==3){ |
| | | List<ProvinceCityReturnVO> thirdLevel=this.baseMapper.selectThird(code); |
| | | return R.ok(thirdLevel); |
| | | } |
| | | if(level==4){ |
| | | List<ProvinceCityReturnVO> fourthLevel=this.baseMapper.selectFourth(code); |
| | | return R.ok(fourthLevel); |
| | | } |
| | | return R.fail("参数错误"); |
| | | // if(stringRedisTemplate.hasKey("levelList")){ |
| | | // return R.ok(stringRedisTemplate.opsForValue().get("levelList")); |
| | | // } |
| | | // else { |
| | | // List<ProvinceCityReturnVO> firstLevel=this.baseMapper.selectFirst(); |
| | | // firstLevel.forEach(provinceCityReturnVO -> { |
| | | // List<ProvinceCityReturnVO> secondLevel=this.baseMapper.selectSecond(provinceCityReturnVO.getCode()); |
| | | // secondLevel.forEach(provinceCityReturnVO1 -> { |
| | | // List<ProvinceCityReturnVO> thirdLevel=this.baseMapper.selectThird(provinceCityReturnVO1.getCode()); |
| | | // thirdLevel.forEach(provinceCityReturnVO2 -> { |
| | | // List<ProvinceCityReturnVO> fourthLevel=this.baseMapper.selectFourth(provinceCityReturnVO2.getCode()); |
| | | // provinceCityReturnVO2.setProvinceCityReturnVOList(fourthLevel); |
| | | // }); |
| | | // provinceCityReturnVO1.setProvinceCityReturnVOList(thirdLevel); |
| | | // }); |
| | | // provinceCityReturnVO.setProvinceCityReturnVOList(secondLevel); |
| | | // }); |
| | | // stringRedisTemplate.opsForValue().set("levelList", JSON.toJSONString(firstLevel)); |
| | | // return R.ok(firstLevel); |
| | | // } |
| | | } |
| | | |
| | | @Override |
| | | public R levelListBackstage() { |
| | | if(stringRedisTemplate.hasKey("levelList")){ |
| | | return R.ok(stringRedisTemplate.opsForValue().get("levelList")); |
| | | } |
| | | else { |
| | | List<ProvinceCityReturnVO> firstLevel=this.baseMapper.selectFirst(); |
| | | firstLevel.forEach(provinceCityReturnVO -> { |
| | | List<ProvinceCityReturnVO> secondLevel=this.baseMapper.selectSecond(provinceCityReturnVO.getCode()); |
| | | secondLevel.forEach(provinceCityReturnVO1 -> { |
| | | List<ProvinceCityReturnVO> thirdLevel=this.baseMapper.selectThird(provinceCityReturnVO1.getCode()); |
| | | thirdLevel.forEach(provinceCityReturnVO2 -> { |
| | | List<ProvinceCityReturnVO> fourthLevel=this.baseMapper.selectFourth(provinceCityReturnVO2.getCode()); |
| | | provinceCityReturnVO2.setProvinceCityReturnVOList(fourthLevel); |
| | | }); |
| | | provinceCityReturnVO1.setProvinceCityReturnVOList(thirdLevel); |
| | | }); |
| | | provinceCityReturnVO.setProvinceCityReturnVOList(secondLevel); |
| | | }); |
| | | stringRedisTemplate.opsForValue().set("levelList", JSON.toJSONString(firstLevel)); |
| | | return R.ok(firstLevel); |
| | | } |
| | | } |
| | | } |