From 3d4eeb82dd61f8951616dece2425e870116bc23d Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期五, 04 四月 2025 15:56:37 +0800
Subject: [PATCH] 提交最终版本和配置线上环境

---
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OrderServiceImpl.java |   77 +++++++++++++++++++++++++++++++++++++-
 1 files changed, 75 insertions(+), 2 deletions(-)

diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OrderServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OrderServiceImpl.java
index 29fcf2f..43f0f3b 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OrderServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OrderServiceImpl.java
@@ -1,12 +1,30 @@
 package com.ruoyi.system.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.core.web.page.PageInfo;
+import com.ruoyi.dataInterchange.api.feignClient.UPExgMsgTakeEwayBillAckClient;
+import com.ruoyi.dataInterchange.api.vo.UPExgMsgTakeEwayBillAckVo;
+import com.ruoyi.system.api.model.Car;
+import com.ruoyi.system.api.model.Driver;
+import com.ruoyi.system.api.model.Enterprise;
 import com.ruoyi.system.api.model.Order;
 import com.ruoyi.system.mapper.OrderMapper;
 import com.ruoyi.system.query.OrderListReq;
+import com.ruoyi.system.service.ICarService;
+import com.ruoyi.system.service.IDriverService;
+import com.ruoyi.system.service.IEnterpriseService;
 import com.ruoyi.system.service.IOrderService;
 import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.time.Instant;
+import java.time.LocalDateTime;
+import java.time.ZoneOffset;
+import java.time.format.DateTimeFormatter;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Optional;
 
 
 /**
@@ -16,9 +34,64 @@
 @Service
 public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements IOrderService {
 	
+	@Resource
+	private UPExgMsgTakeEwayBillAckClient upExgMsgTakeEwayBillAckClient;
+	
+	@Resource
+	private IEnterpriseService enterpriseService;
+	
+	@Resource
+	private IDriverService driverService;
+	
+	@Resource
+	private ICarService carService;
+	
+	
+	/**
+	 * 存储新订单数据
+	 */
+	@Override
+	public void taskSaveNewOrder() {
+		Order order = this.getOne(new LambdaQueryWrapper<Order>().orderByDesc(Order::getCreateTime).last(" limit 1"));
+		Long createTime = -1L;
+		if (null != order) {
+			createTime = order.getCreateTime().toEpochSecond(ZoneOffset.ofHours(8));
+		}
+		List<UPExgMsgTakeEwayBillAckVo> list = upExgMsgTakeEwayBillAckClient.findByCreateTimeAfter(createTime).getData();
+		if (null == list || list.isEmpty()) {
+			return;
+		}
+		List<Enterprise> list1 = enterpriseService.list();
+		List<Driver> driverList = driverService.list(new LambdaQueryWrapper<Driver>().eq(Driver::getStatus, 1));
+		List<Car> carList = carService.list();
+		List<Order> orders = new ArrayList<>();
+		for (UPExgMsgTakeEwayBillAckVo vo : list) {
+			order = new Order();
+			Optional<Car> carOptional = carList.stream().filter(s -> s.getVehicleNumber().equals(vo.getVehicleNo())).findFirst();
+			if (carOptional.isPresent()) {
+				order.setCarId(carOptional.get().getId());
+			}
+			Optional<Driver> optional = driverList.stream().filter(s -> s.getVehicleNumber().equals(vo.getVehicleNo())).findFirst();
+			if (optional.isPresent()) {
+				order.setDriverId(optional.get().getId());
+			}
+			Enterprise enterprise = list1.stream().filter(s -> s.getCode().equals(vo.getInferiorPlatformId().toString())).findFirst().get();
+			order.setEnterpriseId(enterprise.getId());
+			order.setOrderTime(LocalDateTime.ofInstant(Instant.ofEpochMilli(vo.getCreateTime() * 1000), ZoneOffset.ofHours(8)).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+			
+			
+			order.setCreateTime(LocalDateTime.now());
+			orders.add(order);
+		}
+		if (orders.size() > 0) {
+			this.saveBatch(orders);
+		}
+		
+	}
 	
 	/**
 	 * 获取订单列表
+	 *
 	 * @param req
 	 * @return
 	 */
@@ -28,6 +101,6 @@
 		PageInfo<Order> pageInfo = new PageInfo<>(req.getPageCurr(), req.getPageSize());
 		return this.baseMapper.getOrderList(pageInfo, req);
 	}
-
-
+	
+	
 }

--
Gitblit v1.7.1