You've already forked FrameTour-BE
refactor(scenic): 重构景区相关接口和缓存机制
- 移除 ScenicMapper 接口,将相关方法移至 ScenicRepository - 修改景区列表查询逻辑,使用 ScenicRepository 的 list 方法 - 优化景区详情获取方式,使用 ScenicRepository 的 getScenicBasic 方法 - 重构缓存机制,增加对景区基本信息的缓存 - 优化 AppScenicService 和 ScenicService接口,使用 ScenicV2DTO 替代 ScenicRespV
This commit is contained in:
@@ -1,12 +1,13 @@
|
||||
package com.ycwl.basic.task;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.ycwl.basic.mapper.ScenicMapper;
|
||||
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;
|
||||
@@ -27,11 +28,11 @@ public class ScenicStatsTaskTest {
|
||||
@Autowired
|
||||
private ScenicStatsTask task;
|
||||
@Autowired
|
||||
private ScenicMapper scenicMapper;
|
||||
@Autowired
|
||||
private AppStatisticsService statisticsService;
|
||||
@Autowired
|
||||
private StatisticsMapper statisticsMapper;
|
||||
@Autowired
|
||||
private ScenicRepository scenicRepository;
|
||||
|
||||
@Test
|
||||
public void testA() {
|
||||
@@ -42,17 +43,20 @@ public class ScenicStatsTaskTest {
|
||||
public void testB() {
|
||||
Calendar calendar = Calendar.getInstance();
|
||||
calendar.set(2025, Calendar.MAY, 1);
|
||||
List<ScenicRespVO> list = scenicMapper.list(new ScenicReqQuery());
|
||||
ScenicReqQuery query = new ScenicReqQuery();
|
||||
query.setPageSize(1000);
|
||||
List<ScenicV2DTO> scenicList = scenicRepository.list(query);
|
||||
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);
|
||||
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(scenic.getId(), DateUtil.beginOfDay(calendar.getTime()), data);
|
||||
statisticsMapper.insertStat(scenicId, DateUtil.beginOfDay(calendar.getTime()), data);
|
||||
});
|
||||
calendar.add(Calendar.DAY_OF_MONTH, 1);
|
||||
}
|
||||
|
Reference in New Issue
Block a user