feat: 河南覆冰天气拉力同步数据接口

dev
huangfeng 12 months ago
parent 140d07cdf8
commit c8a9c9a326

@ -3,9 +3,10 @@ package com.shxy.xymanager_admin.controller;
import com.github.pagehelper.PageInfo;
import com.shxy.xymanager_common.annotation.Log;
import com.shxy.xymanager_common.base.BaseController;
import com.shxy.xymanager_common.util.DigestUtils;
import com.shxy.xymanager_common.util.StringUtils;
import com.shxy.xymanager_common.zhiping.OutModel;
import com.shxy.xymanager_common.zhiping.ZhipingReult;
import com.shxy.xymanager_common.util.TokenUtil;
import com.shxy.xymanager_common.zhiping.*;
import com.shxy.xymanager_common.entity.LeadPulls;
import com.shxy.xymanager_common.entity.Weathers;
import com.shxy.xymanager_common.util.DateUtil;
@ -14,10 +15,9 @@ import com.shxy.xymanager_service.service.WeatherService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.ArrayList;
@ -26,14 +26,18 @@ import java.util.List;
@RestController
@Api(tags = {"微气象监测数据同步接口"})
@RequestMapping("zhiping")
@RequestMapping("henan")
@Slf4j
public class ZhipingController extends BaseController {
String accountName = "admin";
String secretKey = "123456";
@Resource
LeadPullsService leadPullsService;
@Resource
WeatherService weatherService;
@Autowired
TokenUtil tokenUtil;
@GetMapping("query")
@ApiOperation("查询")
@ -107,4 +111,124 @@ public class ZhipingController extends BaseController {
return result;
}
@PostMapping("login")
@ApiOperation("同步登入")
@Log(title = "同步登入", type = "登入")
public SdqjResult login(@RequestBody LoginModel model) throws Exception {
SdqjResult result = new SdqjResult();
String account = DigestUtils.md5(accountName);
String key = DigestUtils.md5(secretKey);
if (account.equals(model.getAccountName()) &&
key.equals(model.getSecretKey())) {
result.setCode("200");
result.setMessage("认证成功");
Long time = System.currentTimeMillis() / 1000;
String token = tokenUtil.generateToken(time.intValue());
result.setToken(token);
} else {
result.setCode("-1");
result.setMessage("认证失败");
}
return result;
}
@PostMapping("queryMicromes")
@ApiOperation("天气数据同步查询")
@Log(title = "天气数据同步查询", type = "查询")
public SdqjResult queryMicromes(String token,
String startTime, String endTime) throws Exception {
if (StringUtils.isBlank(token)) {
return SdqjResult.error("token不能为空");
}
if (StringUtils.isBlank(startTime)) {
return SdqjResult.error("startTime不能为空");
}
if (StringUtils.isBlank(endTime)) {
return SdqjResult.error("endTime不能为空");
}
try {
String str = tokenUtil.getUserId(token);
long time = Long.valueOf(str);
time = System.currentTimeMillis() / 1000 - time;
if (time >= 0 && time <= 30 * 60) {
} else {
return SdqjResult.error("token已过期");
}
} catch (Exception e) {
return SdqjResult.error("token无效");
}
Date start = DateUtil.parse(startTime);
Date end = DateUtil.parse(endTime);
List<WeatherModel> list = new ArrayList<>();
PageInfo<Weathers> page = weatherService.list(null, null, null,
start.getTime() / 1000, end.getTime() / 1000, 1, 10000);
if (!CollectionUtils.isEmpty(page.getList())) {
for (Weathers weather : page.getList()) {
WeatherModel item = new WeatherModel();
item.setCollTime(DateUtil.format(weather.getUpdateDate()));
item.setWindAvg(String.valueOf(weather.getAvgWindSpeed10min()));
item.setWindAngle(String.valueOf(weather.getAvgWindDir10min()));
item.setMaxWind(String.valueOf(weather.getMaxWindSpeed()));
item.setExtrWind(String.valueOf(weather.getExtremeWindSpeed()));
item.setStandWind(String.valueOf(weather.getStandardWindSpeed()));
item.setTemperature(String.valueOf(weather.getAirTemperature()));
item.setHumidity(String.valueOf(weather.getHumidity()));
item.setPressure(String.valueOf(weather.getAirPressure()));
item.setPrecipitation(String.valueOf(weather.getPrecipitation()));
item.setPrecipInten(String.valueOf(weather.getPrecipitationIntensity()));
item.setRadiaInten(String.valueOf(weather.getRadiationIntensity()));
list.add(item);
}
}
return SdqjResult.success(list);
}
@PostMapping("queryPullIces")
@ApiOperation("拉力覆冰数据同步查询")
@Log(title = "拉力覆冰数据同步查询", type = "查询")
public SdqjResult queryPullIces(String token,
String startTime, String endTime) throws Exception {
if (StringUtils.isBlank(token)) {
return SdqjResult.error("token不能为空");
}
if (StringUtils.isBlank(startTime)) {
return SdqjResult.error("startTime不能为空");
}
if (StringUtils.isBlank(endTime)) {
return SdqjResult.error("endTime不能为空");
}
try {
String str = tokenUtil.getUserId(token);
long time = Long.valueOf(str);
time = System.currentTimeMillis() / 1000 - time;
if (time >= 0 && time <= 30 * 60) {
} else {
return SdqjResult.error("token已过期");
}
} catch (Exception e) {
return SdqjResult.error("token无效");
}
Date start = DateUtil.parse(startTime);
Date end = DateUtil.parse(endTime);
List<PulliceModel> list = new ArrayList<>();
PageInfo<LeadPulls> page = leadPullsService.list(null, null, null,
start.getTime() / 1000, end.getTime() / 1000, 1, 10000);
if (!CollectionUtils.isEmpty(page.getList())) {
for (LeadPulls pull : page.getList()) {
PulliceModel item = new PulliceModel();
item.setCollTime(DateUtil.format(pull.getUpdateDate()));
item.setPull(String.valueOf(pull.getMaxpullPull()));
item.setCrosswiseAngle(String.valueOf(pull.getMaxpullWind()));
item.setForwardTiltAngle(String.valueOf(pull.getMaxpullTilt()));
list.add(item);
}
}
return SdqjResult.success(list);
}
}

