提交 9c744909 authored 作者: 艾庆国's avatar 艾庆国

Merge branch 'refs/heads/v16.3_line_warn_20240528_weather' into test

...@@ -11,6 +11,7 @@ import io.swagger.annotations.ApiOperation; ...@@ -11,6 +11,7 @@ import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
...@@ -29,6 +30,7 @@ import java.util.Map; ...@@ -29,6 +30,7 @@ import java.util.Map;
@RestController @RestController
@RequestMapping(value="/temp/lineWarn") @RequestMapping(value="/temp/lineWarn")
public class TempLineWarnController { public class TempLineWarnController {
private static final String REDIS_WEATHER = "clx-performance:weather:";
@Autowired @Autowired
private LineWarnMqService lineWarnMqService; private LineWarnMqService lineWarnMqService;
...@@ -38,7 +40,8 @@ public class TempLineWarnController { ...@@ -38,7 +40,8 @@ public class TempLineWarnController {
private GdUtils gdUtils; private GdUtils gdUtils;
@Autowired @Autowired
private LineWarnMqHandlerService lineWarnMqHandlerService; private LineWarnMqHandlerService lineWarnMqHandlerService;
@Autowired
private RedisTemplate<String, String> redisTemplate;
@ApiOperation(value = "test", notes = "<br>By:艾庆国") @ApiOperation(value = "test", notes = "<br>By:艾庆国")
@PostMapping("/test") @PostMapping("/test")
public Result test() { public Result test() {
...@@ -88,6 +91,53 @@ public class TempLineWarnController { ...@@ -88,6 +91,53 @@ public class TempLineWarnController {
return Result.ok(result); return Result.ok(result);
} }
@ApiOperation(value = "设置天气(1小时有效)", notes = "<br>By:艾庆国")
@PostMapping("/setWeather")
public Result setWeather(Integer sendAddressId, Integer receiveAddressId, String weather) {
Optional<FeignAddressVO> addressOptional = addressService
.getSendAndReceiveAddress(sendAddressId, receiveAddressId);
if (addressOptional.isEmpty()) {return Result.ok();}
FeignAddressVO feignAddressVO = addressOptional.get();
if (feignAddressVO.getSendAddress()!=null
&& StringUtils.isNotBlank(feignAddressVO.getSendAddress().getCityCode())){
redisTemplate.opsForValue().set(REDIS_WEATHER + feignAddressVO.getSendAddress().getCityCode(), weather);
redisTemplate.expire(REDIS_WEATHER + feignAddressVO.getSendAddress().getCityCode(), 60*60, null);
}
if (feignAddressVO.getReceiveAddress()!=null
&& StringUtils.isNotBlank(feignAddressVO.getReceiveAddress().getCityCode())){
redisTemplate.opsForValue().set(REDIS_WEATHER + feignAddressVO.getReceiveAddress().getCityCode(), weather);
redisTemplate.expire(REDIS_WEATHER + feignAddressVO.getReceiveAddress().getCityCode(), 60*60, null);
}
return Result.ok();
}
@ApiOperation(value = "清除天气", notes = "<br>By:艾庆国")
@PostMapping("/clearWeather")
public Result clearWeather(Integer sendAddressId, Integer receiveAddressId) {
Optional<FeignAddressVO> addressOptional = addressService
.getSendAndReceiveAddress(sendAddressId, receiveAddressId);
if (addressOptional.isEmpty()) {return Result.ok();}
FeignAddressVO feignAddressVO = addressOptional.get();
if (feignAddressVO.getSendAddress()!=null
&& StringUtils.isNotBlank(feignAddressVO.getSendAddress().getCityCode())){
redisTemplate.delete(REDIS_WEATHER + feignAddressVO.getSendAddress().getCityCode());
}
if (feignAddressVO.getReceiveAddress()!=null
&& StringUtils.isNotBlank(feignAddressVO.getReceiveAddress().getCityCode())){
redisTemplate.delete(REDIS_WEATHER + feignAddressVO.getReceiveAddress().getCityCode());
}
return Result.ok();
}
@ApiOperation(value = "发送预警短信", notes = "<br>By:艾庆国") @ApiOperation(value = "发送预警短信", notes = "<br>By:艾庆国")
@PostMapping("/sendSms") @PostMapping("/sendSms")
public Result sendSms(String mobile, String warnName, String orderGoodsNo) { public Result sendSms(String mobile, String warnName, String orderGoodsNo) {
......
...@@ -5,7 +5,9 @@ import com.clx.performance.dto.gd.GdRouteDTO; ...@@ -5,7 +5,9 @@ import com.clx.performance.dto.gd.GdRouteDTO;
import com.msl.common.exception.ServiceSystemException; import com.msl.common.exception.ServiceSystemException;
import com.msl.common.utils.gps.GpsUtil; import com.msl.common.utils.gps.GpsUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.math.BigDecimal; import java.math.BigDecimal;
...@@ -16,10 +18,14 @@ import java.util.List; ...@@ -16,10 +18,14 @@ import java.util.List;
@Component @Component
public class GdUtils { public class GdUtils {
private static final Integer SEC_FER_MIN = 60; private static final Integer SEC_FER_MIN = 60;
private static final String REDIS_WEATHER = "clx-performance:weather:";
@Autowired @Autowired
private GdService gdService; private GdService gdService;
@Autowired
private RedisTemplate<String, String> redisTemplate;
/** /**
* 获取需要时间(min) * 获取需要时间(min)
*/ */
...@@ -78,6 +84,9 @@ public class GdUtils { ...@@ -78,6 +84,9 @@ public class GdUtils {
* 天气 * 天气
*/ */
public String getWeather(String city){ public String getWeather(String city){
String weather = redisTemplate.opsForValue().get(REDIS_WEATHER + city);
if (StringUtils.isNotBlank(weather)){return weather;}
return gdService.getWeather(city); return gdService.getWeather(city);
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论