diff --git a/jsowell-netty/src/main/java/com/jsowell/netty/handler/yunkuaichong/TransactionRecordsRequestHandler.java b/jsowell-netty/src/main/java/com/jsowell/netty/handler/yunkuaichong/TransactionRecordsRequestHandler.java
index 2b3188c3e..840cfb6bf 100644
--- a/jsowell-netty/src/main/java/com/jsowell/netty/handler/yunkuaichong/TransactionRecordsRequestHandler.java
+++ b/jsowell-netty/src/main/java/com/jsowell/netty/handler/yunkuaichong/TransactionRecordsRequestHandler.java
@@ -25,6 +25,7 @@ import com.jsowell.pile.service.*;
import com.jsowell.pile.service.programlogic.AbstractProgramLogic;
import com.jsowell.pile.service.programlogic.ProgramLogicFactory;
import com.jsowell.thirdparty.common.CommonService;
+import com.jsowell.thirdparty.platform.service.impl.BatteryChargeReportService;
import com.jsowell.thirdparty.platform.service.impl.ChargeAlgorithmService;
import io.netty.channel.ChannelHandlerContext;
import lombok.extern.slf4j.Slf4j;
@@ -56,6 +57,9 @@ public class TransactionRecordsRequestHandler extends AbstractYkcHandler {
// 引入第三方平台任务线程池
private ThreadPoolTaskExecutor thirdpartyTaskExecutor = SpringUtils.getBean("thirdpartyTaskExecutor");
+ @Autowired
+ private BatteryChargeReportService batteryChargeReportService;
+
@Override
public void afterPropertiesSet() throws Exception {
YKCOperateFactory.register(type, this);
@@ -701,14 +705,15 @@ public class TransactionRecordsRequestHandler extends AbstractYkcHandler {
}, thirdpartyTaskExecutor);
// 异步推送充电订单算法平台
-// CompletableFuture.runAsync(() -> {
-// try {
-// String result = chargeAlgorithmService.pushOrderInfo(finalOrderBasicInfo.getOrderCode());
-// log.info("异步推送充电订单算法平台 result:{}", result);
-// } catch (Exception e) {
-// log.error("异步推送充电订单算法平台 error, ", e);
-// }
-// }, thirdpartyTaskExecutor);
+ // CompletableFuture.runAsync(() -> {
+ // try {
+ // String taskId = batteryChargeReportService.getTaskIdByOrderCode(finalOrderBasicInfo.getOrderCode());
+ // // String result = chargeAlgorithmService.pushOrderInfo(finalOrderBasicInfo.getOrderCode());
+ // log.info("异步推送充电订单算法平台 result taskId:{}", taskId);
+ // } catch (Exception e) {
+ // log.error("异步推送充电订单算法平台 error, ", e);
+ // }
+ // }, thirdpartyTaskExecutor);
//
//
// CompletableFuture.runAsync(() -> {
diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/ChargeAlgorithmRecordMapper.java b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/ChargeAlgorithmRecordMapper.java
index 2b8919554..307d9d53f 100644
--- a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/ChargeAlgorithmRecordMapper.java
+++ b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/ChargeAlgorithmRecordMapper.java
@@ -68,4 +68,18 @@ public interface ChargeAlgorithmRecordMapper {
* @return
*/
ChargeAlgorithmRecord queryRecordByOrderCode(String orderCode);
+
+ /**
+ * 插入或修改电池充电算法记录
+ * @param record
+ * @return
+ */
+ int insertOrUpdateSelective(ChargeAlgorithmRecord record);
+
+ /**
+ * 通过 taskId 查询充电算法报告
+ * @param taskId
+ * @return
+ */
+ ChargeAlgorithmRecord queryRecordByTaskId(String taskId);
}
diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/ChargeAlgorithmRecordService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/ChargeAlgorithmRecordService.java
index 21990a3aa..28b2b38be 100644
--- a/jsowell-pile/src/main/java/com/jsowell/pile/service/ChargeAlgorithmRecordService.java
+++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/ChargeAlgorithmRecordService.java
@@ -36,6 +36,13 @@ public interface ChargeAlgorithmRecordService {
*/
public int insertChargeAlgorithmRecord(ChargeAlgorithmRecord chargeAlgorithmRecord);
+ /**
+ * 插入或修改电池充电算法记录
+ * @param record
+ * @return
+ */
+ int insertOrUpdateSelective(ChargeAlgorithmRecord record);
+
/**
* 修改电池充电算法记录
*
@@ -69,4 +76,11 @@ public interface ChargeAlgorithmRecordService {
ChargeAlgorithmRecord queryRecordByOrderCode(String orderCode);
+
+ /**
+ * 通过 taskId 查询充电算法报告
+ * @param taskId
+ * @return
+ */
+ ChargeAlgorithmRecord queryRecordByTaskId(String taskId);
}
diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/ChargeAlgorithmRecordServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/ChargeAlgorithmRecordServiceImpl.java
index 461d0904c..e8e86cbd9 100644
--- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/ChargeAlgorithmRecordServiceImpl.java
+++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/ChargeAlgorithmRecordServiceImpl.java
@@ -56,6 +56,17 @@ public class ChargeAlgorithmRecordServiceImpl implements ChargeAlgorithmRecordSe
return chargeAlgorithmRecordMapper.insertChargeAlgorithmRecord(chargeAlgorithmRecord);
}
+ /**
+ * 插入或修改电池充电算法记录
+ * @param record
+ * @return
+ */
+ @Override
+ public int insertOrUpdateSelective(ChargeAlgorithmRecord record) {
+ record.setCreateTime(DateUtils.getNowDate());
+ return chargeAlgorithmRecordMapper.insertOrUpdateSelective(record);
+ }
+
/**
* 修改电池充电算法记录
*
@@ -94,6 +105,16 @@ public class ChargeAlgorithmRecordServiceImpl implements ChargeAlgorithmRecordSe
return chargeAlgorithmRecordMapper.queryRecordByOrderCode(orderCode);
}
+ /**
+ * 通过 taskId 查询充电算法报告
+ * @param taskId
+ * @return
+ */
+ @Override
+ public ChargeAlgorithmRecord queryRecordByTaskId(String taskId) {
+ return chargeAlgorithmRecordMapper.queryRecordByTaskId(taskId);
+ }
+
/**
* 通过订单号查询充电电池算法报告
* @param orderCode
diff --git a/jsowell-pile/src/main/resources/mapper/pile/ChargeAlgorithmRecordMapper.xml b/jsowell-pile/src/main/resources/mapper/pile/ChargeAlgorithmRecordMapper.xml
index 58ca3f78e..db8e25dab 100644
--- a/jsowell-pile/src/main/resources/mapper/pile/ChargeAlgorithmRecordMapper.xml
+++ b/jsowell-pile/src/main/resources/mapper/pile/ChargeAlgorithmRecordMapper.xml
@@ -36,7 +36,8 @@
select id, order_code, task_id, web_url, pdf_url, score, capacity_metrics, energy_indicator, consistency, temp_consistency, volt_consistency,
capacity_consistency, sot, thermal_runaway, cooling, seal, current_soc, soc_alarm, temp_diff_alarm, temp_rise_alarm,
- max_allowable_voltage_alarm, max_allowable_electricity_alarm, security_system_level, failure_metrics, performance_metrics, create_time from charge_algorithm_record
+ max_allowable_voltage_alarm, max_allowable_electricity_alarm, security_system_level, failure_metrics, performance_metrics, create_time
+ from charge_algorithm_record
+
+
+ insert into charge_algorithm_record
+
+ id,
+ order_code,
+ task_id,
+ web_url,
+ pdf_url,
+ score,
+ capacity_metrics,
+ energy_indicator,
+ consistency,
+ temp_consistency,
+ volt_consistency,
+ capacity_consistency,
+ sot,
+ thermal_runaway,
+ cooling,
+ seal,
+ current_soc,
+ soc_alarm,
+ temp_diff_alarm,
+ temp_rise_alarm,
+ max_allowable_voltage_alarm,
+ max_allowable_electricity_alarm,
+ security_system_level,
+ failure_metrics,
+ performance_metrics,
+ create_time,
+
+ values
+
+ #{id},
+ #{orderCode},
+ #{taskId},
+ #{webUrl},
+ #{pdfUrl},
+ #{score},
+ #{capacityMetrics}
+ #{energyIndicator},
+ #{consistency},
+ #{tempConsistency},
+ #{voltConsistency},
+ #{capacityConsistency},
+ #{sot},
+ #{thermalRunaway},
+ #{cooling},
+ #{seal},
+ #{currentSoc},
+ #{socAlarm},
+ #{tempDiffAlarm},
+ #{tempRiseAlarm},
+ #{maxAllowableVoltageAlarm},
+ #{maxAllowableElectricityAlarm},
+ #{securitySystemLevel},
+ #{failureMetrics},
+ #{performanceMetrics},
+ #{createTime},
+
+ on duplicate key update
+
+ id = #{id},
+ order_code = #{orderCode},
+ task_id = #{taskId},
+ web_url = #{webUrl},
+ pdf_url = #{pdfUrl},
+ score = #{score},
+ capacity_metrics = #{capacityMetrics},
+ energy_indicator = #{energyIndicator},
+ consistency = #{consistency},
+ temp_consistency = #{tempConsistency},
+ volt_consistency = #{voltConsistency},
+ capacity_consistency = #{capacityConsistency},
+ sot = #{sot},
+ thermal_runaway = #{thermalRunaway},
+ cooling = #{cooling},
+ seal = #{seal},
+ current_soc = #{currentSoc},
+ soc_alarm = #{socAlarm},
+ temp_diff_alarm = #{tempDiffAlarm},
+ temp_rise_alarm = #{tempRiseAlarm},
+ max_allowable_voltage_alarm = #{maxAllowableVoltageAlarm},
+ max_allowable_electricity_alarm = #{maxAllowableElectricityAlarm},
+ security_system_level = #{securitySystemLevel},
+ failure_metrics = #{failureMetrics},
+ performance_metrics = #{performanceMetrics},
+ create_time = #{createTime},
+
+
+
+
\ No newline at end of file
diff --git a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/platform/service/impl/BatteryChargeReportService.java b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/platform/service/impl/BatteryChargeReportService.java
index eb2c9bf4e..d9e70ae69 100644
--- a/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/platform/service/impl/BatteryChargeReportService.java
+++ b/jsowell-thirdparty/src/main/java/com/jsowell/thirdparty/platform/service/impl/BatteryChargeReportService.java
@@ -9,10 +9,8 @@ import com.jsowell.common.core.domain.ykc.*;
import com.jsowell.common.core.redis.RedisCache;
import com.jsowell.common.util.DateUtils;
import com.jsowell.common.util.StringUtils;
-import com.jsowell.pile.service.OrderBasicInfoService;
-import com.jsowell.pile.service.PileBasicInfoService;
-import com.jsowell.pile.service.PileConnectorInfoService;
-import com.jsowell.pile.service.PileStationInfoService;
+import com.jsowell.pile.domain.ChargeAlgorithmRecord;
+import com.jsowell.pile.service.*;
import com.jsowell.pile.thirdparty.ParameterConfigData;
import com.jsowell.pile.vo.uniapp.customer.OrderVO;
import com.jsowell.pile.vo.web.PileConnectorInfoVO;
@@ -70,6 +68,8 @@ public class BatteryChargeReportService {
@Autowired
private PileStationInfoService pileStationInfoService;
+ private ChargeAlgorithmRecordService chargeAlgorithmRecordService;
+
/**
* 通过订单号统一发送充电电池数据获取 taskId
*
@@ -96,6 +96,16 @@ public class BatteryChargeReportService {
Map map = getDatasByOrderVO(orderVO);
String taskId = pushInfoGetTaskId(map, stationVO, orderVO);
+ if (StringUtils.isBlank(taskId)) {
+ log.error("订单:{} 获取到 taskId 为空", orderCode);
+ return null;
+ }
+ // 存入数据库
+ ChargeAlgorithmRecord record = new ChargeAlgorithmRecord();
+ record.setOrderCode(orderCode);
+ record.setTaskId(taskId);
+ chargeAlgorithmRecordService.insertOrUpdateSelective(record);
+
return taskId;
}
@@ -106,11 +116,18 @@ public class BatteryChargeReportService {
* @return
*/
public String getUrlByTaskId(String taskId, String reportType) {
- // 根据 taskId 获取链接·
- // 默认 web 端 url
+ String resultUrl = "";
+ // 根据 taskId 获取链接
+ // 通过 taskId 获取充电算法记录
+ ChargeAlgorithmRecord record = chargeAlgorithmRecordService.queryRecordByTaskId(taskId);
+ if (record == null) {
+ log.error("taskId:{} 获取充电算法记录为空", taskId);
+ return null;
+ }
+ // 默认 1-web 端 url
String apiUrl = webDomainPrefix + apiPrefix + "web/" + taskId;
if (StringUtils.equals(Constants.TWO, reportType)) {
- // 2- pdf 端
+ // 2-pdf 端
apiUrl = webDomainPrefix + apiPrefix + "pdf/" + taskId;
}
// 发送请求
@@ -127,17 +144,23 @@ public class BatteryChargeReportService {
// 将 result 部分转换成 BatteryReportResult 对象
// BatteryReportResult batteryReportResult = (BatteryReportResult) resultMap.get("result");
BatteryReportResult batteryReportResult = JSONObject.parseObject(resultMap.get("result").toString(), BatteryReportResult.class);;
- String pdfUrl = batteryReportResult.getPdfUrl();
- if (StringUtils.isBlank(pdfUrl)) {
- String webUrl = batteryReportResult.getWebUrl();
- return webUrl;
+ if (StringUtils.equals(Constants.ONE, reportType)) {
+ // 1-web 端
+ resultUrl = batteryReportResult.getWebUrl();
+ record.setWebUrl(resultUrl);
+ }else {
+ // pdf 端
+ resultUrl = batteryReportResult.getPdfUrl();
+ record.setPdfUrl(resultUrl);
}
- return pdfUrl;
+ // 保存到数据库
+ chargeAlgorithmRecordService.updateChargeAlgorithmRecord(record);
+ return resultUrl;
}
public static void main(String[] args) {
- String taskId = "8b8c2fed952f41d39eb583d0021c9908";
+ String taskId = "1e6e42aa613947bf863bc455c2f3357e";
String url = "https://wx.btiger.net/jeecg-boot" + "/api/docking/report/" + "web/" + taskId;
String result = HttpRequest.get(url).execute().body();