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.LoggerFactory;
|
||||
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.scheduling.annotation.Scheduled;
|
||||
import org.springframework.stereotype.Component;
|
||||
@@ -286,19 +286,27 @@ public class JDUtils {
|
||||
public UnionOpenOrderRowQueryResponse fetchOrdersForDateTime(LocalDateTime startTime, boolean isRealTime, Integer page) throws Exception {
|
||||
|
||||
LocalDateTime endTime = isRealTime ? startTime.plusMinutes(10) : startTime.plusHours(1);
|
||||
String key = startTime.format(DATE_TIME_FORMATTER);
|
||||
String hourRange = isRealTime ? "minute" : "hour";
|
||||
String hourMinuteTag = 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 以拉取订单
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user