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

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

pv uv 提交

parent 7152b904
...@@ -213,6 +213,26 @@ public class KylinOrderTickets implements Serializable, Cloneable { ...@@ -213,6 +213,26 @@ public class KylinOrderTickets implements Serializable, Cloneable {
*/ */
private String comment; 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; ...@@ -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.KylinFieldsVo;
import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketTimesVo; 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.middle.KylinTicketVo;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderRefundEntitiesVo; import com.liquidnet.service.kylin.dto.vo.mongo.*;
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.returns.*; import com.liquidnet.service.kylin.dto.vo.returns.*;
import com.liquidnet.service.kylin.entity.*; import com.liquidnet.service.kylin.entity.*;
import com.liquidnet.service.kylin.service.IKylinOrderTicketsService; import com.liquidnet.service.kylin.service.IKylinOrderTicketsService;
...@@ -833,9 +830,10 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService { ...@@ -833,9 +830,10 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
orderTickets.setPayType(orderTicketVo.getPayType()); orderTickets.setPayType(orderTicketVo.getPayType());
orderTickets.setPayCode(orderTicketVo.getPayCode()); orderTickets.setPayCode(orderTicketVo.getPayCode());
KylinIpAreaVo vo = dataUtils.getKylinIpAreaVo(CurrentUtil.getCliIpAddr());
sqls.add(SqlMapping.get("kylin_order_ticket.add")); sqls.add(SqlMapping.get("kylin_order_ticket.add"));
LinkedList<Object[]> sqlsDataA = CollectionUtil.linkedListObjectArr(); 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 //删除被转赠订单独立redis
dataUtils.delTransferOrder(uid); dataUtils.delTransferOrder(uid);
// 生成vo // 生成vo
......
...@@ -3,6 +3,7 @@ package com.liquidnet.service.kylin.utils; ...@@ -3,6 +3,7 @@ package com.liquidnet.service.kylin.utils;
import com.liquidnet.common.cache.redis.util.RedisUtil; import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.CollectionUtil; import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.commons.lang.util.DateUtil; 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.adam.constant.AdamRedisConst;
import com.liquidnet.service.kylin.constant.KylinRedisConst; import com.liquidnet.service.kylin.constant.KylinRedisConst;
import com.liquidnet.service.kylin.constant.KylinTableStatusConst; import com.liquidnet.service.kylin.constant.KylinTableStatusConst;
...@@ -788,4 +789,19 @@ public class DataUtils { ...@@ -788,4 +789,19 @@ public class DataUtils {
String redisKey = KylinRedisConst.ORDER_REFUND_EXPRESS_INFO.concat(orderId); String redisKey = KylinRedisConst.ORDER_REFUND_EXPRESS_INFO.concat(orderId);
return (KylinOrderExpressVo) redisUtil.get(redisKey); 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; ...@@ -3,6 +3,7 @@ package com.liquidnet.service.kylin.utils;
import com.liquidnet.commons.lang.util.CollectionUtil; import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.service.base.SqlMapping; import com.liquidnet.service.base.SqlMapping;
import com.liquidnet.service.base.constant.MQConst; 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.beans.factory.annotation.Autowired;
import org.springframework.data.redis.connection.stream.StreamRecords; import org.springframework.data.redis.connection.stream.StreamRecords;
import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.data.redis.core.StringRedisTemplate;
...@@ -18,6 +19,8 @@ public class QueueUtils { ...@@ -18,6 +19,8 @@ public class QueueUtils {
// private RabbitTemplate rabbitTemplate; // private RabbitTemplate rabbitTemplate;
@Autowired @Autowired
StringRedisTemplate stringRedisTemplate; StringRedisTemplate stringRedisTemplate;
@Autowired
DataUtils dataUtils;
/** /**
* 发送消息 - RABBIT * 发送消息 - RABBIT
...@@ -44,6 +47,11 @@ public class QueueUtils { ...@@ -44,6 +47,11 @@ public class QueueUtils {
public void pushPvUv(String uid, String accessType, String performanceId, String orderId, String orderCode, String ipAddress) { public void pushPvUv(String uid, String accessType, String performanceId, String orderId, String orderCode, String ipAddress) {
try { 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(), sendMsgByRedis(MQConst.KylinQueue.SQL_PERFORMANCE_LACK.getKey(),
SqlMapping.get("bi_ticket_access_records.insert", new Object[]{ SqlMapping.get("bi_ticket_access_records.insert", new Object[]{
uid, accessType, performanceId, orderId, orderCode, uid, accessType, performanceId, orderId, orderCode,
......
...@@ -18,6 +18,7 @@ import com.liquidnet.service.kylin.dto.param.SyncOrderDtoParam; ...@@ -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.param.SyncOrderParam;
import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketTimesVo; 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.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.KylinOrderTicketEntitiesVo;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketVo; 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.KylinPerformanceVo;
...@@ -642,9 +643,10 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ ...@@ -642,9 +643,10 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
payResultVo.setData(payInnerResultVo); payResultVo.setData(payInnerResultVo);
} }
KylinIpAreaVo vo = dataUtils.getKylinIpAreaVo(CurrentUtil.getCliIpAddr());
sqls.add(SqlMapping.get("kylin_order_ticket.add")); sqls.add(SqlMapping.get("kylin_order_ticket.add"));
LinkedList<Object[]> sqlsDataA = ObjectUtil.cloneLinkedListObj(); 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 // 生成vo
KylinOrderTicketVo orderTicketVo = KylinOrderTicketVo.getNew(); KylinOrderTicketVo orderTicketVo = KylinOrderTicketVo.getNew();
orderTicketVo.setOrderTicket(orderTickets); orderTicketVo.setOrderTicket(orderTickets);
......
...@@ -2,6 +2,7 @@ package com.liquidnet.service.order.utils; ...@@ -2,6 +2,7 @@ package com.liquidnet.service.order.utils;
import com.liquidnet.common.cache.redis.util.RedisUtil; import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.DateUtil; 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.constant.KylinRedisConst;
import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketTimesVo; 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.middle.KylinTicketVo;
...@@ -70,13 +71,13 @@ public class DataUtils { ...@@ -70,13 +71,13 @@ public class DataUtils {
public List<KylinOrderListVo> getOrderList(String userId) { public List<KylinOrderListVo> getOrderList(String userId) {
Object obj = redisUtil.get(KylinRedisConst.ORDER_LIST + userId); Object obj = redisUtil.get(KylinRedisConst.ORDER_LIST + userId);
if (obj!=null) { if (obj != null) {
return (List<KylinOrderListVo>)obj; return (List<KylinOrderListVo>) obj;
} else { } else {
List<KylinOrderListVo> voList = mongoTemplate.find(Query.query(Criteria.where("userId").is(userId)) List<KylinOrderListVo> voList = mongoTemplate.find(Query.query(Criteria.where("userId").is(userId))
.with(Sort.by(Sort.Direction.DESC, "createdAt")).limit(40), .with(Sort.by(Sort.Direction.DESC, "createdAt")).limit(40),
KylinOrderListVo.class, KylinOrderTicketVo.class.getSimpleName()); KylinOrderListVo.class, KylinOrderTicketVo.class.getSimpleName());
for (KylinOrderListVo item : voList){ for (KylinOrderListVo item : voList) {
item.setStatus(item.getStatus()); item.setStatus(item.getStatus());
} }
redisUtil.set(KylinRedisConst.ORDER_LIST + userId, voList); redisUtil.set(KylinRedisConst.ORDER_LIST + userId, voList);
...@@ -92,7 +93,7 @@ public class DataUtils { ...@@ -92,7 +93,7 @@ public class DataUtils {
*/ */
public KylinOrderTicketVo getOrderTicketVo(String orderId) { public KylinOrderTicketVo getOrderTicketVo(String orderId) {
Object obj = redisUtil.get(KylinRedisConst.ORDER + orderId); Object obj = redisUtil.get(KylinRedisConst.ORDER + orderId);
if (obj!=null) { if (obj != null) {
return (KylinOrderTicketVo) obj; return (KylinOrderTicketVo) obj;
} else { } else {
KylinOrderTicketVo ticketData = mongoTemplate.findOne(Query.query(Criteria.where("orderTicketsId").is(orderId)), KylinOrderTicketVo.class, KylinOrderTicketVo.class.getSimpleName()); KylinOrderTicketVo ticketData = mongoTemplate.findOne(Query.query(Criteria.where("orderTicketsId").is(orderId)), KylinOrderTicketVo.class, KylinOrderTicketVo.class.getSimpleName());
...@@ -213,8 +214,8 @@ public class DataUtils { ...@@ -213,8 +214,8 @@ public class DataUtils {
*/ */
public KylinPerformanceVo getPerformanceVo(String performanceId) { public KylinPerformanceVo getPerformanceVo(String performanceId) {
Object obj = redisUtil.get(KylinRedisConst.PERFORMANCES + performanceId); Object obj = redisUtil.get(KylinRedisConst.PERFORMANCES + performanceId);
if (obj!=null) { if (obj != null) {
return (KylinPerformanceVo)obj; return (KylinPerformanceVo) obj;
} else { } else {
KylinPerformanceVo performanceData = mongoTemplate.findOne(Query.query(Criteria.where("performancesId").is(performanceId)), KylinPerformanceVo.class, KylinPerformanceVo.class.getSimpleName()); KylinPerformanceVo performanceData = mongoTemplate.findOne(Query.query(Criteria.where("performancesId").is(performanceId)), KylinPerformanceVo.class, KylinPerformanceVo.class.getSimpleName());
redisUtil.set(KylinRedisConst.PERFORMANCES + performanceId, performanceData); redisUtil.set(KylinRedisConst.PERFORMANCES + performanceId, performanceData);
...@@ -229,22 +230,22 @@ public class DataUtils { ...@@ -229,22 +230,22 @@ public class DataUtils {
*/ */
public int getPerformanceIsTrueName(String performanceId) { public int getPerformanceIsTrueName(String performanceId) {
Object obj = redisUtil.get(KylinRedisConst.PERFORMANCES_TRUE_NAME + performanceId); Object obj = redisUtil.get(KylinRedisConst.PERFORMANCES_TRUE_NAME + performanceId);
if (obj!=null) { if (obj != null) {
return (int)obj; return (int) obj;
}else{ } else {
int isTrueName = getPerformanceVo(performanceId).getIsTrueName(); int isTrueName = getPerformanceVo(performanceId).getIsTrueName();
redisUtil.set(KylinRedisConst.PERFORMANCES_TRUE_NAME + performanceId,isTrueName); redisUtil.set(KylinRedisConst.PERFORMANCES_TRUE_NAME + performanceId, isTrueName);
return 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); 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); String redisKey = KylinRedisConst.ORDER_COUPON.concat(orderId);
Object obj = redisUtil.get(redisKey); Object obj = redisUtil.get(redisKey);
if (obj == null) { if (obj == null) {
...@@ -254,4 +255,19 @@ public class DataUtils { ...@@ -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; ...@@ -2,6 +2,7 @@ package com.liquidnet.service.order.utils;
import com.liquidnet.service.base.SqlMapping; import com.liquidnet.service.base.SqlMapping;
import com.liquidnet.service.base.constant.MQConst; 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.beans.factory.annotation.Autowired;
import org.springframework.data.redis.connection.stream.StreamRecords; import org.springframework.data.redis.connection.stream.StreamRecords;
import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.data.redis.core.StringRedisTemplate;
...@@ -17,6 +18,8 @@ public class QueueUtils { ...@@ -17,6 +18,8 @@ public class QueueUtils {
// private RabbitTemplate rabbitTemplate; // private RabbitTemplate rabbitTemplate;
@Autowired @Autowired
StringRedisTemplate stringRedisTemplate; StringRedisTemplate stringRedisTemplate;
@Autowired
DataUtils dataUtils;
/** /**
* 发送 SqlMapping Json 字符串 * 发送 SqlMapping Json 字符串
...@@ -43,6 +46,11 @@ public class QueueUtils { ...@@ -43,6 +46,11 @@ public class QueueUtils {
public void pushPvUv(String uid, String accessType, String performanceId, String orderId, String orderCode, String ipAddress) { public void pushPvUv(String uid, String accessType, String performanceId, String orderId, String orderCode, String ipAddress) {
try { 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(), sendMsgByRedis(MQConst.KylinQueue.SQL_PERFORMANCE_LACK.getKey(),
SqlMapping.get("bi_ticket_access_records.insert", new Object[]{ SqlMapping.get("bi_ticket_access_records.insert", new Object[]{
uid, accessType, performanceId, orderId, orderCode, 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