package com.thhy.engineering.modules.biz.engineering.controller; import com.thhy.engineering.modules.biz.engineering.entity.CityPullDown; import com.thhy.engineering.modules.biz.engineering.service.CityService; import com.thhy.general.common.BasicResult; import com.thhy.general.config.GlobalConfig; import org.redisson.api.RBucket; import org.redisson.api.RedissonClient; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.List; import java.util.concurrent.TimeUnit; @RestController @RequestMapping(value = "city") public class CityController { @Autowired private CityService cityService; @Autowired private RedissonClient redissonClient; @Autowired private GlobalConfig globalConfig; @RequestMapping(value = "cities") public BasicResult cities(){ RBucket rubuket = redissonClient.getBucket(globalConfig.getKeyPrefix()+":cities"); if(rubuket.get()!=null){ List cityPullDowns = rubuket.get(); return BasicResult.success(cityPullDowns); } List cityPullDowns = cityService.cityPull(); rubuket.set(cityPullDowns,1000, TimeUnit.DAYS); return BasicResult.success(cityPullDowns); } }