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

Commit 79315142 authored by Tice's avatar Tice

Merge branch 'dev_merchant' into dev_merchant_tice

# Conflicts:
#	liquidnet-bus-service/liquidnet-service-merchant/liquidnet-service-merchant-impl/src/main/resources/errors.properties
parents b7a5a46e ce08f808
......@@ -46,22 +46,22 @@ public class PerformancePartnerListParam {
this.orderType = orderType;
switch (orderType) {
case 1: {
orderItem = "created_at";
orderItem = "createdAt";
orderSc = "desc";
break;
}
case 2: {
orderItem = "created_at";
orderItem = "createdAt";
orderSc = "asc";
break;
}
case 3: {
orderItem = "time_start";
orderItem = "timeStart";
orderSc = "desc";
break;
}
case 4: {
orderItem = "time_start";
orderItem = "timeStart";
orderSc = "asc";
break;
}
......
......@@ -33,6 +33,9 @@ public class PerformanceStep2Param implements Serializable,Cloneable {
@ApiModelProperty(hidden = true)
private Integer status;
@ApiModelProperty(hidden = true)
private String merchantId;
@ApiModelProperty(value = "场次数据",hidden = true)
private List<TicketTimesTicketCreatePartnerVo> ticketTimes;
......
......@@ -106,6 +106,8 @@ public class KylinPerformanceVo {
@ApiModelProperty(value = "分销人名称")
private String agentName;
@ApiModelProperty(value = "注册时间")
private String createdAt;
private Integer isCanRefund;
private Integer isOpenRefundPresent;
......@@ -121,6 +123,8 @@ public class KylinPerformanceVo {
private Integer isRefundExpress;
private Integer auditStatus;
private String rejectTxt;
private String merchantId;
public void setPerformance(KylinPerformances performance) {
this.mid = performance.getMid();
......@@ -129,11 +133,13 @@ public class KylinPerformanceVo {
this.imgPoster = performance.getImgPoster();
this.timeStart = DateUtil.Formatter.yyyyMMddHHmmss.format(performance.getTimeStart());
this.timeEnd = DateUtil.Formatter.yyyyMMddHHmmss.format(performance.getTimeEnd());
this.createdAt = DateUtil.Formatter.yyyyMMddHHmmss.format(performance.getCreatedAt());
this.type = performance.getType();
this.details = performance.getDetails();
this.noticeImage = performance.getNoticeImage();
this.notice = performance.getNotice();
this.approvalUrl = performance.getApprovalUrl();
this.rejectTxt = performance.getRejectTxt();
}
public void setTimePriceVipAndLack(int isLackRegister, int isMember, int isExclusive, BigDecimal price, LocalDateTime stopSellTime, LocalDateTime sellMemberTime, LocalDateTime sellTime, int isAdvance, int isDiscount, int payCountdownMinute) {
......@@ -184,5 +190,6 @@ public class KylinPerformanceVo {
this.fieldId = performanceRelations.getFieldId();
this.projectId = performanceRelations.getProjectId();
this.roadShowId = performanceRelations.getRoadShowId();
this.merchantId = performanceRelations.getMerchantId();
}
}
......@@ -15,6 +15,7 @@ import com.liquidnet.service.kylin.dto.param.*;
import com.liquidnet.service.kylin.dto.vo.admin.*;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketEntitiesVo;
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.partner.KylinPerformanceMisVo;
import com.liquidnet.service.kylin.dto.vo.partner.KylinTicketPartnerVo;
import com.liquidnet.service.kylin.dto.vo.partner.KylinTicketTimesPartnerVo;
......@@ -156,9 +157,9 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma
mapSql.put("updatedAt", updatedAt.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
KylinPerformanceMisVo vo = performanceVoUtils.getPerformanceMisVo(performancesId);
performanceVoUtils.updatePerformanceMySql(performancesId, mapSql, vo, updatedAt, auditStatus);
if (sqlStatus.getStatus() >= 6 && sqlStatus.getStatus() != 7) {//若 演出上 则 线判断状态
// if (sqlStatus.getStatus() >= 6 && sqlStatus.getStatus() != 7) {//若 演出上 则 线判断状态
performanceVoUtils.performanceVoStatus(performancesId);
}
// }
delOrderTicketsRedis(vo);
}
......@@ -189,6 +190,15 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma
performances.setRejectTxt(rejectTxt);
performances.setUpdatedAt(updatedAt);
performancesMapper.update(performances, new UpdateWrapper<KylinPerformances>().eq("performances_id", performancesId));
//修改mongo
HashMap<String, Object> mapVo = new HashMap<>();
mapVo.put("rejectTxt", rejectTxt);
mapVo.put("auditStatus", auditStatus);
object = new BasicDBObject("$set", mongoConverter.convertToMongoType(mapVo));
mongoTemplate.getCollection(KylinPerformanceVo.class.getSimpleName()).updateOne(
Query.query(Criteria.where("performancesId").is(performancesId)).getQueryObject(),
object
);
} else {
return false;
}
......
......@@ -15,10 +15,10 @@ liquidnet:
rabbitmq:
connection-timeout: 5000
mysql:
database-name: test_ln_scene
database-name: dev_ln_scene
mongodb:
sslEnabled: false
database: test_ln_scene
database: dev_ln_scene
al-oss:
imgUrl: "https://img.zhengzai.tv/"
appUrl: "https://app.zhengzai.tv/"
......
......@@ -14,12 +14,17 @@ public class PerformancePartnerListDao {
private String timeEnd;
private Integer totalGeneral;
private Integer saleGeneral;
private Integer number;
private Integer refundNumber;
private BigDecimal priceActual;
private BigDecimal priceRefund;
private BigDecimal totalSalePrice;
private Integer surplusGeneral;
private Integer status;
private Integer type;
private String timeSell;
private String timeStop;
private Integer payCountdownMinute;
private Integer auditStatus;
private String rejectTxt;
private String createdAt;
......
......@@ -2,8 +2,10 @@ package com.liquidnet.service.kylin.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
......@@ -17,7 +19,7 @@ import lombok.EqualsAndHashCode;
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class KylinPerformanceRelations implements Serializable ,Cloneable {
public class KylinPerformanceRelations implements Serializable, Cloneable {
private static final long serialVersionUID = 1L;
......@@ -75,6 +77,7 @@ public class KylinPerformanceRelations implements Serializable ,Cloneable {
private LocalDateTime updatedAt;
private static final KylinPerformanceRelations obj = new KylinPerformanceRelations();
public static KylinPerformanceRelations getNew() {
try {
return (KylinPerformanceRelations) obj.clone();
......@@ -82,4 +85,13 @@ public class KylinPerformanceRelations implements Serializable ,Cloneable {
return new KylinPerformanceRelations();
}
}
public Object[] insert(KylinPerformanceRelations vo) {
return new Object[]{
vo.getPerformanceRelationsId(), vo.getPerformanceId(),
vo.getCopyId()==null?"":vo.getCopyId(), vo.getMerchantId(),vo.getFieldId(),
vo.getRoadShowId(),vo.getProjectId(),"",
vo.getCreatedAt(),vo.getUpdatedAt()
};
}
}
......@@ -157,4 +157,14 @@ public class KylinPerformanceStatus implements Serializable ,Cloneable{
return new KylinPerformanceStatus();
}
}
public Object[] insert(KylinPerformanceStatus vo){
return new Object[]{
vo.getPerformanceStatusId(),vo.getPerformanceId(),
vo.getIsShow(),vo.getStatus(),vo.getStatusSell(),
vo.getIsDistribution(),vo.getSyncAgent(),0,
vo.getAuditStatus(),vo.getIsTrueName(),vo.getLimitCount(),
vo.getLimitCountMember(),vo.getCreatedAt(),vo.getUpdatedAt()
};
}
}
......@@ -2,8 +2,10 @@ package com.liquidnet.service.kylin.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
......@@ -17,7 +19,7 @@ import lombok.EqualsAndHashCode;
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class KylinPerformances implements Serializable ,Cloneable{
public class KylinPerformances implements Serializable, Cloneable {
private static final long serialVersionUID = 1L;
......@@ -165,6 +167,7 @@ public class KylinPerformances implements Serializable ,Cloneable{
private LocalDateTime updatedAt;
private static final KylinPerformances obj = new KylinPerformances();
public static KylinPerformances getNew() {
try {
return (KylinPerformances) obj.clone();
......@@ -172,4 +175,37 @@ public class KylinPerformances implements Serializable ,Cloneable{
return new KylinPerformances();
}
}
public Object[] insert(KylinPerformances vo) {
return new Object[]{
vo.getPerformancesId(),
vo.getTitle(),
vo.getType(),
vo.getImgPoster(),
// vo.getProvinceId(),
// vo.getProvinceName(),
vo.getCityId(),
vo.getCityName(),
// vo.getDistrictId(),
// vo.getDistrictName(),
vo.getApprovalUrl(),
vo.getNotice(),
vo.getSponsorId(),
vo.getSponsorType(),
vo.getSponsor(),
vo.getContacts(),
vo.getMobile(),
vo.getDescribes(),
vo.getDetails(),
vo.getNoticeImage(),
vo.getTimeStart(),
vo.getTimeEnd(),
// vo.getAuditTime(),
// vo.getRejectTxt(),
0,
vo.getComment(),
vo.getCreatedAt(),
vo.getUpdatedAt(),
};
}
}
......@@ -57,4 +57,11 @@ public class KylinTicketRelations implements Serializable ,Cloneable {
return new KylinTicketRelations();
}
}
public Object[] insert(KylinTicketRelations vo) {
return new Object[]{
vo.getTicketRelationsId(),vo.getTicketId(),vo.getTimesId(),
vo.getCreatedAt(),vo.getUpdatedAt()
};
}
}
......@@ -162,4 +162,18 @@ public class KylinTicketStatus implements Serializable ,Cloneable {
return new KylinTicketStatus();
}
}
public Object[] insert(KylinTicketStatus vo) {
return new Object[]{
vo.getTicketStatusId(),vo.getTicketId(),vo.getIsStudent(),
vo.getIsElectronic(),vo.getIsExpress(),vo.getStatus(),
vo.getCounts(),vo.getStatusExchange(),vo.getIsShowCode(),
vo.getQrCodeShowTime(),vo.getIsLackRegister(),vo.getTotalGeneral(),
vo.getTotalExchange(),vo.getSurplusGeneral(),vo.getSurplusExchange(),
vo.getExpressType(),vo.getIsTransfer(),vo.getIsTrueName(),vo.getLimitCount(),
vo.getMemberLimitCount(),vo.getIsExclusive(),vo.getIsMember(),
0,0,vo.getCreatedAt(),vo.getUpdatedAt()
};
}
}
......@@ -2,8 +2,10 @@ package com.liquidnet.service.kylin.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
......@@ -17,7 +19,7 @@ import lombok.EqualsAndHashCode;
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class KylinTicketTimeRelation implements Serializable ,Cloneable {
public class KylinTicketTimeRelation implements Serializable, Cloneable {
private static final long serialVersionUID = 1L;
......@@ -50,6 +52,7 @@ public class KylinTicketTimeRelation implements Serializable ,Cloneable {
private LocalDateTime updatedAt;
private static final KylinTicketTimeRelation obj = new KylinTicketTimeRelation();
public static KylinTicketTimeRelation getNew() {
try {
return (KylinTicketTimeRelation) obj.clone();
......@@ -57,4 +60,11 @@ public class KylinTicketTimeRelation implements Serializable ,Cloneable {
return new KylinTicketTimeRelation();
}
}
public Object[] insert(KylinTicketTimeRelation vo) {
return new Object[]{
vo.getTicketTimeRelationId(), vo.getTimesId(), vo.getPerformanceId(),
vo.getCreatedAt(), vo.getUpdatedAt()
};
}
}
......@@ -77,4 +77,12 @@ public class KylinTicketTimes implements Serializable ,Cloneable {
return new KylinTicketTimes();
}
}
public Object[] insert(KylinTicketTimes vo){
return new Object[]{
vo.getTicketTimesId(),vo.getTitle(),vo.getStatus(),
vo.getType(),vo.getUseStart(),vo.getUseEnd(),
vo.getComment(),vo.getCreatedAt(),vo.getUpdatedAt()
};
}
}
......@@ -138,4 +138,17 @@ public class KylinTickets implements Serializable ,Cloneable{
return new KylinTickets();
}
}
public Object[] insert(KylinTickets vo) {
return new Object[]{
vo.getTicketsId(),vo.getTitle(),vo.getType(),
vo.getPrice(),vo.getPriceExpress(),vo.getPriceDiscountMember(),
vo.getPriceDiscount(),vo.getDescribes(),vo.getDescribeExpress(),
vo.getDescribeElectronic(),vo.getAdvanceMinuteMember(),
vo.getTimeStart(),vo.getTimeEnd(),vo.getTimeEndExpress(),
vo.getUseStart(),vo.getUseEnd(),vo.getPayCountdownMinute(),
vo.getSaleRemindMinute(),vo.getComment(),vo.getCreatedAt(),
vo.getUpdatedAt()
};
}
}
package com.liquidnet.service.consumer.kylin.config;
import com.liquidnet.service.base.constant.MQConst;
import com.liquidnet.service.consumer.kylin.receiver.ConsumerMerchantLineRdsReceiver;
import lombok.var;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.connection.stream.Consumer;
import org.springframework.data.redis.connection.stream.MapRecord;
import org.springframework.data.redis.connection.stream.ReadOffset;
import org.springframework.data.redis.connection.stream.StreamOffset;
import org.springframework.data.redis.stream.StreamMessageListenerContainer;
import org.springframework.data.redis.stream.Subscription;
import java.time.Duration;
@Configuration
public class ConsumerMerchantLineRedisStreamConfig {
@Autowired
ConsumerMerchantLineRdsReceiver consumerMerchantLineRdsReceiver;
private StreamMessageListenerContainer<String, MapRecord<String, String, String>> buildStreamMessageListenerContainer(RedisConnectionFactory factory) {
var options = StreamMessageListenerContainer
.StreamMessageListenerContainerOptions
.builder()
.pollTimeout(Duration.ofMillis(1))
.build();
return StreamMessageListenerContainer.create(factory, options);
}
/**
* 验票更新
*
* @param listenerContainer
* @param t
* @return
*/
private Subscription receiveTransferResult(StreamMessageListenerContainer<String, MapRecord<String, String, String>> listenerContainer, int t) {
return listenerContainer.receiveAutoAck(
Consumer.from(MQConst.MerchantQueue.SQL_MERCHANT_LINE.getGroup(), MQConst.MerchantQueue.SQL_MERCHANT_LINE.name() + t),
StreamOffset.create(MQConst.MerchantQueue.SQL_MERCHANT_LINE.getKey(), ReadOffset.lastConsumed()), consumerMerchantLineRdsReceiver
);
}
/* —————————————————————————— | —————————————————————————— | —————————————————————————— */
/* -------------------------------------------------------- | 验票更新 */
@Bean
public Subscription subscriptionReceiveLine1(RedisConnectionFactory factory) {
var listenerContainer = this.buildStreamMessageListenerContainer(factory);
var subscription = receiveTransferResult(listenerContainer, 1);
listenerContainer.start();
return subscription;
}
@Bean
public Subscription subscriptionReceiveLine2(RedisConnectionFactory factory) {
var listenerContainer = this.buildStreamMessageListenerContainer(factory);
var subscription = receiveTransferResult(listenerContainer, 2);
listenerContainer.start();
return subscription;
}
@Bean
public Subscription subscriptionReceiveLine3(RedisConnectionFactory factory) {
var listenerContainer = this.buildStreamMessageListenerContainer(factory);
var subscription = receiveTransferResult(listenerContainer, 3);
listenerContainer.start();
return subscription;
}
@Bean
public Subscription subscriptionReceiveLine4(RedisConnectionFactory factory) {
var listenerContainer = this.buildStreamMessageListenerContainer(factory);
var subscription = receiveTransferResult(listenerContainer, 4);
listenerContainer.start();
return subscription;
}
@Bean
public Subscription subscriptionReceiveLine5(RedisConnectionFactory factory) {
var listenerContainer = this.buildStreamMessageListenerContainer(factory);
var subscription = receiveTransferResult(listenerContainer, 5);
listenerContainer.start();
return subscription;
}
/* -------------------------------------------------------- | */
}
package com.liquidnet.service.consumer.kylin.config;
import com.liquidnet.service.base.constant.MQConst;
import com.liquidnet.service.consumer.kylin.receiver.ConsumerMerchantPerformaneInsertRdsReceiver;
import lombok.var;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.connection.stream.Consumer;
import org.springframework.data.redis.connection.stream.MapRecord;
import org.springframework.data.redis.connection.stream.ReadOffset;
import org.springframework.data.redis.connection.stream.StreamOffset;
import org.springframework.data.redis.stream.StreamMessageListenerContainer;
import org.springframework.data.redis.stream.Subscription;
import java.time.Duration;
@Configuration
public class ConsumerMerchantPerformanceInsertRedisStreamConfig {
@Autowired
ConsumerMerchantPerformaneInsertRdsReceiver consumerMerchantPerformaneInsertRdsReceiver;
private StreamMessageListenerContainer<String, MapRecord<String, String, String>> buildStreamMessageListenerContainer(RedisConnectionFactory factory) {
var options = StreamMessageListenerContainer
.StreamMessageListenerContainerOptions
.builder()
.pollTimeout(Duration.ofMillis(1))
.build();
return StreamMessageListenerContainer.create(factory, options);
}
/**
* 验票更新
*
* @param listenerContainer
* @param t
* @return
*/
private Subscription receiveTransferResult(StreamMessageListenerContainer<String, MapRecord<String, String, String>> listenerContainer, int t) {
return listenerContainer.receiveAutoAck(
Consumer.from(MQConst.MerchantQueue.SQL_MERCHANT_PERFORMANCE_INSERT.getGroup(), MQConst.MerchantQueue.SQL_MERCHANT_PERFORMANCE_INSERT.name() + t),
StreamOffset.create(MQConst.MerchantQueue.SQL_MERCHANT_PERFORMANCE_INSERT.getKey(), ReadOffset.lastConsumed()), consumerMerchantPerformaneInsertRdsReceiver
);
}
/* —————————————————————————— | —————————————————————————— | —————————————————————————— */
/* -------------------------------------------------------- | 验票更新 */
@Bean
public Subscription subscriptionReceivePInsert1(RedisConnectionFactory factory) {
var listenerContainer = this.buildStreamMessageListenerContainer(factory);
var subscription = receiveTransferResult(listenerContainer, 1);
listenerContainer.start();
return subscription;
}
@Bean
public Subscription subscriptionReceivePInsert2(RedisConnectionFactory factory) {
var listenerContainer = this.buildStreamMessageListenerContainer(factory);
var subscription = receiveTransferResult(listenerContainer, 2);
listenerContainer.start();
return subscription;
}
@Bean
public Subscription subscriptionReceivePInsert3(RedisConnectionFactory factory) {
var listenerContainer = this.buildStreamMessageListenerContainer(factory);
var subscription = receiveTransferResult(listenerContainer, 3);
listenerContainer.start();
return subscription;
}
@Bean
public Subscription subscriptionReceivePInsert4(RedisConnectionFactory factory) {
var listenerContainer = this.buildStreamMessageListenerContainer(factory);
var subscription = receiveTransferResult(listenerContainer, 4);
listenerContainer.start();
return subscription;
}
@Bean
public Subscription subscriptionReceivePInsert5(RedisConnectionFactory factory) {
var listenerContainer = this.buildStreamMessageListenerContainer(factory);
var subscription = receiveTransferResult(listenerContainer, 5);
listenerContainer.start();
return subscription;
}
/* -------------------------------------------------------- | */
}
package com.liquidnet.service.consumer.kylin.config;
import com.liquidnet.service.base.constant.MQConst;
import com.liquidnet.service.consumer.kylin.receiver.ConsumerMerchantPerformanceRdsReceiver;
import lombok.var;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.connection.stream.Consumer;
import org.springframework.data.redis.connection.stream.MapRecord;
import org.springframework.data.redis.connection.stream.ReadOffset;
import org.springframework.data.redis.connection.stream.StreamOffset;
import org.springframework.data.redis.stream.StreamMessageListenerContainer;
import org.springframework.data.redis.stream.Subscription;
import java.time.Duration;
import static com.liquidnet.service.base.constant.MQConst.KylinQueue.SQL_TRANSFER_RESULT;
@Configuration
public class ConsumerMerchantPerformanceRedisStreamConfig {
@Autowired
ConsumerMerchantPerformanceRdsReceiver consumerMerchantPerformanceRdsReceiver;
private StreamMessageListenerContainer<String, MapRecord<String, String, String>> buildStreamMessageListenerContainer(RedisConnectionFactory factory) {
var options = StreamMessageListenerContainer
.StreamMessageListenerContainerOptions
.builder()
.pollTimeout(Duration.ofMillis(1))
.build();
return StreamMessageListenerContainer.create(factory, options);
}
/**
* 验票更新
*
* @param listenerContainer
* @param t
* @return
*/
private Subscription receiveTransferResult(StreamMessageListenerContainer<String, MapRecord<String, String, String>> listenerContainer, int t) {
return listenerContainer.receiveAutoAck(
Consumer.from(MQConst.MerchantQueue.SQL_MERCHANT_PERFORMANCE_UPDATE.getGroup(), MQConst.MerchantQueue.SQL_MERCHANT_PERFORMANCE_UPDATE.name() + t),
StreamOffset.create(MQConst.MerchantQueue.SQL_MERCHANT_PERFORMANCE_UPDATE.getKey(), ReadOffset.lastConsumed()), consumerMerchantPerformanceRdsReceiver
);
}
/* —————————————————————————— | —————————————————————————— | —————————————————————————— */
/* -------------------------------------------------------- | 验票更新 */
@Bean
public Subscription subscriptionReceivePerformance1(RedisConnectionFactory factory) {
var listenerContainer = this.buildStreamMessageListenerContainer(factory);
var subscription = receiveTransferResult(listenerContainer, 1);
listenerContainer.start();
return subscription;
}
@Bean
public Subscription subscriptionReceivePerformance2(RedisConnectionFactory factory) {
var listenerContainer = this.buildStreamMessageListenerContainer(factory);
var subscription = receiveTransferResult(listenerContainer, 2);
listenerContainer.start();
return subscription;
}
@Bean
public Subscription subscriptionReceivePerformance3(RedisConnectionFactory factory) {
var listenerContainer = this.buildStreamMessageListenerContainer(factory);
var subscription = receiveTransferResult(listenerContainer, 3);
listenerContainer.start();
return subscription;
}
@Bean
public Subscription subscriptionReceivePerformance4(RedisConnectionFactory factory) {
var listenerContainer = this.buildStreamMessageListenerContainer(factory);
var subscription = receiveTransferResult(listenerContainer, 4);
listenerContainer.start();
return subscription;
}
@Bean
public Subscription subscriptionReceivePerformance5(RedisConnectionFactory factory) {
var listenerContainer = this.buildStreamMessageListenerContainer(factory);
var subscription = receiveTransferResult(listenerContainer, 5);
listenerContainer.start();
return subscription;
}
/* -------------------------------------------------------- | */
}
package com.liquidnet.service.consumer.kylin.config;
import com.liquidnet.service.base.constant.MQConst;
import com.liquidnet.service.consumer.kylin.receiver.ConsumerMerchantStep2RdsReceiver;
import lombok.var;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.connection.stream.Consumer;
import org.springframework.data.redis.connection.stream.MapRecord;
import org.springframework.data.redis.connection.stream.ReadOffset;
import org.springframework.data.redis.connection.stream.StreamOffset;
import org.springframework.data.redis.stream.StreamMessageListenerContainer;
import org.springframework.data.redis.stream.Subscription;
import java.time.Duration;
import static com.liquidnet.service.base.constant.MQConst.KylinQueue.SQL_TRANSFER_RESULT;
@Configuration
public class ConsumerMerchantStep2RedisStreamConfig {
@Autowired
ConsumerMerchantStep2RdsReceiver consumerMerchantStep2RdsReceiver;
private StreamMessageListenerContainer<String, MapRecord<String, String, String>> buildStreamMessageListenerContainer(RedisConnectionFactory factory) {
var options = StreamMessageListenerContainer
.StreamMessageListenerContainerOptions
.builder()
.pollTimeout(Duration.ofMillis(1))
.build();
return StreamMessageListenerContainer.create(factory, options);
}
/**
* 验票更新
*
* @param listenerContainer
* @param t
* @return
*/
private Subscription receiveTransferResult(StreamMessageListenerContainer<String, MapRecord<String, String, String>> listenerContainer, int t) {
return listenerContainer.receiveAutoAck(
Consumer.from(MQConst.MerchantQueue.SQL_MERCHANT_STEP2.getGroup(), MQConst.MerchantQueue.SQL_MERCHANT_STEP2.name() + t),
StreamOffset.create(MQConst.MerchantQueue.SQL_MERCHANT_STEP2.getKey(), ReadOffset.lastConsumed()), consumerMerchantStep2RdsReceiver
);
}
/* —————————————————————————— | —————————————————————————— | —————————————————————————— */
/* -------------------------------------------------------- | 验票更新 */
@Bean
public Subscription subscriptionReceiveStep21(RedisConnectionFactory factory) {
var listenerContainer = this.buildStreamMessageListenerContainer(factory);
var subscription = receiveTransferResult(listenerContainer, 1);
listenerContainer.start();
return subscription;
}
@Bean
public Subscription subscriptionReceiveStep22(RedisConnectionFactory factory) {
var listenerContainer = this.buildStreamMessageListenerContainer(factory);
var subscription = receiveTransferResult(listenerContainer, 2);
listenerContainer.start();
return subscription;
}
@Bean
public Subscription subscriptionReceiveStep23(RedisConnectionFactory factory) {
var listenerContainer = this.buildStreamMessageListenerContainer(factory);
var subscription = receiveTransferResult(listenerContainer, 3);
listenerContainer.start();
return subscription;
}
@Bean
public Subscription subscriptionReceiveStep24(RedisConnectionFactory factory) {
var listenerContainer = this.buildStreamMessageListenerContainer(factory);
var subscription = receiveTransferResult(listenerContainer, 4);
listenerContainer.start();
return subscription;
}
@Bean
public Subscription subscriptionReceiveStep25(RedisConnectionFactory factory) {
var listenerContainer = this.buildStreamMessageListenerContainer(factory);
var subscription = receiveTransferResult(listenerContainer, 5);
listenerContainer.start();
return subscription;
}
/* -------------------------------------------------------- | */
}
package com.liquidnet.service.consumer.kylin.config;
import com.liquidnet.service.base.constant.MQConst;
import com.liquidnet.service.consumer.kylin.receiver.ConsumerMerchantTicketRdsReceiver;
import lombok.var;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.connection.stream.Consumer;
import org.springframework.data.redis.connection.stream.MapRecord;
import org.springframework.data.redis.connection.stream.ReadOffset;
import org.springframework.data.redis.connection.stream.StreamOffset;
import org.springframework.data.redis.stream.StreamMessageListenerContainer;
import org.springframework.data.redis.stream.Subscription;
import java.time.Duration;
import static com.liquidnet.service.base.constant.MQConst.KylinQueue.SQL_TRANSFER_RESULT;
@Configuration
public class ConsumerMerchantTicketRedisStreamConfig {
@Autowired
ConsumerMerchantTicketRdsReceiver consumerMerchantTicketRdsReceiver;
private StreamMessageListenerContainer<String, MapRecord<String, String, String>> buildStreamMessageListenerContainer(RedisConnectionFactory factory) {
var options = StreamMessageListenerContainer
.StreamMessageListenerContainerOptions
.builder()
.pollTimeout(Duration.ofMillis(1))
.build();
return StreamMessageListenerContainer.create(factory, options);
}
/**
* 验票更新
*
* @param listenerContainer
* @param t
* @return
*/
private Subscription receiveTransferResult(StreamMessageListenerContainer<String, MapRecord<String, String, String>> listenerContainer, int t) {
return listenerContainer.receiveAutoAck(
Consumer.from(MQConst.MerchantQueue.SQL_MERCHANT_TICKET_UPDATE.getGroup(), MQConst.MerchantQueue.SQL_MERCHANT_TICKET_UPDATE.name() + t),
StreamOffset.create(MQConst.MerchantQueue.SQL_MERCHANT_TICKET_UPDATE.getKey(), ReadOffset.lastConsumed()), consumerMerchantTicketRdsReceiver
);
}
/* —————————————————————————— | —————————————————————————— | —————————————————————————— */
/* -------------------------------------------------------- | 验票更新 */
@Bean
public Subscription subscriptionReceiveTicket1(RedisConnectionFactory factory) {
var listenerContainer = this.buildStreamMessageListenerContainer(factory);
var subscription = receiveTransferResult(listenerContainer, 1);
listenerContainer.start();
return subscription;
}
@Bean
public Subscription subscriptionReceiveTicket2(RedisConnectionFactory factory) {
var listenerContainer = this.buildStreamMessageListenerContainer(factory);
var subscription = receiveTransferResult(listenerContainer, 2);
listenerContainer.start();
return subscription;
}
@Bean
public Subscription subscriptionReceiveTicket3(RedisConnectionFactory factory) {
var listenerContainer = this.buildStreamMessageListenerContainer(factory);
var subscription = receiveTransferResult(listenerContainer, 3);
listenerContainer.start();
return subscription;
}
@Bean
public Subscription subscriptionReceiveTicket4(RedisConnectionFactory factory) {
var listenerContainer = this.buildStreamMessageListenerContainer(factory);
var subscription = receiveTransferResult(listenerContainer, 4);
listenerContainer.start();
return subscription;
}
@Bean
public Subscription subscriptionReceiveTicket5(RedisConnectionFactory factory) {
var listenerContainer = this.buildStreamMessageListenerContainer(factory);
var subscription = receiveTransferResult(listenerContainer, 5);
listenerContainer.start();
return subscription;
}
/* -------------------------------------------------------- | */
}
package com.liquidnet.service.consumer.kylin.receiver;
import com.liquidnet.service.base.constant.MQConst;
import org.springframework.stereotype.Component;
@Component
public class ConsumerMerchantLineRdsReceiver extends AbstractSqlRedisReceiver {
@Override
protected String getRedisStreamKey() {
return MQConst.MerchantQueue.SQL_MERCHANT_LINE.getKey();
}
@Override
protected String getRedisStreamGroup() {
return MQConst.MerchantQueue.SQL_MERCHANT_LINE.getGroup();
}
}
package com.liquidnet.service.consumer.kylin.receiver;
import com.liquidnet.service.base.constant.MQConst;
import org.springframework.stereotype.Component;
@Component
public class ConsumerMerchantPerformanceRdsReceiver extends AbstractSqlRedisReceiver {
@Override
protected String getRedisStreamKey() {
return MQConst.MerchantQueue.SQL_MERCHANT_PERFORMANCE_UPDATE.getKey();
}
@Override
protected String getRedisStreamGroup() {
return MQConst.MerchantQueue.SQL_MERCHANT_PERFORMANCE_UPDATE.getGroup();
}
}
package com.liquidnet.service.consumer.kylin.receiver;
import com.liquidnet.service.base.constant.MQConst;
import org.springframework.stereotype.Component;
@Component
public class ConsumerMerchantPerformaneInsertRdsReceiver extends AbstractSqlRedisReceiver {
@Override
protected String getRedisStreamKey() {
return MQConst.MerchantQueue.SQL_MERCHANT_PERFORMANCE_INSERT.getKey();
}
@Override
protected String getRedisStreamGroup() {
return MQConst.MerchantQueue.SQL_MERCHANT_PERFORMANCE_INSERT.getGroup();
}
}
package com.liquidnet.service.consumer.kylin.receiver;
import com.liquidnet.service.base.constant.MQConst;
import org.springframework.stereotype.Component;
@Component
public class ConsumerMerchantStep2RdsReceiver extends AbstractSqlRedisReceiver {
@Override
protected String getRedisStreamKey() {
return MQConst.MerchantQueue.SQL_MERCHANT_STEP2.getKey();
}
@Override
protected String getRedisStreamGroup() {
return MQConst.MerchantQueue.SQL_MERCHANT_STEP2.getGroup();
}
}
package com.liquidnet.service.consumer.kylin.receiver;
import com.liquidnet.service.base.constant.MQConst;
import org.springframework.stereotype.Component;
@Component
public class ConsumerMerchantTicketRdsReceiver extends AbstractSqlRedisReceiver {
@Override
protected String getRedisStreamKey() {
return MQConst.MerchantQueue.SQL_MERCHANT_TICKET_UPDATE.getKey();
}
@Override
protected String getRedisStreamGroup() {
return MQConst.MerchantQueue.SQL_MERCHANT_TICKET_UPDATE.getGroup();
}
}
XADD merchant:stream:rk.sql.field * 0 0
XGROUP CREATE merchant:stream:rk.sql.field group.sql.field 0
XADD merchant:stream:rk.ticket * 0 0
XGROUP CREATE merchant:stream:rk.ticket group.ticket 0
XADD merchant:stream:rk.performance * 0 0
XGROUP CREATE merchant:stream:rk.performance group.performance 0
XADD merchant:stream:rk.performance.step2 * 0 0
XGROUP CREATE merchant:stream:rk.performance.step2 group.performance.step2 0
XADD merchant:stream:rk.any.line * 0 0
XGROUP CREATE merchant:stream:rk.any.line group.any.line 0
XADD merchant:stream:rk.performance.insert * 0 0
XGROUP CREATE merchant:stream:rk.performance.insert group.performance.insert 0
\ No newline at end of file
......@@ -6,6 +6,7 @@ import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.kylin.dto.vo.middle.KylinBuyNoticeVo;
import com.liquidnet.service.kylin.service.partner.IKylinBuyNoticePartnerService;
import com.liquidnet.service.merchant.util.InnerUtils;
import com.liquidnet.service.merchant.util.MongoMerchantUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
......
......@@ -9,6 +9,7 @@ import com.liquidnet.service.kylin.dto.param.PerformanceStep1Param;
import com.liquidnet.service.kylin.dto.param.PerformanceStep2Param;
import com.liquidnet.service.kylin.dto.vo.PerformanceOrderStatisticalVo;
import com.liquidnet.service.kylin.service.partner.IKylinPerformancesPartnerService;
import com.liquidnet.service.merchant.util.MongoMerchantUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
......@@ -30,6 +31,8 @@ public class PerformancePartnerController {
@Autowired
private IKylinPerformancesPartnerService performancesPartnerService;
@Autowired
MongoMerchantUtils mongoMerchantUtils;
@PostMapping(value = "list")
@ApiOperation(value = "演出列表",position = 1)
......
package com.liquidnet.service.merchant.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.commons.lang.util.CurrentUtil;
import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.service.base.ErrorMapping;
import com.liquidnet.service.base.ResponseDto;
......@@ -47,8 +48,12 @@ public class KylinTicketTimesPartnerServiceImpl implements IKylinTicketTimesPart
@Override
public ResponseDto<KylinTicketTimesPartnerVo> createTimesSummary(CreateTicketTimesParam createTicketTimesParam) {
ResponseDto<KylinTicketTimesPartnerVo> ticketTimesPartnerVo;
String merchantId = CurrentUtil.getCurrentUid();
//获取演出状态
KylinPerformanceVo vo = mongoMerchantUtils.getPerformanceVo(createTicketTimesParam.getPerformancesId());
KylinPerformanceVo vo = mongoMerchantUtils.getPerformanceVoNoMerchant(createTicketTimesParam.getPerformancesId());
if (null != vo && !vo.getMerchantId().equals(merchantId)) {
return ResponseDto.failure(ErrorMapping.get(29999));
}
if (null == vo) {
ticketTimesPartnerVo = createTimes(createTicketTimesParam);
log.info(UserPathDto.setPartnerData("0", "createTimes", createTicketTimesParam, ticketTimesPartnerVo));
......@@ -148,11 +153,12 @@ public class KylinTicketTimesPartnerServiceImpl implements IKylinTicketTimesPart
public ResponseDto<String> deleteTimes(String ticketTimesId, String performanceId) {
try {
LocalDateTime updatedAt = LocalDateTime.now();
String merchantId = CurrentUtil.getCurrentUid();
KylinTicketTimesPartnerVo data = mongoMerchantUtils.getTicketTimesPartnerVo(ticketTimesId);
if (data.getStatus() == 0) {
return ResponseDto.failure(ErrorMapping.get(20106));
}
KylinPerformanceVo vo = mongoMerchantUtils.getPerformanceVo(performanceId);
KylinPerformanceVo vo = redisMerchantUtils.getPerformanceVo(performanceId, merchantId);
KylinTicketTimesVo ticketTimesData = null;
for (int x = 0; x < vo.getTicketTimeList().size(); x++) {
ticketTimesData = vo.getTicketTimeList().get(x);
......@@ -188,6 +194,11 @@ public class KylinTicketTimesPartnerServiceImpl implements IKylinTicketTimesPart
@Override
public ResponseDto<KylinTicketTimesPartnerVo> changeTimes(CreateTicketTimesParam createTicketTimesParam) {
try {
String merchantId = CurrentUtil.getCurrentUid();
KylinPerformanceVo vo = mongoMerchantUtils.getPerformanceVoNoMerchant(createTicketTimesParam.getPerformancesId());
if (null != vo && !vo.getMerchantId().equals(merchantId)) {
return ResponseDto.failure(ErrorMapping.get(29999));
}
LocalDateTime updatedAt = LocalDateTime.now();
String title = "";
if (createTicketTimesParam.getType() == 1) {
......@@ -206,7 +217,6 @@ public class KylinTicketTimesPartnerServiceImpl implements IKylinTicketTimesPart
kylinTicketTimesPartnerVo.setUseEnd(createTicketTimesParam.getUseEnd().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
kylinTicketTimesPartnerVo.setStatus(null);
mongoMerchantUtils.updateTicketTimesPartnerVo(kylinTicketTimesPartnerVo);
KylinTicketPartnerVo ticketPartnerVo = KylinTicketPartnerVo.getNew();
ticketPartnerVo.setTicketsId(createTicketTimesParam.getTicketTimesId());
ticketPartnerVo.setUseEnd(kylinTicketTimesPartnerVo.getUseEnd());
......
......@@ -2,10 +2,7 @@ package com.liquidnet.service.merchant.service.impl;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.commons.lang.util.*;
import com.liquidnet.service.base.ErrorMapping;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.base.SqlMapping;
......@@ -59,11 +56,15 @@ public class KylinTicketsPartnerServiceImpl implements IKylinTicketsPartnerServi
@Override
public ResponseDto<KylinTicketPartnerVo> createTicketSummary(TicketCreateParam ticketCreateParam) {
String merchantId = CurrentUtil.getCurrentUid();
ResponseDto<KylinTicketPartnerVo> ticketPartnerVo;
//获取演出状态
KylinTicketTimesPartnerVo timesPartnerVo = mongoMerchantUtils.getTicketTimesPartnerVo(ticketCreateParam.getTimesId());
if (null != timesPartnerVo) {
KylinPerformanceVo vo = mongoMerchantUtils.getPerformanceVo(timesPartnerVo.getPerformancesId());
KylinPerformanceVo vo = mongoMerchantUtils.getPerformanceVoNoMerchant(timesPartnerVo.getPerformancesId());
if (null != vo && !vo.getMerchantId().equals(merchantId)) {
return ResponseDto.failure(ErrorMapping.get(29999));
}
if (null == vo) {
ticketPartnerVo = createTicket(ticketCreateParam);
log.info(UserPathDto.setPartnerData("0", "createTicket", ticketCreateParam, ticketPartnerVo));
......@@ -184,8 +185,9 @@ public class KylinTicketsPartnerServiceImpl implements IKylinTicketsPartnerServi
@Override
public ResponseDto<KylinTicketPartnerVo> updateTicket(TicketCreateParam ticketCreateParam) {
try {
String merchantId = CurrentUtil.getCurrentUid();
KylinTicketTimesPartnerVo ticketTimeRelation = mongoMerchantUtils.getTicketTimesPartnerVo(ticketCreateParam.getTimesId());
PerformancePartnerVo data = mongoMerchantUtils.getPerformancePartnerVo(ticketTimeRelation.getPerformancesId());
PerformancePartnerVo data = mongoMerchantUtils.getPerformancePartnerVo(ticketTimeRelation.getPerformancesId(), merchantId);
if (data == null || data.getAuditStatus() == null || data.getAuditStatus() == 0) {
return ResponseDto.failure(ErrorMapping.get("20112"));
}
......@@ -228,8 +230,9 @@ public class KylinTicketsPartnerServiceImpl implements IKylinTicketsPartnerServi
@Override
public ResponseDto<String> deleteTicket(String ticketsId, String performanceId) {
try {
String merchantId = CurrentUtil.getCurrentUid();
LocalDateTime updatedAt = LocalDateTime.now();
KylinPerformanceVo vo = mongoMerchantUtils.getPerformanceVo(performanceId);
KylinPerformanceVo vo = redisMerchantUtils.getPerformanceVo(performanceId, merchantId);
KylinTicketTimesVo ticketTimesData;
KylinTicketVo ticketData = null;
for (int x = 0; x < vo.getTicketTimeList().size(); x++) {
......@@ -244,16 +247,14 @@ public class KylinTicketsPartnerServiceImpl implements IKylinTicketsPartnerServi
break;
}
PerformancePartnerVo data = mongoMerchantUtils.getPerformancePartnerVo(performanceId, merchantId);
if (data == null || data.getAuditStatus() == null || data.getAuditStatus() == 0) {
return ResponseDto.failure(ErrorMapping.get("20106"));
}
if (ticketData == null) {
mongoMerchantUtils.deleteTicketPartnerVo(ticketsId);
return ResponseDto.success("删除成功");
}
PerformancePartnerVo data = mongoMerchantUtils.getPerformancePartnerVo(performanceId);
if (data == null || data.getAuditStatus() == null || data.getAuditStatus() == 0) {
return ResponseDto.failure(ErrorMapping.get("20106"));
}
if (vo.getAppStatus() == 0 || vo.getAppStatus() == 4) {//未提审||被拒绝
// mongo 操作
KylinTicketPartnerVo ticketPartnerVo = KylinTicketPartnerVo.getNew();
......@@ -276,8 +277,9 @@ public class KylinTicketsPartnerServiceImpl implements IKylinTicketsPartnerServi
public ResponseDto<KylinTicketPartnerVo> copyTicket(String performanceId, String ticketsId) {
try {
// 获取 当前时间 -> 创建时间
String merchantId = CurrentUtil.getCurrentUid();
LocalDateTime createdAt = LocalDateTime.now();
PerformancePartnerVo performancePartnerVo = mongoMerchantUtils.getPerformancePartnerVo(performanceId);
PerformancePartnerVo performancePartnerVo = mongoMerchantUtils.getPerformancePartnerVo(performanceId, merchantId);
if (performancePartnerVo.getAuditStatus() == 0 || performancePartnerVo.getAuditStatus() == 1) {
return ResponseDto.failure(ErrorMapping.get(20107));
}
......@@ -325,7 +327,8 @@ public class KylinTicketsPartnerServiceImpl implements IKylinTicketsPartnerServi
public ResponseDto<String> onLine(String ticketsId, String performancesId) {
try {
LocalDateTime updatedAt = LocalDateTime.now();
KylinPerformanceVo vo = mongoMerchantUtils.getPerformanceVo(performancesId);
String merchantId = CurrentUtil.getCurrentUid();
KylinPerformanceVo vo = redisMerchantUtils.getPerformanceVo(performancesId, merchantId);
KylinTicketTimesVo ticketTimesData;
KylinTicketVo ticketData = null;
for (int x = 0; x < vo.getTicketTimeList().size(); x++) {
......@@ -368,7 +371,8 @@ public class KylinTicketsPartnerServiceImpl implements IKylinTicketsPartnerServi
public ResponseDto<String> outLine(String ticketsId, String performancesId) {
try {
LocalDateTime updatedAt = LocalDateTime.now();
KylinPerformanceVo vo = mongoMerchantUtils.getPerformanceVo(performancesId);
String merchantId = CurrentUtil.getCurrentUid();
KylinPerformanceVo vo = redisMerchantUtils.getPerformanceVo(performancesId, merchantId);
KylinTicketTimesVo ticketTimesData;
KylinTicketVo ticketData = null;
for (int x = 0; x < vo.getTicketTimeList().size(); x++) {
......
......@@ -94,7 +94,7 @@ public class MerchantSponsorsServiceImpl implements IMerchantSponsorsService {
// JsonNode respJNode = JsonUtils.fromJson(respStr, JsonNode.class);
// if (null == respJNode || !"0".equals(respJNode.get("error_code").asText())) {
// log.info("###联系人实名认证失败[{}]", respStr);
// ErrorMapping.ErrorMessage errorMessage = ErrorMapping.get("13001");
// ErrorMapping.ErrorMessage errorMessage = ErrorMapping.get("13002");
// throw new LiquidnetServiceException(errorMessage.getCode(), errorMessage.getMessage());
// }
......
......@@ -16,8 +16,8 @@ import java.util.List;
@Component
public class InnerUtils {
// @Value("${liquidnet.service.platform.url}")
private String platform="http://127.0.0.1:9003";
@Value("${liquidnet.service.platform.url}")
private String platform;
public List<KylinBuyNoticeVo> getBuyNotice() {
MultiValueMap<String, String> header = CollectionUtil.linkedMultiValueMapStringString();
......
package com.liquidnet.service.merchant.util;
import com.liquidnet.service.kylin.dao.PerformancePartnerListDao;
import com.liquidnet.service.kylin.dto.param.PerformancePartnerListParam;
import com.liquidnet.service.kylin.dto.param.PerformancePartnerVo;
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.partner.KylinTicketPartnerVo;
import com.liquidnet.service.kylin.dto.vo.partner.KylinTicketTimesPartnerVo;
......@@ -9,13 +12,20 @@ import com.mongodb.client.model.FindOneAndUpdateOptions;
import com.mongodb.client.model.ReturnDocument;
import org.bson.Document;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.aggregation.Aggregation;
import org.springframework.data.mongodb.core.aggregation.AggregationOperation;
import org.springframework.data.mongodb.core.aggregation.AggregationResults;
import org.springframework.data.mongodb.core.aggregation.LookupOperation;
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 java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
......@@ -27,7 +37,11 @@ public class MongoMerchantUtils {
private MongoConverter mongoConverter;
public PerformancePartnerVo getPerformancePartnerVo(String performanceId) {
public PerformancePartnerVo getPerformancePartnerVo(String performanceId,String merchantId) {
return mongoTemplate.findOne(Query.query(Criteria.where("performancesId").is(performanceId).and("merchantId").is(merchantId)), PerformancePartnerVo.class, PerformancePartnerVo.class.getSimpleName());
}
public PerformancePartnerVo getPerformancePartnerVoNoMerchant(String performanceId) {
return mongoTemplate.findOne(Query.query(Criteria.where("performancesId").is(performanceId)), PerformancePartnerVo.class, PerformancePartnerVo.class.getSimpleName());
}
......@@ -134,8 +148,8 @@ public class MongoMerchantUtils {
mongoTemplate.remove(Query.query(Criteria.where("ticketsId").is(ticketsId)), KylinTicketPartnerVo.class, KylinTicketPartnerVo.class.getSimpleName());
}
public boolean isExistsSubmitPerformancePartner(String performanceId) {
return mongoTemplate.exists(Query.query(Criteria.where("performancesId").is(performanceId).and("auditStatus").is(0)),
public boolean isExistsSubmitPerformancePartner(String performanceId,String merchantId) {
return mongoTemplate.exists(Query.query(Criteria.where("performancesId").is(performanceId).and("merchantId").is(merchantId).and("auditStatus").is(0)),
PerformancePartnerVo.class,
PerformancePartnerVo.class.getSimpleName());
}
......@@ -165,7 +179,11 @@ public class MongoMerchantUtils {
return mongoTemplate.remove(Query.query(Criteria.where("performancesId").is(performanceId)), KylinPerformanceVo.class, KylinPerformanceVo.class.getSimpleName());
}
public KylinPerformanceVo getPerformanceVo(String performanceId) {
public KylinPerformanceVo getPerformanceVo(String performanceId,String merchantId) {
return mongoTemplate.findOne(Query.query(Criteria.where("performancesId").is(performanceId).and("merchantId").is(merchantId)), KylinPerformanceVo.class, KylinPerformanceVo.class.getSimpleName());
}
public KylinPerformanceVo getPerformanceVoNoMerchant(String performanceId) {
return mongoTemplate.findOne(Query.query(Criteria.where("performancesId").is(performanceId)), KylinPerformanceVo.class, KylinPerformanceVo.class.getSimpleName());
}
......@@ -182,4 +200,46 @@ public class MongoMerchantUtils {
);
return docTicket;
}
public List<PerformancePartnerListDao> getPerformanceList(PerformancePartnerListParam performancePartnerListParam) {
performancePartnerListParam.setOrderType(performancePartnerListParam.getOrderType());
//分页排序
Sort.Direction orderBy = Sort.Direction.DESC;
if (performancePartnerListParam.getOrderSc().equals("asc")) {
orderBy = Sort.Direction.ASC;
}
Aggregation aggregation = Aggregation.newAggregation(
Aggregation.project("performancesId", "title", "timeStart", "timeEnd", "timeSell", "timeStop", "totalGeneral", "saleGeneral", "totalSalePrice",
"surplusGeneral", "status", "type", "auditStatus", "rejectTxt", "createdAt","payCountdownMinute",
"ticketTimeList", "ticketList","appStatus",
"performanceId", "couponType", "transferStatus", "number", "refundNumber", "priceActual", "priceRefund"),
Aggregation.lookup(KylinOrderTicketVo.class.getSimpleName(),"performanceId","performancesId","o"),
Aggregation.match(Criteria.where("o.status").in(0, 1, 3, 6).and("o.couponType").is("no").and("o.transferStatus").in(0, 1, 2, 5)),
Aggregation.unwind("ticketTimeList"),
Aggregation.unwind("ticketTimeList.ticketList"),
Aggregation.group("performancesId").first("performancesId").as("performancesId")
.first("title").as("title")
.first("timeStart").as("timeStart")
.first("timeEnd").as("timeEnd")
.first("type").as("type")
.first("rejectTxt").as("rejectTxt")
.first("createdAt").as("createdAt")
.first("appStatus").as("status")
.first("auditStatus").as("auditStatus")
.first("payCountdownMinute").as("payCountdownMinute")
.min("ticketTimeList.ticketList.timeStart").as("timeSell")
.sum("totalGeneral").as("totalGeneral")
.sum("o.number").as("number")
.sum("o.refundNumber").as("refundNumber")
.sum("o.priceActual").as("priceActual")
.sum("o.priceRefund").as("priceRefund")
.max("ticketTimeList.ticketList.timeEnd").as("timeStop"),
Aggregation.skip((performancePartnerListParam.getPage() - 1) * performancePartnerListParam.getSize()),
Aggregation.limit(performancePartnerListParam.getSize()),
Aggregation.sort(orderBy,performancePartnerListParam.getOrderItem())
);
AggregationResults<PerformancePartnerListDao> outputType = mongoTemplate.aggregate(aggregation, KylinPerformanceVo.class.getSimpleName(), PerformancePartnerListDao.class);
List<PerformancePartnerListDao> list = outputType.getMappedResults();
return list;
}
}
......@@ -169,7 +169,7 @@ public class PerformanceUtils {
*/
public KylinPerformanceMisVo getPerformanceMisVo(String performancesId) {
try {
PerformancePartnerVo performanceData = mongoMerchantUtils.getPerformancePartnerVo(performancesId);
PerformancePartnerVo performanceData = mongoMerchantUtils.getPerformancePartnerVoNoMerchant(performancesId);
List<KylinTicketTimesPartnerVo> kylinTicketTimesPartnerVos = ticketTimesPartnerService.getTimesMongoList(performancesId);
List<TicketTimesTicketCreatePartnerVo> ticketTimesTicketCreatePartnerVoList = new ArrayList<TicketTimesTicketCreatePartnerVo>();
......@@ -221,20 +221,20 @@ public class PerformanceUtils {
try {
LinkedList<String> sqls = CollectionUtil.linkedListString();
sqls.add(SqlMapping.get("kylin_performances.del"));
sqls.add(SqlMapping.get("kylin_performance_status.del"));
sqls.add(SqlMapping.get("kylin_performance_relations.del"));
sqls.add(SqlMapping.get("kylin_performances.insert"));
sqls.add(SqlMapping.get("kylin_performance_status.del"));
sqls.add(SqlMapping.get("kylin_performance_status.insert"));
sqls.add(SqlMapping.get("kylin_performance_relations.del"));
sqls.add(SqlMapping.get("kylin_performance_relations.insert"));
sqls.add(SqlMapping.get("kylin_ticket_times.del"));
sqls.add(SqlMapping.get("kylin_ticket_time_relation.del"));
sqls.add(SqlMapping.get("kylin_ticket_times.insert"));
sqls.add(SqlMapping.get("kylin_ticket_time_relation.del"));
sqls.add(SqlMapping.get("kylin_ticket_time_relation.insert"));
sqls.add(SqlMapping.get("kylin_tickets.del"));
sqls.add(SqlMapping.get("kylin_ticket_status.del"));
sqls.add(SqlMapping.get("kylin_ticket_relations.del"));
sqls.add(SqlMapping.get("kylin_tickets.insert"));
sqls.add(SqlMapping.get("kylin_ticket_status.del"));
sqls.add(SqlMapping.get("kylin_ticket_status.insert"));
sqls.add(SqlMapping.get("kylin_ticket_relations.del"));
sqls.add(SqlMapping.get("kylin_ticket_relations.insert"));
LinkedList<Object[]> del1 = CollectionUtil.linkedListObjectArr();
......@@ -285,18 +285,11 @@ public class PerformanceUtils {
performanceRelations.setUpdatedAt(updatedAt);
del1.add(new Object[]{performances.getPerformancesId()});
Object[] obj_array1 = BeanUtil.convertBeanToMap(performances).values().toArray();
insert1.add(obj_array1);
log.debug("performance:"+obj_array1);
insert1.add(performances.insert(performances));
del2.add(new Object[]{performances.getPerformancesId()});
Object[] obj_array2 = BeanUtil.convertBeanToMap(performanceStatus).values().toArray();
insert2.add(obj_array2);
log.debug("performanceStatus:"+obj_array2);
insert2.add(performanceStatus.insert(performanceStatus));
del3.add(new Object[]{performances.getPerformancesId()});
Object[] obj_array3 = BeanUtil.convertBeanToMap(performanceRelations).values().toArray();
insert3.add(obj_array3);
insert3.add(performanceRelations.insert(performanceRelations));
//场次数据
List<KylinTicketTimesPartnerVo> kylinTicketTimesPartnerVos = ticketTimesPartnerService.getTimesMongoList(performancesId);
......@@ -319,12 +312,9 @@ public class PerformanceUtils {
ticketTimeRelation.setUpdatedAt(updatedAt);
del4.add(new Object[]{ticketTimes.getTicketTimesId()});
Object[] obj_array4 = BeanUtil.convertBeanToMap(ticketTimes).values().toArray();
insert4.add(obj_array4);
insert4.add(ticketTimes.insert(ticketTimes));
del5.add(new Object[]{ticketTimes.getTicketTimesId()});
Object[] obj_array5 = BeanUtil.convertBeanToMap(ticketTimeRelation).values().toArray();
insert5.add(obj_array5);
insert5.add(ticketTimeRelation.insert(ticketTimeRelation));
//修改票
for (KylinTicketPartnerVo ticketItem : ticketsPartnerService.getTicketMongoList(ticketTimeItem.getTicketTimesId())) {
......@@ -347,16 +337,22 @@ public class PerformanceUtils {
if (ticketItem.getIsExpress() == 1) {
tickets.setTimeEndExpress(DateUtil.asLocalDateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(ticketItem.getTimeEndExpress())));
tickets.setDescribeExpress(ticketItem.getDescribeExpress());
}else{
tickets.setTimeEndExpress(updatedAt);
tickets.setDescribeExpress("");
}
if (ticketItem.getIsElectronic() == 1) {
tickets.setDescribeElectronic(ticketItem.getDescribeElectronic());
}else{
tickets.setDescribeElectronic("");
}
tickets.setUseStart(DateUtil.asLocalDateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(ticketTimeItem.getUseStart())));
tickets.setUseEnd(DateUtil.asLocalDateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(ticketTimeItem.getUseEnd())));
tickets.setSaleRemindMinute(60);
tickets.setAdvanceMinuteMember(5);
tickets.setCreatedAt(DateUtil.asLocalDateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(ticketItem.getCreatedAt())));
tickets.setUpdatedAt(updatedAt);
ticketStatus.setTicketStatusId(IDGenerator.nextSnowId().toString());
ticketStatus.setTicketStatusId(IDGenerator.nextSnowId());
ticketStatus.setTicketId(tickets.getTicketsId());
ticketStatus.setIsMember(1);
ticketStatus.setIsExclusive(0);
......@@ -365,6 +361,8 @@ public class PerformanceUtils {
ticketStatus.setStatusExchange(7);
if (ticketItem.getIsShowCode() == 1) {
ticketStatus.setQrCodeShowTime(DateUtil.asLocalDateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(ticketItem.getQrCodeShowTime())));
}else{
ticketStatus.setQrCodeShowTime(updatedAt);
}
ticketRelations.setCreatedAt(tickets.getCreatedAt());
......@@ -375,25 +373,26 @@ public class PerformanceUtils {
ticketRelations.setUpdatedAt(updatedAt);
del6.add(new Object[]{tickets.getTicketsId()});
Object[] obj_array6 = BeanUtil.convertBeanToMap(tickets).values().toArray();
insert6.add(obj_array6);
insert6.add(tickets.insert(tickets));
del7.add(new Object[]{tickets.getTicketsId()});
Object[] obj_array7 = BeanUtil.convertBeanToMap(ticketStatus).values().toArray();
insert7.add(obj_array7);
insert7.add(ticketStatus.insert(ticketStatus));
del8.add(new Object[]{tickets.getTicketsId()});
Object[] obj_array8 = BeanUtil.convertBeanToMap(ticketRelations).values().toArray();
insert8.add(obj_array8);
insert8.add(ticketRelations.insert(ticketRelations));
redisMerchantUtils.setSurplusExchange(tickets.getTicketsId(), ticketStatus.getSurplusExchange());
redisMerchantUtils.setSurplusGeneral(tickets.getTicketsId(), ticketStatus.getSurplusGeneral());
}
}
//TODO 待做
String sqlData = SqlMapping.gets(sqls,
del1, del2, del3, del4, del5, del6, del7, del8,
insert1, insert2, insert3, insert4, insert5, insert6, insert7, insert8);
del1, insert1,
del2, insert2,
del3, insert3,
del4, insert4,
del5, insert5,
del6, insert6,
del7, insert7,
del8, insert8
);
queueUtil.sendMsgByRedis(MQConst.MerchantQueue.SQL_MERCHANT_PERFORMANCE_INSERT.getKey(),
sqlData);
} catch (Exception e) {
......@@ -487,7 +486,7 @@ public class PerformanceUtils {
public KylinPerformanceVo combinePerformanceVoData(String performancesId) {
try {
//演出数据
KylinPerformanceVo vo = redisMerchantUtils.getPerformanceVo(performancesId);
KylinPerformanceVo vo = redisMerchantUtils.getPerformanceVoNoMerchant(performancesId);
//场地相关数据
KylinFields fields = new KylinFields();
MerchantFieldsVo fieldsVo = redisMerchantUtils.getFieldVo(vo.getFieldId());
......
......@@ -52,12 +52,23 @@ public class RedisMerchantUtils {
* @param performanceId
* @return
*/
public KylinPerformanceVo getPerformanceVo(String performanceId) {
public KylinPerformanceVo getPerformanceVo(String performanceId,String merchantId) {
Object obj = redisUtil.get(KylinRedisConst.PERFORMANCES + performanceId);
if (obj != null) {
return (KylinPerformanceVo) obj;
} else {
KylinPerformanceVo performanceData = mongoMerchantUtils.getPerformanceVo(performanceId);
KylinPerformanceVo performanceData = mongoMerchantUtils.getPerformanceVo(performanceId,merchantId);
redisUtil.set(KylinRedisConst.PERFORMANCES + performanceId, performanceData);
return performanceData;
}
}
public KylinPerformanceVo getPerformanceVoNoMerchant(String performanceId) {
Object obj = redisUtil.get(KylinRedisConst.PERFORMANCES + performanceId);
if (obj != null) {
return (KylinPerformanceVo) obj;
} else {
KylinPerformanceVo performanceData = mongoMerchantUtils.getPerformanceVoNoMerchant(performanceId);
redisUtil.set(KylinRedisConst.PERFORMANCES + performanceId, performanceData);
return performanceData;
}
......
......@@ -6,6 +6,7 @@
13001=法人姓名与身份证不匹配
13002=联系人姓名与身份证不匹配
# 场地
13101=场地不存在,请核实
13102=场地已被认领
13103=场地申请已达到上限
......@@ -15,8 +16,37 @@
13111=验票员已存在
13112=验票员不存在
# 主办
13201=主办申请已经达到上限
13202=主办公司信息不能为空
13203=申请不存在,请核实
13204=申请未驳回,不能删除
\ No newline at end of file
13204=申请未驳回,不能删除
#APP PARTNER
20101=添加失败
20102=删除失败
20103=修改失败
20104=查询失败
20105=创建失败
20106=不可删除
20107=复制失败
20108=上线失败
20109=下线失败
20110=不可上线
20111=不可下线
20112=不可修改
20113=未创建场次
20114=有场次未创建票种
20115=提交失败
20116=不可撤回
20117=撤回失败
20118=日期有误
29999=无权限
......@@ -35,21 +35,21 @@ kylin_performance_status.VoStatus=UPDATE kylin_performance_status SET status = ?
kylin_performances.del=DELETE FROM kylin_performances WHERE performances_id = ?
kylin_performance_status.del=DELETE FROM kylin_performance_status WHERE performance_id = ?
kylin_performance_relations.del=DELETE FROM kylin_performance_relations WHERE performance_id = ?
kylin_performances.insert=DELETE FROM kylin_performances WHERE performances_id = ?
kylin_performance_status.insert=DELETE FROM kylin_performance_status WHERE performance_id = ?
kylin_performance_relations.insert=DELETE FROM kylin_performance_relations WHERE performance_id = ?
#province_id,province_name,district_id,district_name
kylin_performances.insert=INSERT INTO kylin_performances (performances_id,title,type,img_poster,city_id,city_name,approval_url,notice,sponsor_id,sponsor_type,sponsor,contacts,mobile,describes,details,notice_image,time_start,time_end,sort,comment,created_at,updated_at) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
kylin_performance_status.insert=INSERT INTO kylin_performance_status (performance_status_id,performance_id,is_show,status,status_sell,is_distribution,sync_agent,sync_damai,audit_status,is_true_name,limit_count,limit_count_member,created_at,updated_at) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?)
kylin_performance_relations.insert=INSERT INTO kylin_performance_relations (performance_relations_id,performance_id,copy_id,merchant_id,field_id,road_show_id,project_id,video_id,created_at,updated_at) VALUES (?,?,?,?,?,?,?,?,?,?)
kylin_ticket_times.del=DELETE FROM kylin_ticket_times WHERE ticket_times_id = ?
kylin_ticket_time_relation.del=DELETE FROM kylin_ticket_time_relation WHERE times_id = ?
kylin_ticket_times.insert=DELETE FROM kylin_ticket_times WHERE ticket_times_id = ?
kylin_ticket_time_relation.insert=DELETE FROM kylin_ticket_time_relation WHERE times_id = ?
kylin_ticket_times.insert=INSERT INTO kylin_ticket_times (ticket_times_id,title,status,type,use_start,use_end,comment,created_at,updated_at) VALUES (?,?,?,?,?,?,?,?,?)
kylin_ticket_time_relation.insert=INSERT INTO kylin_ticket_time_relation (ticket_time_relation_id,times_id,performance_id,created_at,updated_at) VALUES (?,?,?,?,?)
kylin_tickets.del=DELETE FROM kylin_tickets WHERE tickets_id = ?
kylin_ticket_status.del=DELETE FROM kylin_ticket_status WHERE ticket_id = ?
kylin_ticket_relations.del=DELETE FROM kylin_ticket_relations WHERE ticket_id = ?
kylin_tickets.insert=DELETE FROM kylin_tickets WHERE tickets_id = ?
kylin_ticket_status.insert=DELETE FROM kylin_ticket_status WHERE ticket_id = ?
kylin_ticket_relations.insert=DELETE FROM kylin_ticket_relations WHERE ticket_id = ?
kylin_tickets.insert=INSERT INTO kylin_tickets (tickets_id,title,type,price,price_express,price_discount_member,price_discount,describes,describe_express,describe_electronic,advance_minute_member,time_start,time_end,time_end_express,use_start,use_end,pay_countdown_minute,sale_remind_minute,comment,created_at,updated_at) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
kylin_ticket_status.insert=INSERT INTO kylin_ticket_status (ticket_status_id,ticket_id,is_student,is_electronic,is_express,status,counts,status_exchange,is_show_code,qr_code_show_time,is_lack_register,total_general,total_exchange,surplus_general,surplus_exchange,express_type,is_transfer,is_true_name,limit_count,member_limit_count,is_exclusive,is_member,is_agent,sync_damai,created_at,updated_at) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
kylin_ticket_relations.insert=INSERT INTO kylin_ticket_relations (ticket_relations_id,ticket_id,times_id,created_at,updated_at) VALUES (?,?,?,?,?)
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