Răsfoiți Sursa

天气预警

ouyang 2 ani în urmă
părinte
comite
d314ab50cb

+ 3 - 0
soc-api/soc-api-system/src/main/java/com/xunmei/system/api/RemoteConfigService.java

@@ -16,4 +16,7 @@ import org.springframework.web.bind.annotation.RequestParam;
 public interface RemoteConfigService {
     @GetMapping("/config/findFirstByCode")
     R<SysConfig> findFirstByCode(@RequestParam("code") String code, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
+
+    @GetMapping("/config/findSysConfigByCode")
+    SysConfig findSysConfigByCode(@RequestParam("code") String code, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
 }

+ 6 - 1
soc-api/soc-api-system/src/main/java/com/xunmei/system/api/factory/RemoteConfigFallbackFactory.java

@@ -13,12 +13,17 @@ public class RemoteConfigFallbackFactory implements FallbackFactory<RemoteConfig
     private static final Logger log = LoggerFactory.getLogger(RemoteConfigFallbackFactory.class);
     @Override
     public RemoteConfigService create(Throwable throwable) {
-        log.error("文件服务调用失败:{}", throwable.getMessage());
+        log.error("参数配置服务调用失败:{}", throwable.getMessage());
         return new RemoteConfigService() {
             @Override
             public R<SysConfig> findFirstByCode(String code, String source) {
                 return null;
             }
+
+            @Override
+            public SysConfig findSysConfigByCode(String code, String source) {
+                return null;
+            }
         };
     }
 }

+ 1 - 0
soc-common/soc-common-core/src/main/java/com/xunmei/common/core/constant/ErrorMsgConstants.java

@@ -15,4 +15,5 @@ public class ErrorMsgConstants {
 
     public static final String CUR_USER_ORT_TYPE_ERROR = "当前用户所在机构类型无法确认!";
     public static final String QUERY_USER_DATA_ERROR = "获取用户信息失败!";
+    public static final String QUERY_SYS_CONFIG_ERROR = "获取参数配置信息失败!";
 }

+ 3 - 0
soc-common/soc-common-core/src/main/java/com/xunmei/common/core/domain/weather/domain/WeatherWarning.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -65,10 +66,12 @@ public class WeatherWarning implements Serializable {
 
     @ApiModelProperty(value = "预警发布时间")
     @TableField("alarm_time")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date alarmTime;
 
     @ApiModelProperty(value = "创建时间")
     @TableField("create_time")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date createTime;
 
 

+ 8 - 5
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/weather/service/impl/WeatherWarningServiceImpl.java

@@ -11,6 +11,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.xunmei.common.core.constant.ErrorMsgConstants;
 import com.xunmei.common.core.constant.SecurityConstants;
+import com.xunmei.common.core.domain.R;
 import com.xunmei.common.core.domain.weather.domain.WeatherWarning;
 import com.xunmei.common.core.domain.weather.dto.WeatherWarningDto;
 import com.xunmei.common.core.utils.KeyValue;
@@ -18,7 +19,9 @@ import com.xunmei.common.core.web.page.TableDataInfo;
 import com.xunmei.core.weather.mapper.WeatherWarningMapper;
 import com.xunmei.core.weather.service.IWeatherWarningService;
 import com.xunmei.core.weather.utils.HttpUtils;
+import com.xunmei.system.api.RemoteConfigService;
 import com.xunmei.system.api.RemoteOrgService;
+import com.xunmei.system.api.domain.SysConfig;
 import com.xunmei.system.api.domain.SysOrgExtend;
 import com.xunmei.system.api.function.RemoteCallHandlerExecutor;
 import lombok.extern.slf4j.Slf4j;
@@ -49,6 +52,8 @@ public class WeatherWarningServiceImpl extends ServiceImpl<WeatherWarningMapper,
     private StringRedisTemplate redisTemplate;
     @Resource
     private RemoteOrgService orgService;
+    @Autowired
+    private RemoteConfigService systemParameService;
     @Override
     public TableDataInfo<WeatherWarning> pageList(WeatherWarningDto request) {
         Page<WeatherWarning> page;
@@ -64,10 +69,8 @@ public class WeatherWarningServiceImpl extends ServiceImpl<WeatherWarningMapper,
 
     @Override
     public void getDataFromApi() {
-
-      /*  SystemParame systemParame = systemParameService.findFirstByCode(SystemParameterConstant.WEATHER_APP_CODE);
-        String appCode = systemParame.getValue();*/
-        String appCode = "123";
+        SysConfig sysConfig =  RemoteCallHandlerExecutor.executeRemoteCall(() -> systemParameService.findSysConfigByCode("WEATHER_APP_CODE", SecurityConstants.INNER),ErrorMsgConstants.QUERY_SYS_CONFIG_ERROR);
+        String appCode = sysConfig.getConfigValue();
         if(StringUtils.isEmpty(appCode)){
             log.error("尚未开通天气预警服务");
             return;
@@ -112,7 +115,7 @@ public class WeatherWarningServiceImpl extends ServiceImpl<WeatherWarningMapper,
     @Override
     public List<WeatherWarning> getTheAreaWeather(Long orgId) {
         SysOrgExtend orgExtend = RemoteCallHandlerExecutor.executeRemoteCall(() -> orgService.selectSysOrgExtendById(orgId, SecurityConstants.INNER), ErrorMsgConstants.QUERY_ORG_DATA_ERROR);
-        String key = "wearth_areaid_"+orgExtend.getWeatherAreaCode();
+        String key = "wearth_areaid_101190409";//+orgExtend.getWeatherAreaCode();
         Object obj = this.redisTemplate.opsForValue().get(key);
         List<WeatherWarning> list =  JSON.parseArray((String) obj, WeatherWarning.class);
 

+ 5 - 0
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/controller/SysConfigController.java

@@ -115,4 +115,9 @@ public class SysConfigController extends BaseController
     public R<SysConfig> findFirstByCode(String code){
         return R.ok(configService.findFirstByCode(code));
     }
+
+    @GetMapping("/findSysConfigByCode")
+    public SysConfig findSysConfigByCode(String code){
+        return configService.findFirstByCode(code);
+    }
 }