Files
FrameTour-BE/src/test/java/com/ycwl/basic/task/ScenicStatsTaskTest.java
Jerry Yan f2ac6aaea0 refactor(scenic): 重构景区相关接口和缓存机制
- 移除 ScenicMapper 接口,将相关方法移至 ScenicRepository
- 修改景区列表查询逻辑,使用 ScenicRepository 的 list 方法
- 优化景区详情获取方式,使用 ScenicRepository 的 getScenicBasic 方法
- 重构缓存机制,增加对景区基本信息的缓存
- 优化 AppScenicService 和 ScenicService接口,使用 ScenicV2DTO 替代 ScenicRespV
2025-08-27 16:37:57 +08:00

64 lines
2.4 KiB
Java

package com.ycwl.basic.task;
import cn.hutool.core.date.DateUtil;
import com.ycwl.basic.integration.scenic.dto.scenic.ScenicV2DTO;
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.repository.ScenicRepository;
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 AppStatisticsService statisticsService;
@Autowired
private StatisticsMapper statisticsMapper;
@Autowired
private ScenicRepository scenicRepository;
@Test
public void testA() {
task.countDeviceStats();
}
@Test
public void testB() {
Calendar calendar = Calendar.getInstance();
calendar.set(2025, Calendar.MAY, 1);
ScenicReqQuery query = new ScenicReqQuery();
query.setPageSize(1000);
List<ScenicV2DTO> scenicList = scenicRepository.list(query);
while (calendar.getTime().getTime() < System.currentTimeMillis()) {
System.out.println(calendar.getTime());
scenicList.forEach((scenic) -> {
Long scenicId = Long.valueOf(scenic.getId());
CommonQueryReq commonQueryReq = new CommonQueryReq();
commonQueryReq.setScenicId(scenicId);
commonQueryReq.setStartTime(DateUtil.beginOfDay(calendar.getTime()));
commonQueryReq.setEndTime(DateUtil.endOfDay(calendar.getTime()));
ApiResponse<AppStatisticsFunnelVO> resp = statisticsService.userConversionFunnel(commonQueryReq);
AppStatisticsFunnelVO data = resp.getData();
statisticsMapper.insertStat(scenicId, DateUtil.beginOfDay(calendar.getTime()), data);
});
calendar.add(Calendar.DAY_OF_MONTH, 1);
}
}
}