调度补齐卖家姓名和电话

This commit is contained in:
2026-05-18 13:31:29 +08:00
parent fb1a86f0e0
commit 457de72b27
12 changed files with 383 additions and 45 deletions

View File

@@ -40,6 +40,13 @@ public class HxrAdminOrderSelectService {
return fetchOrderSelectInternal(properties.getOrderSelectUrl());
}
/**
* 拉取未支付订单,使用 {@link HxrAdminProperties#getOrderSelectUnPayUrl()}。
*/
public Optional<HxrOrderSelectResponse> fetchUnpaidOrderSelect() throws Exception {
return fetchOrderSelectInternal(properties.getOrderSelectUnPayUrl());
}
/**
* 按购买时间区间、转卖状态等条件拉取订单列表(在配置的 {@code orderSelectUrl} 上覆盖查询参数)。
*
@@ -62,6 +69,24 @@ public class HxrAdminOrderSelectService {
return fetchOrderSelectInternal(buildOrderSelectUrl(buyTimeStart, buyTimeEnd, isResell, page));
}
/**
* 按购买时间区间及页码拉取未支付订单({@code status=0},基于 {@link HxrAdminProperties#getOrderSelectUnPayUrl()})。
*/
public Optional<HxrOrderSelectResponse> fetchUnpaidOrderSelect(
String buyTimeStart, String buyTimeEnd, int page) throws Exception {
return fetchOrderSelectInternal(
buildStatusOrderSelectUrl(properties.getOrderSelectUnPayUrl(), buyTimeStart, buyTimeEnd, page));
}
/**
* 按购买时间区间及页码拉取已支付订单({@code status=1},基于 {@link HxrAdminProperties#getOrderSelectPaidUrl()})。
*/
public Optional<HxrOrderSelectResponse> fetchPaidOrderSelect(
String buyTimeStart, String buyTimeEnd, int page) throws Exception {
return fetchOrderSelectInternal(
buildStatusOrderSelectUrl(properties.getOrderSelectPaidUrl(), buyTimeStart, buyTimeEnd, page));
}
private Optional<HxrOrderSelectResponse> fetchOrderSelectInternal(String requestUri) throws Exception {
String cookieHeader = properties.resolveCookieHeader();
if (cookieHeader == null || cookieHeader.isBlank()) {
@@ -115,16 +140,35 @@ public class HxrAdminOrderSelectService {
return b.build().encode().toUriString();
}
private String buildStatusOrderSelectUrl(String baseUrl, String buyTimeStart, String buyTimeEnd, int page) {
UriComponentsBuilder b = UriComponentsBuilder.fromUriString(baseUrl);
b.replaceQueryParam("buy_time[0]", buyTimeStart == null ? "" : buyTimeStart);
b.replaceQueryParam("buy_time[1]", buyTimeEnd == null ? "" : buyTimeEnd);
b.replaceQueryParam("page", Math.max(1, page));
return b.build().encode().toUriString();
}
/**
* 拉取并逐条打日志(一行一条 JSON
*/
public void fetchAndLogEachOrder() throws Exception {
Optional<HxrOrderSelectResponse> opt = fetchOrderSelect();
fetchAndLogEachOrder(fetchOrderSelect(), "未寄卖");
}
/**
* 拉取未支付订单({@code status=0})并逐条打日志。
*/
public void fetchAndLogUnpaidOrders() throws Exception {
fetchAndLogEachOrder(fetchUnpaidOrderSelect(), "未支付");
}
private void fetchAndLogEachOrder(
Optional<HxrOrderSelectResponse> opt, String label) throws Exception {
if (opt.isEmpty()) {
return;
}
HxrOrderSelectResponse body = opt.get();
log.info("未寄卖 order/select ok count={} allMoney={}", body.count(), body.allMoney());
log.info("{} order/select ok count={} allMoney={}", label, body.count(), body.allMoney());
for (HxrOrderRow row : body.data()) {
log.info("hxr order row {}", JSON.writeValueAsString(row));
}