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

Commit 1155f6f1 authored by jiangxiulong's avatar jiangxiulong

Merge remote-tracking branch 'origin/dev' into dev

parents 328f2669 6a5adc44
...@@ -34,20 +34,20 @@ ...@@ -34,20 +34,20 @@
<option value="desc">倒序</option> <option value="desc">倒序</option>
</select> </select>
</li> </li>
<li> <!-- <li>-->
<label>演出状态:</label> <!-- <label>演出状态:</label>-->
<select name="status"> <!-- <select name="status">-->
<option value="-2">全部</option> <!-- <option value="-2">全部</option>-->
<option value="1">审核中</option> <!-- <option value="1">审核中</option>-->
<option value="3">审核通过</option> <!-- <option value="3">审核通过</option>-->
<option value="4">审核拒绝</option> <!-- <option value="4">审核拒绝</option>-->
<option value="6">售卖</option> <!-- <option value="6">售卖</option>-->
<option value="7">已下架</option> <!-- <option value="7">已下架</option>-->
<option value="8">售罄</option> <!-- <option value="8">售罄</option>-->
<option value="9">未开始</option> <!-- <option value="9">未开始</option>-->
<option value="10">演出结束</option> <!-- <option value="10">演出结束</option>-->
</select> <!-- </select>-->
</li> <!-- </li>-->
<li> <li>
<label>审核状态:</label> <label>审核状态:</label>
<select name="auditStatus"> <select name="auditStatus">
......
package com.liquidnet.service.base;
import com.liquidnet.commons.lang.util.JsonUtils;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Serializable;
import java.nio.charset.StandardCharsets;
import java.util.LinkedList;
import java.util.Properties;
public class OrderCloseMapping {
static {
reload();
}
private static Properties sqlsProperties;
public static void reload() {
sqlsProperties = new Properties();
InputStream in = ErrorMapping.class.getClassLoader().getResourceAsStream("sqlmap.properties");
try {
sqlsProperties.load(new InputStreamReader(in, StandardCharsets.UTF_8));
System.out.printf("errorsProperties init count: %s\n", sqlsProperties.size());
} catch (IOException e) {
e.printStackTrace();
}
}
public static String get(String sql) {
return (String) sqlsProperties.get(sql);
}
public static class orderCloseMessage implements Cloneable, Serializable {
private static final long serialVersionUID = 2208924091512163151L;
private LinkedList<String> orderTicketIds;
private orderCloseMessage() {
}
public LinkedList<String> getOrderTicketIds() {
return orderTicketIds;
}
public void setOrderTicketIds(LinkedList<String> orderTicketIds) {
this.orderTicketIds = orderTicketIds;
}
private final static OrderCloseMapping.orderCloseMessage instance = new OrderCloseMapping.orderCloseMessage();
public static OrderCloseMapping.orderCloseMessage getInstance() {
try {
return (OrderCloseMapping.orderCloseMessage) instance.clone();
} catch (CloneNotSupportedException e) {
e.printStackTrace();
}
return new OrderCloseMapping.orderCloseMessage();
}
}
/* ---------------------- ---------------------- ---------------------- */
public static String get(LinkedList<String> orderTicketIds) {
OrderCloseMapping.orderCloseMessage sqlMessage = OrderCloseMapping.orderCloseMessage.getInstance();
sqlMessage.setOrderTicketIds(orderTicketIds);
return JsonUtils.toJson(sqlMessage);
}
}
use prod_ln_scene;
#创建集合
db.createCollection("AdamUserInfoVo");
db.createCollection("AdamRealInfoVo");
db.createCollection("AdamThirdPartInfoVo");
db.createCollection("AdamUserMemberVo");
db.createCollection("AdamMemberVo");
#创建索引
db.AdamUserInfoVo.createIndex({uid:"hashed"});
db.AdamUserInfoVo.createIndex({state:"hashed"});
db.AdamRealInfoVo.createIndex({uid:"hashed"});
db.AdamRealInfoVo.createIndex({state:"hashed"});
db.AdamThirdPartInfoVo.createIndex({uid:"hashed"});
db.AdamThirdPartInfoVo.createIndex({state:"hashed"});
db.AdamUserMemberVo.createIndex({uid:"hashed"});
db.AdamMemberVo.createIndex({memberId:"hashed"});
#创建分片
sh.enableSharding("prod_ln_scene");
sh.shardCollection("prod_ln_scene.AdamUserInfoVo",{"uid":"hashed"});
sh.shardCollection("prod_ln_scene.AdamRealInfoVo",{"uid":"hashed"});
sh.shardCollection("prod_ln_scene.AdamThirdPartInfoVo",{"uid":"hashed"});
sh.shardCollection("prod_ln_scene.AdamUserMemberVo",{"uid":"hashed"});
sh.shardCollection("prod_ln_scene.AdamMemberVo",{"memberId":"hashed"});
\ No newline at end of file
...@@ -36,6 +36,11 @@ ...@@ -36,6 +36,11 @@
<artifactId>liquidnet-common-cache-redis</artifactId> <artifactId>liquidnet-common-cache-redis</artifactId>
<version>1.0-SNAPSHOT</version> <version>1.0-SNAPSHOT</version>
</dependency> </dependency>
<dependency>
<groupId>com.liquidnet</groupId>
<artifactId>liquidnet-service-kylin-api</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies> </dependencies>
<build> <build>
......
package com.liquidnet.service.consumer.service.Utils; package com.liquidnet.service.consumer.service.Utils;
import com.liquidnet.common.cache.redis.util.RedisUtil; import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.service.consumer.service.vo.*; import com.liquidnet.service.kylin.constant.KylinRedisConst;
import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketTimesVo;
import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketVo;
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.returns.KylinOrderListVo;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
...@@ -15,14 +20,6 @@ public class KylinUtils { ...@@ -15,14 +20,6 @@ public class KylinUtils {
@Autowired @Autowired
private RedisUtil redisUtil; private RedisUtil redisUtil;
public static final String USERID_BUY_INFO = "kylin:buy:userId:";
public static final String IDCARD_BUY_INFO = "kylin:buy:idCard:";
public static final String PERFORMANCE_ID = "performanceId";
public static final String TICKET_ID = "ticketId";
public static final String USE_TIME = "useTime";
public static final String PERFORMANCES = "kylin:performances:id:";
/** /**
* @param userId 用户id * @param userId 用户id
* @param type 1新增 2修改 * @param type 1新增 2修改
...@@ -34,12 +31,12 @@ public class KylinUtils { ...@@ -34,12 +31,12 @@ public class KylinUtils {
KylinOrderListVo voItem = new KylinOrderListVo(); KylinOrderListVo voItem = new KylinOrderListVo();
KylinOrderTicketVo data; KylinOrderTicketVo data;
if (dataSingle == null) { if (dataSingle == null) {
data = (KylinOrderTicketVo)redisUtil.get("kylin:order:id:" + orderId); data = (KylinOrderTicketVo)redisUtil.get(KylinRedisConst.ORDER + orderId);
} else { } else {
data = dataSingle; data = dataSingle;
} }
BeanUtils.copyProperties(data, voItem); BeanUtils.copyProperties(data, voItem);
List<KylinOrderListVo> redisData = (List<KylinOrderListVo>) redisUtil.get("kylin:order:list:userId:" + userId); List<KylinOrderListVo> redisData = (List<KylinOrderListVo>) redisUtil.get(KylinRedisConst.ORDER_LIST + userId);
if(type == 1) { if(type == 1) {
redisVo.add(voItem); redisVo.add(voItem);
if (redisData.size() > 0) { if (redisData.size() > 0) {
...@@ -66,7 +63,7 @@ public class KylinUtils { ...@@ -66,7 +63,7 @@ public class KylinUtils {
if (redisVo.size() == 0) { if (redisVo.size() == 0) {
vo.add(voItem); vo.add(voItem);
} }
redisUtil.set("kylin:order:list:userId:" + userId,vo); redisUtil.set(KylinRedisConst.ORDER_LIST + userId,vo);
return true; return true;
case 2: case 2:
for (int i = 0; i < redisVo.size(); i++) { for (int i = 0; i < redisVo.size(); i++) {
...@@ -79,7 +76,7 @@ public class KylinUtils { ...@@ -79,7 +76,7 @@ public class KylinUtils {
vo.add(redisVo.get(i)); vo.add(redisVo.get(i));
} }
} }
redisUtil.set("kylin:order:list:userId:" + userId,vo); redisUtil.set(KylinRedisConst.ORDER_LIST + userId,vo);
return true; return true;
default: default:
return false; return false;
...@@ -88,7 +85,7 @@ public class KylinUtils { ...@@ -88,7 +85,7 @@ public class KylinUtils {
public void changeBuyInfo(String userId, String idCard, String performanceId, String ticketId, int buyCount) { public void changeBuyInfo(String userId, String idCard, String performanceId, String ticketId, int buyCount) {
String redisKey; String redisKey;
KylinPerformanceVo vo = (KylinPerformanceVo) redisUtil.get(PERFORMANCES + performanceId); KylinPerformanceVo vo = (KylinPerformanceVo) redisUtil.get(KylinRedisConst.PERFORMANCES + performanceId);
int isTrueName = vo.getIsTrueName(); int isTrueName = vo.getIsTrueName();
int ticketType = 0; int ticketType = 0;
String useTime = ""; String useTime = "";
...@@ -110,14 +107,14 @@ public class KylinUtils { ...@@ -110,14 +107,14 @@ public class KylinUtils {
} }
if (0 == isTrueName) { if (0 == isTrueName) {
redisKey = USERID_BUY_INFO + userId; redisKey = KylinRedisConst.USERID_BUY_INFO + userId;
} else { } else {
redisKey = IDCARD_BUY_INFO + idCard; redisKey = KylinRedisConst.IDCARD_BUY_INFO + idCard;
} }
String performanceIdKey = redisKey + ":" + PERFORMANCE_ID + ":" + performanceId; String performanceIdKey = redisKey + ":" + KylinRedisConst.PERFORMANCE_ID + ":" + performanceId;
String ticketIdKey = redisKey + ":" + TICKET_ID + ":" + ticketId; String ticketIdKey = redisKey + ":" + KylinRedisConst.TICKET_ID + ":" + ticketId;
String ticketUseTimeKey = ticketIdKey + ":" + USE_TIME; String ticketUseTimeKey = ticketIdKey + ":" + KylinRedisConst.USE_TIME;
redisUtil.set(ticketUseTimeKey, useTime); redisUtil.set(ticketUseTimeKey, useTime);
if (buyCount > 0) { if (buyCount > 0) {
redisUtil.incr(ticketIdKey, buyCount); redisUtil.incr(ticketIdKey, buyCount);
...@@ -129,13 +126,13 @@ public class KylinUtils { ...@@ -129,13 +126,13 @@ public class KylinUtils {
redisUtil.incr(performanceIdKey, buyCount); redisUtil.incr(performanceIdKey, buyCount);
break; break;
} }
if (null == redisUtil.get(redisKey + ":" + TICKET_ID + ":" + item)) { if (null == redisUtil.get(redisKey + ":" + KylinRedisConst.TICKET_ID + ":" + item)) {
redisUtil.set(redisKey + ":" + TICKET_ID + ":" + item, 0); redisUtil.set(redisKey + ":" + KylinRedisConst.TICKET_ID + ":" + item, 0);
} }
if (i == 0) { if (i == 0) {
count = (int) redisUtil.get(redisKey + ":" + TICKET_ID + ":" + item); count = (int) redisUtil.get(redisKey + ":" + KylinRedisConst.TICKET_ID + ":" + item);
} else { } else {
if (count != (int) redisUtil.get(redisKey + ":" + TICKET_ID + ":" + item)) { if (count != (int) redisUtil.get(redisKey + ":" + KylinRedisConst.TICKET_ID + ":" + item)) {
redisUtil.incr(performanceIdKey, buyCount); redisUtil.incr(performanceIdKey, buyCount);
break; break;
} }
...@@ -154,13 +151,13 @@ public class KylinUtils { ...@@ -154,13 +151,13 @@ public class KylinUtils {
redisUtil.decr(performanceIdKey, Math.abs(buyCount)); redisUtil.decr(performanceIdKey, Math.abs(buyCount));
break; break;
} }
if (null == redisUtil.get(redisKey + ":" + TICKET_ID + ":" + item)) { if (null == redisUtil.get(redisKey + ":" + KylinRedisConst.TICKET_ID + ":" + item)) {
redisUtil.set(redisKey + ":" + TICKET_ID + ":" + item, 0); redisUtil.set(redisKey + ":" + KylinRedisConst.TICKET_ID + ":" + item, 0);
} }
if (i == 0) { if (i == 0) {
count = (int) redisUtil.get(redisKey + ":" + TICKET_ID + ":" + item); count = (int) redisUtil.get(redisKey + ":" + KylinRedisConst.TICKET_ID + ":" + item);
} else { } else {
if (count != (int) redisUtil.get(redisKey + ":" + TICKET_ID + ":" + item)) { if (count != (int) redisUtil.get(redisKey + ":" + KylinRedisConst.TICKET_ID + ":" + item)) {
redisUtil.decr(performanceIdKey, Math.abs(buyCount)); redisUtil.decr(performanceIdKey, Math.abs(buyCount));
break; break;
} }
......
...@@ -3,13 +3,15 @@ package com.liquidnet.service.consumer.service.processor; ...@@ -3,13 +3,15 @@ package com.liquidnet.service.consumer.service.processor;
import com.liquidnet.common.cache.redis.util.RedisUtil; import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.common.mq.constant.MQConst; import com.liquidnet.common.mq.constant.MQConst;
import com.liquidnet.commons.lang.util.JsonUtils; import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.base.OrderCloseMapping;
import com.liquidnet.service.base.SqlMapping; import com.liquidnet.service.base.SqlMapping;
import com.liquidnet.service.consumer.service.IBaseDao; import com.liquidnet.service.consumer.service.IBaseDao;
import com.liquidnet.service.consumer.service.Utils.KylinUtils; import com.liquidnet.service.consumer.service.Utils.KylinUtils;
import com.liquidnet.service.consumer.service.vo.KylinOrderTicketEntitiesVo; import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketEntitiesVo;
import com.liquidnet.service.consumer.service.vo.KylinOrderTicketVo; import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketVo;
import com.rabbitmq.client.Channel; import com.rabbitmq.client.Channel;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringEscapeUtils;
import org.springframework.amqp.rabbit.annotation.Exchange; import org.springframework.amqp.rabbit.annotation.Exchange;
import org.springframework.amqp.rabbit.annotation.Queue; import org.springframework.amqp.rabbit.annotation.Queue;
import org.springframework.amqp.rabbit.annotation.QueueBinding; import org.springframework.amqp.rabbit.annotation.QueueBinding;
...@@ -20,10 +22,6 @@ import org.springframework.amqp.core.Message; ...@@ -20,10 +22,6 @@ import org.springframework.amqp.core.Message;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.io.IOException; import java.io.IOException;
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedList;
/** /**
* ConsumerProcessor.class * ConsumerProcessor.class
...@@ -88,10 +86,11 @@ public class ConsumerProcessor { ...@@ -88,10 +86,11 @@ public class ConsumerProcessor {
// 处理长sql语句 // 处理长sql语句
private void consumerOperationOrderClose(Message msg, Channel channel) { private void consumerOperationOrderClose(Message msg, Channel channel) {
ArrayList<String> mqMessage = JsonUtils.fromJson(new String(msg.getBody()), ArrayList.class); String jsonStr = StringEscapeUtils.unescapeJava(new String(msg.getBody()));
log.debug("consumer ==> mqMessage:{}", mqMessage); OrderCloseMapping.orderCloseMessage mqMessage = JsonUtils.fromJson(jsonStr.substring(1,jsonStr.length()-1), OrderCloseMapping.orderCloseMessage.class);
log.debug("consumer ==> mqMessage:{}", mqMessage);
try { try {
mqMessage.forEach(t -> { mqMessage.getOrderTicketIds().forEach(t -> {
String orderTicketId = t.split(",")[0]; String orderTicketId = t.split(",")[0];
String uid = t.split(",")[1]; String uid = t.split(",")[1];
KylinOrderTicketVo vo = (KylinOrderTicketVo) redisUtil.get("kylin:order:id:" + orderTicketId); KylinOrderTicketVo vo = (KylinOrderTicketVo) redisUtil.get("kylin:order:id:" + orderTicketId);
...@@ -106,7 +105,8 @@ public class ConsumerProcessor { ...@@ -106,7 +105,8 @@ public class ConsumerProcessor {
} }
}); });
channel.basicAck(msg.getMessageProperties().getDeliveryTag(), false); channel.basicAck(msg.getMessageProperties().getDeliveryTag(), false);
} catch (IOException e) { } catch (Exception e) {
e.printStackTrace();
log.error("error:consumer sql:Channel.msg.tag:{}", msg.getMessageProperties().getDeliveryTag(), e); log.error("error:consumer sql:Channel.msg.tag:{}", msg.getMessageProperties().getDeliveryTag(), e);
} }
} }
......
package com.liquidnet.service.consumer.service.vo;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
@Data
public class KylinOrderListVo implements Serializable {
private static final long serialVersionUID = 6554829077875538374L;
private String orderTicketsId;
private String performanceId;
private String ticketId;
private String performanceTitle;
private String performanceImg;
private String orderCode;
private String timeStart;
private String ticketTitle;
private String useStart;
private String overdueAt;
private Long restTime;
private BigDecimal priceActual;
private Integer number;
private Integer status;
private String express_number;
private String express_company;
private Integer kuaidi_status;
private String getTicketType;
private String createdAt;
}
package com.liquidnet.service.consumer.service.vo;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@Data
public class KylinOrderTicketEntitiesVo implements Serializable, Cloneable {
private static final long serialVersionUID = 1207664465164005975L;
private Integer mid;
private String orderTicketEntitiesId;
private String orderId;
private String ticketId;
private String userId;
private String performanceId;
private String timeId;
private Integer enterType;
private String enterName;
private String enterMobile;
private String enterIdCode;
private Integer status;
private Integer sysDamai;
private String checkClient;
private Integer isPayment;
private String performanceTitle;
private String ticketTitle;
private String useStart;
private String useEnd;
private String createdAt;
private String updatedAt;
private Integer ticketsmId;
private Integer timemId;
private BigDecimal refundPrice;
private String checkType;
private String checkedAt;
private String checkUserId;
private LocalDateTime changeDate;
private static final KylinOrderTicketEntitiesVo obj = new KylinOrderTicketEntitiesVo();
public static KylinOrderTicketEntitiesVo getNew() {
try {
return (KylinOrderTicketEntitiesVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new KylinOrderTicketEntitiesVo();
}
}
}
package com.liquidnet.service.consumer.service.vo;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
@Data
public class KylinOrderTicketVo implements Serializable {
private Integer mid;
private static final long serialVersionUID = 5325511589667456213L;
private String orderTicketsId;
private String userId;
private String userName;
private String userMobile;
private String performanceTitle;
private String ticketTitle;
private String timeStart;
private String useStart;
private String performanceImg;
private String orderCode;
private String payCode;
private String qrCode;
private String orderType;
private String orderVersion;
private Integer number;
private BigDecimal price;
private BigDecimal priceMember;
private BigDecimal priceTotal;
private BigDecimal priceVoucher;
private BigDecimal priceActual;
private BigDecimal priceExpress;
private BigDecimal priceRefund;
private Integer refundNumber;
private String payType;
private String paymentType;
private String timePay;
private String expressContacts;
private String expressAddress;
private String expressPhone;
private String couponType;
private String getTicketType;
private String getTicketDescribe;
private Integer payCountdownMinute;
private Integer expressType;
private Integer isStudent;
private Integer transferStatus;
private Integer status;
private Integer payStatus;
private String transferId;
private String liveId;
private String performanceId;
private String timeId;
private String ticketId;
private String agentId;
private Integer isMember;
private String overdueAt;
private String createdAt;
private String updatedAt;
private LocalDateTime changeDate;
private Integer isTrueName;
private String noticeImage;
private String notice;
private Integer ticketType;
private String fieldName;
private List<KylinOrderTicketEntitiesVo> entitiesVoList;
}
package com.liquidnet.service.consumer.service.vo;
import lombok.Data;
import java.util.List;
@Data
public class KylinPerformanceVo {
private Integer mid;
private String performancesId;
private String title;
private String imgPoster;
private Integer payCountdownMinute;
private String approvalUrl;
private int type;
private String timeStart;
private String timeEnd;
private String stopSellTime;
private String price;
private String sellTime;
private String sellMemberTime;
private Integer cityId;
private String cityName;
private String fieldId;
private String fieldName;
private String longitude;
private String latitude;
private String diffDistance;
private String projectId;
private String roadShowId;
private String details;
private String noticeImage;
private Integer isRecommend;
private Integer appStatus;
private Integer statusSell;
private Integer isMember;
private Integer isLackRegister;
private Integer isTrueName;
private Integer limitCount;
private Integer limitCountMember;
private Integer isExclusive;
private Integer isDiscount;
private Integer isAdvance;
private Integer sysDamai;
private String message;
private String notice;
private Integer isShow;
private List<KylinTicketTimesVo> ticketTimeList;
}
package com.liquidnet.service.consumer.service.vo;
import lombok.Data;
import java.util.List;
@Data
public class KylinTicketTimesVo {
private Integer mid;
private String ticketTimesId;
private String title;
private Integer type;
private String performanceId;
private String timeId;
private String useStart;
private String useEnd;
private List<KylinTicketVo> ticketList;
}
package com.liquidnet.service.consumer.service.vo;
import com.liquidnet.commons.lang.util.DateUtil;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class KylinTicketVo {
private Integer mid;
private String ticketsId;
private String timeId;
private String title;
private Integer type;
private BigDecimal price;
private BigDecimal priceExpress;
private BigDecimal memberPrice;
private BigDecimal discountPrice;
private String describes;
private String describeExpress;
private String describeElectronic;
private String timeStart;
private String timeEnd;
private String memberTimeStart;
private String timeEndExpress;
private String useStart;
private String useEnd;
private Integer saleRemindMinute;
private Integer isStudent;
private Integer isElectronic;
private Integer isExpress;
private Integer sysDamai;
private Integer counts;
private Integer status;
private Integer statusExchange;
private Integer isLackRegister;
private Integer expressType;
private Integer isTrueName;
private Integer limitCount;
private Integer limitCountMember;
private Integer isExclusive;
private Integer isMember;
private Integer isMemberStatus;
private Integer isAgent;
private Integer isShowCode;
private String qrCodeShowTime;
private Integer advanceMinuteMember;
}
use prod_ln_scene;
#创建集合
db.createCollection("KylinOrderTicketVo");
db.createCollection("KylinOrderTicketEntitiesVo");
#创建索引
db.KylinOrderTicketVo.createIndex({orderTicketsId:"hashed"});
db.KylinOrderTicketVo.createIndex({orderCode:"hashed"});
db.KylinOrderTicketVo.createIndex({userId:"hashed"});
db.KylinOrderTicketEntitiesVo.createIndex({orderTicketEntitiesId:"hashed"});
db.KylinOrderTicketEntitiesVo.createIndex({orderId:"hashed"});
#创建分片
sh.enableSharding("prod_ln_scene");
sh.shardCollection("prod_ln_scene.KylinOrderTicketVo",{"orderTicketsId":"hashed"});
sh.shardCollection("prod_ln_scene.KylinOrderTicketEntitiesVo",{"orderTicketEntitiesId":"hashed"});
\ No newline at end of file
...@@ -33,4 +33,11 @@ public class DataController { ...@@ -33,4 +33,11 @@ public class DataController {
return ResponseDto.success(result); return ResponseDto.success(result);
} }
@PostMapping("roadShow")
@ApiOperation("巡演数据迁移")
public ResponseDto<Boolean> roadShow() {
Boolean result = data.roadShow();
return ResponseDto.success(result);
}
} }
...@@ -11,10 +11,7 @@ import com.liquidnet.service.kylin.dto.vo.partner.KylinTicketPartnerVo; ...@@ -11,10 +11,7 @@ import com.liquidnet.service.kylin.dto.vo.partner.KylinTicketPartnerVo;
import com.liquidnet.service.kylin.dto.vo.partner.KylinTicketTimesPartnerVo; import com.liquidnet.service.kylin.dto.vo.partner.KylinTicketTimesPartnerVo;
import com.liquidnet.service.kylin.entity.*; import com.liquidnet.service.kylin.entity.*;
import com.liquidnet.service.kylin.mapper.*; import com.liquidnet.service.kylin.mapper.*;
import com.liquidnet.service.kylin.service.IKylinOrderTicketEntitiesService; import com.liquidnet.service.kylin.service.*;
import com.liquidnet.service.kylin.service.IKylinOrderTicketRelationsService;
import com.liquidnet.service.kylin.service.IKylinOrderTicketStatusService;
import com.liquidnet.service.kylin.service.IKylinOrderTicketsService;
import com.liquidnet.service.kylin.timerTask.PerformanceVoTask; import com.liquidnet.service.kylin.timerTask.PerformanceVoTask;
import com.liquidnet.service.kylin.utils.DataUtils; import com.liquidnet.service.kylin.utils.DataUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -60,6 +57,9 @@ public class DataImpl { ...@@ -60,6 +57,9 @@ public class DataImpl {
@Autowired @Autowired
private IKylinOrderTicketEntitiesService kylinOrderTicketEntitiesService; private IKylinOrderTicketEntitiesService kylinOrderTicketEntitiesService;
@Autowired
private IKylinRoadShowsService kylinRoadShowsService;
@Autowired @Autowired
private DataUtils dataUtils; private DataUtils dataUtils;
@Autowired @Autowired
...@@ -197,7 +197,7 @@ public class DataImpl { ...@@ -197,7 +197,7 @@ public class DataImpl {
performancePartnerVo.setDetails(performances.getDetails()); performancePartnerVo.setDetails(performances.getDetails());
performancePartnerVo.setApprovalUrl(performances.getApprovalUrl()); performancePartnerVo.setApprovalUrl(performances.getApprovalUrl());
performancePartnerVo.setPayCountdownMinute(5); performancePartnerVo.setPayCountdownMinute(5);
performancePartnerVo.setNoticeIds(new ArrayList<String>(){{ performancePartnerVo.setNoticeIds(new ArrayList<String>() {{
add("1"); add("1");
add("3"); add("3");
add("7"); add("7");
...@@ -457,7 +457,7 @@ public class DataImpl { ...@@ -457,7 +457,7 @@ public class DataImpl {
con = DriverManager.getConnection(url, username, password); //获取连接 con = DriverManager.getConnection(url, username, password); //获取连接
String sqlAllCount = "select count(0) as 'allCount' from order_tickets where performance_id > 5721 and status != 2 and created_at like '2021-" + month + "%'"; //设置的预编译语句格式 String sqlAllCount = "select count(0) as 'allCount' from order_tickets where performance_id > 5721 and status != 2 and created_at like '2021-" + month + "%'"; //设置的预编译语句格式
// String sqlAllCount = "select count(0) as 'allCount' from order_tickets where performance_id = "+month + " and status != 2 and status !=-1"; //设置的预编译语句格式 // String sqlAllCount = "select count(0) as 'allCount' from order_tickets where performance_id = "+month + " and status != 2 and status !=-1"; //设置的预编译语句格式
System.out.println(" SQL COUNT = "+sqlAllCount); System.out.println(" SQL COUNT = " + sqlAllCount);
pstmt = con.prepareStatement(sqlAllCount); pstmt = con.prepareStatement(sqlAllCount);
ResultSet allCount = pstmt.executeQuery(); ResultSet allCount = pstmt.executeQuery();
int allCountResult = 0;//共多少条 int allCountResult = 0;//共多少条
...@@ -478,7 +478,7 @@ public class DataImpl { ...@@ -478,7 +478,7 @@ public class DataImpl {
//订单 //订单
String sql = "select * from order_tickets where performance_id > 5721 and status != 2 and created_at like '2021-" + month + "%' limit " + count * page + " ," + count; //设置的预编译语句格式 String sql = "select * from order_tickets where performance_id > 5721 and status != 2 and created_at like '2021-" + month + "%' limit " + count * page + " ," + count; //设置的预编译语句格式
// String sql = "select * from order_tickets where performance_id = "+month +" and status != 2 limit " + count * page + " ," + count; // String sql = "select * from order_tickets where performance_id = "+month +" and status != 2 limit " + count * page + " ," + count;
System.out.println(" SQL DATA = "+sql); System.out.println(" SQL DATA = " + sql);
pstmt = con.prepareStatement(sql); pstmt = con.prepareStatement(sql);
ResultSet orderData = pstmt.executeQuery(); ResultSet orderData = pstmt.executeQuery();
while (orderData.next()) { while (orderData.next()) {
...@@ -506,14 +506,14 @@ public class DataImpl { ...@@ -506,14 +506,14 @@ public class DataImpl {
} }
//退款 //退款
String refundSql = "select refund_table_id,sum(refund_number) as 'refund_number',sum(refund_price) as 'refund_price' from order_refunds where refund_table = 'order_ticket_entities' and order_id = " + orderData.getInt("id")+" group by refund_table_id"; //设置的预编译语句格式 String refundSql = "select refund_table_id,sum(refund_number) as 'refund_number',sum(refund_price) as 'refund_price' from order_refunds where refund_table = 'order_ticket_entities' and order_id = " + orderData.getInt("id") + " group by refund_table_id"; //设置的预编译语句格式
pstmt = con.prepareStatement(refundSql); pstmt = con.prepareStatement(refundSql);
int refundNumber = 0; int refundNumber = 0;
BigDecimal refundPrice = new BigDecimal("0.00"); BigDecimal refundPrice = new BigDecimal("0.00");
ResultSet refundData = pstmt.executeQuery(); ResultSet refundData = pstmt.executeQuery();
while (refundData.next()) { while (refundData.next()) {
refundNumber+=refundData.getInt("refund_number"); refundNumber += refundData.getInt("refund_number");
refundPrice=refundPrice.add(refundData.getBigDecimal("refund_price")); refundPrice = refundPrice.add(refundData.getBigDecimal("refund_price"));
} }
//演出 //演出
...@@ -526,9 +526,9 @@ public class DataImpl { ...@@ -526,9 +526,9 @@ public class DataImpl {
String notice = ""; String notice = "";
while (performanceData.next()) { while (performanceData.next()) {
performanceTimeStart = DateUtil.Formatter.yyyyMMddHHmmss.format(DateUtil.Formatter.yyyyMMddHHmmssS.parse(performanceData.getTimestamp("time_start").toString())); performanceTimeStart = DateUtil.Formatter.yyyyMMddHHmmss.format(DateUtil.Formatter.yyyyMMddHHmmssS.parse(performanceData.getTimestamp("time_start").toString()));
performanceImg=performanceData.getString("img_poster"); performanceImg = performanceData.getString("img_poster");
isTrueName=performanceData.getString("need_id_card").equals("yes")?1:0; isTrueName = performanceData.getString("need_id_card").equals("yes") ? 1 : 0;
notice=performanceData.getString("notice"); notice = performanceData.getString("notice");
} }
orderTickets.setOrderTicketsId(orderData.getInt("id") + ""); orderTickets.setOrderTicketsId(orderData.getInt("id") + "");
...@@ -661,7 +661,7 @@ public class DataImpl { ...@@ -661,7 +661,7 @@ public class DataImpl {
while (enterData.next()) { while (enterData.next()) {
KylinOrderTicketEntitiesVo entitiesVo = new KylinOrderTicketEntitiesVo(); KylinOrderTicketEntitiesVo entitiesVo = new KylinOrderTicketEntitiesVo();
orderTicketEntities.setOrderTicketEntitiesId(enterData.getInt("id")+""); orderTicketEntities.setOrderTicketEntitiesId(enterData.getInt("id") + "");
orderTicketEntities.setOrderId(orderTickets.getOrderTicketsId()); orderTicketEntities.setOrderId(orderTickets.getOrderTicketsId());
orderTicketEntities.setTicketId(enterData.getInt("ticket_id") + ""); orderTicketEntities.setTicketId(enterData.getInt("ticket_id") + "");
orderTicketEntities.setUserId(enterData.getInt("user_id") + ""); orderTicketEntities.setUserId(enterData.getInt("user_id") + "");
...@@ -739,7 +739,7 @@ public class DataImpl { ...@@ -739,7 +739,7 @@ public class DataImpl {
kylinOrderTicketEntitiesService.saveBatch(orderEntitiesList); kylinOrderTicketEntitiesService.saveBatch(orderEntitiesList);
mongoTemplate.insert(orderListVo, KylinOrderTicketVo.class.getSimpleName()); mongoTemplate.insert(orderListVo, KylinOrderTicketVo.class.getSimpleName());
mongoTemplate.insert(orderEntitiesListVo,KylinOrderTicketEntitiesVo.class.getSimpleName()); mongoTemplate.insert(orderEntitiesListVo, KylinOrderTicketEntitiesVo.class.getSimpleName());
orderData.last(); orderData.last();
rowCount += orderData.getRow(); rowCount += orderData.getRow();
...@@ -766,4 +766,51 @@ public class DataImpl { ...@@ -766,4 +766,51 @@ public class DataImpl {
} }
} }
} }
public boolean roadShow() {
String driverClassName = "com.mysql.cj.jdbc.Driver"; //启动驱动
String url = "jdbc:mysql://zhengzai.mysql.polardb.rds.aliyuncs.com:3306/mall"; //设置连接路径
String username = "readonly"; //数据库用户名
String password = "ZWDsf8Fy"; //数据库连接密码
Connection con = null; //连接
PreparedStatement pstmt = null; //使用预编译语句
ResultSet rs = null; //获取的结果集
try {
ArrayList<KylinRoadShows> roadShowsList = new ArrayList();
Class.forName(driverClassName); //执行驱动
con = DriverManager.getConnection(url, username, password); //获取连接
String sql = "select rs.id,rs.title,rs.img_poster,rs.created_at,rs.updated_at,count(p.id) as 'count' from road_shows as rs left join performances as p on p.road_show_id = rs.id where p.id > 5721 group by rs.id,rs.title having count>0";
pstmt = con.prepareStatement(sql);
ResultSet resultData = pstmt.executeQuery();
//演出数据
while (resultData.next()) {
KylinRoadShows roadShows = new KylinRoadShows();
roadShows.setRoadShowsId(resultData.getInt("id")+"");
roadShows.setTitle(resultData.getString("title"));
roadShows.setImgPoster(resultData.getString("img_poster"));
roadShows.setStatus(1);
roadShows.setComment("");
roadShows.setCreatedAt(DateUtil.Formatter.yyyyMMddHHmmssS.parse(resultData.getTimestamp("created_at").toString()));
if (null != resultData.getTimestamp("updated_at")) {
roadShows.setUpdatedAt(DateUtil.Formatter.yyyyMMddHHmmssS.parse(resultData.getTimestamp("updated_at").toString()));
}
roadShowsList.add(roadShows);
}
return true;
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException(e);
} finally {
//关闭资源,倒关
try {
if (rs != null) rs.close();
if (pstmt != null) pstmt.close();
if (con != null) con.close(); //必须要关
} catch (Exception e) {
}
}
}
} }
...@@ -8,10 +8,7 @@ import com.liquidnet.common.mq.constant.MQConst; ...@@ -8,10 +8,7 @@ import com.liquidnet.common.mq.constant.MQConst;
import com.liquidnet.commons.lang.util.*; import com.liquidnet.commons.lang.util.*;
import com.liquidnet.service.adam.dto.vo.AdamAddressesVo; import com.liquidnet.service.adam.dto.vo.AdamAddressesVo;
import com.liquidnet.service.adam.dto.vo.AdamEntersVo; import com.liquidnet.service.adam.dto.vo.AdamEntersVo;
import com.liquidnet.service.base.ErrorMapping; import com.liquidnet.service.base.*;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.base.SqlMapping;
import com.liquidnet.service.base.UserPathDto;
import com.liquidnet.service.kylin.constant.KylinRedisConst; import com.liquidnet.service.kylin.constant.KylinRedisConst;
import com.liquidnet.service.kylin.constant.KylinTableStatusConst; import com.liquidnet.service.kylin.constant.KylinTableStatusConst;
import com.liquidnet.service.kylin.dao.OrderScriptDto; import com.liquidnet.service.kylin.dao.OrderScriptDto;
...@@ -996,7 +993,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM ...@@ -996,7 +993,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
} }
} }
//计算 倒计时 //计算 倒计时
if (orderTicketVo.getStatus() == KylinTableStatusConst.ORDER_STATUS0) { if (orderTicketVo.getStatus().equals(KylinTableStatusConst.ORDER_STATUS0)) {
vo.setRestTime(DateUtil.intervalSeconds( vo.setRestTime(DateUtil.intervalSeconds(
DateUtil.parse(orderTicketVo.getOverdueAt(), "yyyy-MM-dd HH:mm:ss"), DateUtil.parse(orderTicketVo.getOverdueAt(), "yyyy-MM-dd HH:mm:ss"),
DateUtil.parse(DateUtil.getNowTime(), "yyyy-MM-dd HH:mm:ss") DateUtil.parse(DateUtil.getNowTime(), "yyyy-MM-dd HH:mm:ss")
...@@ -1068,16 +1065,17 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM ...@@ -1068,16 +1065,17 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
KylinOrderTickets orderTickets = new KylinOrderTickets(); KylinOrderTickets orderTickets = new KylinOrderTickets();
orderTickets.setUpdatedAt(now); orderTickets.setUpdatedAt(now);
orderTicketsMapper.update(orderTickets, new UpdateWrapper<KylinOrderTickets>().in("order_tickets_id", orderStr)); orderTicketsMapper.update(orderTickets, new UpdateWrapper<KylinOrderTickets>().in("order_tickets_id", orderIdList));
KylinOrderTicketStatus orderTicketStatus = new KylinOrderTicketStatus(); KylinOrderTicketStatus orderTicketStatus = new KylinOrderTicketStatus();
orderTicketStatus.setStatus(2); orderTicketStatus.setStatus(2);
orderTicketStatus.setUpdatedAt(now); orderTicketStatus.setUpdatedAt(now);
orderTicketStatusMapper.update(orderTicketStatus, new UpdateWrapper<KylinOrderTicketStatus>().in("order_id", orderStr)); orderTicketStatusMapper.update(orderTicketStatus, new UpdateWrapper<KylinOrderTicketStatus>().in("order_id", orderIdList));
;
KylinOrderTicketRelations orderTicketRelations = new KylinOrderTicketRelations(); KylinOrderTicketRelations orderTicketRelations = new KylinOrderTicketRelations();
orderTicketRelations.setUpdatedAt(now); orderTicketRelations.setUpdatedAt(now);
orderTicketRelationsMapper.update(orderTicketRelations, new UpdateWrapper<KylinOrderTicketRelations>().in("order_id", orderStr)); orderTicketRelationsMapper.update(orderTicketRelations, new UpdateWrapper<KylinOrderTicketRelations>().in("order_id", orderIdList));
;
// LinkedList<String> sqls = new LinkedList(); // LinkedList<String> sqls = new LinkedList();
// sqls.add("UPDATE kylin_order_tickets SET updated_at = '" + now + "' WHERE order_tickets_id in (" + orderStr + ") "); // sqls.add("UPDATE kylin_order_tickets SET updated_at = '" + now + "' WHERE order_tickets_id in (" + orderStr + ") ");
// sqls.add("UPDATE kylin_order_ticket_status SET `status` = 2,updated_at = '" + now + "' WHERE order_id in (" + orderStr + ") "); // sqls.add("UPDATE kylin_order_ticket_status SET `status` = 2,updated_at = '" + now + "' WHERE order_id in (" + orderStr + ") ");
...@@ -1108,9 +1106,9 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM ...@@ -1108,9 +1106,9 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
} }
int forSize = 500; int forSize = 500;
int forCount = orderDataList.size() % forSize == 0 ? orderDataList.size() % forSize : (orderDataList.size() % forSize) + 1; int forCount = orderDataList.size() % forSize == 0 ? orderDataList.size() / forSize : (orderDataList.size() / forSize) + 1;
for (int i = 0; i < forCount; i++) { for (int i = 0; i < forCount; i++) {
ArrayList<String> mqList = new ArrayList<>(); LinkedList<String> mqList = new LinkedList<>();
for (int y = 0; y < forSize; y++) { for (int y = 0; y < forSize; y++) {
try { try {
String t = orderDataList.get(i * 500 + y); String t = orderDataList.get(i * 500 + y);
...@@ -1119,25 +1117,25 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM ...@@ -1119,25 +1117,25 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
break; break;
} }
} }
rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_CLOSE, MQConst.ROUTING_KEY_SQL_ORDER_CLOSE, JsonUtils.toJson(mqList)); rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_CLOSE, MQConst.ROUTING_KEY_SQL_ORDER_CLOSE, OrderCloseMapping.get(mqList));
} }
// 线程循环更改限购 // 线程循环更改限购
// kylinThreadService.checkOrderTimeThread(orderDataList); // kylinThreadService.checkOrderTimeThread(orderDataList);
// Thread thread = new Thread(() -> { // Thread thread = new Thread(() -> {
// //redis 列表 // //redis 列表
orderDataList.forEach(t -> { // orderDataList.forEach(t -> {
String orderTicketId = t.split(",")[0]; // String orderTicketId = t.split(",")[0];
String uid = t.split(",")[1]; // String uid = t.split(",")[1];
KylinOrderTicketVo vo = dataUtils.getOrderTicketVo(orderTicketId); // KylinOrderTicketVo vo = dataUtils.getOrderTicketVo(orderTicketId);
vo.setStatus(2); // vo.setStatus(2);
redisUtil.set(KylinRedisConst.ORDER + orderTicketId, vo); // redisUtil.set(KylinRedisConst.ORDER + orderTicketId, vo);
mongoVoUtils.resetOrderListVo(uid, 2, orderTicketId, vo); // mongoVoUtils.resetOrderListVo(uid, 2, orderTicketId, vo);
// redis 限购 // // redis 限购
for (int i = 0; i < vo.getEntitiesVoList().size(); i++) { // for (int i = 0; i < vo.getEntitiesVoList().size(); i++) {
KylinOrderTicketEntitiesVo items = vo.getEntitiesVoList().get(i); // KylinOrderTicketEntitiesVo items = vo.getEntitiesVoList().get(i);
dataUtils.changeBuyInfo(items.getUserId(), items.getEnterIdCode(), items.getPerformanceId(), items.getTicketId(), -1); // dataUtils.changeBuyInfo(items.getUserId(), items.getEnterIdCode(), items.getPerformanceId(), items.getTicketId(), -1);
} // }
}); // });
// }); // });
// thread.start(); // thread.start();
} }
......
...@@ -20,6 +20,8 @@ import com.liquidnet.service.kylin.utils.MongoVoUtils; ...@@ -20,6 +20,8 @@ import com.liquidnet.service.kylin.utils.MongoVoUtils;
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 lombok.extern.slf4j.Slf4j;
import lombok.extern.slf4j.XSlf4j;
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;
...@@ -38,6 +40,7 @@ import java.util.HashMap; ...@@ -38,6 +40,7 @@ import java.util.HashMap;
import java.util.List; import java.util.List;
@Component @Component
@Slf4j
public class PerformanceVoTask { public class PerformanceVoTask {
@Autowired @Autowired
...@@ -161,12 +164,12 @@ public class PerformanceVoTask { ...@@ -161,12 +164,12 @@ public class PerformanceVoTask {
//演出状态 //演出状态
if (status == 6) {//单一票 可购买 则为可购买 if (status == 6) {//单一票 可购买 则为可购买
appStatus = 6; appStatus = 6;
} else if (ticketCount == status10Count) {//全票结束 为结束
appStatus = 10;
} else if (ticketCount == status8Count) {//全票售罄为售罄 } else if (ticketCount == status8Count) {//全票售罄为售罄
appStatus = 8; appStatus = 8;
} else if (ticketCount == status9Count) {//全票未开始 为未开始 } else if (ticketCount == status9Count) {//全票未开始 为未开始
appStatus = 9; appStatus = 9;
} else if (ticketCount == status10Count) {//全票结束 为结束
appStatus = 10;
} }
} }
} }
...@@ -227,7 +230,7 @@ public class PerformanceVoTask { ...@@ -227,7 +230,7 @@ public class PerformanceVoTask {
kylinPerformanceMisVo.setAuditStatus(0); kylinPerformanceMisVo.setAuditStatus(0);
return kylinPerformanceMisVo; return kylinPerformanceMisVo;
}catch (Exception e){ } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
return null; return null;
} }
...@@ -380,28 +383,38 @@ public class PerformanceVoTask { ...@@ -380,28 +383,38 @@ public class PerformanceVoTask {
KylinPerformanceMisVo misVo = getPerformanceMisVo(performanceId); KylinPerformanceMisVo misVo = getPerformanceMisVo(performanceId);
KylinPerformanceVo mongoVo = mongoVoUtils.combinePerformanceVoData(performanceId); KylinPerformanceVo mongoVo = mongoVoUtils.combinePerformanceVoData(performanceId);
if (!misVo.getTitle().equals(mongoVo.getTitle())) { if (!misVo.getTitle().equals(mongoVo.getTitle())) {
log.debug("NEED CHANGE TITLE");
return true; return true;
} else if (!misVo.getType().equals(mongoVo.getType())) { } else if (!misVo.getType().equals(mongoVo.getType())) {
log.debug("NEED CHANGE TYPE");
return true; return true;
} else if (!misVo.getTimeStart().equals(mongoVo.getTimeStart())) { } else if (!misVo.getTimeStart().equals(mongoVo.getTimeStart())) {
log.debug("NEED CHANGE TIMESTART");
return true; return true;
} else if (!misVo.getTimeEnd().equals(mongoVo.getTimeEnd())) { } else if (!misVo.getTimeEnd().equals(mongoVo.getTimeEnd())) {
log.debug("NEED CHANGE TIMEEND");
return true; return true;
} else if (!misVo.getFieldId().equals(mongoVo.getFieldId())) { } else if (!misVo.getFieldId().equals(mongoVo.getFieldId())) {
log.debug("NEED CHANGE FIELDID");
return true; return true;
} else if (!misVo.getNotice().equals(mongoVo.getNotice())) { } else if (!misVo.getNotice().equals(mongoVo.getNotice())) {
log.debug("NEED CHANGE NOTICE");
return true; return true;
} else if (!misVo.getDetails().equals(mongoVo.getDetails())) { } else if (!misVo.getDetails().equals(mongoVo.getDetails())) {
log.debug("NEED CHANGE DETAILS");
return true; return true;
} else if (!misVo.getApprovalUrl().equals(mongoVo.getApprovalUrl())) { } else if (!misVo.getApprovalUrl().equals(mongoVo.getApprovalUrl())) {
log.debug("NEED CHANGE APPROVALURL");
return true; return true;
} else if (!misVo.getPayCountdownMinute().equals(mongoVo.getPayCountdownMinute())) { } else if (!misVo.getPayCountdownMinute().equals(mongoVo.getPayCountdownMinute())) {
log.debug("NEED CHANGE PAYCOUTDOWN");
return true; return true;
} }
boolean exists = mongoTemplate.exists(Query.query(Criteria.where("status").is(-1).and("performancesId").is(performanceId)), boolean exists = mongoTemplate.exists(Query.query(Criteria.where("status").is(-1).and("performancesId").is(performanceId)),
KylinTicketTimesPartnerVo.class, KylinTicketTimesPartnerVo.class.getSimpleName()); KylinTicketTimesPartnerVo.class, KylinTicketTimesPartnerVo.class.getSimpleName());
if (exists) { if (exists) {
log.debug("NEED CHANGE NEW TIMES");
return true; return true;
} }
...@@ -410,20 +423,27 @@ public class PerformanceVoTask { ...@@ -410,20 +423,27 @@ public class PerformanceVoTask {
KylinTicketTimesVo timesVo = mongoVo.getTicketTimeList().get(i); KylinTicketTimesVo timesVo = mongoVo.getTicketTimeList().get(i);
boolean exists2 = mongoTemplate.exists(Query.query(Criteria.where("status").is(-2).and("timesId").is(times.getTicketTimesId())), KylinTicketPartnerVo.class, KylinTicketPartnerVo.class.getSimpleName()); boolean exists2 = mongoTemplate.exists(Query.query(Criteria.where("status").is(-2).and("timesId").is(times.getTicketTimesId())), KylinTicketPartnerVo.class, KylinTicketPartnerVo.class.getSimpleName());
if (exists2) { if (exists2) {
log.debug("NEED CHANGE NEW TICKET");
return true; return true;
} }
for (KylinTicketPartnerVo ticketPartnerVo : times.getTicket()){ for (KylinTicketPartnerVo ticketPartnerVo : times.getTicket()) {
for (KylinTicketVo ticketVo : timesVo.getTicketList()){ for (KylinTicketVo ticketVo : timesVo.getTicketList()) {
if(ticketVo.getTicketsId().equals(ticketPartnerVo.getTicketsId())){ if (ticketVo.getTicketsId().equals(ticketPartnerVo.getTicketsId())) {
if (!ticketVo.getTitle().equals(ticketPartnerVo.getTitle())) { if (!ticketVo.getTitle().equals(ticketPartnerVo.getTitle())) {
log.debug("NEED CHANGE TICKET TITLE");
return true; return true;
}else if (!ticketVo.getQrCodeShowTime().equals(ticketPartnerVo.getQrCodeShowTime())) { } else if (!ticketVo.getQrCodeShowTime().equals(ticketPartnerVo.getQrCodeShowTime())) {
log.debug("NEED CHANGE TICKET QRCODESHOWTIME");
return true; return true;
}else if (!ticketVo.getDescribeElectronic().equals(ticketPartnerVo.getDescribeElectronic())) { } else if (!ticketVo.getDescribeElectronic().equals(ticketPartnerVo.getDescribeElectronic())) {
log.debug("NEED CHANGE TICKET DESCRIBEELECTRONIC");
return true; return true;
}else if (!ticketVo.getDescribeExpress().equals(ticketPartnerVo.getDescribeExpress())) { } else if (!ticketVo.getDescribeExpress().equals(ticketPartnerVo.getDescribeExpress())) {
log.debug("NEED CHANGE TICKET DESCRIBEELEXPRESS");
return true; return true;
}if (!ticketVo.getDescribes().equals(ticketPartnerVo.getDescribes())) { }
if (!ticketVo.getDescribes().equals(ticketPartnerVo.getDescribes())) {
log.debug("NEED CHANGE TICKET DESCRIBES");
return true; return true;
} }
break; break;
......
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