缓存统计信息

This commit is contained in:
2025-06-04 11:02:52 +08:00
parent 1841e43b85
commit 3bd8face68
8 changed files with 281 additions and 121 deletions

View File

@@ -1,24 +0,0 @@
package com.ycwl.basic.task;
import lombok.extern.slf4j.Slf4j;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import static org.junit.jupiter.api.Assertions.*;
@Slf4j
@SpringBootTest
@RunWith(SpringRunner.class)
public class ScenicDeviceStatsTaskTest {
@Autowired
private ScenicDeviceStatsTask task;
@Test
public void testA() {
task.countDeviceStats();
}
}

View File

@@ -0,0 +1,60 @@
package com.ycwl.basic.task;
import cn.hutool.core.date.DateUtil;
import com.ycwl.basic.mapper.ScenicMapper;
import com.ycwl.basic.mapper.StatisticsMapper;
import com.ycwl.basic.model.mobile.statistic.req.CommonQueryReq;
import com.ycwl.basic.model.mobile.statistic.resp.AppStatisticsFunnelVO;
import com.ycwl.basic.model.pc.scenic.req.ScenicReqQuery;
import com.ycwl.basic.model.pc.scenic.resp.ScenicRespVO;
import com.ycwl.basic.service.mobile.AppStatisticsService;
import com.ycwl.basic.utils.ApiResponse;
import lombok.extern.slf4j.Slf4j;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import java.util.Calendar;
import java.util.List;
@Slf4j
@SpringBootTest
@RunWith(SpringRunner.class)
public class ScenicStatsTaskTest {
@Autowired
private ScenicStatsTask task;
@Autowired
private ScenicMapper scenicMapper;
@Autowired
private AppStatisticsService statisticsService;
@Autowired
private StatisticsMapper statisticsMapper;
@Test
public void testA() {
task.countDeviceStats();
}
@Test
public void testB() {
Calendar calendar = Calendar.getInstance();
calendar.set(2025, Calendar.MAY, 1);
List<ScenicRespVO> list = scenicMapper.list(new ScenicReqQuery());
while (calendar.getTime().getTime() < System.currentTimeMillis()) {
System.out.println(calendar.getTime());
list.forEach((scenic) -> {
CommonQueryReq query = new CommonQueryReq();
query.setScenicId(scenic.getId());
query.setStartTime(DateUtil.beginOfDay(calendar.getTime()));
query.setEndTime(DateUtil.endOfDay(calendar.getTime()));
ApiResponse<AppStatisticsFunnelVO> resp = statisticsService.userConversionFunnel(query);
AppStatisticsFunnelVO data = resp.getData();
statisticsMapper.insertStat(scenic.getId(), DateUtil.beginOfDay(calendar.getTime()), data);
});
calendar.add(Calendar.DAY_OF_MONTH, 1);
}
}
}