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)表服务实现类
|
* projectName 成都呐喊信息技术有限公司-智慧社区项目
|
* description: 行政区划表相关功能
|
*
|
* @author zzj
|
* @since 2022-04-20 14:26:14
|
*/
|
@Slf4j
|
@Service
|
public class BcRegionServiceImpl extends ServiceImpl<BcRegionDao, BcRegion> implements BcRegionService {
|
@Resource
|
private StringRedisTemplate stringRedisTemplate;
|
|
@Override
|
public R pageList(String province, String city, String country,String town) {
|
return R.ok(this.baseMapper.selectByName(province,city,country,town));
|
}
|
|
@Override
|
public R selectCommunityCodeByName( String city, String country,String town,String villagetr) {
|
return R.ok(this.baseMapper.selectCommunityCodeByName(city,country,town,villagetr));
|
}
|
|
@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);
|
}
|
}
|
}
|