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

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

提交 演出相关vo

parent 6ad73710
......@@ -6,7 +6,10 @@ 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;
import java.util.List;
@Data
public class PerformanceVo {
......@@ -58,19 +61,19 @@ public class PerformanceVo {
this.timeEnd = performance.getTimeEnd().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
}
public void setTimePriceVipAndLack() {
this.isLackRegister = 0;
this.timeEnd = "";
this.stopSellTime = "";
this.price = "";
this.sellTime = "";
this.isMember = 0;
this.isExclusive = 0;
this.appStatus = 0;
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();
// this.message = performance.getPerformancesId();
}
}
package com.liquidnet.service.kylin.dto.vo;
import com.liquidnet.service.kylin.entity.KylinPerformanceStatus;
import com.liquidnet.service.kylin.entity.KylinPerformances;
import com.liquidnet.service.kylin.entity.KylinTicketTimes;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -24,4 +23,12 @@ public class TicketTimesVo {
@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"));
}
}
package com.liquidnet.service.kylin.dto.vo;
import com.liquidnet.service.kylin.entity.KylinTicketRelations;
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 TicketVo {
......@@ -11,27 +17,27 @@ public class TicketVo {
@ApiModelProperty(value = "名称")
private String title;
@ApiModelProperty(value = "类型 1单日 2通票")
private String type;
private int type;
@ApiModelProperty(value = "价格")
private String price;
private BigDecimal price;
@ApiModelProperty(value = "快递费")
private String price_express;
private BigDecimal priceExpress;
@ApiModelProperty(value = "会员价格")
private String member_price;
private BigDecimal memberPrice;
@ApiModelProperty(value = "优惠价格")
private String discount_price;
private BigDecimal discountPrice;
@ApiModelProperty(value = "票种描述")
private String describes;
@ApiModelProperty(value = "快递票说明")
private String describe_express;
private String describeExpress;
@ApiModelProperty(value = "电子票说明")
private String describe_electronic;
private String describeElectronic;
@ApiModelProperty(value = "购票开始时间")
private String time_start;
private String timeStart;
@ApiModelProperty(value = "购票结束时间")
private String time_end;
private String timeEnd;
@ApiModelProperty(value = "会员购票开始时间")
private String member_time_start;
private String memberTimeStart;
@ApiModelProperty(value = "快递票结束时间")
private String timeEndExpress;
@ApiModelProperty(value = "适用开始时间")
......@@ -41,26 +47,60 @@ public class TicketVo {
@ApiModelProperty(value = "开票倒计时(分钟数)")
private String saleRemindMinute;
@ApiModelProperty(value = "是否学生票")
private String isStudent;
private int isStudent;
@ApiModelProperty(value = "是否电子票")
private String isElectronic;
private int isElectronic;
@ApiModelProperty(value = "是否快递票")
private String isExpress;
private int isExpress;
@ApiModelProperty(value = "状态")
private String status;
private int status;
@ApiModelProperty(value = "兑换状态")
private String statusExchange;
private int statusExchange;
@ApiModelProperty(value = "是否缺票登记")
private String isLackRegister;
private int isLackRegister;
@ApiModelProperty(value = "快递状态 1寄付 2到付")
private String expressType;
private int expressType;
@ApiModelProperty(value = "是否实名")
private String isTrueName;
private int isTrueName;
@ApiModelProperty(value = "限购张数")
private String limitCount;
private int limitCount;
@ApiModelProperty(value = "是否会员专属")
private String isExclusive;
private int isExclusive;
@ApiModelProperty(value = "是否会员")
private String isMember;
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.getTicketsId();
}
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();
}
}
......@@ -109,6 +109,16 @@ public class KylinTicketStatus implements Serializable {
*/
private Integer isTransfer;
/**
* 是否开启转赠 0关闭 1开启
*/
private Integer isTrueName;
/**
* 限购张数 0无限 (开启实名 则实名限购 未开始为账号限购)
*/
private Integer limitCount;
/**
* 是否会员专属 0不是 1是
*/
......
......@@ -22,9 +22,7 @@ public class ServiceKylinApplication implements CommandLineRunner {
@Autowired
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
public void run(String... strings) throws Exception {
......
......@@ -66,4 +66,16 @@ public class PerformancePartnerController {
}
}
@PostMapping(value = "online")
@ApiOperation(value = "演出上线")
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<String> onLinePerformance(@RequestParam("performancesId") String performancesId) {
boolean result = performancesPartnerService.onLinePerformance(performancesId);
if (result) {
return ResponseDto.success("上线成功");
} else {
return ResponseDto.failure("上线失败");
}
}
}
......@@ -7,6 +7,8 @@ import com.liquidnet.service.kylin.dto.param.PerformanceCreateParam;
import com.liquidnet.service.kylin.dto.param.PerformanceStep1Param;
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.partner.TicketCreatePartnerVo;
import com.liquidnet.service.kylin.dto.vo.partner.TicketTimesCreatePartnerVo;
import com.liquidnet.service.kylin.dto.vo.partner.TicketTimesTicketCreatePartnerVo;
......@@ -22,6 +24,7 @@ import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
......@@ -67,7 +70,7 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
private KylinTicketStatusMapper ticketStatusMapper;
@Autowired
private KylinTicketRelations ticketRelations;
private KylinTicketRelationsMapper ticketRelationsMapper;
@Autowired
private KylinTicketsPartnerServiceImpl ticketsPartnerService;
......@@ -156,7 +159,13 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
//提交 票
List<TicketTimesCreatePartnerVo> ticketTimesCreatePartnerVoList = ticketTimesPartnerService.getTimesMongoList(performanceId);
for (TicketTimesCreatePartnerVo ticketTimes : ticketTimesCreatePartnerVoList) {
ticketsPartnerService.submitTicketByTimes(ticketTimes.getTicketTimesId());
boolean boolResult = ticketsPartnerService.submitTicketByTimes(ticketTimes.getTicketTimesId());
if (boolResult) {
return false;
}
}
if (ticketTimesCreatePartnerVoList.size() <= 0) {
return false;
}
} else { //保存
if (isExists) {
......@@ -220,6 +229,13 @@ 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()!=1){
return false;
}
// mysql
LocalDateTime updatedAt = LocalDateTime.now();
KylinPerformanceStatus performanceStatusUpdate = new KylinPerformanceStatus();
......@@ -228,19 +244,82 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
performanceStatusMapper.update(performanceStatusUpdate
, new UpdateWrapper<KylinPerformanceStatus>().eq("performance_id", performancesId));
//mongo操作
KylinPerformances performancesData = performancesMapper.selectOne(new UpdateWrapper<KylinPerformances>().eq("performance_id", performancesId));
KylinPerformanceStatus performanceStatusData =performanceStatusMapper.selectOne(new UpdateWrapper<KylinPerformanceStatus>().eq("performance_id", performancesId));
//mongo操作 票
KylinPerformances performancesData = performancesMapper.selectOne(new UpdateWrapper<KylinPerformances>().eq("performances_id", performancesId));
PerformanceVo performanceVoData = new PerformanceVo();
performanceVoData.setPerformance(performancesData);
performanceVoData.setPerformanceStatus(performanceStatusData);
//场次
List<KylinTicketTimeRelation> ticketTimeRelation = ticketTimeRelationMapper.selectList(new UpdateWrapper<KylinTicketTimeRelation>().eq("performance_id", performancesId));
List<TicketTimesVo> ticketTimesVoList = new ArrayList<>();
LocalDateTime stopSellTime = null;
LocalDateTime sellTime = null;
int isLackRegister = 0;
int isMember = 0;
int isExclusive = 0;
BigDecimal price = new BigDecimal("0.00");
for (KylinTicketTimeRelation ticketTimeRelationItem : ticketTimeRelation) {
KylinTicketTimes ticketTimes = ticketTimesMapper.selectOne(new UpdateWrapper<KylinTicketTimes>().eq("ticket_times_id", ticketTimeRelationItem.getTimesId()));
TicketTimesVo ticketTimesVo = new TicketTimesVo();
ticketTimesVo.setTicketTimes(ticketTimes);
ticketTimesVoList.add(ticketTimesVo);
//票
List<KylinTicketRelations> ticketRelations = ticketRelationsMapper.selectList(new UpdateWrapper<KylinTicketRelations>().eq("times_id", ticketTimes.getTicketTimesId()));
List<TicketVo> ticketVoList = new ArrayList<>();
for (KylinTicketRelations ticketRelationsItem : ticketRelations) {
KylinTicketStatus ticketStatus = ticketStatusMapper.selectOne(new UpdateWrapper<KylinTicketStatus>().eq("ticket_id", ticketRelationsItem.getTicketId()));
KylinTickets tickets = ticketsMapper.selectOne(
new UpdateWrapper<KylinTickets>().eq("tickets_id", ticketRelationsItem.getTicketId()
)
);
TicketVo ticketVo = new TicketVo();
ticketVo.setTicket(tickets);
ticketVo.setTicketStatus(ticketStatus);
ticketVoList.add(ticketVo);
mongoTemplate.insert(
ticketVo, TicketVo.class.getSimpleName()
);
if (ticketVo.getIsMember() == 1) {
isMember = 1;
}
if (ticketVo.getIsLackRegister() == 1) {
isLackRegister = 1;
}
if (ticketVo.getIsExclusive() == 1) {
isExclusive = 1;
}
if (price.subtract(ticketVo.getPrice()).compareTo(new BigDecimal("0.00")) < 0) {
price = ticketVo.getPrice();
}
if (stopSellTime == null || stopSellTime.isAfter(tickets.getTimeEnd())) {
stopSellTime = tickets.getTimeEnd();
}
if (sellTime == null || sellTime.isBefore(tickets.getTimeStart().plusMinutes(-tickets.getAdvanceMinuteMember()))) {
sellTime = tickets.getTimeStart().plusMinutes(-tickets.getAdvanceMinuteMember());
}
}
ticketTimesVo.setTicketVoList(ticketVoList);
mongoTemplate.insert(
ticketTimesVo, KylinTicketTimes.class.getSimpleName()
);
}
performanceVoData.setTimePriceVipAndLack(isLackRegister, isMember, isExclusive, price, stopSellTime, sellTime);
mongoTemplate.insert(
performanceVoData, PerformanceVo.class.getSimpleName()
);
//redis操作
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
......
......@@ -16,6 +16,7 @@ import com.liquidnet.service.kylin.service.partner.IKylinTicketsPartnerService;
import com.mongodb.BasicDBObject;
import com.mongodb.client.model.FindOneAndUpdateOptions;
import com.mongodb.client.model.ReturnDocument;
import com.mongodb.client.result.UpdateResult;
import org.bson.Document;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -215,11 +216,11 @@ public class KylinTicketsPartnerServiceImpl extends ServiceImpl<KylinTicketsMapp
map.put("status", 1);
map.put("updatedAt", updatedAt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
BasicDBObject object = new BasicDBObject("$set", mongoConverter.convertToMongoType(map));
mongoTemplate.getCollection(TicketCreatePartnerVo.class.getSimpleName()).updateMany(
UpdateResult updateResult = mongoTemplate.getCollection(TicketCreatePartnerVo.class.getSimpleName()).updateMany(
Query.query(Criteria.where("timesId").is(timesId)).getQueryObject(),
object
);
return true;
return updateResult.getModifiedCount()<=0;
}
@Override
......
......@@ -6,7 +6,7 @@ liquidnet:
username: user
password: user123
eureka:
host: 172.16.2.15:7001
host: 127.0.0.1:7001
# end-dev-这里是配置信息基本值
spring:
......
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