From 53443db90d66094124dbbeebbcf763032a2333d0 Mon Sep 17 00:00:00 2001 From: wzp <2040239371@qq.com> Date: 星期五, 23 五月 2025 18:27:37 +0800 Subject: [PATCH] fix: 修复订单详情知情书的显示 --- 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