|
@@ -2,21 +2,16 @@ package com.pig4cloud.pig.marketing.service.impl;
|
|
|
|
|
|
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
+import com.fasterxml.jackson.databind.JsonNode;
|
|
|
+import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
import com.pig4cloud.pig.common.core.util.R;
|
|
|
+import com.pig4cloud.pig.common.core.util.ip.IPUtils;
|
|
|
import com.pig4cloud.pig.marketing.api.dto.MktMgmtPushRecordSaveDTO;
|
|
|
-import com.pig4cloud.pig.marketing.api.dto.mongo.PageDeviceInfoDTO;
|
|
|
-import com.pig4cloud.pig.marketing.api.dto.mongo.PageMessageDTO;
|
|
|
-import com.pig4cloud.pig.marketing.api.dto.mongo.SaveDeviceInfoDTO;
|
|
|
-import com.pig4cloud.pig.marketing.api.dto.mongo.SaveTcpMessageDTO;
|
|
|
-import com.pig4cloud.pig.marketing.api.dto.mongo.UserRegionStatisticsDTO;
|
|
|
+import com.pig4cloud.pig.marketing.api.dto.mongo.*;
|
|
|
import com.pig4cloud.pig.marketing.api.entity.mongo.Device;
|
|
|
import com.pig4cloud.pig.marketing.api.entity.mongo.Message;
|
|
|
import com.pig4cloud.pig.marketing.api.service.MktMgmtHandPushService;
|
|
|
-import com.pig4cloud.pig.marketing.api.vo.mongo.OnlineUserVO;
|
|
|
-import com.pig4cloud.pig.marketing.api.vo.mongo.PageDeviceInfoVO;
|
|
|
-import com.pig4cloud.pig.marketing.api.vo.mongo.UserStatisticsVO;
|
|
|
-import com.pig4cloud.pig.marketing.api.vo.mongo.UserRegionStatisticsVO;
|
|
|
-import com.pig4cloud.pig.marketing.api.vo.mongo.RegionStatisticsItem;
|
|
|
+import com.pig4cloud.pig.marketing.api.vo.mongo.*;
|
|
|
import com.pig4cloud.pig.marketing.config.UserStatisticsConfig;
|
|
|
import com.pig4cloud.pig.marketing.repository.MessageRepository;
|
|
|
import com.pig4cloud.pig.marketing.service.MktMgmtPushRecordService;
|
|
@@ -37,14 +32,11 @@ import org.springframework.data.mongodb.core.query.Criteria;
|
|
|
import org.springframework.data.mongodb.core.query.Query;
|
|
|
import org.springframework.data.mongodb.core.query.Update;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
-import com.pig4cloud.pig.common.core.util.ip.IPUtils;
|
|
|
|
|
|
import java.time.LocalDateTime;
|
|
|
import java.time.format.DateTimeFormatter;
|
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
-import com.fasterxml.jackson.databind.JsonNode;
|
|
|
-import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
|
|
|
/**
|
|
|
* @author: lwh
|
|
@@ -84,6 +76,10 @@ import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
*/
|
|
|
@Override
|
|
|
public String saveOrUpdateDevice(SaveDeviceInfoDTO reqDto) {
|
|
|
+ if (reqDto.getClientIp() != null) {
|
|
|
+ reqDto.setClientIp(reqDto.getClientIp().split(":")[0]);
|
|
|
+ }
|
|
|
+
|
|
|
// 根据客户端ID查询设备信息
|
|
|
Query query = new Query(Criteria.where("clientID").is(reqDto.getClientID()));
|
|
|
Device existingDevice = mongoTemplate.findOne(query, Device.class);
|
|
@@ -94,6 +90,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
device.setClientID(reqDto.getClientID());
|
|
|
device.setDeviceInfo(reqDto.getDeviceInfo());
|
|
|
device.setHeadInfo(reqDto.getHeadInfo());
|
|
|
+ device.setClientIp(reqDto.getClientIp());
|
|
|
// 设置创建时间和更新时间为当前时间的字符串格式
|
|
|
String currentTime = LocalDateTime.now().format(DATE_TIME_FORMATTER);
|
|
|
device.setCreateTime(currentTime);
|
|
@@ -124,6 +121,8 @@ import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
// 设置更新时间为当前时间的字符串格式
|
|
|
update.set("updateTime", LocalDateTime.now().format(DATE_TIME_FORMATTER));
|
|
|
|
|
|
+ update.set("clientIp", reqDto.getClientIp());
|
|
|
+
|
|
|
mongoTemplate.updateFirst(query, update, Device.class);
|
|
|
|
|
|
return existingDevice.getId();
|
|
@@ -422,11 +421,14 @@ import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
*/
|
|
|
@Override
|
|
|
public String saveMessage(SaveTcpMessageDTO reqDto) {
|
|
|
-
|
|
|
+ if (reqDto.getClientIp() != null) {
|
|
|
+ reqDto.setClientIp(reqDto.getClientIp().split(":")[0]);
|
|
|
+ }
|
|
|
|
|
|
Message message = new Message();
|
|
|
message.setClientID(reqDto.getClientID());
|
|
|
message.setMsgData(reqDto.getMsgData());
|
|
|
+ message.setClientIp(reqDto.getClientIp());
|
|
|
message.setReportTime(LocalDateTime.now().format(DATE_TIME_FORMATTER));
|
|
|
Message save = messageRepository.save(message);
|
|
|
MktMgmtPushRecordSaveDTO saveRecordDTO = new MktMgmtPushRecordSaveDTO();
|
|
@@ -447,7 +449,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
syncActiveUserData(device);
|
|
|
}
|
|
|
|
|
|
- log.info("保存推送记录:{}", s);
|
|
|
+ log.info("保存推送记录:{}--{}", s,hand);
|
|
|
return save.getId();
|
|
|
}
|
|
|
|