|  |  |  | 
|---|
|  |  |  | 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); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|