定时获取卸料平台数据
This commit is contained in:
parent
328bb2d700
commit
5c26e5edd6
@ -267,12 +267,6 @@ public class Project implements Serializable {
|
|||||||
private String jzgProjectCode;
|
private String jzgProjectCode;
|
||||||
@ApiModelProperty(value = "金筑工访问host")
|
@ApiModelProperty(value = "金筑工访问host")
|
||||||
private String jzgHost;
|
private String jzgHost;
|
||||||
/**
|
|
||||||
* 弃用,使用xiwonUrl
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
@ApiModelProperty(value = "携稳扬尘url")
|
|
||||||
private String xiwonDustUrl;
|
|
||||||
@ApiModelProperty(value = "'携稳的appId'")
|
@ApiModelProperty(value = "'携稳的appId'")
|
||||||
private String xiwonAppId;
|
private String xiwonAppId;
|
||||||
@ApiModelProperty(value = "'携稳的appSecret'")
|
@ApiModelProperty(value = "'携稳的appSecret'")
|
||||||
|
|||||||
@ -14,6 +14,7 @@ import com.zhgd.xmgl.modules.foundation.entity.DeepExcavationSensor;
|
|||||||
import com.zhgd.xmgl.modules.foundation.mapper.DeepExcavationSensorMapper;
|
import com.zhgd.xmgl.modules.foundation.mapper.DeepExcavationSensorMapper;
|
||||||
import com.zhgd.xmgl.modules.foundation.service.IDeepExcavationCurrentDataService;
|
import com.zhgd.xmgl.modules.foundation.service.IDeepExcavationCurrentDataService;
|
||||||
import lombok.extern.log4j.Log4j;
|
import lombok.extern.log4j.Log4j;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import net.javacrumbs.shedlock.core.SchedulerLock;
|
import net.javacrumbs.shedlock.core.SchedulerLock;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.scheduling.annotation.Scheduled;
|
import org.springframework.scheduling.annotation.Scheduled;
|
||||||
@ -30,7 +31,7 @@ import java.util.stream.Collectors;
|
|||||||
* @Version 1.0
|
* @Version 1.0
|
||||||
* 基坑定时器
|
* 基坑定时器
|
||||||
*/
|
*/
|
||||||
@Log4j
|
@Slf4j
|
||||||
@Component
|
@Component
|
||||||
public class DevExcavationTask {
|
public class DevExcavationTask {
|
||||||
@Autowired
|
@Autowired
|
||||||
@ -115,4 +116,4 @@ public class DevExcavationTask {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,125 @@
|
|||||||
|
package com.zhgd.xmgl.task;
|
||||||
|
|
||||||
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
|
import cn.hutool.core.collection.CollUtil;
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
|
import com.alibaba.fastjson.JSONArray;
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.gexin.fastjson.JSON;
|
||||||
|
import com.zhgd.xmgl.modules.discharging.entity.DischargingPlatformCurrentData;
|
||||||
|
import com.zhgd.xmgl.modules.discharging.entity.DischargingPlatformDev;
|
||||||
|
import com.zhgd.xmgl.modules.discharging.mapper.DischargingPlatformCurrentDataMapper;
|
||||||
|
import com.zhgd.xmgl.modules.discharging.mapper.DischargingPlatformDevMapper;
|
||||||
|
import com.zhgd.xmgl.modules.project.entity.Project;
|
||||||
|
import com.zhgd.xmgl.modules.project.mapper.ProjectMapper;
|
||||||
|
import com.zhgd.xmgl.task.dto.DischargingPlatformCurrentDataDto;
|
||||||
|
import com.zhgd.xmgl.util.XiwonUtil;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import net.javacrumbs.shedlock.core.SchedulerLock;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.http.HttpStatus;
|
||||||
|
import org.springframework.scheduling.annotation.Scheduled;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.concurrent.CompletableFuture;
|
||||||
|
|
||||||
|
@Slf4j
|
||||||
|
@Component
|
||||||
|
@RestController
|
||||||
|
public class DischargingPlatformCurrentDataTask {
|
||||||
|
@Autowired
|
||||||
|
DischargingPlatformCurrentDataMapper dischargingPlatformCurrentDataMapper;
|
||||||
|
@Autowired
|
||||||
|
DischargingPlatformDevMapper dischargingPlatformDevMapper;
|
||||||
|
@Autowired
|
||||||
|
private ProjectMapper projectMapper;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private XiwonUtil xiwonUtil;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 定时获取卸料平台数据
|
||||||
|
*/
|
||||||
|
@SchedulerLock(name = "getDischargingPlatformCurrentData", lockAtMostFor = 1000 * 60 * 60, lockAtLeastFor = 1000 * 60 * 5)
|
||||||
|
@Scheduled(cron = "0 0/5 * * * ?")
|
||||||
|
@GetMapping("/xmgl/task/getDischargingPlatformCurrentData")
|
||||||
|
public void getDischargingPlatformCurrentData() {
|
||||||
|
log.info("获取卸料平台数据开始任务");
|
||||||
|
List<Project> projects = projectMapper.selectList(new LambdaQueryWrapper<Project>()
|
||||||
|
.isNotNull(Project::getXiwonAppId)
|
||||||
|
.isNotNull(Project::getXiwonAppSecret)
|
||||||
|
.ne(Project::getXiwonAppId, "")
|
||||||
|
.ne(Project::getXiwonAppSecret, "")
|
||||||
|
);
|
||||||
|
Date now = new Date();
|
||||||
|
for (Project project : projects) {
|
||||||
|
// 获取设备列表
|
||||||
|
List<DischargingPlatformDev> devList = dischargingPlatformDevMapper.selectList(new LambdaQueryWrapper<DischargingPlatformDev>()
|
||||||
|
.eq(DischargingPlatformDev::getProjectSn, project.getProjectSn()));
|
||||||
|
devList.forEach(dev -> CompletableFuture.runAsync(() -> {
|
||||||
|
doGetDischargingPlatformCurrentData(dev, project, now);
|
||||||
|
}).exceptionally(throwable -> {
|
||||||
|
log.error("err", throwable);
|
||||||
|
return null;
|
||||||
|
})
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void doGetDischargingPlatformCurrentData(DischargingPlatformDev dev, Project project, Date now) {
|
||||||
|
// 设备sn
|
||||||
|
String devSn = dev.getDevSn();
|
||||||
|
log.info("doGetDischargingPlatformCurrentData设备sn:{}", devSn);
|
||||||
|
// 请求参数
|
||||||
|
Map<String, Object> map = new HashMap<>(4);
|
||||||
|
map.put("pageSize", "10");
|
||||||
|
map.put("pageNum", "1");
|
||||||
|
map.put("startTime", DateUtil.formatDateTime(DateUtil.offsetMinute(now, -5)));
|
||||||
|
map.put("endTime", DateUtil.formatDateTime(now));
|
||||||
|
JSONObject realTimeData = xiwonUtil.postForm("/unload/listRealUnloadData", project.getXiwonAppId(), project.getXiwonAppSecret(), map, JSONObject.class, (() -> {
|
||||||
|
map.put("deviceSn", devSn);
|
||||||
|
return map;
|
||||||
|
}));
|
||||||
|
log.info("doGetDischargingPlatformCurrentData携稳接口响应数据(扬尘):devSn:{},rs:{}", devSn, JSON.toJSONString(realTimeData));
|
||||||
|
Integer code = realTimeData.getInteger("code");
|
||||||
|
// code校验是否成功请求
|
||||||
|
if (code == HttpStatus.OK.value()) {
|
||||||
|
JSONArray dataArray = realTimeData.getJSONArray("data");
|
||||||
|
if (CollUtil.isNotEmpty(dataArray)) {
|
||||||
|
DischargingPlatformDev platformDev = dischargingPlatformDevMapper.selectOne(new LambdaQueryWrapper<DischargingPlatformDev>()
|
||||||
|
.eq(DischargingPlatformDev::getDevSn, dev));
|
||||||
|
// 解析请求到的参数,保存到我们的数据库
|
||||||
|
for (Object o : dataArray) {
|
||||||
|
DischargingPlatformCurrentDataDto dto = BeanUtil.toBean(o, DischargingPlatformCurrentDataDto.class);
|
||||||
|
DischargingPlatformCurrentData data = new DischargingPlatformCurrentData();
|
||||||
|
data.setDevSn(devSn);
|
||||||
|
data.setProjectSn(platformDev.getProjectSn());
|
||||||
|
data.setReciveTime(dto.getCreateTime());
|
||||||
|
data.setLoading(String.valueOf(dto.getRealLoad() / 1000.0));
|
||||||
|
data.setDisplacement(null);
|
||||||
|
data.setXDipAngle(String.valueOf(dto.getInclinationX() / 10.0));
|
||||||
|
data.setYDipAngle(String.valueOf(dto.getInclinationY() / 10.0));
|
||||||
|
dischargingPlatformCurrentDataMapper.insert(data);
|
||||||
|
|
||||||
|
platformDev.setRealTime(new Date());
|
||||||
|
dischargingPlatformDevMapper.updateById(platformDev);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
log.info("设备sn:{},当前无数据!", devSn);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
log.error("设备sn:{},请求失败!当前code:{},msg:{}", devSn, code, realTimeData.getString("msg"));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -4,7 +4,6 @@ import cn.hutool.core.collection.CollUtil;
|
|||||||
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONArray;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
||||||
import com.zhgd.xmgl.modules.electrical.entity.ElectricalData;
|
import com.zhgd.xmgl.modules.electrical.entity.ElectricalData;
|
||||||
import com.zhgd.xmgl.modules.electrical.entity.ElectricalDev;
|
import com.zhgd.xmgl.modules.electrical.entity.ElectricalDev;
|
||||||
import com.zhgd.xmgl.modules.electrical.mapper.ElectricalDataMapper;
|
import com.zhgd.xmgl.modules.electrical.mapper.ElectricalDataMapper;
|
||||||
@ -15,8 +14,6 @@ import com.zhgd.xmgl.modules.project.mapper.ProjectMapper;
|
|||||||
import com.zhgd.xmgl.util.XiwonUtil;
|
import com.zhgd.xmgl.util.XiwonUtil;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import net.javacrumbs.shedlock.core.SchedulerLock;
|
import net.javacrumbs.shedlock.core.SchedulerLock;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
|
||||||
import org.springframework.http.HttpStatus;
|
import org.springframework.http.HttpStatus;
|
||||||
import org.springframework.scheduling.annotation.Scheduled;
|
import org.springframework.scheduling.annotation.Scheduled;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
@ -50,9 +47,6 @@ public class ElectricalTask {
|
|||||||
@Resource
|
@Resource
|
||||||
private IElectricalDevService electricalDevService;
|
private IElectricalDevService electricalDevService;
|
||||||
|
|
||||||
@Value("${xiwon.url:}")
|
|
||||||
private String url;
|
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private XiwonUtil xiwonUtil;
|
private XiwonUtil xiwonUtil;
|
||||||
|
|
||||||
@ -64,29 +58,27 @@ public class ElectricalTask {
|
|||||||
@GetMapping("/xmgl/task/getElectricRealTimeData")
|
@GetMapping("/xmgl/task/getElectricRealTimeData")
|
||||||
public void getElectricRealTimeData() {
|
public void getElectricRealTimeData() {
|
||||||
log.info("获取最新电量使用情况 每5分钟触发任务");
|
log.info("获取最新电量使用情况 每5分钟触发任务");
|
||||||
if (StringUtils.isNotBlank(url)) {
|
List<Project> projectList = projectMapper.selectList(new LambdaQueryWrapper<Project>()
|
||||||
List<Project> projectList = projectMapper.selectList(new LambdaQueryWrapper<Project>()
|
.ne(Project::getXiwonAppId, "")
|
||||||
.ne(Project::getXiwonAppId, "")
|
.isNotNull(Project::getXiwonAppId)
|
||||||
.isNotNull(Project::getXiwonAppId)
|
.ne(Project::getXiwonAppSecret, "")
|
||||||
.ne(Project::getXiwonAppSecret, "")
|
.isNotNull(Project::getXiwonAppSecret)
|
||||||
.isNotNull(Project::getXiwonAppSecret)
|
);
|
||||||
|
for (Project project : projectList) {
|
||||||
|
// 请求参数
|
||||||
|
Map<String, Object> map = new HashMap<>(4);
|
||||||
|
map.put("state", 0);
|
||||||
|
map.put("pageSize", "1");
|
||||||
|
map.put("pageNum", "1");
|
||||||
|
// 获取所有
|
||||||
|
List<ElectricalDev> devList = electricalDevService.list(new LambdaQueryWrapper<ElectricalDev>().eq(ElectricalDev::getProjectSn, project.getProjectSn()));
|
||||||
|
devList.forEach(dev -> CompletableFuture.supplyAsync(() -> {
|
||||||
|
return doGetElectricRealTimeData(map, dev, project);
|
||||||
|
}).exceptionally(throwable -> {
|
||||||
|
log.error("err:", throwable);
|
||||||
|
return null;
|
||||||
|
})
|
||||||
);
|
);
|
||||||
for (Project project : projectList) {
|
|
||||||
// 请求参数
|
|
||||||
Map<String, Object> map = new HashMap<>(4);
|
|
||||||
map.put("state", 0);
|
|
||||||
map.put("pageSize", "1");
|
|
||||||
map.put("pageNum", "1");
|
|
||||||
// 获取所有
|
|
||||||
List<ElectricalDev> devList = electricalDevService.list(new LambdaQueryWrapper<ElectricalDev>().eq(ElectricalDev::getProjectSn, project.getProjectSn()));
|
|
||||||
devList.forEach(dev -> CompletableFuture.supplyAsync(() -> {
|
|
||||||
return doGetElectricRealTimeData(map, dev, project);
|
|
||||||
}).exceptionally(throwable -> {
|
|
||||||
log.error("err:", throwable);
|
|
||||||
return null;
|
|
||||||
})
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -95,12 +87,13 @@ public class ElectricalTask {
|
|||||||
String devSn = dev.getDevSn();
|
String devSn = dev.getDevSn();
|
||||||
ElectricalData newestData = electricalDataMapper.selectOne(new LambdaQueryWrapper<ElectricalData>().eq(ElectricalData::getDevSn, devSn).orderByDesc(ElectricalData::getUploadTime).last("limit 1"));
|
ElectricalData newestData = electricalDataMapper.selectOne(new LambdaQueryWrapper<ElectricalData>().eq(ElectricalData::getDevSn, devSn).orderByDesc(ElectricalData::getUploadTime).last("limit 1"));
|
||||||
// 请求携稳的接口
|
// 请求携稳的接口
|
||||||
JSONObject realTimeData = xiwonUtil.postForm(url + "electric/realTimeData", project.getXiwonAppId(), project.getXiwonAppSecret(), map, JSONObject.class, (() -> {
|
JSONObject realTimeData = xiwonUtil.postForm("/electric/realTimeData", project.getXiwonAppId(), project.getXiwonAppSecret(), map, JSONObject.class, (() -> {
|
||||||
if (newestData != null && newestData.getXiewenId() != null) {
|
if (newestData != null && newestData.getXiewenId() != null) {
|
||||||
map.put("dataId", newestData.getXiewenId());
|
map.put("dataId", newestData.getXiewenId());
|
||||||
}
|
}
|
||||||
return map.put("deviceSn", devSn);
|
return map.put("deviceSn", devSn);
|
||||||
}));
|
}));
|
||||||
|
|
||||||
log.info("携稳接口响应数据(配电箱):{}", JSONArray.toJSONString(realTimeData));
|
log.info("携稳接口响应数据(配电箱):{}", JSONArray.toJSONString(realTimeData));
|
||||||
Integer code = realTimeData.getInteger("code");
|
Integer code = realTimeData.getInteger("code");
|
||||||
// code校验是否成功请求
|
// code校验是否成功请求
|
||||||
|
|||||||
@ -26,8 +26,6 @@ import org.springframework.beans.factory.annotation.Value;
|
|||||||
import org.springframework.http.HttpStatus;
|
import org.springframework.http.HttpStatus;
|
||||||
import org.springframework.scheduling.annotation.Scheduled;
|
import org.springframework.scheduling.annotation.Scheduled;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.text.DecimalFormat;
|
import java.text.DecimalFormat;
|
||||||
@ -139,7 +137,6 @@ public class EnvironmentDevTask {
|
|||||||
public void getEnvironmentDustData() {
|
public void getEnvironmentDustData() {
|
||||||
log.info("获取扬尘数据(携稳)开始任务");
|
log.info("获取扬尘数据(携稳)开始任务");
|
||||||
List<Project> projects = projectMapper.selectList(new LambdaQueryWrapper<Project>()
|
List<Project> projects = projectMapper.selectList(new LambdaQueryWrapper<Project>()
|
||||||
.isNotNull(Project::getXiwonDustUrl)
|
|
||||||
.isNotNull(Project::getXiwonAppId)
|
.isNotNull(Project::getXiwonAppId)
|
||||||
.isNotNull(Project::getXiwonAppSecret)
|
.isNotNull(Project::getXiwonAppSecret)
|
||||||
);
|
);
|
||||||
@ -167,7 +164,7 @@ public class EnvironmentDevTask {
|
|||||||
Map<String, Object> map = new HashMap<>(4);
|
Map<String, Object> map = new HashMap<>(4);
|
||||||
map.put("pageSize", "10");
|
map.put("pageSize", "10");
|
||||||
map.put("pageNum", "1");
|
map.put("pageNum", "1");
|
||||||
JSONObject realTimeData = xiwonUtil.postDustForm(project.getXiwonDustUrl(), project.getXiwonAppId(), project.getXiwonAppSecret(), map, JSONObject.class, (() -> {
|
JSONObject realTimeData = xiwonUtil.postForm("/dust/realTimeData", project.getXiwonAppId(), project.getXiwonAppSecret(), map, JSONObject.class, (() -> {
|
||||||
map.put("deviceSn", devSn);
|
map.put("deviceSn", devSn);
|
||||||
if (newestData != null && newestData.getXiewenId() != null) {
|
if (newestData != null && newestData.getXiewenId() != null) {
|
||||||
map.put("dataId", newestData.getXiewenId());
|
map.put("dataId", newestData.getXiewenId());
|
||||||
|
|||||||
@ -0,0 +1,37 @@
|
|||||||
|
package com.zhgd.xmgl.task.dto;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class DischargingPlatformCurrentDataDto {
|
||||||
|
|
||||||
|
@JsonProperty("id")
|
||||||
|
private Long id;
|
||||||
|
@JsonProperty("deviceSn")
|
||||||
|
private String deviceSn;
|
||||||
|
@JsonProperty("realLoad")
|
||||||
|
private Integer realLoad;
|
||||||
|
@JsonProperty("weightPercentage")
|
||||||
|
private Integer weightPercentage;
|
||||||
|
@JsonProperty("inclinationX")
|
||||||
|
private Integer inclinationX;
|
||||||
|
@JsonProperty("inclinationXPercentage")
|
||||||
|
private Integer inclinationXPercentage;
|
||||||
|
@JsonProperty("inclinationY")
|
||||||
|
private Integer inclinationY;
|
||||||
|
@JsonProperty("inclinationYPercentage")
|
||||||
|
private Integer inclinationYPercentage;
|
||||||
|
@JsonProperty("batteryVoltage")
|
||||||
|
private Integer batteryVoltage;
|
||||||
|
@JsonProperty("weightStatus")
|
||||||
|
private Integer weightStatus;
|
||||||
|
@JsonProperty("inclinationXStatus")
|
||||||
|
private Integer inclinationXStatus;
|
||||||
|
@JsonProperty("inclinationYStatus")
|
||||||
|
private Integer inclinationYStatus;
|
||||||
|
@JsonProperty("systemTime")
|
||||||
|
private String systemTime;
|
||||||
|
@JsonProperty("createTime")
|
||||||
|
private String createTime;
|
||||||
|
}
|
||||||
@ -33,7 +33,17 @@ public class XiwonUtil {
|
|||||||
return SecureUtil.md5(xiwonAppId + xiwonAppSecret + requestTime);
|
return SecureUtil.md5(xiwonAppId + xiwonAppSecret + requestTime);
|
||||||
}
|
}
|
||||||
|
|
||||||
public <T> T postForm(String url, String xiwonAppId, String xiwonAppSecret, Map<String, Object> map, Class<T> returnClass, Supplier supplier) {
|
/**
|
||||||
|
* @param uri 如:/unload/listRealUnloadData
|
||||||
|
* @param xiwonAppId
|
||||||
|
* @param xiwonAppSecret
|
||||||
|
* @param map
|
||||||
|
* @param returnClass
|
||||||
|
* @param supplier
|
||||||
|
* @param <T>
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public <T> T postForm(String uri, String xiwonAppId, String xiwonAppSecret, Map<String, Object> map, Class<T> returnClass, Supplier supplier) {
|
||||||
HttpHeaders requestHeaders = new HttpHeaders();
|
HttpHeaders requestHeaders = new HttpHeaders();
|
||||||
requestHeaders.set("appId", xiwonAppId);
|
requestHeaders.set("appId", xiwonAppId);
|
||||||
long currentTimeMillis = System.currentTimeMillis();
|
long currentTimeMillis = System.currentTimeMillis();
|
||||||
@ -45,24 +55,8 @@ public class XiwonUtil {
|
|||||||
supplier.get();
|
supplier.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
String sendUrl = url + "?" + MapUtil.join(map, "&", "=");
|
String sendUrl = "http://openapi.xiwon588.com" + uri + "?" + MapUtil.join(map, "&", "=");
|
||||||
log.info("postForm:url:{}", sendUrl);
|
log.info("postForm: url:{}, appId:{}, appSecret:{}", sendUrl, xiwonAppId, xiwonAppSecret);
|
||||||
return restTemplate.postForObject(sendUrl, requestEntity, returnClass);
|
|
||||||
}
|
|
||||||
|
|
||||||
public <T> T postDustForm(String url, String appId, String appSecret, Map<String, Object> map, Class<T> returnClass, Supplier supplier) {
|
|
||||||
HttpHeaders requestHeaders = new HttpHeaders();
|
|
||||||
requestHeaders.set("appId", appId);
|
|
||||||
long currentTimeMillis = System.currentTimeMillis();
|
|
||||||
requestHeaders.set("requestTime", currentTimeMillis + "");
|
|
||||||
requestHeaders.set("sign", SecureUtil.md5(appId + appSecret + currentTimeMillis));
|
|
||||||
requestHeaders.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
|
|
||||||
HttpEntity<Map<String, Object>> requestEntity = new HttpEntity<>(requestHeaders);
|
|
||||||
if (supplier != null) {
|
|
||||||
supplier.get();
|
|
||||||
}
|
|
||||||
String sendUrl = url + "?" + MapUtil.join(map, "&", "=");
|
|
||||||
log.info("postForm: url:{}, appId:{}, appSecret:{}", sendUrl, appId, appSecret);
|
|
||||||
return restTemplate.postForObject(sendUrl, requestEntity, returnClass);
|
return restTemplate.postForObject(sendUrl, requestEntity, returnClass);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user