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;
|
|
/**
|
* 定时任务调度测试
|
*
|
* @author ruoyi
|
*/
|
@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));
|
}
|
|
public void ryParams(String params)
|
{
|
System.out.println("执行有参方法:" + params);
|
}
|
|
public void ryNoParams()
|
{
|
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();
|
}
|
}
|
}
|