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

Commit 398b81e8 authored by 胡佳晨's avatar 胡佳晨

演出 下架

parent c4a2d03d
......@@ -4,6 +4,7 @@ import com.liquidnet.service.kylin.entity.KylinPerformanceRelations;
import com.liquidnet.service.kylin.entity.KylinPerformanceStatus;
import com.liquidnet.service.kylin.entity.KylinPerformances;
import io.swagger.annotations.ApiModelProperty;
import jdk.nashorn.internal.ir.annotations.Ignore;
import lombok.Data;
import java.math.BigDecimal;
......@@ -29,8 +30,17 @@ public class PerformanceVo {
@ApiModelProperty(value = "开售时间")
private String sellTime;
// @ApiModelProperty(value = "场地相关")
// private String fields;
@ApiModelProperty(value = "城市id")
private String cityId;
@ApiModelProperty(value = "场地id")
private String fieldId;
@ApiModelProperty(value = "场地名称")
private String fieldName;
@ApiModelProperty(value = "搭售id")
private String projectId;
@ApiModelProperty(value = "巡演id")
private String roadShowId;
//@ApiModelProperty(value = "巡演相关")
// private String roadShow;
// OSS
......@@ -71,9 +81,19 @@ public class PerformanceVo {
this.appStatus = 9;
this.message = "";
}
public void setPerformanceStatus(KylinPerformanceStatus performanceStatus) {
this.statusSell = performanceStatus.getStatusSell();
}
//TODO 巡演 搭售 场地
public void setPerformanceRelations(KylinPerformanceRelations performanceRelations) {
this.fieldId = "";
this.fieldName = "";
this.cityId = "";
this.projectId = "";
this.roadShowId = "";
}
}
package com.liquidnet.service.kylin.dto.vo.ignore;
import com.liquidnet.service.kylin.entity.KylinPerformanceRelations;
import com.liquidnet.service.kylin.entity.KylinPerformanceStatus;
import com.liquidnet.service.kylin.entity.KylinPerformances;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
@Data
public class PerformanceIgnoreVo {
@ApiModelProperty(value = "主键")
private String performancesId;
@ApiModelProperty(value = "演出名称")
private String title;
@ApiModelProperty(value = "演出开始时间")
private String timeStart;
@ApiModelProperty(value = "演出结束时间")
private String timeEnd;
@ApiModelProperty(value = "停售时间")
private String stopSellTime;
@ApiModelProperty(value = "价格")
private String price;
@ApiModelProperty(value = "开售时间")
private String sellTime;
@ApiModelProperty(value = "城市id")
private String cityId;
@ApiModelProperty(value = "场地id")
private String fieldId;
@ApiModelProperty(value = "场地名称")
private String fieldName;
@ApiModelProperty(value = "搭售id")
private String projectId;
@ApiModelProperty(value = "巡演id")
private String roadShowId;
//@ApiModelProperty(value = "巡演相关")
// private String roadShow;
// OSS
// @ApiModelProperty(value = "演出详情")
// private String details;
// OSS
// @ApiModelProperty(value = "购票须知")
// private String noticeImage;
@ApiModelProperty(value = "状态")
private int appStatus;
@ApiModelProperty(value = "是否可买")
private int statusSell;
@ApiModelProperty(value = "是否关联会员")
private int isMember;
@ApiModelProperty(value = "是否开启缺票登记")
private int isLackRegister;
@ApiModelProperty(value = "是否专属")
private int isExclusive;
@ApiModelProperty(value = "文案")
private String message;
public void setPerformance(KylinPerformances performance) {
this.performancesId = performance.getPerformancesId();
this.title = performance.getTitle();
this.timeStart = performance.getTimeStart().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
this.timeEnd = performance.getTimeEnd().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
}
public void setTimePriceVipAndLack(int isLackRegister, int isMember, int isExclusive, BigDecimal price, LocalDateTime stopSellTime, LocalDateTime sellTime) {
this.isLackRegister = isLackRegister;
this.isMember = isMember;
this.isExclusive = isExclusive;
this.price = price + "起";
this.stopSellTime = stopSellTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
this.sellTime = sellTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
this.appStatus = 9;
this.message = "";
}
public void setPerformanceStatus(KylinPerformanceStatus performanceStatus) {
this.statusSell = performanceStatus.getStatusSell();
}
//TODO 巡演 搭售 场地
public void setPerformanceRelations(KylinPerformanceRelations performanceRelations) {
this.fieldId = "";
this.fieldName = "";
this.cityId = "";
this.projectId = "";
this.roadShowId = "";
}
}
package com.liquidnet.service.kylin.dto.vo.ignore;
import com.liquidnet.service.kylin.entity.KylinTicketStatus;
import com.liquidnet.service.kylin.entity.KylinTickets;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.time.format.DateTimeFormatter;
@Data
public class TicketIgnoreVo {
@ApiModelProperty(value = "主键")
private String ticketsId;
@ApiModelProperty(value = "场次id")
private String timeId;
@ApiModelProperty(value = "名称")
private String title;
@ApiModelProperty(value = "类型 1单日 2通票")
private int type;
@ApiModelProperty(value = "价格")
private BigDecimal price;
@ApiModelProperty(value = "快递费")
private BigDecimal priceExpress;
@ApiModelProperty(value = "会员价格")
private BigDecimal memberPrice;
@ApiModelProperty(value = "优惠价格")
private BigDecimal discountPrice;
@ApiModelProperty(value = "票种描述")
private String describes;
@ApiModelProperty(value = "快递票说明")
private String describeExpress;
@ApiModelProperty(value = "电子票说明")
private String describeElectronic;
@ApiModelProperty(value = "购票开始时间")
private String timeStart;
@ApiModelProperty(value = "购票结束时间")
private String timeEnd;
@ApiModelProperty(value = "会员购票开始时间")
private String memberTimeStart;
@ApiModelProperty(value = "快递票结束时间")
private String timeEndExpress;
@ApiModelProperty(value = "适用开始时间")
private String useStart;
@ApiModelProperty(value = "适用结束时间")
private String useEnd;
@ApiModelProperty(value = "开票倒计时(分钟数)")
private int saleRemindMinute;
@ApiModelProperty(value = "是否学生票")
private int isStudent;
@ApiModelProperty(value = "是否电子票")
private int isElectronic;
@ApiModelProperty(value = "是否快递票")
private int isExpress;
@ApiModelProperty(value = "状态")
private int status;
@ApiModelProperty(value = "兑换状态")
private int statusExchange;
@ApiModelProperty(value = "是否缺票登记")
private int isLackRegister;
@ApiModelProperty(value = "快递状态 1寄付 2到付")
private int expressType;
@ApiModelProperty(value = "是否实名")
private int isTrueName;
@ApiModelProperty(value = "限购张数")
private int limitCount;
@ApiModelProperty(value = "是否会员专属")
private int isExclusive;
@ApiModelProperty(value = "是否会员")
private int isMember;
public void setTicket(KylinTickets ticket) {
this.ticketsId = ticket.getTicketsId();
this.title = ticket.getTitle();
this.type = ticket.getType();
this.price = ticket.getPrice();
this.priceExpress = ticket.getPriceExpress();
this.memberPrice = ticket.getPrice().subtract(ticket.getPriceDiscountMember());
this.discountPrice = ticket.getPrice().subtract(ticket.getPriceDiscount());
this.describes = ticket.getDescribes();
this.describeExpress = ticket.getDescribeExpress();
this.describeElectronic = ticket.getDescribeElectronic();
this.timeStart = ticket.getTimeStart().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
this.timeEnd = ticket.getTimeEnd().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
this.memberTimeStart = ticket.getTimeStart().plusMinutes(-ticket.getAdvanceMinuteMember()).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.useEnd = ticket.getUseEnd().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
this.saleRemindMinute = ticket.getSaleRemindMinute();
}
public void setTicketStatus(KylinTicketStatus ticketStatus) {
this.isMember = ticketStatus.getIsMember();
this.isExclusive = ticketStatus.getIsExclusive();
this.isTrueName = ticketStatus.getIsTrueName();
this.expressType = ticketStatus.getExpressType();
this.isLackRegister = ticketStatus.getIsLackRegister();
this.statusExchange = ticketStatus.getStatusExchange();
this.status = ticketStatus.getStatus();
this.isElectronic = ticketStatus.getIsElectronic();
this.isExpress = ticketStatus.getIsExpress();
this.isStudent = ticketStatus.getIsStudent();
}
}
package com.liquidnet.service.kylin.dto.vo.ignore;
import com.liquidnet.service.kylin.entity.KylinTicketTimes;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.format.DateTimeFormatter;
@Data
public class TicketTimesIgnoreVo {
@ApiModelProperty(value = "主键")
private String ticketTimesId;
@ApiModelProperty(value = "名称")
private String title;
@ApiModelProperty(value = "类型 1单日 2通票")
private int type;
@ApiModelProperty(value = "演出id")
private String performanceId;
@ApiModelProperty(value = "场次id")
private String timeId;
@ApiModelProperty(value = "适用开始时间")
private String useStart;
@ApiModelProperty(value = "适用结束时间")
private String useEnd;
// @ApiModelProperty(value = "票种信息集合")
// private List<TicketVo> ticketVoList;
public void setTicketTimes(KylinTicketTimes ticketTimes){
this.ticketTimesId=ticketTimes.getTicketTimesId();
this.title=ticketTimes.getTitle();
this.type=ticketTimes.getType();
this.useStart=ticketTimes.getUseStart().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
this.useEnd=ticketTimes.getUseEnd().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
}
}
......@@ -72,10 +72,21 @@ public class PerformancePartnerController {
public ResponseDto<String> onLinePerformance(@RequestParam("performancesId") String performancesId) {
boolean result = performancesPartnerService.onLinePerformance(performancesId);
if (result) {
return ResponseDto.success("上线成功");
return ResponseDto.success("上成功");
} else {
return ResponseDto.failure("上线失败");
return ResponseDto.failure("上失败");
}
}
@PostMapping(value = "outline")
@ApiOperation(value = "演出下线")
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<String> outLinePerformance(@RequestParam("performancesId") String performancesId) {
boolean result = performancesPartnerService.outLinePerformance(performancesId);
if (result) {
return ResponseDto.success("下架成功");
} else {
return ResponseDto.failure("下架失败");
}
}
}
......@@ -12,6 +12,9 @@ import com.liquidnet.service.kylin.dto.param.PerformanceStep2Param;
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.liquidnet.service.kylin.dto.vo.ignore.PerformanceIgnoreVo;
import com.liquidnet.service.kylin.dto.vo.ignore.TicketIgnoreVo;
import com.liquidnet.service.kylin.dto.vo.ignore.TicketTimesIgnoreVo;
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.TicketTimesCreatePartnerVo;
......@@ -242,29 +245,30 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
@Override
public boolean onLinePerformance(String performancesId) {
try {
KylinPerformanceStatus performanceStatusData = performanceStatusMapper.selectOne(new UpdateWrapper<KylinPerformanceStatus>().eq("performance_id", performancesId));
if (performanceStatusData.getStatus() > 7) {
if (!(performanceStatusData.getStatus() == 3 || performanceStatusData.getStatus() == 7)) {
return false;
}
// mysql
LocalDateTime updatedAt = LocalDateTime.now();
KylinPerformanceStatus performanceStatusUpdate = new KylinPerformanceStatus();
performanceStatusUpdate.setStatus(9);
performanceStatusUpdate.setStatus(6);
performanceStatusUpdate.setUpdatedAt(updatedAt);
performanceStatusMapper.update(performanceStatusUpdate
, new UpdateWrapper<KylinPerformanceStatus>().eq("performance_id", performancesId));
//mongo操作 票
KylinPerformanceRelations performanceRelationsData = performanceRelationsMapper.selectOne(new UpdateWrapper<KylinPerformanceRelations>().eq("performance_id", performancesId));
KylinPerformances performancesData = performancesMapper.selectOne(new UpdateWrapper<KylinPerformances>().eq("performances_id", performancesId));
PerformanceVo performanceVoData = new PerformanceVo();
performanceVoData.setPerformance(performancesData);
performanceVoData.setPerformanceRelations(performanceRelationsData);
performanceVoData.setPerformanceStatus(performanceStatusData);
//场次
List<KylinTicketTimeRelation> ticketTimeRelation = ticketTimeRelationMapper.selectList(new UpdateWrapper<KylinTicketTimeRelation>().eq("performance_id", performancesId));
List<KylinTicketTimeRelation> ticketTimeRelation = ticketTimeRelationMapper.selectList(
new UpdateWrapper<KylinTicketTimeRelation>().eq("performance_id", performancesId)
);
LocalDateTime stopSellTime = null;
LocalDateTime sellTime = null;
......@@ -275,27 +279,24 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
for (KylinTicketTimeRelation ticketTimeRelationItem : ticketTimeRelation) {
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()).eq("status", 1));
TicketTimesVo ticketTimesVo = new TicketTimesVo();
ticketTimesVo.setTicketTimes(ticketTimes);
ticketTimesVo.setPerformanceId(ticketTimeRelationItem.getPerformanceId());
ticketTimesVo.setTimeId(ticketTimeRelationItem.getTimesId());
//票
List<KylinTicketRelations> ticketRelations = ticketRelationsMapper.selectList(new UpdateWrapper<KylinTicketRelations>().eq("times_id", ticketTimes.getTicketTimesId()));
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()).between("status", 6, 10).ne("status", 7));
KylinTickets tickets = ticketsMapper.selectOne(
new UpdateWrapper<KylinTickets>().eq("tickets_id", ticketRelationsItem.getTicketId()
new UpdateWrapper<KylinTickets>().eq("tickets_id", ticketStatus.getTicketId()
)
);
KylinTicketStatus ticketStatusUpdate = new KylinTicketStatus();
ticketStatusUpdate.setStatus(9);
ticketStatusUpdate.setUpdatedAt(updatedAt);
ticketStatusMapper.update(ticketStatusUpdate
, new UpdateWrapper<KylinTicketStatus>().eq("ticket_id", ticketRelationsItem.getTicketId()));
, new UpdateWrapper<KylinTicketStatus>().eq("ticket_id", ticketStatus.getTicketId()).eq("status", 7));
TicketVo ticketVo = new TicketVo();
ticketVo.setTimeId(ticketRelationsItem.getTimesId());
ticketVo.setTicket(tickets);
......@@ -303,17 +304,16 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
mongoTemplate.insert(
ticketVo, TicketVo.class.getSimpleName()
);
//票种 库存redis TODO 库存可能会丢
TicketInventoryDto ticketInventoryRedis= (TicketInventoryDto) redisUtil.hget(KylinRedisConst.PERFORMANCES_INVENTORY,ticketVo.getTicketsId());
TicketInventoryDto ticketInventoryRedis = (TicketInventoryDto) redisUtil.hget(KylinRedisConst.PERFORMANCES_INVENTORY, ticketVo.getTicketsId());
TicketInventoryDto ticketInventoryDto = new TicketInventoryDto();
if(ticketInventoryRedis==null){
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());
} 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);
......@@ -333,13 +333,10 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
if (stopSellTime == null || stopSellTime.isBefore(tickets.getTimeEnd())) {
stopSellTime = tickets.getTimeEnd();
}
if (sellTime == null || sellTime.isAfter(tickets.getTimeStart().plusMinutes(-tickets.getAdvanceMinuteMember()))) {
sellTime = tickets.getTimeStart().plusMinutes(-tickets.getAdvanceMinuteMember());
}
}
mongoTemplate.insert(
ticketTimesVo, TicketTimesVo.class.getSimpleName()
);
......@@ -348,19 +345,16 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
mongoTemplate.insert(
performanceVoData, PerformanceVo.class.getSimpleName()
);
//修改 提审vo
Map<String,Object> map = new HashMap<>();
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;
} catch (Exception e) {
e.printStackTrace();
......@@ -371,12 +365,45 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
@Override
public boolean outLinePerformance(String performancesId) {
try {
KylinPerformanceStatus performanceStatusData = performanceStatusMapper.selectOne(new UpdateWrapper<KylinPerformanceStatus>().eq("performance_id", performancesId));
if (performanceStatusData.getStatus() != 6) {
return false;
}
LocalDateTime updatedAt = LocalDateTime.now();
KylinPerformanceStatus performanceStatus = new KylinPerformanceStatus();
performanceStatus.setStatus(7);
performanceStatus.setUpdatedAt(updatedAt);
performanceStatusMapper.update(performanceStatus
, new UpdateWrapper<KylinPerformanceStatus>().eq("performance_id", performancesId));
//mongoVo 迁移 演出数据迁移
PerformanceVo performanceVo = mongoTemplate.findOne(Query.query(Criteria.where("performancesId").is(performancesId)), PerformanceVo.class, PerformanceVo.class.getSimpleName());
PerformanceIgnoreVo performanceIgnoreVo = new PerformanceIgnoreVo();
BeanUtils.copyProperties(performanceVo,performanceIgnoreVo);
performanceIgnoreVo.setAppStatus(7);
mongoTemplate.insert(performanceIgnoreVo,PerformanceIgnoreVo.class.getSimpleName());
mongoTemplate.remove(Query.query(Criteria.where("performancesId").is(performancesId)),PerformanceVo.class, PerformanceVo.class.getSimpleName());
List<TicketTimesVo> ticketTimesVoList = mongoTemplate.find(Query.query(Criteria.where("performanceId").is(performancesId)), TicketTimesVo.class, TicketTimesVo.class.getSimpleName());
for (TicketTimesVo ticketTimesVoItem : ticketTimesVoList) {
//场次数据迁移
TicketTimesIgnoreVo ticketTimesIgnoreVo = new TicketTimesIgnoreVo();
BeanUtils.copyProperties(ticketTimesVoItem,ticketTimesIgnoreVo);
mongoTemplate.insert(ticketTimesIgnoreVo,TicketTimesIgnoreVo.class.getSimpleName());
mongoTemplate.remove(Query.query(Criteria.where("ticketTimesId").is(ticketTimesVoItem.getTicketTimesId())), TicketTimesVo.class, TicketTimesVo.class.getSimpleName());
List<TicketVo> ticketVoList = mongoTemplate.find(Query.query(Criteria.where("timeId").is(ticketTimesVoItem.getTicketTimesId())), TicketVo.class, TicketVo.class.getSimpleName());
for (TicketVo ticketVoItem : ticketVoList) {
// 票 迁移
TicketIgnoreVo ticketIgnoreVo = new TicketIgnoreVo();
BeanUtils.copyProperties(ticketVoItem,ticketIgnoreVo);
mongoTemplate.insert(ticketIgnoreVo,TicketIgnoreVo.class.getSimpleName());
mongoTemplate.remove(Query.query(Criteria.where("ticketsId").is(ticketVoItem.getTicketsId())), TicketVo.class, TicketVo.class.getSimpleName());
}
}
return true;
} catch (Exception e) {
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