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

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

提交 演出相关vo

parent 6ad73710
...@@ -6,7 +6,10 @@ import com.liquidnet.service.kylin.entity.KylinPerformances; ...@@ -6,7 +6,10 @@ import com.liquidnet.service.kylin.entity.KylinPerformances;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.List;
@Data @Data
public class PerformanceVo { public class PerformanceVo {
...@@ -58,19 +61,19 @@ public class PerformanceVo { ...@@ -58,19 +61,19 @@ public class PerformanceVo {
this.timeEnd = performance.getTimeEnd().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() { public void setTimePriceVipAndLack(int isLackRegister, int isMember, int isExclusive, BigDecimal price, LocalDateTime stopSellTime, LocalDateTime sellTime) {
this.isLackRegister = 0; this.isLackRegister = isLackRegister;
this.timeEnd = ""; this.isMember = isMember;
this.stopSellTime = ""; this.isExclusive = isExclusive;
this.price = ""; this.price = price + "起";
this.sellTime = ""; this.stopSellTime = stopSellTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
this.isMember = 0; this.sellTime = sellTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
this.isExclusive = 0; this.appStatus = 9;
this.appStatus = 0; this.message = "";
} }
public void setPerformanceStatus(KylinPerformanceStatus performanceStatus) { public void setPerformanceStatus(KylinPerformanceStatus performanceStatus) {
this.statusSell = performanceStatus.getStatusSell(); this.statusSell = performanceStatus.getStatusSell();
// this.message = performance.getPerformancesId();
} }
} }
package com.liquidnet.service.kylin.dto.vo; package com.liquidnet.service.kylin.dto.vo;
import com.liquidnet.service.kylin.entity.KylinPerformanceStatus; import com.liquidnet.service.kylin.entity.KylinTicketTimes;
import com.liquidnet.service.kylin.entity.KylinPerformances;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
...@@ -24,4 +23,12 @@ public class TicketTimesVo { ...@@ -24,4 +23,12 @@ public class TicketTimesVo {
@ApiModelProperty(value = "票种信息集合") @ApiModelProperty(value = "票种信息集合")
private List<TicketVo> ticketVoList; 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; 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 io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal;
import java.time.format.DateTimeFormatter;
@Data @Data
public class TicketVo { public class TicketVo {
...@@ -11,27 +17,27 @@ public class TicketVo { ...@@ -11,27 +17,27 @@ public class TicketVo {
@ApiModelProperty(value = "名称") @ApiModelProperty(value = "名称")
private String title; private String title;
@ApiModelProperty(value = "类型 1单日 2通票") @ApiModelProperty(value = "类型 1单日 2通票")
private String type; private int type;
@ApiModelProperty(value = "价格") @ApiModelProperty(value = "价格")
private String price; private BigDecimal price;
@ApiModelProperty(value = "快递费") @ApiModelProperty(value = "快递费")
private String price_express; private BigDecimal priceExpress;
@ApiModelProperty(value = "会员价格") @ApiModelProperty(value = "会员价格")
private String member_price; private BigDecimal memberPrice;
@ApiModelProperty(value = "优惠价格") @ApiModelProperty(value = "优惠价格")
private String discount_price; private BigDecimal discountPrice;
@ApiModelProperty(value = "票种描述") @ApiModelProperty(value = "票种描述")
private String describes; private String describes;
@ApiModelProperty(value = "快递票说明") @ApiModelProperty(value = "快递票说明")
private String describe_express; private String describeExpress;
@ApiModelProperty(value = "电子票说明") @ApiModelProperty(value = "电子票说明")
private String describe_electronic; private String describeElectronic;
@ApiModelProperty(value = "购票开始时间") @ApiModelProperty(value = "购票开始时间")
private String time_start; private String timeStart;
@ApiModelProperty(value = "购票结束时间") @ApiModelProperty(value = "购票结束时间")
private String time_end; private String timeEnd;
@ApiModelProperty(value = "会员购票开始时间") @ApiModelProperty(value = "会员购票开始时间")
private String member_time_start; private String memberTimeStart;
@ApiModelProperty(value = "快递票结束时间") @ApiModelProperty(value = "快递票结束时间")
private String timeEndExpress; private String timeEndExpress;
@ApiModelProperty(value = "适用开始时间") @ApiModelProperty(value = "适用开始时间")
...@@ -41,26 +47,60 @@ public class TicketVo { ...@@ -41,26 +47,60 @@ public class TicketVo {
@ApiModelProperty(value = "开票倒计时(分钟数)") @ApiModelProperty(value = "开票倒计时(分钟数)")
private String saleRemindMinute; private String saleRemindMinute;
@ApiModelProperty(value = "是否学生票") @ApiModelProperty(value = "是否学生票")
private String isStudent; private int isStudent;
@ApiModelProperty(value = "是否电子票") @ApiModelProperty(value = "是否电子票")
private String isElectronic; private int isElectronic;
@ApiModelProperty(value = "是否快递票") @ApiModelProperty(value = "是否快递票")
private String isExpress; private int isExpress;
@ApiModelProperty(value = "状态") @ApiModelProperty(value = "状态")
private String status; private int status;
@ApiModelProperty(value = "兑换状态") @ApiModelProperty(value = "兑换状态")
private String statusExchange; private int statusExchange;
@ApiModelProperty(value = "是否缺票登记") @ApiModelProperty(value = "是否缺票登记")
private String isLackRegister; private int isLackRegister;
@ApiModelProperty(value = "快递状态 1寄付 2到付") @ApiModelProperty(value = "快递状态 1寄付 2到付")
private String expressType; private int expressType;
@ApiModelProperty(value = "是否实名") @ApiModelProperty(value = "是否实名")
private String isTrueName; private int isTrueName;
@ApiModelProperty(value = "限购张数") @ApiModelProperty(value = "限购张数")
private String limitCount; private int limitCount;
@ApiModelProperty(value = "是否会员专属") @ApiModelProperty(value = "是否会员专属")
private String isExclusive; private int isExclusive;
@ApiModelProperty(value = "是否会员") @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 { ...@@ -109,6 +109,16 @@ public class KylinTicketStatus implements Serializable {
*/ */
private Integer isTransfer; private Integer isTransfer;
/**
* 是否开启转赠 0关闭 1开启
*/
private Integer isTrueName;
/**
* 限购张数 0无限 (开启实名 则实名限购 未开始为账号限购)
*/
private Integer limitCount;
/** /**
* 是否会员专属 0不是 1是 * 是否会员专属 0不是 1是
*/ */
......
...@@ -22,9 +22,7 @@ public class ServiceKylinApplication implements CommandLineRunner { ...@@ -22,9 +22,7 @@ public class ServiceKylinApplication implements CommandLineRunner {
@Autowired @Autowired
private Environment environment; private Environment environment;
public static void main(String[] args) { public static void main(String[] args) { SpringApplication.run(ServiceKylinApplication.class, args); }
SpringApplication. run(ServiceKylinApplication.class, args);
}
@Override @Override
public void run(String... strings) throws Exception { public void run(String... strings) throws Exception {
......
...@@ -66,4 +66,16 @@ public class PerformancePartnerController { ...@@ -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; ...@@ -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.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.TicketVo;
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;
...@@ -22,6 +24,7 @@ import org.springframework.data.mongodb.core.query.Criteria; ...@@ -22,6 +24,7 @@ import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query; import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -67,7 +70,7 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor ...@@ -67,7 +70,7 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
private KylinTicketStatusMapper ticketStatusMapper; private KylinTicketStatusMapper ticketStatusMapper;
@Autowired @Autowired
private KylinTicketRelations ticketRelations; private KylinTicketRelationsMapper ticketRelationsMapper;
@Autowired @Autowired
private KylinTicketsPartnerServiceImpl ticketsPartnerService; private KylinTicketsPartnerServiceImpl ticketsPartnerService;
...@@ -156,7 +159,13 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor ...@@ -156,7 +159,13 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
//提交 票 //提交 票
List<TicketTimesCreatePartnerVo> ticketTimesCreatePartnerVoList = ticketTimesPartnerService.getTimesMongoList(performanceId); List<TicketTimesCreatePartnerVo> ticketTimesCreatePartnerVoList = ticketTimesPartnerService.getTimesMongoList(performanceId);
for (TicketTimesCreatePartnerVo ticketTimes : ticketTimesCreatePartnerVoList) { 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 { //保存 } else { //保存
if (isExists) { if (isExists) {
...@@ -220,6 +229,13 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor ...@@ -220,6 +229,13 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
@Override @Override
public boolean onLinePerformance(String performancesId) { public boolean onLinePerformance(String performancesId) {
try { try {
KylinPerformanceStatus performanceStatusData = performanceStatusMapper.selectOne(new UpdateWrapper<KylinPerformanceStatus>().eq("performance_id", performancesId));
if(performanceStatusData.getStatus()!=1){
return false;
}
// mysql // mysql
LocalDateTime updatedAt = LocalDateTime.now(); LocalDateTime updatedAt = LocalDateTime.now();
KylinPerformanceStatus performanceStatusUpdate = new KylinPerformanceStatus(); KylinPerformanceStatus performanceStatusUpdate = new KylinPerformanceStatus();
...@@ -228,19 +244,82 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor ...@@ -228,19 +244,82 @@ public class KylinPerformancesPartnerServiceImpl extends ServiceImpl<KylinPerfor
performanceStatusMapper.update(performanceStatusUpdate performanceStatusMapper.update(performanceStatusUpdate
, new UpdateWrapper<KylinPerformanceStatus>().eq("performance_id", performancesId)); , new UpdateWrapper<KylinPerformanceStatus>().eq("performance_id", performancesId));
//mongo操作 //mongo操作 票
KylinPerformances performancesData = performancesMapper.selectOne(new UpdateWrapper<KylinPerformances>().eq("performance_id", performancesId)); KylinPerformances performancesData = performancesMapper.selectOne(new UpdateWrapper<KylinPerformances>().eq("performances_id", performancesId));
KylinPerformanceStatus performanceStatusData =performanceStatusMapper.selectOne(new UpdateWrapper<KylinPerformanceStatus>().eq("performance_id", performancesId));
PerformanceVo performanceVoData = new PerformanceVo(); PerformanceVo performanceVoData = new PerformanceVo();
performanceVoData.setPerformance(performancesData); performanceVoData.setPerformance(performancesData);
performanceVoData.setPerformanceStatus(performanceStatusData); 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操作 //redis操作
return true; return true;
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace();
return false; return false;
} }
} }
......
...@@ -16,6 +16,7 @@ import com.liquidnet.service.kylin.service.partner.IKylinTicketsPartnerService; ...@@ -16,6 +16,7 @@ import com.liquidnet.service.kylin.service.partner.IKylinTicketsPartnerService;
import com.mongodb.BasicDBObject; import com.mongodb.BasicDBObject;
import com.mongodb.client.model.FindOneAndUpdateOptions; import com.mongodb.client.model.FindOneAndUpdateOptions;
import com.mongodb.client.model.ReturnDocument; import com.mongodb.client.model.ReturnDocument;
import com.mongodb.client.result.UpdateResult;
import org.bson.Document; import org.bson.Document;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -215,11 +216,11 @@ public class KylinTicketsPartnerServiceImpl extends ServiceImpl<KylinTicketsMapp ...@@ -215,11 +216,11 @@ public class KylinTicketsPartnerServiceImpl extends ServiceImpl<KylinTicketsMapp
map.put("status", 1); map.put("status", 1);
map.put("updatedAt", updatedAt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); map.put("updatedAt", updatedAt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
BasicDBObject object = new BasicDBObject("$set", mongoConverter.convertToMongoType(map)); 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(), Query.query(Criteria.where("timesId").is(timesId)).getQueryObject(),
object object
); );
return true; return updateResult.getModifiedCount()<=0;
} }
@Override @Override
......
...@@ -6,7 +6,7 @@ liquidnet: ...@@ -6,7 +6,7 @@ liquidnet:
username: user username: user
password: user123 password: user123
eureka: eureka:
host: 172.16.2.15:7001 host: 127.0.0.1:7001
# end-dev-这里是配置信息基本值 # end-dev-这里是配置信息基本值
spring: 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