1
This commit is contained in:
@@ -178,11 +178,16 @@ public class JDUtils {
|
||||
/**
|
||||
* 实时刷新最近10分钟的订单
|
||||
*/
|
||||
@Scheduled(cron = "0 * * * * ?") // 每分钟执行一次
|
||||
//@Scheduled(cron = "0 * * * * ?") // 每分钟执行一次
|
||||
public void fetchLatestOrder() {
|
||||
LocalDateTime now = LocalDateTime.now();
|
||||
LocalDateTime lastMinute = now.minusMinutes(10).withSecond(0).withNano(0);
|
||||
|
||||
|
||||
/**临时代码*/
|
||||
|
||||
|
||||
/**下面是原先的代码*/
|
||||
for (Map.Entry<String, WXUtil.SuperAdmin> entry : super_admins.entrySet()) {
|
||||
//String wxid = entry.getKey();
|
||||
WXUtil.SuperAdmin admin = entry.getValue();
|
||||
@@ -214,6 +219,62 @@ public class JDUtils {
|
||||
|
||||
}
|
||||
|
||||
public void test01() {
|
||||
|
||||
for (Map.Entry<String, WXUtil.SuperAdmin> entry : super_admins.entrySet()) {
|
||||
//String wxid = entry.getKey();
|
||||
WXUtil.SuperAdmin admin = entry.getValue();
|
||||
String appKey = admin.getAppKey();
|
||||
String secretKey = admin.getSecretKey();
|
||||
if (Util.isAnyEmpty(appKey,secretKey)){
|
||||
continue;
|
||||
}
|
||||
LocalDateTime now = LocalDateTime.now();
|
||||
//logger.info("拉取历史订单---> , {} 点,{} 分", now.getHour(), now.getMinute());
|
||||
|
||||
LocalDateTime lastHour = now.truncatedTo(ChronoUnit.HOURS);
|
||||
LocalDateTime startDate = lastHour.minusMonths(3).truncatedTo(ChronoUnit.HOURS);
|
||||
|
||||
|
||||
while (!startDate.isEqual(lastHour)) {
|
||||
Integer pageIndex = 1;
|
||||
boolean hasMore = true;
|
||||
|
||||
while (hasMore) {
|
||||
try {
|
||||
// 30-60 天 ,非实时,非分钟
|
||||
UnionOpenOrderRowQueryResponse response = fetchOrdersForDateTime(startDate, false, pageIndex, false,appKey,secretKey);
|
||||
if (response != null && response.getQueryResult() != null) {
|
||||
if (response.getQueryResult().getCode() == 200) {
|
||||
OrderRowResp[] orderRowResps = response.getQueryResult().getData();
|
||||
if (orderRowResps != null) {
|
||||
for (OrderRowResp orderRowResp : orderRowResps) {
|
||||
if (orderRowResp != null) { // Check each orderRowResp is not null
|
||||
OrderRow orderRow = createOrderRow(orderRowResp);
|
||||
if (orderRow != null) { // Ensure orderRow is not null after creation
|
||||
orderRowRepository.save(orderRow);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
hasMore = Boolean.TRUE.equals(response.getQueryResult().getHasMore());
|
||||
} else {
|
||||
hasMore = false;
|
||||
}
|
||||
} else {
|
||||
hasMore = false;
|
||||
}
|
||||
} catch (Exception e) {
|
||||
hasMore = false; // Optionally break out of the while loop if required
|
||||
}
|
||||
if (hasMore) pageIndex++;
|
||||
}
|
||||
startDate = startDate.plusHours(1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 扫描订单发送到微信
|
||||
* 每分钟的30秒执行一次
|
||||
@@ -239,8 +300,9 @@ public class JDUtils {
|
||||
/**
|
||||
* 一天拉取三次 30天到60天前的订单
|
||||
*/
|
||||
@Scheduled(cron = "0 0 */4 * * ?")
|
||||
//@Scheduled(cron = "0 0 */4 * * ?")
|
||||
public void fetchHistoricalOrders3090() {
|
||||
|
||||
for (Map.Entry<String, WXUtil.SuperAdmin> entry : super_admins.entrySet()) {
|
||||
//String wxid = entry.getKey();
|
||||
WXUtil.SuperAdmin admin = entry.getValue();
|
||||
@@ -262,6 +324,7 @@ public class JDUtils {
|
||||
LocalDateTime lastHour = now.truncatedTo(ChronoUnit.HOURS).minusMonths(1);
|
||||
LocalDateTime startDate = lastHour.minusMonths(3).truncatedTo(ChronoUnit.HOURS);
|
||||
|
||||
|
||||
while (!startDate.isEqual(lastHour)) {
|
||||
Integer pageIndex = 1;
|
||||
boolean hasMore = true;
|
||||
@@ -304,7 +367,7 @@ public class JDUtils {
|
||||
/**
|
||||
* 一天拉取6次 14天到30天前的订单
|
||||
*/
|
||||
@Scheduled(cron = "0 0 * * * ?")
|
||||
//@Scheduled(cron = "0 0 * * * ?")
|
||||
public void fetchHistoricalOrders1430() {
|
||||
for (Map.Entry<String, WXUtil.SuperAdmin> entry : super_admins.entrySet()) {
|
||||
//String wxid = entry.getKey();
|
||||
@@ -368,7 +431,7 @@ public class JDUtils {
|
||||
/**
|
||||
* 每10分钟拉取07-14天的订单
|
||||
*/
|
||||
@Scheduled(cron = "0 0 * * * ?")
|
||||
//@Scheduled(cron = "0 0 * * * ?")
|
||||
public void fetchHistoricalOrders0714() {
|
||||
for (Map.Entry<String, WXUtil.SuperAdmin> entry : super_admins.entrySet()) {
|
||||
//String wxid = entry.getKey();
|
||||
@@ -428,7 +491,7 @@ public class JDUtils {
|
||||
return count;
|
||||
}
|
||||
|
||||
@Scheduled(cron = "0 * * * * ?")
|
||||
//@Scheduled(cron = "0 * * * * ?")
|
||||
public void fetchHistoricalOrders0007() {
|
||||
for (Map.Entry<String, WXUtil.SuperAdmin> entry : super_admins.entrySet()) {
|
||||
//String wxid = entry.getKey();
|
||||
@@ -501,12 +564,14 @@ public class JDUtils {
|
||||
|
||||
LocalDateTime endTime = isMinutes ? startTime.plusMinutes(30) : startTime.plusHours(1);
|
||||
String hourMinuteTag = isRealTime ? "minute" : "hour";
|
||||
String timeTag = JD_REFRESH_TAG +":"+appKey +":"+ startTime.format(DATE_TIME_FORMATTER);
|
||||
//String oldTimeTag = JD_REFRESH_TAG + startTime.format(DATE_TIME_FORMATTER);
|
||||
|
||||
String newTimeTag = JD_REFRESH_TAG +":"+appKey +":"+ startTime.format(DATE_TIME_FORMATTER);
|
||||
|
||||
HashOperations<String, String, String> hashOps = redisTemplate.opsForHash();
|
||||
|
||||
// 检查这个小时或分钟是否已经被处理过
|
||||
if (hashOps.hasKey(timeTag, hourMinuteTag)) {
|
||||
if (hashOps.hasKey(newTimeTag, hourMinuteTag)) {
|
||||
if (!isMinutes) {
|
||||
return null;
|
||||
}
|
||||
@@ -519,7 +584,7 @@ public class JDUtils {
|
||||
if (!isRealTime) {
|
||||
// 只有没有订单的才进行标记为已拉取
|
||||
if (unionOpenOrderRowQueryResponse != null && unionOpenOrderRowQueryResponse.getQueryResult() != null && unionOpenOrderRowQueryResponse.getQueryResult().getData() == null) {
|
||||
hashOps.put(timeTag, hourMinuteTag, "done");
|
||||
hashOps.put(newTimeTag, hourMinuteTag, "done");
|
||||
}
|
||||
|
||||
}
|
||||
@@ -533,6 +598,22 @@ public class JDUtils {
|
||||
|
||||
|
||||
}
|
||||
public void test(LocalDateTime startTime, boolean isRealTime, Integer page, boolean isMinutes,String appKey,String secretKey){
|
||||
String oldTimeTag = JD_REFRESH_TAG + startTime.format(DATE_TIME_FORMATTER);
|
||||
String newTimeTag = JD_REFRESH_TAG +":"+appKey +":"+ startTime.format(DATE_TIME_FORMATTER);
|
||||
|
||||
StringRedisTemplate redisTemplate = new StringRedisTemplate();
|
||||
HashOperations<String, String, String> hashOps = redisTemplate.opsForHash();
|
||||
|
||||
// get all entries from the old hash
|
||||
Map<String, String> entries = hashOps.entries(oldTimeTag);
|
||||
|
||||
// put all entries into the new hash
|
||||
hashOps.putAll(newTimeTag, entries);
|
||||
|
||||
// delete the old hash
|
||||
redisTemplate.delete(oldTimeTag);
|
||||
}
|
||||
|
||||
/**
|
||||
* 接收京粉指令指令
|
||||
@@ -578,6 +659,10 @@ public class JDUtils {
|
||||
content.append("京高级+订单号\r\"");
|
||||
content.append("京高级SKU+sku\\r\"");
|
||||
break;
|
||||
case "测试指令":{
|
||||
test01();
|
||||
break;
|
||||
}
|
||||
case "今日统计": {
|
||||
List<OrderRow> todayOrders = filterOrdersByDate(orderRows, 0);
|
||||
// 订单总数,已付款,已取消,佣金总计
|
||||
|
||||
Reference in New Issue
Block a user