generated from root/miduo_server
82 lines
2.9 KiB
Java
82 lines
2.9 KiB
Java
package com.jmfy.controller;
|
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
import com.jmfy.Application;
|
|
import com.jmfy.dao.MongoConnectDao;
|
|
import com.jmfy.model.BuriedPoint;
|
|
import com.mongodb.BasicDBObject;
|
|
import com.mongodb.DBCollection;
|
|
import com.mongodb.DBObject;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.springframework.data.mongodb.core.MongoTemplate;
|
|
import org.springframework.data.mongodb.core.query.Criteria;
|
|
import org.springframework.data.mongodb.core.query.Query;
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
import org.springframework.web.bind.annotation.RequestMethod;
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
|
import javax.annotation.Resource;
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
|
@RestController
|
|
public class BuriedPointController {
|
|
|
|
private static final Logger LOGGER = LoggerFactory.getLogger(BuriedPointController.class);
|
|
|
|
private static final String _COLLECTION_NAME = "user_buried_point";
|
|
|
|
@Resource
|
|
private MongoConnectDao mongoConnectDao;
|
|
|
|
/**
|
|
* 埋点排重(之前没有添加,有查询)
|
|
* @param channel
|
|
* @param userId
|
|
* @param point
|
|
* @param response
|
|
* testUrl: http://34.87.3.216:8081/idip/sfzb/point/buriedPoint?channel=baidu&userId=2020125&point=aaaaaaa
|
|
*/
|
|
@RequestMapping(value = "/point/buriedPoint", method = {RequestMethod.GET, RequestMethod.POST})
|
|
public void buriedPoint(String channel, String userId, String point, HttpServletResponse response){
|
|
|
|
try {
|
|
MongoTemplate mongoTemplate = mongoConnectDao.getConnect().getMongoTemplete(Application.coreDb);
|
|
|
|
String channelUserId = channel + userId;
|
|
|
|
DBObject doc = new BasicDBObject();
|
|
doc.put("channelUserId",channelUserId);
|
|
doc.put("channel", channel);
|
|
doc.put("userId", userId);
|
|
doc.put("point", point);
|
|
|
|
//查询
|
|
Query query = new Query();
|
|
Criteria cr = new Criteria();
|
|
cr.andOperator(Criteria.where("channelUserId").is(channelUserId));
|
|
query.addCriteria(cr);
|
|
BuriedPoint buriedPoint = mongoTemplate.findOne(query, BuriedPoint.class);
|
|
|
|
boolean isPoint = false;
|
|
//埋点过
|
|
if(buriedPoint == null) {
|
|
//存储
|
|
mongoTemplate = mongoConnectDao.getConnect().getMongoTemplete(Application.coreDb);
|
|
DBCollection dBCollection = mongoTemplate.getCollection(_COLLECTION_NAME);
|
|
dBCollection.save(doc);
|
|
}else {
|
|
isPoint = true;
|
|
}
|
|
|
|
JSONObject obj1 = new JSONObject();
|
|
obj1.put("isPoint", isPoint);
|
|
response.setContentType("application/json");
|
|
response.getOutputStream().write(obj1.toJSONString().getBytes());
|
|
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
}
|