记得上下班打卡 | git大法好,push需谨慎

Commit bc708c59 authored by 胡佳晨's avatar 胡佳晨

pv uv 提交

parent 7152b904
......@@ -213,6 +213,26 @@ public class KylinOrderTickets implements Serializable, Cloneable {
*/
private String comment;
/**
* comment
*/
private String area;
/**
* Province
*/
private String areaProvince;
/**
* City
*/
private String areaCity;
/**
* County
*/
private String areaCounty;
/**
* 创建时间
*/
......
......@@ -14,10 +14,7 @@ import com.liquidnet.service.kylin.constant.KylinTableStatusConst;
import com.liquidnet.service.kylin.dto.vo.KylinFieldsVo;
import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketTimesVo;
import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketVo;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderRefundEntitiesVo;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketEntitiesVo;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketVo;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo;
import com.liquidnet.service.kylin.dto.vo.mongo.*;
import com.liquidnet.service.kylin.dto.vo.returns.*;
import com.liquidnet.service.kylin.entity.*;
import com.liquidnet.service.kylin.service.IKylinOrderTicketsService;
......@@ -833,9 +830,10 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
orderTickets.setPayType(orderTicketVo.getPayType());
orderTickets.setPayCode(orderTicketVo.getPayCode());
KylinIpAreaVo vo = dataUtils.getKylinIpAreaVo(CurrentUtil.getCliIpAddr());
sqls.add(SqlMapping.get("kylin_order_ticket.add"));
LinkedList<Object[]> sqlsDataA = CollectionUtil.linkedListObjectArr();
sqlsDataA.add(orderTickets.getAddObject(CurrentUtil.getCliIpAddr()));
sqlsDataA.add(orderTickets.getAddObject(CurrentUtil.getCliIpAddr(), vo.getArea(), vo.getProvince(), vo.getCity(), vo.getCounty()));
//删除被转赠订单独立redis
dataUtils.delTransferOrder(uid);
// 生成vo
......
......@@ -3,6 +3,7 @@ package com.liquidnet.service.kylin.utils;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.commons.lang.util.IPUtil;
import com.liquidnet.service.adam.constant.AdamRedisConst;
import com.liquidnet.service.kylin.constant.KylinRedisConst;
import com.liquidnet.service.kylin.constant.KylinTableStatusConst;
......@@ -788,4 +789,19 @@ public class DataUtils {
String redisKey = KylinRedisConst.ORDER_REFUND_EXPRESS_INFO.concat(orderId);
return (KylinOrderExpressVo) redisUtil.get(redisKey);
}
public KylinIpAreaVo getKylinIpAreaVo(String ipAddress) {
List<KylinIpAreaVo> data = mongoTemplate.find(Query.query(Criteria.where("ipBeginLong").lte(IPUtil.ipToLong(ipAddress))
.and("ipEndLong").gte(IPUtil.ipToLong(ipAddress))), KylinIpAreaVo.class, KylinIpAreaVo.class.getSimpleName());
if(data==null || data.size()==0){
KylinIpAreaVo data0 = KylinIpAreaVo.getNew();
data0.setArea("未知");
data0.setCity("未知");
data0.setCounty("未知");
data0.setProvince("未知");
return data0;
}else{
return data.get(0);
}
}
}
......@@ -3,6 +3,7 @@ package com.liquidnet.service.kylin.utils;
import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.service.base.SqlMapping;
import com.liquidnet.service.base.constant.MQConst;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinIpAreaVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.connection.stream.StreamRecords;
import org.springframework.data.redis.core.StringRedisTemplate;
......@@ -18,6 +19,8 @@ public class QueueUtils {
// private RabbitTemplate rabbitTemplate;
@Autowired
StringRedisTemplate stringRedisTemplate;
@Autowired
DataUtils dataUtils;
/**
* 发送消息 - RABBIT
......@@ -44,6 +47,11 @@ public class QueueUtils {
public void pushPvUv(String uid, String accessType, String performanceId, String orderId, String orderCode, String ipAddress) {
try {
KylinIpAreaVo vo = dataUtils.getKylinIpAreaVo(ipAddress);
String area = vo.getArea();
String areaProvince = vo.getProvince();
String areaCity = vo.getCity();
String areaCounty = vo.getCounty();
sendMsgByRedis(MQConst.KylinQueue.SQL_PERFORMANCE_LACK.getKey(),
SqlMapping.get("bi_ticket_access_records.insert", new Object[]{
uid, accessType, performanceId, orderId, orderCode,
......
......@@ -18,6 +18,7 @@ import com.liquidnet.service.kylin.dto.param.SyncOrderDtoParam;
import com.liquidnet.service.kylin.dto.param.SyncOrderParam;
import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketTimesVo;
import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketVo;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinIpAreaVo;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketEntitiesVo;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketVo;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo;
......@@ -642,9 +643,10 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
payResultVo.setData(payInnerResultVo);
}
KylinIpAreaVo vo = dataUtils.getKylinIpAreaVo(CurrentUtil.getCliIpAddr());
sqls.add(SqlMapping.get("kylin_order_ticket.add"));
LinkedList<Object[]> sqlsDataA = ObjectUtil.cloneLinkedListObj();
sqlsDataA.add(orderTickets.getAddObject(CurrentUtil.getCliIpAddr()));
sqlsDataA.add(orderTickets.getAddObject(CurrentUtil.getCliIpAddr(),vo.getArea(),vo.getProvince(),vo.getCity(),vo.getCounty()));
// 生成vo
KylinOrderTicketVo orderTicketVo = KylinOrderTicketVo.getNew();
orderTicketVo.setOrderTicket(orderTickets);
......
......@@ -2,6 +2,7 @@ package com.liquidnet.service.order.utils;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.commons.lang.util.IPUtil;
import com.liquidnet.service.kylin.constant.KylinRedisConst;
import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketTimesVo;
import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketVo;
......@@ -70,13 +71,13 @@ public class DataUtils {
public List<KylinOrderListVo> getOrderList(String userId) {
Object obj = redisUtil.get(KylinRedisConst.ORDER_LIST + userId);
if (obj!=null) {
return (List<KylinOrderListVo>)obj;
if (obj != null) {
return (List<KylinOrderListVo>) obj;
} else {
List<KylinOrderListVo> voList = mongoTemplate.find(Query.query(Criteria.where("userId").is(userId))
.with(Sort.by(Sort.Direction.DESC, "createdAt")).limit(40),
KylinOrderListVo.class, KylinOrderTicketVo.class.getSimpleName());
for (KylinOrderListVo item : voList){
for (KylinOrderListVo item : voList) {
item.setStatus(item.getStatus());
}
redisUtil.set(KylinRedisConst.ORDER_LIST + userId, voList);
......@@ -92,7 +93,7 @@ public class DataUtils {
*/
public KylinOrderTicketVo getOrderTicketVo(String orderId) {
Object obj = redisUtil.get(KylinRedisConst.ORDER + orderId);
if (obj!=null) {
if (obj != null) {
return (KylinOrderTicketVo) obj;
} else {
KylinOrderTicketVo ticketData = mongoTemplate.findOne(Query.query(Criteria.where("orderTicketsId").is(orderId)), KylinOrderTicketVo.class, KylinOrderTicketVo.class.getSimpleName());
......@@ -213,8 +214,8 @@ public class DataUtils {
*/
public KylinPerformanceVo getPerformanceVo(String performanceId) {
Object obj = redisUtil.get(KylinRedisConst.PERFORMANCES + performanceId);
if (obj!=null) {
return (KylinPerformanceVo)obj;
if (obj != null) {
return (KylinPerformanceVo) obj;
} else {
KylinPerformanceVo performanceData = mongoTemplate.findOne(Query.query(Criteria.where("performancesId").is(performanceId)), KylinPerformanceVo.class, KylinPerformanceVo.class.getSimpleName());
redisUtil.set(KylinRedisConst.PERFORMANCES + performanceId, performanceData);
......@@ -229,22 +230,22 @@ public class DataUtils {
*/
public int getPerformanceIsTrueName(String performanceId) {
Object obj = redisUtil.get(KylinRedisConst.PERFORMANCES_TRUE_NAME + performanceId);
if (obj!=null) {
return (int)obj;
}else{
if (obj != null) {
return (int) obj;
} else {
int isTrueName = getPerformanceVo(performanceId).getIsTrueName();
redisUtil.set(KylinRedisConst.PERFORMANCES_TRUE_NAME + performanceId,isTrueName);
redisUtil.set(KylinRedisConst.PERFORMANCES_TRUE_NAME + performanceId, isTrueName);
return isTrueName;
}
}
public void setOrderCoupon(String orderId, List<KylinOrderCoupons> bean){
public void setOrderCoupon(String orderId, List<KylinOrderCoupons> bean) {
String redisKey = KylinRedisConst.ORDER_COUPON.concat(orderId);
redisUtil.set(redisKey,bean);
redisUtil.set(redisKey, bean);
}
// 获取订单券的使用情况
public ArrayList<KylinOrderCoupons> getOrderCoupon(String orderId){
public ArrayList<KylinOrderCoupons> getOrderCoupon(String orderId) {
String redisKey = KylinRedisConst.ORDER_COUPON.concat(orderId);
Object obj = redisUtil.get(redisKey);
if (obj == null) {
......@@ -254,4 +255,19 @@ public class DataUtils {
}
}
public KylinIpAreaVo getKylinIpAreaVo(String ipAddress) {
List<KylinIpAreaVo> data = mongoTemplate.find(Query.query(Criteria.where("ipBeginLong").lte(IPUtil.ipToLong(ipAddress))
.and("ipEndLong").gte(IPUtil.ipToLong(ipAddress))), KylinIpAreaVo.class, KylinIpAreaVo.class.getSimpleName());
if(data==null || data.size()==0){
KylinIpAreaVo data0 = KylinIpAreaVo.getNew();
data0.setArea("未知");
data0.setCity("未知");
data0.setCounty("未知");
data0.setProvince("未知");
return data0;
}else{
return data.get(0);
}
}
}
......@@ -2,6 +2,7 @@ package com.liquidnet.service.order.utils;
import com.liquidnet.service.base.SqlMapping;
import com.liquidnet.service.base.constant.MQConst;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinIpAreaVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.connection.stream.StreamRecords;
import org.springframework.data.redis.core.StringRedisTemplate;
......@@ -17,6 +18,8 @@ public class QueueUtils {
// private RabbitTemplate rabbitTemplate;
@Autowired
StringRedisTemplate stringRedisTemplate;
@Autowired
DataUtils dataUtils;
/**
* 发送 SqlMapping Json 字符串
......@@ -43,6 +46,11 @@ public class QueueUtils {
public void pushPvUv(String uid, String accessType, String performanceId, String orderId, String orderCode, String ipAddress) {
try {
KylinIpAreaVo vo = dataUtils.getKylinIpAreaVo(ipAddress);
String area = vo.getArea();
String areaProvince = vo.getProvince();
String areaCity = vo.getCity();
String areaCounty = vo.getCounty();
sendMsgByRedis(MQConst.KylinQueue.SQL_PERFORMANCE_LACK.getKey(),
SqlMapping.get("bi_ticket_access_records.insert", new Object[]{
uid, accessType, performanceId, orderId, orderCode,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment