From 0a50085d6ef51274c28d3915446af6d9ddd91cd2 Mon Sep 17 00:00:00 2001
From: yanderong <307678080@qq.com>
Date: 星期三, 10 六月 2026 18:10:21 +0800
Subject: [PATCH] feat: 订单数据上报到考评系统-默认评分
---
ManagementOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/PushEvaluationLogMapper.xml | 8 ++++
ManagementOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/TaskUtil.java | 4 +-
ManagementOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/PushEvaluationLogMapper.java | 2 +
ManagementOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/PushEvaluationImpl.java | 54 +++++++++++++++++---------
4 files changed, 47 insertions(+), 21 deletions(-)
diff --git a/ManagementOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/PushEvaluationLogMapper.java b/ManagementOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/PushEvaluationLogMapper.java
index 6d5f58a..4943911 100644
--- a/ManagementOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/PushEvaluationLogMapper.java
+++ b/ManagementOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/PushEvaluationLogMapper.java
@@ -17,4 +17,6 @@
List<Map<String, Object>> getTaxiOrderList(@Param("startTime") String startTime, @Param("endTime") String endTime);
List<Map<String, Object>> getPrivateCarOrderList(@Param("startTime") String startTime, @Param("endTime") String endTime);
+
+ List<PushEvaluationLog> queryBySerialNumber(@Param("serialNumber") String serialNumber);
}
\ No newline at end of file
diff --git a/ManagementOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/PushEvaluationLogMapper.xml b/ManagementOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/PushEvaluationLogMapper.xml
index c8caf49..9aba03e 100644
--- a/ManagementOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/PushEvaluationLogMapper.xml
+++ b/ManagementOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/PushEvaluationLogMapper.xml
@@ -35,6 +35,14 @@
and (ot.insertTime between #{startTime} and #{endTime})
</if>
</select>
+ <select id="queryBySerialNumber" resultType="com.stylefeng.guns.modular.system.model.PushEvaluationLog">
+ select * from sys_push_evaluation_log
+ where status = 1
+ <if test="null != serialNumber">
+ and serial_number = #{serialNumber}
+ </if>
+
+ </select>
diff --git a/ManagementOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/PushEvaluationImpl.java b/ManagementOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/PushEvaluationImpl.java
index acacf17..87a1a66 100644
--- a/ManagementOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/PushEvaluationImpl.java
+++ b/ManagementOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/PushEvaluationImpl.java
@@ -41,26 +41,42 @@
*/
@Transactional
public void pushEvaluation(String startTime, String endTime) {
- // 获取出租车需要推送的数据
- List<Map<String, Object>> mapList = this.baseMapper.getTaxiOrderList(startTime, endTime);
- List<PushEvaluationRequestDTO> taxiRequestList = PushEvaluationRequestDTO.convert(mapList);
- if(CollectionUtils.isNotEmpty(taxiRequestList)) {
- PushEvaluationLog evaluationLog = requestEvaluation(JSON.toJSONString(taxiRequestList));
- evaluationLog.setSerialNumber("taxi_"+startTime+"_"+endTime);
- // 记录日志
- this.insert(evaluationLog);
- }
- // 获取专车需要推送的数据
- List<Map<String, Object>> mapPrivateList = this.baseMapper.getPrivateCarOrderList(startTime, endTime);
- List<PushEvaluationRequestDTO> privateRequestList = PushEvaluationRequestDTO.convert(mapPrivateList);
- if(CollectionUtils.isNotEmpty(privateRequestList)) {
- PushEvaluationLog evaluationLog = requestEvaluation(JSON.toJSONString(privateRequestList));
- evaluationLog.setSerialNumber("privateCar_"+startTime+"_"+endTime);
- // 记录日志
- this.insert(evaluationLog);
+ String taxiNumber = "taxi_"+startTime+"_"+endTime;
+ log.info("上报数据到考评系统-开始,上报数据条件为 : {}", taxiNumber);
+
+ // 1.获取出租车需要推送的数据
+ List<PushEvaluationLog> existTaxiLogList = this.baseMapper.queryBySerialNumber(taxiNumber);
+ if(CollectionUtils.isEmpty(existTaxiLogList)) {
+ List<Map<String, Object>> mapList = this.baseMapper.getTaxiOrderList(startTime, endTime);
+ List<PushEvaluationRequestDTO> taxiRequestList = PushEvaluationRequestDTO.convert(mapList);
+ if(CollectionUtils.isNotEmpty(taxiRequestList)) {
+ PushEvaluationLog evaluationLog = requestEvaluation(JSON.toJSONString(taxiRequestList));
+ evaluationLog.setSerialNumber(taxiNumber);
+ // 记录日志
+ this.insert(evaluationLog);
+ log.info("上报数据到考评系统-上报成功-上报数据流水号:{}, 上报数成功数条数:{}", taxiNumber, taxiRequestList.size());
+ }
+ } else {
+ log.info("上报数据到考评系统-校验结果为重复上报-该时间段的出租车订单数据已经上报无需重复上报,上报数据条件为 : {}", taxiNumber);
}
-
+ // 2.获取专车需要推送的数据
+ String privateCarNumber = "privateCar_"+startTime+"_"+endTime;
+ List<PushEvaluationLog> existPrivateCarLogList = this.baseMapper.queryBySerialNumber(privateCarNumber);
+ if(CollectionUtils.isEmpty(existPrivateCarLogList)) {
+ List<Map<String, Object>> mapPrivateList = this.baseMapper.getPrivateCarOrderList(startTime, endTime);
+ List<PushEvaluationRequestDTO> privateRequestList = PushEvaluationRequestDTO.convert(mapPrivateList);
+ if(CollectionUtils.isNotEmpty(privateRequestList)) {
+ PushEvaluationLog evaluationLog = requestEvaluation(JSON.toJSONString(privateRequestList));
+ evaluationLog.setSerialNumber(privateCarNumber);
+ // 记录日志
+ this.insert(evaluationLog);
+ log.info("上报数据到考评系统-上报成功-上报数据流水号:{}, 上报数成功数条数:{}", privateCarNumber, privateRequestList.size());
+ }
+ } else {
+ log.info("上报数据到考评系统-校验结果为重复上报-该时间段的专车订单数据已经上报无需重复上报,上报数据条件为 : {}", taxiNumber);
+ }
+ log.info("上报数据到考评系统-结束,上报数据条件为 : {}", taxiNumber);
}
public PushEvaluationLog requestEvaluation(String requestData) {
@@ -73,7 +89,7 @@
try {
// 发送请求
HttpEntity<String> entity = new HttpEntity<>(requestData, headers);
- log.info("上报数据到考评系统-请求地址为:{},请求参数为 : {}", url, JSON.toJSONString(entity));
+ log.debug("上报数据到考评系统-请求地址为:{},请求参数为 : {}", url, JSON.toJSONString(entity));
ResponseEntity<PushEvaluationResponseDTO> responseEntity = restTemplate.exchange(url, HttpMethod.POST, entity, PushEvaluationResponseDTO.class);
// 返回数据
response = responseEntity.getBody();
diff --git a/ManagementOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/TaskUtil.java b/ManagementOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/TaskUtil.java
index 0d49af1..72cdfc5 100644
--- a/ManagementOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/TaskUtil.java
+++ b/ManagementOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/TaskUtil.java
@@ -83,10 +83,10 @@
}
/**
- * 每周一零晨3点执行任务
+ * 每周一零晨2点执行任务(cron = "0 0 2 ? * MON")
* 推送上周订单评价数据
*/
- @Scheduled(cron = "0 0 3 ? * MON")
+ @Scheduled(cron = "0 0 2 ? * MON")
public void taskPushEvaluation() {
try {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
--
Gitblit v1.7.1