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

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

演出 上架

parent f9c2a476
...@@ -10,7 +10,7 @@ liquidnet: ...@@ -10,7 +10,7 @@ liquidnet:
username: testmall username: testmall
password: zhengzai!mYT password: zhengzai!mYT
rabbitmq: rabbitmq:
host: 172.16.2.15 host: 127.0.0.1
port: 5672 port: 5672
username: admin username: admin
password: admin password: admin
......
...@@ -4,6 +4,7 @@ public class KylinRedisConst { ...@@ -4,6 +4,7 @@ public class KylinRedisConst {
public static final String FIELDS = "kylin:fields:id"; public static final String FIELDS = "kylin:fields:id";
public static final String PERFORMANCES = "kylin:performances:id"; public static final String PERFORMANCES = "kylin:performances:id";
public static final String PERFORMANCES_INVENTORY = "kylin:performances_inventory:id";
public static final String TICKET = "kylin:ticket:id"; public static final String TICKET = "kylin:ticket:id";
......
package com.liquidnet.service.kylin.dto;
import lombok.Data;
@Data
public class TicketInventoryDto {
/**
* 票id
*/
private String ticketsId;
/**
* 售票库存
*/
private Integer surplusGeneral;
/**
* 兑换库存
*/
private Integer surplusExchange;
}
...@@ -2,6 +2,7 @@ package com.liquidnet.service.kylin.dto.param; ...@@ -2,6 +2,7 @@ package com.liquidnet.service.kylin.dto.param;
import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
...@@ -82,6 +83,9 @@ public class PerformanceCreateParam implements Serializable { ...@@ -82,6 +83,9 @@ public class PerformanceCreateParam implements Serializable {
@ApiModelProperty(value = "演出简介", example = "0") @ApiModelProperty(value = "演出简介", example = "0")
private String describes; private String describes;
@ApiModelProperty(value = "是否售卖", example = "0")
private int statusSell;
@ApiModelProperty(value = "", example = "") @ApiModelProperty(value = "", example = "")
private String createdAt; private String createdAt;
} }
...@@ -26,8 +26,8 @@ public class TicketCreateParam implements Serializable { ...@@ -26,8 +26,8 @@ public class TicketCreateParam implements Serializable {
@ApiModelProperty(value = "票种名称", example = "测试票") @ApiModelProperty(value = "票种名称", example = "测试票")
private String title; private String title;
@ApiModelProperty(value = "类型", example = "2") // @ApiModelProperty(value = "类型", example = "2")
private int type; // private int type;
@ApiModelProperty(value = "是否学生票 0否 1是", example = "0") @ApiModelProperty(value = "是否学生票 0否 1是", example = "0")
private int isStudent; private int isStudent;
......
...@@ -16,13 +16,17 @@ public class TicketTimesVo { ...@@ -16,13 +16,17 @@ public class TicketTimesVo {
private String title; private String title;
@ApiModelProperty(value = "类型 1单日 2通票") @ApiModelProperty(value = "类型 1单日 2通票")
private int type; private int type;
@ApiModelProperty(value = "演出id")
private String performanceId;
@ApiModelProperty(value = "场次id")
private String timeId;
@ApiModelProperty(value = "适用开始时间") @ApiModelProperty(value = "适用开始时间")
private String useStart; private String useStart;
@ApiModelProperty(value = "适用结束时间") @ApiModelProperty(value = "适用结束时间")
private String useEnd; private String useEnd;
@ApiModelProperty(value = "票种信息集合") // @ApiModelProperty(value = "票种信息集合")
private List<TicketVo> ticketVoList; // private List<TicketVo> ticketVoList;
public void setTicketTimes(KylinTicketTimes ticketTimes){ public void setTicketTimes(KylinTicketTimes ticketTimes){
this.ticketTimesId=ticketTimes.getTicketTimesId(); this.ticketTimesId=ticketTimes.getTicketTimesId();
......
...@@ -14,6 +14,8 @@ public class TicketVo { ...@@ -14,6 +14,8 @@ public class TicketVo {
@ApiModelProperty(value = "主键") @ApiModelProperty(value = "主键")
private String ticketsId; private String ticketsId;
@ApiModelProperty(value = "场次id")
private String timeId;
@ApiModelProperty(value = "名称") @ApiModelProperty(value = "名称")
private String title; private String title;
@ApiModelProperty(value = "类型 1单日 2通票") @ApiModelProperty(value = "类型 1单日 2通票")
...@@ -45,7 +47,7 @@ public class TicketVo { ...@@ -45,7 +47,7 @@ public class TicketVo {
@ApiModelProperty(value = "适用结束时间") @ApiModelProperty(value = "适用结束时间")
private String useEnd; private String useEnd;
@ApiModelProperty(value = "开票倒计时(分钟数)") @ApiModelProperty(value = "开票倒计时(分钟数)")
private String saleRemindMinute; private int saleRemindMinute;
@ApiModelProperty(value = "是否学生票") @ApiModelProperty(value = "是否学生票")
private int isStudent; private int isStudent;
@ApiModelProperty(value = "是否电子票") @ApiModelProperty(value = "是否电子票")
...@@ -86,7 +88,7 @@ public class TicketVo { ...@@ -86,7 +88,7 @@ public class TicketVo {
this.timeEndExpress = ticket.getTimeEndExpress().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); this.timeEndExpress = ticket.getTimeEndExpress().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
this.useStart = ticket.getUseStart().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); this.useStart = ticket.getUseStart().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
this.useEnd = ticket.getUseEnd().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); this.useEnd = ticket.getUseEnd().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
this.saleRemindMinute = ticket.getTicketsId(); this.saleRemindMinute = ticket.getSaleRemindMinute();
} }
public void setTicketStatus(KylinTicketStatus ticketStatus) { public void setTicketStatus(KylinTicketStatus ticketStatus) {
...@@ -100,7 +102,6 @@ public class TicketVo { ...@@ -100,7 +102,6 @@ public class TicketVo {
this.isElectronic = ticketStatus.getIsElectronic(); this.isElectronic = ticketStatus.getIsElectronic();
this.isExpress = ticketStatus.getIsExpress(); this.isExpress = ticketStatus.getIsExpress();
this.isStudent = ticketStatus.getIsStudent(); this.isStudent = ticketStatus.getIsStudent();
} }
} }
...@@ -113,7 +113,7 @@ CREATE TABLE `kylin_performances` ...@@ -113,7 +113,7 @@ CREATE TABLE `kylin_performances`
`mid` int(11) NOT NULL AUTO_INCREMENT, `mid` int(11) NOT NULL AUTO_INCREMENT,
`performances_id` varchar(255) NOT NULL DEFAULT '' COMMENT 'performances_id', `performances_id` varchar(255) NOT NULL DEFAULT '' COMMENT 'performances_id',
`title` varchar(255) NOT NULL DEFAULT '' COMMENT '演出名称', `title` varchar(255) NOT NULL DEFAULT '' COMMENT '演出名称',
`type` tinyint NOT NULL DEFAULT 3 COMMENT '1音乐节 2演唱会 3小型演出 4展览 6舞台剧', `type` tinyint NOT NULL DEFAULT 3 COMMENT '1音乐节 2演唱会 3小型演出 4展览 6舞台剧 101音乐节 102小型演出(livehouse演出) 103巡演',
`img_poster` varchar(255) NOT NULL DEFAULT '' COMMENT '演出海报', `img_poster` varchar(255) NOT NULL DEFAULT '' COMMENT '演出海报',
`province_id` varchar(255) NOT NULL DEFAULT '' COMMENT '省id', `province_id` varchar(255) NOT NULL DEFAULT '' COMMENT '省id',
`province_name` varchar(255) NOT NULL DEFAULT '' COMMENT '省名称', `province_name` varchar(255) NOT NULL DEFAULT '' COMMENT '省名称',
...@@ -495,7 +495,6 @@ CREATE TABLE `kylin_order_ticket_entities` ...@@ -495,7 +495,6 @@ CREATE TABLE `kylin_order_ticket_entities`
-- 大麦同步记录 TODO 待定 -- 大麦同步记录 TODO 待定
-- 验票相关 TODO 待定 -- 验票相关 TODO 待定
-- 限购相关 TODO 待定
-- 会员权益修改表 TODO 待定 -- 会员权益修改表 TODO 待定
-- 订单退款 <初步> -- 订单退款 <初步>
drop TABLE if exists `kylin_order_tickets_refund`; drop TABLE if exists `kylin_order_tickets_refund`;
......
...@@ -22,7 +22,9 @@ public class ServiceKylinApplication implements CommandLineRunner { ...@@ -22,7 +22,9 @@ public class ServiceKylinApplication implements CommandLineRunner {
@Autowired @Autowired
private Environment environment; private Environment environment;
public static void main(String[] args) { SpringApplication.run(ServiceKylinApplication.class, args); } public static void main(String[] args) {
SpringApplication.run(ServiceKylinApplication.class, args);
}
@Override @Override
public void run(String... strings) throws Exception { public void run(String... strings) throws Exception {
......
package com.liquidnet.service.kylin.service.impl;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.service.kylin.constant.KylinRedisConst;
import com.liquidnet.service.kylin.dto.TicketInventoryDto;
import com.liquidnet.service.kylin.dto.vo.PerformanceVo;
import com.liquidnet.service.kylin.dto.vo.TicketTimesVo;
import com.liquidnet.service.kylin.dto.vo.TicketVo;
import com.mongodb.BasicDBObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.convert.MongoConverter;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@Component
public class PerformanceVoTask {
@Autowired
private MongoTemplate mongoTemplate;
@Autowired
private MongoConverter mongoConverter;
@Autowired
private RedisUtil redisUtil;
public void performanceVoStatus(String performanceSingleId) {
LocalDateTime timeNow = LocalDateTime.now();
List<String> performanceIdList = new ArrayList<>();
if (performanceSingleId.isEmpty()) {
List<PerformanceVo> PerformanceVoList = mongoTemplate.findAll(PerformanceVo.class);
for (PerformanceVo performanceVoItem : PerformanceVoList) {
performanceIdList.add(performanceVoItem.getPerformancesId());
}
} else {
performanceIdList.add(performanceSingleId);
}
for (String performancesId : performanceIdList) {
//场次
List<TicketTimesVo> timesData = mongoTemplate.find(
Query.query(Criteria.where("performanceId").is(performancesId)),
TicketTimesVo.class, TicketTimesVo.class.getSimpleName()
);
//总循环次数
int ticketCount = 0;
//未开售次数
int status9Count = 0;
//售罄次数
int status8Count = 0;
//已结束次数
int status10Count = 0;
//演出数据
HashMap<String, Object> mapPerformance = new HashMap<>();
int appStatus = 6;
for (TicketTimesVo ticketTimesVoItem : timesData) {
//票
// List<TicketVo> ticketVoList = ticketTimesVoItem.getTicketVoList();
List<TicketVo> ticketVoList = mongoTemplate.find(
Query.query(Criteria.where("timeId").is(ticketTimesVoItem.getTimeId())),
TicketVo.class, TicketVo.class.getSimpleName()
);
ticketCount += ticketVoList.size();
for (TicketVo ticketVoItem : ticketVoList) {
//时间判断
LocalDateTime timeStart = LocalDateTime.parse(ticketVoItem.getMemberTimeStart(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
LocalDateTime timeEnd = LocalDateTime.parse(ticketVoItem.getTimeEnd(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
int status = 0;
if (timeStart.isAfter(timeNow)) {
//未开始
status = 9;
status9Count += 1;
} else if (timeEnd.isBefore(timeNow)) {
//结束
status = 10;
status10Count += 1;
} else {
//库存判断
TicketInventoryDto ticketInventoryRedis = (TicketInventoryDto) redisUtil.hget(KylinRedisConst.PERFORMANCES_INVENTORY, ticketVoItem.getTicketsId());
if (ticketInventoryRedis.getSurplusGeneral() > 0) {
status = 6;
} else {
status = 8;
status8Count += 1;
}
}
//修改票状态
HashMap<String, Object> mapTicket = new HashMap<>();
mapTicket.put("status", status);
BasicDBObject objectTicket = new BasicDBObject("$set", mongoConverter.convertToMongoType(mapTicket));
mongoTemplate.getCollection(TicketVo.class.getSimpleName()).updateOne(
Query.query(Criteria.where("ticketsId").is(ticketVoItem.getTicketsId())).getQueryObject(),
objectTicket
);
// //修改场次 内 票数据
// mongoTemplate.getCollection(TicketTimesVo.class.getSimpleName()).updateOne(
// Query.query(Criteria.where("ticketVoList.ticketsId").is(ticketVoItem.getTicketsId())).getQueryObject(),
// objectTicket
// );
//演出状态
if (status == 6) {//单一票 可购买 则为可购买
appStatus = 6;
} else if (ticketCount == status8Count) {//全票售罄为售罄
appStatus = 8;
} else if (ticketCount == status9Count) {//全票未开始 为未开始
appStatus = 9;
} else if (ticketCount == status10Count) {//全票结束 为结束
appStatus = 10;
}
}
}
//修改演出状态
mapPerformance.put("appStatus", appStatus);
BasicDBObject objectPerformance = new BasicDBObject("$set", mongoConverter.convertToMongoType(mapPerformance));
mongoTemplate.getCollection(PerformanceVo.class.getSimpleName()).updateOne(
Query.query(Criteria.where("performancesId").is(performancesId)).getQueryObject(),
objectPerformance
);
}
}
}
...@@ -113,6 +113,7 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma ...@@ -113,6 +113,7 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma
performanceCreatePartnerVo.setStopSellTime(StringList.get(0)); performanceCreatePartnerVo.setStopSellTime(StringList.get(0));
performanceCreatePartnerVo.setTicketTimes(ticketTimesTicketCreatePartnerVoList); performanceCreatePartnerVo.setTicketTimes(ticketTimesTicketCreatePartnerVoList);
performanceCreatePartnerVo.setStatus(1); performanceCreatePartnerVo.setStatus(1);
performanceCreatePartnerVo.setStatusSell(1);
performanceCreatePartnerVo.setRejectTxt(""); performanceCreatePartnerVo.setRejectTxt("");
performanceCreatePartnerVo.setIsShow(1); performanceCreatePartnerVo.setIsShow(1);
......
...@@ -2,19 +2,24 @@ package com.liquidnet.service.kylin.service.impl.partner; ...@@ -2,19 +2,24 @@ package com.liquidnet.service.kylin.service.impl.partner;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.IDGenerator; import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.service.kylin.constant.KylinRedisConst;
import com.liquidnet.service.kylin.dto.TicketInventoryDto;
import com.liquidnet.service.kylin.dto.param.PerformanceCreateParam; import com.liquidnet.service.kylin.dto.param.PerformanceCreateParam;
import com.liquidnet.service.kylin.dto.param.PerformanceStep1Param; import com.liquidnet.service.kylin.dto.param.PerformanceStep1Param;
import com.liquidnet.service.kylin.dto.param.PerformanceStep2Param; import com.liquidnet.service.kylin.dto.param.PerformanceStep2Param;
import com.liquidnet.service.kylin.dto.vo.PerformanceVo; import com.liquidnet.service.kylin.dto.vo.PerformanceVo;
import com.liquidnet.service.kylin.dto.vo.TicketTimesVo; import com.liquidnet.service.kylin.dto.vo.TicketTimesVo;
import com.liquidnet.service.kylin.dto.vo.TicketVo; import com.liquidnet.service.kylin.dto.vo.TicketVo;
import com.liquidnet.service.kylin.dto.vo.partner.PerformanceCreatePartnerVo;
import com.liquidnet.service.kylin.dto.vo.partner.TicketCreatePartnerVo; import com.liquidnet.service.kylin.dto.vo.partner.TicketCreatePartnerVo;
import com.liquidnet.service.kylin.dto.vo.partner.TicketTimesCreatePartnerVo; import com.liquidnet.service.kylin.dto.vo.partner.TicketTimesCreatePartnerVo;
import com.liquidnet.service.kylin.dto.vo.partner.TicketTimesTicketCreatePartnerVo; import com.liquidnet.service.kylin.dto.vo.partner.TicketTimesTicketCreatePartnerVo;
import com.liquidnet.service.kylin.entity.*; import com.liquidnet.service.kylin.entity.*;
import com.liquidnet.service.kylin.mapper.*; import com.liquidnet.service.kylin.mapper.*;
import com.liquidnet.service.kylin.service.partner.IKylinPerformancesPartnerService; import com.liquidnet.service.kylin.service.partner.IKylinPerformancesPartnerService;
import com.liquidnet.service.kylin.service.impl.PerformanceVoTask;
import com.mongodb.BasicDBObject; import com.mongodb.BasicDBObject;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -30,6 +35,7 @@ import java.time.format.DateTimeFormatter; ...@@ -30,6 +35,7 @@ import java.time.format.DateTimeFormatter;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* <p> * <p>
...@@ -48,6 +54,12 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor ...@@ -48,6 +54,12 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
@Autowired @Autowired
private MongoConverter mongoConverter; private MongoConverter mongoConverter;
@Autowired
private RedisUtil redisUtil;
@Autowired
private PerformanceVoTask performanceVoTask;
@Autowired @Autowired
private KylinPerformancesMapper performancesMapper; private KylinPerformancesMapper performancesMapper;
...@@ -128,6 +140,7 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor ...@@ -128,6 +140,7 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
map.put("createdAt", createdAt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); map.put("createdAt", createdAt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
map.put("isSubmit", step2Param.getIsSubmit()); map.put("isSubmit", step2Param.getIsSubmit());
map.put("merchantId", step2Param.getMerchantId()); map.put("merchantId", step2Param.getMerchantId());
map.put("statuSell", 1);
//演出新增数据 //演出新增数据
PerformanceCreateParam performanceCreateParam = new PerformanceCreateParam(); PerformanceCreateParam performanceCreateParam = new PerformanceCreateParam();
...@@ -232,7 +245,7 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor ...@@ -232,7 +245,7 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
KylinPerformanceStatus performanceStatusData = performanceStatusMapper.selectOne(new UpdateWrapper<KylinPerformanceStatus>().eq("performance_id", performancesId)); KylinPerformanceStatus performanceStatusData = performanceStatusMapper.selectOne(new UpdateWrapper<KylinPerformanceStatus>().eq("performance_id", performancesId));
if(performanceStatusData.getStatus()!=1){ if (performanceStatusData.getStatus() > 7) {
return false; return false;
} }
...@@ -252,7 +265,6 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor ...@@ -252,7 +265,6 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
//场次 //场次
List<KylinTicketTimeRelation> ticketTimeRelation = ticketTimeRelationMapper.selectList(new UpdateWrapper<KylinTicketTimeRelation>().eq("performance_id", performancesId)); List<KylinTicketTimeRelation> ticketTimeRelation = ticketTimeRelationMapper.selectList(new UpdateWrapper<KylinTicketTimeRelation>().eq("performance_id", performancesId));
List<TicketTimesVo> ticketTimesVoList = new ArrayList<>();
LocalDateTime stopSellTime = null; LocalDateTime stopSellTime = null;
LocalDateTime sellTime = null; LocalDateTime sellTime = null;
...@@ -266,24 +278,46 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor ...@@ -266,24 +278,46 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
KylinTicketTimes ticketTimes = ticketTimesMapper.selectOne(new UpdateWrapper<KylinTicketTimes>().eq("ticket_times_id", ticketTimeRelationItem.getTimesId())); KylinTicketTimes ticketTimes = ticketTimesMapper.selectOne(new UpdateWrapper<KylinTicketTimes>().eq("ticket_times_id", ticketTimeRelationItem.getTimesId()));
TicketTimesVo ticketTimesVo = new TicketTimesVo(); TicketTimesVo ticketTimesVo = new TicketTimesVo();
ticketTimesVo.setTicketTimes(ticketTimes); ticketTimesVo.setTicketTimes(ticketTimes);
ticketTimesVoList.add(ticketTimesVo); ticketTimesVo.setPerformanceId(ticketTimeRelationItem.getPerformanceId());
ticketTimesVo.setTimeId(ticketTimeRelationItem.getTimesId());
//票 //票
List<KylinTicketRelations> ticketRelations = ticketRelationsMapper.selectList(new UpdateWrapper<KylinTicketRelations>().eq("times_id", ticketTimes.getTicketTimesId())); List<KylinTicketRelations> ticketRelations = ticketRelationsMapper.selectList(new UpdateWrapper<KylinTicketRelations>().eq("times_id", ticketTimes.getTicketTimesId()));
List<TicketVo> ticketVoList = new ArrayList<>();
for (KylinTicketRelations ticketRelationsItem : ticketRelations) { for (KylinTicketRelations ticketRelationsItem : ticketRelations) {
KylinTicketStatus ticketStatus = ticketStatusMapper.selectOne(new UpdateWrapper<KylinTicketStatus>().eq("ticket_id", ticketRelationsItem.getTicketId())); KylinTicketStatus ticketStatus = ticketStatusMapper.selectOne(new UpdateWrapper<KylinTicketStatus>().eq("ticket_id", ticketRelationsItem.getTicketId()));
KylinTickets tickets = ticketsMapper.selectOne( KylinTickets tickets = ticketsMapper.selectOne(
new UpdateWrapper<KylinTickets>().eq("tickets_id", ticketRelationsItem.getTicketId() new UpdateWrapper<KylinTickets>().eq("tickets_id", ticketRelationsItem.getTicketId()
) )
); );
KylinTicketStatus ticketStatusUpdate = new KylinTicketStatus();
ticketStatusUpdate.setStatus(9);
ticketStatusUpdate.setUpdatedAt(updatedAt);
ticketStatusMapper.update(ticketStatusUpdate
, new UpdateWrapper<KylinTicketStatus>().eq("ticket_id", ticketRelationsItem.getTicketId()));
TicketVo ticketVo = new TicketVo(); TicketVo ticketVo = new TicketVo();
ticketVo.setTimeId(ticketRelationsItem.getTimesId());
ticketVo.setTicket(tickets); ticketVo.setTicket(tickets);
ticketVo.setTicketStatus(ticketStatus); ticketVo.setTicketStatus(ticketStatus);
ticketVoList.add(ticketVo);
mongoTemplate.insert( mongoTemplate.insert(
ticketVo, TicketVo.class.getSimpleName() ticketVo, TicketVo.class.getSimpleName()
); );
//票种 库存redis TODO 库存可能会丢
TicketInventoryDto ticketInventoryRedis= (TicketInventoryDto) redisUtil.hget(KylinRedisConst.PERFORMANCES_INVENTORY,ticketVo.getTicketsId());
TicketInventoryDto ticketInventoryDto = new TicketInventoryDto();
if(ticketInventoryRedis==null){
ticketInventoryDto.setSurplusExchange(ticketStatus.getSurplusExchange());
ticketInventoryDto.setSurplusGeneral(ticketStatus.getTotalGeneral());
ticketInventoryDto.setTicketsId(ticketVo.getTicketsId());
}else{
ticketInventoryDto.setSurplusExchange(ticketStatus.getSurplusExchange()-ticketInventoryRedis.getSurplusExchange());
ticketInventoryDto.setSurplusGeneral(ticketStatus.getTotalGeneral()-ticketInventoryRedis.getSurplusGeneral());
ticketInventoryDto.setTicketsId(ticketVo.getTicketsId());
}
redisUtil.hset(KylinRedisConst.PERFORMANCES_INVENTORY, ticketVo.getTicketsId(), ticketInventoryDto);
if (ticketVo.getIsMember() == 1) { if (ticketVo.getIsMember() == 1) {
isMember = 1; isMember = 1;
} }
...@@ -296,19 +330,18 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor ...@@ -296,19 +330,18 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
if (price.subtract(ticketVo.getPrice()).compareTo(new BigDecimal("0.00")) < 0) { if (price.subtract(ticketVo.getPrice()).compareTo(new BigDecimal("0.00")) < 0) {
price = ticketVo.getPrice(); price = ticketVo.getPrice();
} }
if (stopSellTime == null || stopSellTime.isAfter(tickets.getTimeEnd())) { if (stopSellTime == null || stopSellTime.isBefore(tickets.getTimeEnd())) {
stopSellTime = tickets.getTimeEnd(); stopSellTime = tickets.getTimeEnd();
} }
if (sellTime == null || sellTime.isBefore(tickets.getTimeStart().plusMinutes(-tickets.getAdvanceMinuteMember()))) { if (sellTime == null || sellTime.isAfter(tickets.getTimeStart().plusMinutes(-tickets.getAdvanceMinuteMember()))) {
sellTime = tickets.getTimeStart().plusMinutes(-tickets.getAdvanceMinuteMember()); sellTime = tickets.getTimeStart().plusMinutes(-tickets.getAdvanceMinuteMember());
} }
} }
ticketTimesVo.setTicketVoList(ticketVoList);
mongoTemplate.insert( mongoTemplate.insert(
ticketTimesVo, KylinTicketTimes.class.getSimpleName() ticketTimesVo, TicketTimesVo.class.getSimpleName()
); );
} }
performanceVoData.setTimePriceVipAndLack(isLackRegister, isMember, isExclusive, price, stopSellTime, sellTime); performanceVoData.setTimePriceVipAndLack(isLackRegister, isMember, isExclusive, price, stopSellTime, sellTime);
...@@ -316,7 +349,18 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor ...@@ -316,7 +349,18 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
performanceVoData, PerformanceVo.class.getSimpleName() performanceVoData, PerformanceVo.class.getSimpleName()
); );
//redis操作 //修改 提审vo
Map<String,Object> map = new HashMap<>();
map.put("status", 3);
BasicDBObject objectPerformance = new BasicDBObject("$set", mongoConverter.convertToMongoType(map));
mongoTemplate.getCollection(PerformanceCreatePartnerVo.class.getSimpleName()).updateOne(
Query.query(Criteria.where("performancesId").is(performancesId)).getQueryObject(),
objectPerformance
);
//判断状态
performanceVoTask.performanceVoStatus(performancesId);
return true; return true;
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
......
...@@ -86,6 +86,7 @@ public class KylinTicketsPartnerServiceImpl extends ServiceImpl<KylinTicketsMapp ...@@ -86,6 +86,7 @@ public class KylinTicketsPartnerServiceImpl extends ServiceImpl<KylinTicketsMapp
TicketTimesCreatePartnerVo ticketTimesCreatePartnerVo = mongoTemplate.findOne(Query.query(Criteria.where("ticketTimesId").is(ticketCreateParam.getTimesId())), TicketTimesCreatePartnerVo.class, TicketTimesCreatePartnerVo.class.getSimpleName()); TicketTimesCreatePartnerVo ticketTimesCreatePartnerVo = mongoTemplate.findOne(Query.query(Criteria.where("ticketTimesId").is(ticketCreateParam.getTimesId())), TicketTimesCreatePartnerVo.class, TicketTimesCreatePartnerVo.class.getSimpleName());
ticketCreatePartnerVo.setUseStart(ticketTimesCreatePartnerVo.getUseStart()); ticketCreatePartnerVo.setUseStart(ticketTimesCreatePartnerVo.getUseStart());
ticketCreatePartnerVo.setUseEnd(ticketTimesCreatePartnerVo.getUseEnd()); ticketCreatePartnerVo.setUseEnd(ticketTimesCreatePartnerVo.getUseEnd());
ticketCreatePartnerVo.setType(ticketTimesCreatePartnerVo.getType());
ticketCreatePartnerVo.setDefault(); ticketCreatePartnerVo.setDefault();
......
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