This commit is contained in:
van
2026-06-28 12:22:59 +08:00
parent 2558b91250
commit 941b7f0ae6
7 changed files with 208 additions and 0 deletions

View File

@@ -14,8 +14,11 @@ import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.jarvis.domain.JDOrder;
import com.ruoyi.jarvis.domain.OrderRows;
import com.ruoyi.jarvis.domain.dto.LinkedJdOrderBrief;
import com.ruoyi.jarvis.service.IGoodsInfoService;
import com.ruoyi.jarvis.service.IJDOrderService;
import com.ruoyi.jarvis.service.IOrderRowsService;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
@@ -36,6 +39,9 @@ public class OrderRowsController extends BaseController
@Autowired
private IGoodsInfoService goodsInfoService;
@Autowired
private IJDOrderService jdOrderService;
@Autowired
private SuperAdminService superAdminService;
@@ -67,6 +73,7 @@ public class OrderRowsController extends BaseController
startPage();
List<OrderRows> list = orderRowsService.selectOrderRowsList(orderRows);
enrichLinkedJdOrders(list);
TableDataInfo dataTable = getDataTable(list);
Date beginTime = getDateFromParams(orderRows.getParams(), "beginTime");
Date endTime = getDateFromParams(orderRows.getParams(), "endTime");
@@ -135,6 +142,9 @@ public class OrderRowsController extends BaseController
if (orderRows != null && orderRows.getGoodsInfoId() != null) {
orderRows.setGoodsInfo(goodsInfoService.selectGoodsInfoById(orderRows.getGoodsInfoId()));
}
if (orderRows != null) {
enrichLinkedJdOrders(Collections.singletonList(orderRows));
}
return success(orderRows);
}
@@ -330,5 +340,57 @@ public class OrderRowsController extends BaseController
return stat;
}
private void enrichLinkedJdOrders(List<OrderRows> rows) {
if (rows == null || rows.isEmpty()) {
return;
}
List<String> orderIds = new ArrayList<>();
for (OrderRows row : rows) {
if (row.getOrderId() != null) {
String oid = String.valueOf(row.getOrderId());
if (!orderIds.contains(oid)) {
orderIds.add(oid);
}
}
}
if (orderIds.isEmpty()) {
return;
}
List<JDOrder> jdOrders = jdOrderService.selectLatestJDOrdersByOrderIds(orderIds);
if (jdOrders == null || jdOrders.isEmpty()) {
return;
}
Map<String, JDOrder> jdOrderMap = new HashMap<>();
for (JDOrder jdOrder : jdOrders) {
if (jdOrder != null && jdOrder.getOrderId() != null) {
jdOrderMap.put(jdOrder.getOrderId(), jdOrder);
}
}
for (OrderRows row : rows) {
if (row.getOrderId() == null) {
continue;
}
JDOrder jdOrder = jdOrderMap.get(String.valueOf(row.getOrderId()));
if (jdOrder != null) {
row.setLinkedJdOrder(toLinkedJdOrderBrief(jdOrder));
}
}
}
private LinkedJdOrderBrief toLinkedJdOrderBrief(JDOrder jdOrder) {
LinkedJdOrderBrief brief = new LinkedJdOrderBrief();
brief.setId(jdOrder.getId());
brief.setRemark(jdOrder.getRemark());
brief.setOrderId(jdOrder.getOrderId());
brief.setBuyer(jdOrder.getBuyer());
brief.setModelNumber(jdOrder.getModelNumber());
brief.setModelShop(jdOrder.getModelShop());
brief.setPaymentAmount(jdOrder.getPaymentAmount());
brief.setRebateAmount(jdOrder.getRebateAmount());
brief.setAddress(jdOrder.getAddress());
brief.setStatus(jdOrder.getStatus());
brief.setOrderTime(jdOrder.getOrderTime());
return brief;
}
}