@ -75,7 +75,7 @@ public class SecurityConfig {
urlWhiteList.add("/xymanager/weather/export");
urlWhiteList.add("/xymanager/upload/uploadLog");
urlWhiteList.add("/xymanager/upload/uploadFile");
urlWhiteList.add("/xymanager/zhiping/query");
urlWhiteList.add("/xymanager/henan/**");
StreamReadConstraints streamReadConstraints = StreamReadConstraints
.builder()

@ -0,0 +1,9 @@
package com.shxy.xymanager_common.zhiping;
import lombok.Data;
@Data
public class LoginModel {
private String accountName;
private String secretKey;
}

@ -0,0 +1,23 @@
package com.shxy.xymanager_common.zhiping;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;
@Data
public class PulliceModel {
private String equipId;
private String pointId;
private String collTime;
private String ice;
private String tension;
private String difftension;
private String pull;
private String crosswiseAngle;
private String forwardTiltAngle;
private String windSpeed;
private String wAngle;
private String airTemper;
private String humidity;
private String ccll;
private String T_Sensor_Num;
}

@ -0,0 +1,31 @@
package com.shxy.xymanager_common.zhiping;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;
import java.io.Serializable;
@JsonInclude(JsonInclude.Include.NON_NULL)
@Data
public class SdqjResult<T> implements Serializable {
private T data;
private String code;
private String message;
private String token;
public static <T> SdqjResult<T> success(T obj) {
SdqjResult<T> result = new SdqjResult<>();
result.setCode("200");
if (obj != null) {
result.setData(obj);
}
return result;
}
public static <T> SdqjResult<T> error(String msg) {
SdqjResult<T> result = new SdqjResult<>();
result.setCode("-1");
result.setMessage(msg);
return result;
}
}

@ -0,0 +1,24 @@
package com.shxy.xymanager_common.zhiping;
import lombok.Data;
@Data
public class WeatherModel {
private String equipId;
private String componentId;
private String windAvg;
private String windAngle;
private String maxWind;
private String extrWind;
private String standWind;
private String collTime;
private String ice;
private String pull;
private String tiltAngle;
private String temperature;
private String humidity;
private String pressure;
private String precipitation;
private String precipInten;
private String radiaInten;
}
Loading…
Cancel
Save