|
|
@@ -5,7 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.mokamrp.privates.mapper.data.PanCSLTRecordMapper;
|
|
|
import com.mokamrp.privates.mapper.data.pojo.PanCSLTRecord;
|
|
|
-import com.mokamrp.privates.mapper.data.pojo.PanCSLTRecordDayTotal;
|
|
|
+import com.mokamrp.privates.mapper.data.pojo.PanCSLTRecordTotal;
|
|
|
import com.mokamrp.privates.service.data.PanCSLTRecordService;
|
|
|
import org.apache.tomcat.jni.Local;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
@@ -38,22 +38,29 @@ public class PanCSLTRecordServiceImpl extends ServiceImpl<PanCSLTRecordMapper, P
|
|
|
return res;
|
|
|
}
|
|
|
|
|
|
- public List<PanCSLTRecordDayTotal> getLongTouchPvByDay(LocalDateTime startDate,LocalDateTime endDate,Integer gapDay){
|
|
|
- List<PanCSLTRecordDayTotal> dataList = new ArrayList<>();
|
|
|
+ /**
|
|
|
+ * 指定时间范围内,天为单位的长按数据PV
|
|
|
+ * @param startDate
|
|
|
+ * @param endDate
|
|
|
+ * @param gapDay
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public List<PanCSLTRecordTotal> getLongTouchPvByDay(LocalDateTime startDate,LocalDateTime endDate,Integer gapDay){
|
|
|
+ List<PanCSLTRecordTotal> dataList = new ArrayList<>();
|
|
|
DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
|
|
//.查询时间段内所有数据
|
|
|
- List<PanCSLTRecordDayTotal> res = panCSLTRecordMapper.getDayPvTotal(startDate.plusDays(-1).toEpochSecond(ZoneOffset.of("+8")),endDate.toEpochSecond(ZoneOffset.of("+8")));
|
|
|
+ List<PanCSLTRecordTotal> res = panCSLTRecordMapper.getDayPvTotal(startDate.plusDays(-1).toEpochSecond(ZoneOffset.of("+8")),endDate.toEpochSecond(ZoneOffset.of("+8")));
|
|
|
for (Integer i = -1;i<gapDay;i++) {
|
|
|
Long date1 = startDate.plusDays(i).toEpochSecond(ZoneOffset.of("+8"));
|
|
|
LocalDateTime localDate2 = startDate.plusDays(i+1);
|
|
|
Long date2 = startDate.plusDays(i+1).toEpochSecond(ZoneOffset.of("+8"));
|
|
|
Integer cnt = 0;
|
|
|
- for(PanCSLTRecordDayTotal data : res) {
|
|
|
+ for(PanCSLTRecordTotal data : res) {
|
|
|
if (data.getTimestamp() >= date1 && data.getTimestamp() <= date2){
|
|
|
cnt++;
|
|
|
}
|
|
|
}
|
|
|
- PanCSLTRecordDayTotal total = new PanCSLTRecordDayTotal();
|
|
|
+ PanCSLTRecordTotal total = new PanCSLTRecordTotal();
|
|
|
total.setCnt(cnt);
|
|
|
total.setDate(localDate2);
|
|
|
dataList.add(total);
|
|
|
@@ -61,26 +68,102 @@ public class PanCSLTRecordServiceImpl extends ServiceImpl<PanCSLTRecordMapper, P
|
|
|
return dataList;
|
|
|
}
|
|
|
|
|
|
- public List<PanCSLTRecordDayTotal> getLongTouchUvByDay(LocalDateTime startDate,LocalDateTime endDate,Integer gapDay){
|
|
|
- List<PanCSLTRecordDayTotal> dataList = new ArrayList<>();
|
|
|
+ /**
|
|
|
+ * 指定时间范围内,天为单位的长按数据UV
|
|
|
+ * @param startDate
|
|
|
+ * @param endDate
|
|
|
+ * @param gapDay
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public List<PanCSLTRecordTotal> getLongTouchUvByDay(LocalDateTime startDate,LocalDateTime endDate,Integer gapDay){
|
|
|
+ List<PanCSLTRecordTotal> dataList = new ArrayList<>();
|
|
|
DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
|
|
//.查询时间段内所有数据
|
|
|
- List<PanCSLTRecordDayTotal> res = panCSLTRecordMapper.getDayUvTotal(startDate.plusDays(-1).toEpochSecond(ZoneOffset.of("+8")),endDate.toEpochSecond(ZoneOffset.of("+8")));
|
|
|
+ List<PanCSLTRecordTotal> res = panCSLTRecordMapper.getDayUvTotal(startDate.plusDays(-1).toEpochSecond(ZoneOffset.of("+8")),endDate.toEpochSecond(ZoneOffset.of("+8")));
|
|
|
for (Integer i = -1;i<gapDay;i++) {
|
|
|
Long date1 = startDate.plusDays(i).toEpochSecond(ZoneOffset.of("+8"));
|
|
|
LocalDateTime localDate2 = startDate.plusDays(i+1);
|
|
|
Long date2 = startDate.plusDays(i+1).toEpochSecond(ZoneOffset.of("+8"));
|
|
|
Integer cnt = 0;
|
|
|
Map<String,Boolean> uuidRecord = new HashMap<>();
|
|
|
- for(PanCSLTRecordDayTotal data : res) {
|
|
|
+ for(PanCSLTRecordTotal data : res) {
|
|
|
if (data.getTimestamp() >= date1 && data.getTimestamp() <= date2){
|
|
|
+ if (data.getUuid() == null){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ if (uuidRecord.get(data.getUuid()) == null){
|
|
|
+ cnt++;
|
|
|
+ uuidRecord.put(data.getUuid(),true);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ PanCSLTRecordTotal total = new PanCSLTRecordTotal();
|
|
|
+ total.setCnt(cnt);
|
|
|
+ total.setDate(localDate2);
|
|
|
+ dataList.add(total);
|
|
|
+ }
|
|
|
+ return dataList;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 指定时间范围内,小时为单位的长按数据PV
|
|
|
+ * @param startDate
|
|
|
+ * @param endDate
|
|
|
+ * @param gapHour
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public List<PanCSLTRecordTotal> getLongTouchPvByHour(LocalDateTime startDate, LocalDateTime endDate, Integer gapHour){
|
|
|
+ List<PanCSLTRecordTotal> dataList = new ArrayList<>();
|
|
|
+ DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
|
|
+ //.查询时间段内所有数据
|
|
|
+ List<PanCSLTRecordTotal> res = panCSLTRecordMapper.getDayPvTotal(startDate.plusHours(-1).toEpochSecond(ZoneOffset.of("+8")),endDate.toEpochSecond(ZoneOffset.of("+8")));
|
|
|
+ for (Integer i = -1;i<gapHour;i++) {
|
|
|
+ Long date1 = startDate.plusHours(i).toEpochSecond(ZoneOffset.of("+8"));
|
|
|
+ LocalDateTime localDate2 = startDate.plusHours(i+1);
|
|
|
+ Long date2 = startDate.plusHours(i+1).toEpochSecond(ZoneOffset.of("+8"));
|
|
|
+ Integer cnt = 0;
|
|
|
+ for(PanCSLTRecordTotal data : res) {
|
|
|
+ if (data.getTimestamp() >= date1 && data.getTimestamp() <= date2){
|
|
|
+ cnt++;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ PanCSLTRecordTotal total = new PanCSLTRecordTotal();
|
|
|
+ total.setCnt(cnt);
|
|
|
+ total.setDate(localDate2);
|
|
|
+ dataList.add(total);
|
|
|
+ }
|
|
|
+ return dataList;
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * 指定时间范围内,小时为单位的长按数据UV
|
|
|
+ * @param startDate
|
|
|
+ * @param endDate
|
|
|
+ * @param gapHour
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public List<PanCSLTRecordTotal> getLongTouchUvByHour(LocalDateTime startDate,LocalDateTime endDate,Integer gapHour){
|
|
|
+ List<PanCSLTRecordTotal> dataList = new ArrayList<>();
|
|
|
+ DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
|
|
+ //.查询时间段内所有数据
|
|
|
+ List<PanCSLTRecordTotal> res = panCSLTRecordMapper.getDayUvTotal(startDate.plusHours(-1).toEpochSecond(ZoneOffset.of("+8")),endDate.toEpochSecond(ZoneOffset.of("+8")));
|
|
|
+ for (Integer i = -1;i<gapHour;i++) {
|
|
|
+ Long date1 = startDate.plusHours(i).toEpochSecond(ZoneOffset.of("+8"));
|
|
|
+ LocalDateTime localDate2 = startDate.plusHours(i+1);
|
|
|
+ Long date2 = startDate.plusHours(i+1).toEpochSecond(ZoneOffset.of("+8"));
|
|
|
+ Integer cnt = 0;
|
|
|
+ Map<String,Boolean> uuidRecord = new HashMap<>();
|
|
|
+ for(PanCSLTRecordTotal data : res) {
|
|
|
+ if (data.getTimestamp() >= date1 && data.getTimestamp() <= date2){
|
|
|
+ if (data.getUuid() == null){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
if (uuidRecord.get(data.getUuid()) == null){
|
|
|
cnt++;
|
|
|
uuidRecord.put(data.getUuid(),true);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- PanCSLTRecordDayTotal total = new PanCSLTRecordDayTotal();
|
|
|
+ PanCSLTRecordTotal total = new PanCSLTRecordTotal();
|
|
|
total.setCnt(cnt);
|
|
|
total.setDate(localDate2);
|
|
|
dataList.add(total);
|