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

Commit 83e68bb6 authored by 胡佳晨's avatar 胡佳晨

提交 mongo 订单列表

parent 2f1c7ec2
......@@ -13,6 +13,7 @@ public class KylinRedisConst {
public static final String TIMES = "kylin:times:id:";
public static final String BANNERS = "kylin:banners:id:";
public static final String AGENT = "kylin:agent:info";
public static final String ORDER_LIST = "kylin:order:list:userId:";
public static final String ENTER_INFO = "kylin:enter:info:id:";//入场须知
......
......@@ -160,17 +160,17 @@
<span>库存总量:</span>
<span th:text="${dict2.totalGeneral}"></span>
</div>
<div>
<span>售票状态:</span>
<span th:if="${dict2.status == 1}">审核中</span>
<span th:if="${dict2.status == 3}">审核通过</span>
<span th:if="${dict2.status == 4}">未通过</span>
<span th:if="${dict2.status == 6}">在售</span>
<span th:if="${dict2.status == 7}">下架</span>
<span th:if="${dict2.status == 8}">售罄</span>
<span th:if="${dict2.status == 9}">未开始</span>
<span th:if="${dict2.status == 10}">已结束</span>
</div>
<!-- <div>-->
<!-- <span>售票状态:</span>-->
<!-- <span th:if="${dict2.status == 1}">审核中</span>-->
<!-- <span th:if="${dict2.status == 3}">审核通过</span>-->
<!-- <span th:if="${dict2.status == 4}">未通过</span>-->
<!-- <span th:if="${dict2.status == 6}">在售</span>-->
<!-- <span th:if="${dict2.status == 7}">下架</span>-->
<!-- <span th:if="${dict2.status == 8}">售罄</span>-->
<!-- <span th:if="${dict2.status == 9}">未开始</span>-->
<!-- <span th:if="${dict2.status == 10}">已结束</span>-->
<!-- </div>-->
<div>
<span>开始售票时间:</span>
<span th:text="${dict2.timeStart}"></span>
......
......@@ -158,7 +158,11 @@
align: 'center',
formatter: function (value, row, index) {
var actions = [];
if (row.auditStatus == 0) {
actions.push('<a class="btn btn-success btn-xs ' + detailFlag + '" href="javascript:void(0)" onclick="$.operate.detailTab(\'' + row.performancesId + '\')"><i class="fa fa-edit"></i>管理</a> ');
}else{
actions.push('<a class="btn btn-success btn-xs ' + detailFlag + '" href="javascript:void(0)" onclick="$.operate.detailTab(\'' + row.performancesId + '\')"><i class="fa fa-edit"></i>查看</a> ');
}
if (row.syncDamai == 1) {
actions.push('<a class="btn btn-warning btn-xs ' + expertFlag + '" href="javascript:void(0)" onclick="f(\'' + row.performancesId + '\')"><i class="fa fa-remove"></i>同步</a>');
}
......
......@@ -26,6 +26,7 @@ import com.liquidnet.service.kylin.mapper.KylinOrderTicketsMapper;
import com.liquidnet.service.kylin.service.IKylinOrderTicketsService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.service.kylin.utils.DataUtils;
import com.liquidnet.service.kylin.utils.MongoVoUtils;
import com.liquidnet.service.kylin.utils.TaobaoTicketUtils;
import com.mongodb.BasicDBObject;
import com.taobao.api.request.AlibabaDamaiMevOpenBatchpushticketRequest;
......@@ -76,6 +77,8 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
@Autowired
private RedisUtil redisUtil;
@Autowired
private MongoVoUtils mongoVoUtils;
@Autowired
private RedisLockUtil redisLockUtil;
@Autowired
private MongoTemplate mongoTemplate;
......@@ -528,6 +531,9 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
orderTicketVo.setOverdueAt(orderTickets.getCreatedAt().plusMinutes(performanceData.getPayCountdownMinute()).plusSeconds(15).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
orderTicketVo.setCreatedAt(orderTickets.getCreatedAt().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
mongoTemplate.insert(orderTicketVo, KylinOrderTicketVo.class.getSimpleName());
mongoVoUtils.resetOrderListVo(uid, 1, orderTicketVo.getOrderTicketsId());
// 执行sql
String sqlData = SqlMapping.gets(sqls, sqlsDataA, sqlsDataB, sqlsDataC, sqlsDataD);
......@@ -720,6 +726,8 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL, MQConst.ROUTING_KEY_SQL,
SqlMapping.gets(sqls, sqlsDataA, sqlsDataB, sqlsDataC));
//生成vo redis
mongoVoUtils.resetOrderListVo(orderTicketData.getUserId(), 2, orderTicketData.getOrderTicketsId());
// 发短信
// 大麦回调
......@@ -749,13 +757,9 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
// long count = mongoTemplate.count(query, KylinOrderTicketVo.class, KylinOrderTicketVo.class.getSimpleName());
// query.with(pageable);
List<KylinOrderListVo> voIdList = mongoTemplate.find(query, KylinOrderListVo.class, KylinOrderTicketVo.class.getSimpleName());
List<KylinOrderListVo> voList = new ArrayList<>();
for (int i = page * size; i < voIdList.size(); i++) {
String orderTicketsId = voIdList.get(i).getOrderTicketsId();
KylinOrderTicketVo data = dataUtils.getOrderTicketVo(orderTicketsId);
KylinOrderListVo item = new KylinOrderListVo();
BeanUtils.copyProperties(data, item);
List<KylinOrderListVo> voList = dataUtils.getOrderList(uid);
for (int i = 0; i < voList.size(); i++) {
KylinOrderListVo item = voList.get(i);
//TODO 顺丰快递
Object expresses = null;
if (null != expresses) {
......@@ -776,14 +780,13 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
} else {
item.setRestTime(0L);
}
voList.add(item);
if(voList.size()>=20){
if (voList.size() >= 40) {
break;
}
}
mPageInfo = new PageInfo(voList);
mPageInfo.setTotal(voIdList.size());
mPageInfo.setTotal(voList.size());
return mPageInfo;
} catch (Exception e) {
e.printStackTrace();
......
......@@ -5,9 +5,8 @@ import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.kylin.constant.KylinRedisConst;
import com.liquidnet.service.kylin.dto.vo.*;
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.*;
import com.liquidnet.service.kylin.dto.vo.returns.KylinOrderListVo;
import com.liquidnet.service.kylin.entity.*;
import com.liquidnet.service.kylin.mapper.KylinBuyNoticeMapper;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -126,19 +125,17 @@ public class DataUtils {
return (KylinPerformanceVo) redisUtil.get(KylinRedisConst.PERFORMANCES + performanceId);
}
/**
* 根据票种id 获取 票种vo 详情
*
* @param ticketId
* @return
*/
public KylinTicketVo getTicketVo(String ticketId) {
if (redisUtil.hasKey(KylinRedisConst.TICKET + ticketId)) {
public void setOrderTicketVo(String userId,List<KylinOrderListVo> vo) {
redisUtil.set(KylinRedisConst.ORDER_LIST + userId, vo);
}
public List<KylinOrderListVo> getOrderList(String userId) {
if (redisUtil.hasKey(KylinRedisConst.ORDER_LIST + userId)) {
} else {
KylinTicketVo ticketData = mongoTemplate.findOne(Query.query(Criteria.where("ticketsId").is(ticketId)), KylinTicketVo.class, KylinTicketVo.class.getSimpleName());
redisUtil.set(KylinRedisConst.TICKET + ticketId, ticketData);
List<KylinOrderListVo> voList = mongoTemplate.find(Query.query(Criteria.where("userId").is(userId)).limit(40), KylinOrderListVo.class, KylinOrderTicketVo.class.getSimpleName());
redisUtil.set(KylinRedisConst.ORDER_LIST + userId, voList);
}
return (KylinTicketVo) redisUtil.get(KylinRedisConst.TICKET + ticketId);
return (List<KylinOrderListVo>) redisUtil.get(KylinRedisConst.ORDER_LIST + userId);
}
/**
......
......@@ -2,12 +2,16 @@ package com.liquidnet.service.kylin.utils;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.BeanUtil;
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;
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.KylinOrderListVo;
import com.liquidnet.service.kylin.entity.*;
import com.liquidnet.service.kylin.mapper.*;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
......@@ -137,9 +141,57 @@ public class MongoVoUtils {
voData.setTimePriceVipAndLack(isLackRegister, isMember, isExclusive, price, stopSellTime, sellTime, isAdvance, isDiscount, payCountdownMinute);
voData.setTicketTimeList(timeList);
return voData;
}catch (Exception e){
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
/**
* @param userId 用户id
* @param type 1新增 2修改
* @param orderId 订单id [需要新增或者修改的订单id]
*/
public Boolean resetOrderListVo(String userId, Integer type, String orderId) {
List<KylinOrderListVo> vo = new ArrayList<>();
List<KylinOrderListVo> redisVo = dataUtils.getOrderList(userId);
KylinOrderTicketVo data ;
KylinOrderListVo voItem ;
switch (type) {
case 1:
data = dataUtils.getOrderTicketVo(orderId);
voItem = new KylinOrderListVo();
BeanUtils.copyProperties(data, voItem);
for (int i = 0; i < redisVo.size(); i++) {
if (i == 40) {
break;
}
if (i == 0) {
vo.add(voItem);
} else {
vo.add(redisVo.get(i - 1));
}
}
dataUtils.setOrderTicketVo(userId, vo);
return true;
case 2:
data = dataUtils.getOrderTicketVo(orderId);
voItem = new KylinOrderListVo();
BeanUtils.copyProperties(data, voItem);
for (int i = 0; i < redisVo.size(); i++) {
if (i == 40) {
break;
}
if (redisVo.get(i).getOrderTicketsId().equals(orderId)) {
vo.add(voItem);
} else {
vo.add(redisVo.get(i));
}
}
dataUtils.setOrderTicketVo(userId, vo);
return true;
default:
return false;
}
}
}
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