|
|
@@ -5,14 +5,25 @@ 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.service.data.PanCSLTRecordService;
|
|
|
+import org.apache.tomcat.jni.Local;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
-import java.util.List;
|
|
|
+import java.time.LocalDate;
|
|
|
+import java.time.LocalDateTime;
|
|
|
+import java.time.ZoneId;
|
|
|
+import java.time.ZoneOffset;
|
|
|
+import java.time.format.DateTimeFormatter;
|
|
|
+import java.util.*;
|
|
|
|
|
|
@Service
|
|
|
@DS("datadb")
|
|
|
public class PanCSLTRecordServiceImpl extends ServiceImpl<PanCSLTRecordMapper, PanCSLTRecord> implements PanCSLTRecordService {
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ public PanCSLTRecordMapper panCSLTRecordMapper;
|
|
|
/**
|
|
|
* 获取客服码长按次数
|
|
|
* @return
|
|
|
@@ -26,5 +37,59 @@ public class PanCSLTRecordServiceImpl extends ServiceImpl<PanCSLTRecordMapper, P
|
|
|
System.out.println(res);
|
|
|
return res;
|
|
|
}
|
|
|
+
|
|
|
+ public List<PanCSLTRecordDayTotal> getLongTouchPvByDay(LocalDateTime startDate,LocalDateTime endDate,Integer gapDay){
|
|
|
+ List<PanCSLTRecordDayTotal> 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")));
|
|
|
+ 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) {
|
|
|
+ if (data.getTimestamp() >= date1 && data.getTimestamp() <= date2){
|
|
|
+ cnt++;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ PanCSLTRecordDayTotal total = new PanCSLTRecordDayTotal();
|
|
|
+ total.setCnt(cnt);
|
|
|
+ total.setDate(localDate2);
|
|
|
+ dataList.add(total);
|
|
|
+ }
|
|
|
+ return dataList;
|
|
|
+ }
|
|
|
+
|
|
|
+ public List<PanCSLTRecordDayTotal> getLongTouchUvByDay(LocalDateTime startDate,LocalDateTime endDate,Integer gapDay){
|
|
|
+ List<PanCSLTRecordDayTotal> 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")));
|
|
|
+ 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) {
|
|
|
+ if (data.getTimestamp() >= date1 && data.getTimestamp() <= date2){
|
|
|
+ if (uuidRecord.get(data.getUuid()) == null){
|
|
|
+ cnt++;
|
|
|
+ uuidRecord.put(data.getUuid(),true);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ PanCSLTRecordDayTotal total = new PanCSLTRecordDayTotal();
|
|
|
+ total.setCnt(cnt);
|
|
|
+ total.setDate(localDate2);
|
|
|
+ dataList.add(total);
|
|
|
+ }
|
|
|
+ return dataList;
|
|
|
+ }
|
|
|
+
|
|
|
+// public List<PanCSLTRecord> getLongTouchUvByDay(){
|
|
|
+//
|
|
|
+// }
|
|
|
}
|
|
|
|