1
This commit is contained in:
@@ -19,7 +19,7 @@ import com.jd.open.api.sdk.response.kplunion.UnionOpenPromotionCommonGetResponse
|
|||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.data.redis.core.SetOperations;
|
import org.springframework.data.redis.core.HashOperations;
|
||||||
import org.springframework.data.redis.core.StringRedisTemplate;
|
import org.springframework.data.redis.core.StringRedisTemplate;
|
||||||
import org.springframework.scheduling.annotation.Scheduled;
|
import org.springframework.scheduling.annotation.Scheduled;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
@@ -286,19 +286,27 @@ public class JDUtils {
|
|||||||
public UnionOpenOrderRowQueryResponse fetchOrdersForDateTime(LocalDateTime startTime, boolean isRealTime, Integer page) throws Exception {
|
public UnionOpenOrderRowQueryResponse fetchOrdersForDateTime(LocalDateTime startTime, boolean isRealTime, Integer page) throws Exception {
|
||||||
|
|
||||||
LocalDateTime endTime = isRealTime ? startTime.plusMinutes(10) : startTime.plusHours(1);
|
LocalDateTime endTime = isRealTime ? startTime.plusMinutes(10) : startTime.plusHours(1);
|
||||||
String key = startTime.format(DATE_TIME_FORMATTER);
|
String hourMinuteTag = isRealTime ? "minute" : "hour";
|
||||||
String hourRange = isRealTime ? "minute" : "hour";
|
String timeTag = startTime.format(DATE_TIME_FORMATTER);
|
||||||
|
|
||||||
SetOperations<String, String> setOps = redisTemplate.opsForSet();
|
HashOperations<String, String, String> hashOps = redisTemplate.opsForHash();
|
||||||
|
|
||||||
|
// 检查这个小时或分钟是否已经被处理过
|
||||||
|
if (hashOps.hasKey(timeTag, hourMinuteTag)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
// 调用 API 以拉取订单
|
// 调用 API 以拉取订单
|
||||||
UnionOpenOrderRowQueryResponse unionOpenOrderRowQueryResponse = getUnionOpenOrderRowQueryResponse(startTime, endTime, page);
|
UnionOpenOrderRowQueryResponse unionOpenOrderRowQueryResponse = getUnionOpenOrderRowQueryResponse(startTime, endTime, page);
|
||||||
|
|
||||||
// 标记已拉取
|
// 标记已拉取
|
||||||
setOps.add(key, hourRange);
|
if (!isRealTime) {
|
||||||
|
// 标记已拉取
|
||||||
|
hashOps.put(timeTag, hourMinuteTag, "done");
|
||||||
|
}
|
||||||
// 打印方法调用和开始结束时间
|
// 打印方法调用和开始结束时间
|
||||||
|
|
||||||
logger.info("拉取订单:开始时间:{}结束时间:{}", startTime.format(DATE_TIME_FORMATTER), endTime.format(DATE_TIME_FORMATTER));
|
logger.info("拉取订单:开始时间:{}---结束时间:{}", startTime.format(DATE_TIME_FORMATTER), endTime.format(DATE_TIME_FORMATTER));
|
||||||
return unionOpenOrderRowQueryResponse;
|
return unionOpenOrderRowQueryResponse;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user