From 2c86a8bd60deed0dd0e044bad6fb83f75d19a332 Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期日, 26 十月 2025 15:05:50 +0800
Subject: [PATCH] Merge branch 'feature-task'
---
ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java | 144 ++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 134 insertions(+), 10 deletions(-)
diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
index e187354..866ba08 100644
--- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
+++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
@@ -1,17 +1,20 @@
package com.ruoyi.quartz.task;
+import com.alibaba.fastjson2.JSON;
import com.ruoyi.common.utils.HttpUtil;
import com.ruoyi.system.domain.*;
-import com.ruoyi.system.service.IAOrderStatusService;
-import com.ruoyi.system.service.IDispatchOrdService;
-import com.ruoyi.system.service.ISysClientAppService;
-import com.ruoyi.system.service.ITbOrdersService;
+import com.ruoyi.system.service.*;
import com.ruoyi.system.service.impl.SysUserServiceImpl;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import com.ruoyi.common.utils.StringUtils;
+
+import java.text.SimpleDateFormat;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.Date;
import java.util.HashMap;
import java.util.List;
@@ -26,6 +29,31 @@
public class RyTask
{
private static final Logger log = LoggerFactory.getLogger(RyTask.class);
+
+
+
+ // 娣诲姞鐘舵�佹槧灏勫瓧鍏�
+ private static final Map<String, String> ORDER_STATUS_MAP = new HashMap<String, String>() {{
+ put("-1", "鏃犳晥鍙栨秷");
+ put("1", "鏈姤浠�");
+ put("2", "宸叉姤浠�");
+ put("3", "1 - 瀹屽叏鏈‘璁�");
+ put("4", "2 - 閮ㄥ垎宸茬‘璁�");
+ put("5", "鏈嚭杞�");
+ put("6", "3 - 宸插嚭杞︼紙鍘绘帴鎮h�呴�斾腑锛�");
+ put("7", "宸插嚭杞︼紙绛夊緟鎮h�咃級");
+ put("8", "4 - 宸插嚭杞︼紙鏈嶅姟涓級");
+ put("9", "5 - 宸查�佽揪锛堝洖绋嬩腑锛�");
+ put("10", "宸茶繑鍥�");
+ put("11", "璺戠┖鍗曪紝宸茶繑鍥�");
+ put("12", "鍙栨秷");
+ put("13", "0 - 鏂拌皟搴﹀崟锛堟湭涓嬪彂锛�");
+ put("14", "宸叉彁浜わ紝绛夊緟瀹℃牳");
+ put("15", "瀹℃牳瀹屾垚");
+ put("16", "瀹℃牳涓嶉�氳繃");
+ put("17", "宸茬珯鐐�");
+ }};
+
@Autowired
private IAOrderStatusService orderStatusService;
@@ -37,6 +65,12 @@
@Autowired
private ISysClientAppService sysClientAppService;
+
+ @Autowired
+ private ITbCallbackLogService tbCallbackLogService;
+
+ @Autowired
+ private ITbVehicleOrderService tbVehicleOrderService;
public void ryMultipleParams(String s, Boolean b, Long l, Double d, Integer i)
{
@@ -53,6 +87,9 @@
System.out.println("鎵ц鏃犲弬鏂规硶");
}
+
+
+
/**
* 鍥炶皟鎺ㄩ�佺姸鎬�
*/
@@ -66,14 +103,14 @@
for (AOrderStatus orderStatus : orderStatusList) {
int count = tbOrdersService.checkServiceOrdIDExists(orderStatus.getServiceOrdID());
if (count > 0) {
- System.out.println("鏈嶅姟璁㈠崟ID瀛樺湪锛�" + orderStatus.getServiceOrdID());
+ log.info("鏈嶅姟璁㈠崟ID瀛樺湪锛�" + orderStatus.getServiceOrdID());
TbOrders tbOrders = tbOrdersService.selectTbOrdersByServiceOrdID(orderStatus.getServiceOrdID());
//鑾峰彇杞︾墝鍙�
- String carLicense = "";
+ String carLicense = "-";
StringBuilder driverNames = new StringBuilder();
StringBuilder driverMobiles = new StringBuilder();
try{
@@ -104,6 +141,38 @@
}
}
}
+
+ //濡傛灉杞︾墝鍙蜂笉涓虹┖
+ if(carLicense!=null && carLicense.length()>0){
+ log.info("鏇存柊璁㈠崟-杞︾墝鍙峰叧鑱旇〃锛屻��" + tbOrders.getOrderID() + "銆戣溅鐗屽彿锛�" + carLicense);
+
+ //鏌ヨ鏄惁瀛樺湪鍏宠仈璁板綍
+ TbVehicleOrder tbVehicleOrder = tbVehicleOrderService.selectTbVehicleOrderById(tbOrders.getOrderID());
+ if(tbVehicleOrder==null){
+ //涓嶅瓨鍦ㄥ叧鑱旇褰�
+ //鍒涘缓鍏宠仈璁板綍
+ tbVehicleOrder = new TbVehicleOrder();
+ tbVehicleOrder.setOrderId(tbOrders.getOrderID());
+ tbVehicleOrder.setServiceOrdId(tbOrders.getServiceOrdID());
+ tbVehicleOrder.setVehicle(carLicense);
+ tbVehicleOrder.setStatus("0");
+ tbVehicleOrderService.insertTbVehicleOrder(tbVehicleOrder);
+ }
+ else{
+ //瀛樺湪鍏宠仈璁板綍
+ //鏇存柊鍏宠仈璁板綍
+ if(orderStatus.getMsg().contains("宸茶繑鍥�"))
+ {
+ tbVehicleOrder.setStatus("1");
+ tbVehicleOrderService.updateTbVehicleOrder(tbVehicleOrder);
+ }
+ else if(orderStatus.getMsg().contains("鍙栨秷"))
+ {
+ tbVehicleOrder.setStatus("2");
+ tbVehicleOrderService.updateTbVehicleOrder(tbVehicleOrder);
+ }
+ }
+ }
}
}
catch (Exception e)
@@ -111,23 +180,56 @@
log.error("鑾峰彇璋冨害鍗曞紓甯革細"+e.getMessage());
}
- SysClientApp clientApp = sysClientAppService.selectSysClientAppByAppKey("appId1");
+ SysClientApp clientApp = sysClientAppService.selectSysClientAppByAppKey(tbOrders.getAppId());
if(clientApp==null){
log.error("鍥炶皟鍦板潃涓嶅瓨鍦�");
- return;
+ orderStatusService.updateAOrderStatusFlag(orderStatus.getId());
+ continue;
}
String callbackUrl = clientApp.getCallbackUrl();
try {
+
+ String carLicenseStr = "-";
+ if(carLicense!=null && carLicense.length()>0){
+ carLicenseStr = carLicense;
+ }
+
+
// 鏋勫缓璇锋眰鍙傛暟
Map<String, String> map = new HashMap<>();
map.put("orderID", tbOrders.getOrderID().toString());
map.put("thirdOrderNo", orderStatus.getServiceOrdID());
- map.put("orderStatus","1");
+ map.put("orderStatus", ORDER_STATUS_MAP.entrySet()
+ .stream()
+ .filter(entry -> entry.getValue().equals(orderStatus.getMsg()))
+ .map(Map.Entry::getKey)
+ .findFirst()
+ .orElse("0"));
map.put("orderRemark", orderStatus.getMsg());
- map.put("plateNo",carLicense);
+ map.put("plateNo",carLicenseStr);
map.put("driverMobile",driverMobiles.toString());
map.put("driverName", driverNames.toString());
+
+ //鏍煎紡鍖栨洿鏂版椂闂�
+ try {
+
+ // 2. 瀹氫箟鐩爣鏍煎紡锛�24灏忔椂鍒� "HH"锛�
+ DateTimeFormatter targetFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+ String formattedTime = orderStatus.getUpdateTime().format(targetFormat);
+ map.put("updateTime", formattedTime);
+ }
+ catch (Exception ex)
+ {
+ log.error("鏃堕棿鏍煎紡杞寲鍑洪敊");
+ }
+
+
+
+
+ log.info("銆愮洃娴嬨�慬" + tbOrders.getOrderID() + "]杞︾墝鍙凤細" + carLicenseStr);
+ //鎵撳嵃map
+ log.info("銆愮洃娴嬨�慬" + tbOrders.getOrderID() + "]鍥炶皟璇锋眰鍙傛暟锛�" + map);
// 绗竴娆″皾璇�
String response = sendCallback(callbackUrl, map);
@@ -144,6 +246,9 @@
log.info("鍥炶皟鎺ㄩ�佹垚鍔燂紝鍙傛暟濡備笅锛�");
map.forEach((key, value) -> log.info(" {} : {}", key, value));
orderStatusService.updateAOrderStatusFlag(orderStatus.getId());
+
+
+
} else {
log.error("鍥炶皟璇锋眰閲嶈瘯鍚庝粛鐒跺け璐�");
orderStatusService.updateAOrderStatusFlag(orderStatus.getId());
@@ -166,6 +271,16 @@
// 鏂板鍙戦�佸洖璋冪殑鏂规硶
private String sendCallback(String callbackUrl, Map<String, String> params) {
+ TbCallbackLog callbackLog = new TbCallbackLog();
+ callbackLog.setCallbackUrl(callbackUrl);
+ callbackLog.setRequestParams(JSON.toJSONString(params));
+ callbackLog.setCreateTime(new Date());
+ callbackLog.setStatus("0"); // 榛樿澶辫触
+ callbackLog.setRetryCount(0);
+ callbackLog.setServiceOrdId(params.get("thirdOrderNo"));
+ callbackLog.setOrderId(Long.valueOf(params.get("orderID")));
+ callbackLog.setAppId(params.get("appId"));
+
try {
// 鎵撳嵃璇锋眰鍙傛暟
log.info("鍙戦�佸洖璋冭姹傦紝URL: " + callbackUrl);
@@ -177,9 +292,18 @@
// 鎵撳嵃鍝嶅簲缁撴灉
log.info("鍥炶皟鍝嶅簲缁撴灉: " + response);
+ // 鏇存柊鏃ュ織鐘舵��
+ callbackLog.setResponseResult(response);
+ callbackLog.setStatus("1"); // 鎴愬姛
+
+ tbCallbackLogService.insertTbCallbackLog(callbackLog);
return response;
} catch (Exception e) {
log.error("鍥炶皟璇锋眰寮傚父: " + e.getMessage());
+ // 璁板綍閿欒淇℃伅
+ callbackLog.setErrorMsg(e.getMessage());
+ callbackLog.setRetryCount(1); // 濡傛灉鏄噸璇曠殑鎯呭喌涓嬮渶瑕�+1
+ tbCallbackLogService.insertTbCallbackLog(callbackLog);
return null;
}
}
--
Gitblit v1.9.1