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<List> rubuket = redissonClient.getBucket(globalConfig.getKeyPrefix()+":cities");
|
if(rubuket.get()!=null){
|
List<CityPullDown> cityPullDowns = rubuket.get();
|
return BasicResult.success(cityPullDowns);
|
}
|
List<CityPullDown> cityPullDowns = cityService.cityPull();
|
rubuket.set(cityPullDowns,1000, TimeUnit.DAYS);
|
return BasicResult.success(cityPullDowns);
|
}
|
}
|