From 86bb0542773fec123ea4bfb90852c503265426ac Mon Sep 17 00:00:00 2001 From: wzp <2040239371@qq.com> Date: 星期六, 03 五月 2025 17:57:27 +0800 Subject: [PATCH] feat: 回调处理和详情展示优化 --- ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java | 128 ++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 128 insertions(+), 0 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 853243b..6fdb634 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,7 +1,23 @@ package com.ruoyi.quartz.task; +import com.ruoyi.common.utils.HttpUtil; +import com.ruoyi.system.domain.AOrderStatus; +import com.ruoyi.system.domain.DispatchOrd; +import com.ruoyi.system.domain.OrderStatusCallBackVo; +import com.ruoyi.system.domain.TbOrders; +import com.ruoyi.system.service.IAOrderStatusService; +import com.ruoyi.system.service.IDispatchOrdService; +import com.ruoyi.system.service.ITbOrdersService; +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.util.HashMap; +import java.util.List; +import java.util.Map; /** * 瀹氭椂浠诲姟璋冨害娴嬭瘯 @@ -11,6 +27,16 @@ @Component("ryTask") public class RyTask { + private static final Logger log = LoggerFactory.getLogger(RyTask.class); + @Autowired + private IAOrderStatusService orderStatusService; + + @Autowired + private ITbOrdersService tbOrdersService; + + @Autowired + private IDispatchOrdService dispatchOrdService; + public void ryMultipleParams(String s, Boolean b, Long l, Double d, Integer i) { System.out.println(StringUtils.format("鎵ц澶氬弬鏂规硶锛� 瀛楃涓茬被鍨媨}锛屽竷灏旂被鍨媨}锛岄暱鏁村瀷{}锛屾诞鐐瑰瀷{}锛屾暣褰}", s, b, l, d, i)); @@ -25,4 +51,106 @@ { System.out.println("鎵ц鏃犲弬鏂规硶"); } + + public void ryOrderStatus() { + try { + List<AOrderStatus> orderStatusList = orderStatusService.selectAOrderStatusList(); + if (orderStatusList.size() < 0) { + System.out.println("娌℃湁鏁版嵁"); + return; + } + for (AOrderStatus orderStatus : orderStatusList) { + int count = tbOrdersService.checkServiceOrdIDExists(orderStatus.getServiceOrdID()); + if (count > 0) { + // orderStatusService.updateAOrderStatusFlag(orderStatus.getId()); + System.out.println("鏈嶅姟璁㈠崟ID瀛樺湪锛�" + orderStatus.getServiceOrdID()); + + TbOrders tbOrders = tbOrdersService.selectTbOrdersByServiceOrdID(orderStatus.getServiceOrdID()); + + + + //鑾峰彇杞︾墝鍙� + String carLicense = ""; + StringBuilder driverNames = new StringBuilder(); + StringBuilder driverMobiles = new StringBuilder(); + try{ + DispatchOrd dispatchOrd = dispatchOrdService.selectDispatchOrdByServiceOrdIDDt(orderStatus.getServiceOrdID()); + if(dispatchOrd!=null){ + carLicense = dispatchOrdService.selectCarLicenseByCarId(Integer.valueOf(dispatchOrd.getDispatchOrdCarID())); + + String dispatchOAEntourage = dispatchOrd.getDispatchOrd_OAEntourage(); + String dispatchOAName = dispatchOrd.getDispatchOrd_OAName(); + + if (dispatchOAEntourage != null && dispatchOAName != null) { + + String[] entourages = dispatchOAEntourage.split(","); + String[] names = dispatchOAName.split(","); + + // 鏌ユ壘鎵�鏈夊徃鏈轰俊鎭� + for (int i = 0; i < Math.min(entourages.length, names.length); i++) { + if ("鍙告満".equals(entourages[i].trim())) { + String driverMobile = dispatchOrdService.selectDriverMobileByName(names[i].trim()); + if (driverNames.length() > 0) { + driverNames.append(","); + } + driverNames.append(names[i].trim()); + if (driverMobiles.length() > 0) { + driverMobiles.append(","); + } + driverMobiles.append(driverMobile); + } + } + } + } + } + catch (Exception e) + { + log.error("鑾峰彇璋冨害鍗曞紓甯革細"+e.getMessage()); + } + + + + // 浣跨敤鑾峰彇鍒扮殑鎵�鏈夊徃鏈哄鍚� + String callbackUrl = "http://localhost:8080/system/apitest/orderCallback"; + try { + // 鏋勫缓璇锋眰鍙傛暟 + Map<String, String> map = new HashMap<>(); + map.put("orderID", tbOrders.getOrderID().toString()); + map.put("thirdOrderNo", orderStatus.getServiceOrdID()); + map.put("orderStatus","1"); + map.put("orderRemark", orderStatus.getMsg()); + map.put("plateNo",carLicense); + map.put("driverMobile",driverMobiles.toString()); + map.put("driverName", driverNames.toString()); + + // 鎵撳嵃璇锋眰鍙傛暟 + log.info("鍙戦�佸洖璋冭姹傦紝URL: " + callbackUrl); + log.info("璇锋眰鍙傛暟: " + map); + + // 鍙戦�佽姹傚苟鑾峰彇鍝嶅簲 + String response = HttpUtil.post(callbackUrl, map); + + // 鎵撳嵃鍝嶅簲缁撴灉 + log.info("鍥炶皟鍝嶅簲缁撴灉: " + response); + + // 鏇存柊鐘舵�� + // orderStatusService.updateAOrderStatusFlag(orderStatus.getId()); + } catch (Exception e) { + log.error("鍥炶皟璇锋眰澶辫触: " + e.getMessage()); + // 鍙互鑰冭檻閲嶈瘯鏈哄埗鎴栬�呰褰曞け璐ユ棩蹇� + } + + + + } + else { + log.info("鏈嶅姟璁㈠崟ID涓嶅瓨鍦細" + orderStatus.getServiceOrdID()); + orderStatusService.updateAOrderStatusFlag(orderStatus.getId()); + } + } + } catch (Exception e) { + log.error("鎵ц澶辫触: " + e.getMessage()); + e.printStackTrace(); + } + } } -- Gitblit v1.9.1