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

Commit 3c99bd0f authored by jiangxiulong's avatar jiangxiulong

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

# Conflicts:
#	liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/src/main/java/com/liquidnet/service/kylin/service/impl/KylinPerformancesServiceImpl.java
parents 5d10e2f6 8029728e
package com.liquidnet.commons.lang.util;
import org.apache.commons.lang3.RandomStringUtils;
import org.apache.commons.lang3.RandomUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.SystemUtils;
import java.net.Inet4Address;
import java.net.UnknownHostException;
import java.util.Arrays;
public class GenSnowFlowerUtil {
private static final long twepoch = 961430400000L;
private static final long workerIdBits = 5L;
private static final long dataCenterIdBits = 5L;
//// 最大支持机器节点数0~31,一共32个
// 最大支持数据中心节点数0~31,一共32个
@SuppressWarnings({"PointlessBitwiseExpression", "FieldCanBeLocal"})
private static final long maxWorkerId = -1L ^ (-1L << workerIdBits);
@SuppressWarnings({"PointlessBitwiseExpression", "FieldCanBeLocal"})
private static final long maxDataCenterId = -1L ^ (-1L << dataCenterIdBits);
// 序列号12位
private static final long sequenceBits = 12L;
// 机器节点左移12位
private static final long workerIdShift = sequenceBits;
// 数据中心节点左移17位
private static final long dataCenterIdShift = sequenceBits + workerIdBits;
// 时间毫秒数左移22位
private static final long timestampLeftShift = sequenceBits + workerIdBits + dataCenterIdBits;
@SuppressWarnings({"PointlessBitwiseExpression", "FieldCanBeLocal"})
private static final long sequenceMask = -1L ^ (-1L << sequenceBits);// 4095
private static final long workerId;
private static final long dataCenterId;
private static final boolean useSystemClock;
private static long sequence = 0L;
private static long lastTimestamp = -1L;
static {
workerId = getMachineNum() % maxWorkerId;
dataCenterId = getDataCenterNum() % maxDataCenterId;
useSystemClock = true;
}
/* ---------------------------------------------------------------------------------------- */
public static synchronized String next() {
long timestamp = genTime();
if (timestamp < lastTimestamp) {
if (lastTimestamp - timestamp < 2000) {
// 容忍2秒内的回拨,避免NTP校时造成的异常
timestamp = lastTimestamp;
} else {
// 如果服务器时间有问题(时钟后退) 报错。
throw new IllegalStateException(String.format("Clock moved backwards. Refusing to generate id for %sms", lastTimestamp - timestamp));
}
}
if (timestamp == lastTimestamp) {
sequence = (sequence + 1) & sequenceMask;
if (sequence == 0L) {
timestamp = tilNextMillis(lastTimestamp);
}
} else {
sequence = 0L;
}
lastTimestamp = timestamp;
long l = (timestamp - twepoch) << timestampLeftShift | dataCenterId << dataCenterIdShift | workerId << workerIdShift | sequence;
// return l;
return l + String.valueOf(System.nanoTime()).substring(9);
}
private static long genTime() {
return useSystemClock ? SystemClock.now() : System.currentTimeMillis();
}
private static long tilNextMillis(long lastTimestamp) {
long timestamp = genTime();
// 循环直到操作系统时间戳变化
while (timestamp == lastTimestamp) {
timestamp = genTime();
}
if (timestamp < lastTimestamp) {
// 如果发现新的时间戳比上次记录的时间戳数值小,说明操作系统时间发生了倒退,报错
throw new IllegalStateException(
String.format("Clock moved backwards. Refusing to generate id for %sms", lastTimestamp - timestamp));
}
return timestamp;
}
/* ---------------------------------------------------------------------------------------- */
private static long getMachineNum() {
try {
int[] ints = StringUtils.toCodePoints(
Inet4Address.getLocalHost().getHostAddress()
);
return Arrays.stream(ints).sum();
} catch (UnknownHostException e) {
return RandomUtils.nextLong(0, 31);
}
}
private static long getDataCenterNum() {
int[] ints = StringUtils.toCodePoints(
StringUtils.defaultString(SystemUtils.getHostName(), RandomStringUtils.randomAlphabetic(5))
);
return Arrays.stream(ints).sum();
}
/* ---------------------------------------------------------------------------------------- */
private long getWorkerId(long id) {
return id >> workerIdShift & ~(-1L << workerIdBits);
}
private long getDataCenterNum(long id) {
return id >> dataCenterIdShift & ~(-1L << dataCenterIdBits);
}
private long getGenerateDateTime(long id) {
return (id >> timestampLeftShift & ~(-1L << 41L)) + twepoch;
}
/* ---------------------------------------------------------------------------------------- */
}
package com.liquidnet.commons.lang.util;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.util.Enumeration;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.UUID;
import java.util.concurrent.ThreadLocalRandom;
public class IDGenerator {
private static final long twepoch = 1624118400000L;
// private static final long twepoch = 961421243000L;
private static final long workerIdBits = 2L;
private static final long dataCenterIdBits = 1L;
//// 最大支持机器节点数0~31,一共32个
// 最大支持数据中心节点数0~31,一共32个
@SuppressWarnings({"PointlessBitwiseExpression", "FieldCanBeLocal"})
private static final long maxWorkerId = -1L ^ (-1L << workerIdBits);
@SuppressWarnings({"PointlessBitwiseExpression", "FieldCanBeLocal"})
private static final long maxDataCenterId = -1L ^ (-1L << dataCenterIdBits);
// 序列号12位
private static final long sequenceBits = 12L;
// 机器节点左移12位
private static final long workerIdShift = sequenceBits;
// 数据中心节点左移17位
private static final long dataCenterIdShift = sequenceBits + workerIdBits;
// 时间毫秒数左移22位
private static final long timestampLeftShift = sequenceBits + workerIdBits + dataCenterIdBits;
@SuppressWarnings({"PointlessBitwiseExpression", "FieldCanBeLocal"})
private static final long sequenceMask = -1L ^ (-1L << sequenceBits);// 4095
private static final String CROSS_BAR = "-";
private static final String EMPTY_STR = "";
private static final DateTimeFormatter MILLISECOND = DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS");
private static final long workerId;
private static final long dataCenterId;
private static final boolean useSystemClock;
private static long sequence = 0L;
private static long lastTimestamp = -1L;
static {
workerId = getMachineNum() & maxWorkerId;
dataCenterId = 1;
useSystemClock = true;
public static String nextSnowId() {
return GenSnowFlowerUtil.next();
}
/* ---------------------------------------------------------------------------------------- */
public static synchronized String nextSnowId() {
long timestamp = genTime();
if (timestamp < lastTimestamp) {
if (lastTimestamp - timestamp < 2000) {
// 容忍2秒内的回拨,避免NTP校时造成的异常
timestamp = lastTimestamp;
} else {
// 如果服务器时间有问题(时钟后退) 报错。
throw new IllegalStateException(String.format("Clock moved backwards. Refusing to generate id for %sms", lastTimestamp - timestamp));
}
}
if (timestamp == lastTimestamp) {
sequence = (sequence + 1) & sequenceMask;
if (sequence == 0) {
timestamp = tilNextMillis(lastTimestamp);
}
} else {
sequence = 0L;
}
lastTimestamp = timestamp;
public static String nextTimeId() {
return nextMilliId() + String.valueOf(System.nanoTime()).substring(9);
}
long l = ((timestamp - twepoch) << timestampLeftShift) | (dataCenterId << dataCenterIdShift) | (workerId << workerIdShift) | sequence;
public static String nextMilliId() {
return LocalDateTime.now().format(MILLISECOND);
}
// return l;
return l + ("" + System.nanoTime()).substring(9);
public static String get32UUID() {
ThreadLocalRandom random = ThreadLocalRandom.current();
return (new UUID(random.nextLong(), random.nextLong())).toString().replace(CROSS_BAR, EMPTY_STR);
}
/**
......@@ -97,57 +55,4 @@ public class IDGenerator {
String qrCode = MD5Utils.md5(orderTicketId).toLowerCase();
return "QR" + qrCode.substring(5) + "" + qrCode.substring(0, 4);
}
private static long genTime() {
return useSystemClock ? SystemClock.now() : System.currentTimeMillis();
}
private static long tilNextMillis(long lastTimestamp) {
long timestamp = genTime();
// 循环直到操作系统时间戳变化
while (timestamp == lastTimestamp) {
timestamp = genTime();
}
if (timestamp < lastTimestamp) {
// 如果发现新的时间戳比上次记录的时间戳数值小,说明操作系统时间发生了倒退,报错
throw new IllegalStateException(
String.format("Clock moved backwards. Refusing to generate id for %sms", lastTimestamp - timestamp));
}
return timestamp;
}
private static long getMachineNum() {
long machinePiece;
StringBuilder sb = new StringBuilder();
Enumeration<NetworkInterface> e = null;
try {
e = NetworkInterface.getNetworkInterfaces();
while (e.hasMoreElements()) {
NetworkInterface ni = e.nextElement();
sb.append(ni.toString());
}
} catch (SocketException e1) {
e1.printStackTrace();
}
machinePiece = sb.toString().hashCode();
System.out.printf("\n###MachineNum=%s, MachineCodeString=%s\n\n", machinePiece, sb);
return machinePiece;
}
/* ---------------------------------------------------------------------------------------- */
public long getWorkerId(long id) {
return id >> workerIdShift & ~(-1L << workerIdBits);
}
public long getDataCenterId(long id) {
return id >> dataCenterIdShift & ~(-1L << dataCenterIdBits);
}
public long getGenerateDateTime(long id) {
return (id >> timestampLeftShift & ~(-1L << 41L)) + twepoch;
}
/* ---------------------------------------------------------------------------------------- */
}
package com.liquidnet.common.feign.config;
import com.alibaba.fastjson.JSON;
import com.liquidnet.service.constant.GlobalConstant;
import com.liquidnet.common.exception.LiquidnetFeignException;
import com.liquidnet.common.exception.constant.ErrorCode;
import com.liquidnet.common.exception.entity.Error;
import com.liquidnet.common.exception.LiquidnetFeignException;
import feign.Response;
import feign.Util;
import org.slf4j.Logger;
......
......@@ -79,16 +79,10 @@ public class AdamLoginController {
@GetMapping(value = {"gen"})
public void genID() {
log.debug("0gen id:{}", IDGenerator.nextSnowId());
log.debug("1gen id:{}", IDGenerator.nextSnowId());
log.debug("2gen id:{}", IDGenerator.nextSnowId());
log.debug("3gen id:{}", IDGenerator.nextSnowId());
log.debug("4gen id:{}", IDGenerator.nextSnowId());
log.debug("5gen id:{}", IDGenerator.nextSnowId());
log.debug("6gen id:{}", IDGenerator.nextSnowId());
log.debug("7gen id:{}", IDGenerator.nextSnowId());
log.debug("8gen id:{}", IDGenerator.nextSnowId());
log.debug("9gen id:{}\n", IDGenerator.nextSnowId());
log.debug("-nextSnowId:{}", IDGenerator.nextSnowId());
log.debug("nextMilliId:{}", IDGenerator.nextMilliId());
log.debug("nextMilliId:{}", IDGenerator.nextTimeId());
log.debug("nextMilliId:{}", IDGenerator.get32UUID());
}
@ApiOperationSupport(order = 2)
......@@ -145,7 +139,7 @@ public class AdamLoginController {
if (toRegister) {
userInfoVo = adamUserService.register(mobile);
if (null == userInfoVo) {
return ResponseDto.failure(ErrorMapping.get("10003"));
return ResponseDto.failure(ErrorMapping.get("10000"));
}
} else {
userInfoVo = adamRdmService.getUserInfoVoByUid(uid);
......@@ -182,7 +176,7 @@ public class AdamLoginController {
if (toRegister) {
userInfoVo = adamUserService.register(mobile);
if (null == userInfoVo) {
return ResponseDto.failure(ErrorMapping.get("10003"));
return ResponseDto.failure(ErrorMapping.get("10000"));
}
} else {
userInfoVo = adamRdmService.getUserInfoVoByUid(uid);
......@@ -227,7 +221,7 @@ public class AdamLoginController {
}
AdamUserInfoVo registerUserInfo = adamUserService.register(parameter);
if (null == registerUserInfo) {
return ResponseDto.failure(ErrorMapping.get("10003"));
return ResponseDto.failure(ErrorMapping.get("10000"));
}
loginInfoVo.setUserInfo(registerUserInfo);
loginInfoVo.setThirdPartInfo(adamRdmService.getThirdPartVoListByUid(registerUserInfo.getUid()));
......
......@@ -3,9 +3,10 @@
40003=TOKEN失效
# ------------------------ 4开头错误码作系统保留
10000=系统繁忙,请稍候重试
10001=验证码发送失败
10002=验证码无效
10003=系统繁忙,请稍候重试
10003=
10004=
10005=手机号获取失败,请更换登录方式
10006=第三方账号未注册
......
......@@ -346,7 +346,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
//生成订单 order_ticket
KylinOrderTickets orderTickets = new KylinOrderTickets();
String orderTicketId = IDGenerator.nextSnowId().toString();
log.debug("\n OTDER_TICKET_ID = "+ orderTicketId +" \n TIME = "+System.currentTimeMillis());
log.debug("\n ORDER_TICKET_ID = "+ orderTicketId +" \n TIME = "+System.currentTimeMillis());
orderTickets.setOrderTicketsId(orderTicketId);
orderTickets.setUserId(uid);
Map token = CurrentUtil.getTokenClaims();
......@@ -559,43 +559,43 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
httpData.add("return_url", payOrderParam.getReturnUrl() + orderTicketId);
}
currentTime = System.currentTimeMillis();
String returnData = HttpUtil.post(payUrl + payOrderParam.getDeviceFrom() + "/" + payOrderParam.getPayType(), httpData);
currentTime = System.currentTimeMillis() - currentTime;
log.debug("调用 PHP 支付 -> time:" + (currentTime) + "毫秒");
PayResultVo payResultVo = JsonUtils.fromJson(returnData, PayResultVo.class);
// PayResultVo payResultVo = null;
// try {
// payResultVo = JsonUtils.fromJson("{\n" +
// " \"code\": \"20210618130049218267704668657P\",\n" +
// " \"order_code\": \"T7774750254320448484\",\n" +
// " \"status\": null,\n" +
// " \"order_id\": \"77747502543208448\",\n" +
// " \"showUrl\": \"http://devm.zhengzai.tv/#/ticket/purchase/detail?id=5936241&amp;type=purchase&amp;performance_id=5936241&amp;ticket_id=10981&amp;amount=1&amp;products_array=&amp;amount_array=&amp;express=077747502543208448\",\n" +
// " \"returnUrl\": \"http://devm.zhengzai.tv/#/order/status?order_type=ticket&amp;order_id=77747502543208448\",\n" +
// " \"price\": 0.01,\n" +
// " \"pay_data\": {\n" +
// " \"packages\": null,\n" +
// " \"partnerid\": null,\n" +
// " \"prepayid\": null,\n" +
// " \"sign\": null,\n" +
// " \"mweb_url\": null,\n" +
// " \"paySign\": null,\n" +
// " \"signType\": null,\n" +
// " \"redirect_url\": \"https://openapi.alipay.com/gateway.do?alipay_sdk=lokielse%2Fomnipay-alipay&app_id=2019082866535131&biz_content=%7B%22product_code%22%3A%22QUICK_WAP_PAY%22%2C%22total_amount%22%3A%220.01%22%2C%22subject%22%3A%2206%5Cu670830%5Cu65e5%5Cu5355%5Cu65e5%5Cu7968%5Cu80e1%5Cu5927%5Cu7f8e%5Cu5e76%5Cu53d1%5Cu4e0b%5Cu5355%22%2C%22body%22%3A%22%5Cu80e1%5Cu5927%5Cu7f8e%5Cu5e76%5Cu53d1%5Cu4e0b%5Cu5355%5Cu5355%5Cu65e5%5Cu796806%5Cu670830%5Cu65e5%22%2C%22out_trade_no%22%3A%2220210618130049218267704668657P%22%2C%22time_expire%22%3A%222021-06-18+13%3A06%22%2C%22quit_url%22%3A%22http%3A%5C%2F%5C%2Fdevm.zhengzai.tv%5C%2F%23%5C%2Fticket%5C%2Fpurchase%5C%2Fdetail%3Fid%3D5936241%26amp%3Btype%3Dpurchase%26amp%3Bperformance_id%3D5936241%26amp%3Bticket_id%3D10981%26amp%3Bamount%3D1%26amp%3Bproducts_array%3D%26amp%3Bamount_array%3D%26amp%3Bexpress%3D077747502543208448%22%7D&charset=utf-8&format=JSON&method=alipay.trade.wap.pay&notify_url=http%3A%2F%2Ftestpay.zhengzai.tv%2Fnotify%2Fwap%2Falipay%2F1&return_url=http%3A%2F%2Fdevm.zhengzai.tv%2F%23%2Forder%2Fstatus%3Forder_type%3Dticket%26amp%3Border_id%3D77747502543208448&sign_type=RSA2&timestamp=2021-06-18+13%3A00%3A49&version=1.0&sign=UaHmNdI1cXjjSkR4gwrnELSWXqb1Icg1uCOe0vEo5yHCqWOy4JZCZbjCR1xOHQKowSMBAr6U2XLtMAaNXr6mX%2B%2F5IiaChsD4IPoODNT7F4GckVcqP3GkdLZTro%2FGmBau6VoYw1uVpyutQTJsjEU1fQ%2F5KDAKLvg0XG%2F1D%2BXb%2Bv6LdLDvehCEPzy4W%2BCT0qPANU4ysgZkt9hP1ljH61%2FBWiDnfz%2BOdust4KBoJYQzNWO3XSwvc17OxdGHn8EBmYRJz6sr1nt0i2h4BGQtjrOHRB3dToVkxrlsHtbrOmiCdRFH6utSVA8UjeKtlEB%2FH%2BkQfVxPkpOicTjkokhDNK6svg%3D%3D\",\n" +
// " \"order_str\": null,\n" +
// " \"appId\": null,\n" +
// " \"appid\": null,\n" +
// " \"nonceStr\": null,\n" +
// " \"noncestr\": null,\n" +
// " \"timeStamp\": null,\n" +
// " \"timestamp\": null,\n" +
// " \"package\": null\n" +
// " }\n" +
// " }", PayResultVo.class);
// } catch (Exception e) {
// payResultVo = new PayResultVo();
// }
// currentTime = System.currentTimeMillis();
// String returnData = HttpUtil.post(payUrl + payOrderParam.getDeviceFrom() + "/" + payOrderParam.getPayType(), httpData);
// currentTime = System.currentTimeMillis() - currentTime;
// log.debug("调用 PHP 支付 -> time:" + (currentTime) + "毫秒");
// PayResultVo payResultVo = JsonUtils.fromJson(returnData, PayResultVo.class);
PayResultVo payResultVo = null;
try {
payResultVo = JsonUtils.fromJson("{\n" +
" \"code\": \"20210618130049218267704668657P\",\n" +
" \"order_code\": \"T7774750254320448484\",\n" +
" \"status\": null,\n" +
" \"order_id\": \"77747502543208448\",\n" +
" \"showUrl\": \"http://devm.zhengzai.tv/#/ticket/purchase/detail?id=5936241&amp;type=purchase&amp;performance_id=5936241&amp;ticket_id=10981&amp;amount=1&amp;products_array=&amp;amount_array=&amp;express=077747502543208448\",\n" +
" \"returnUrl\": \"http://devm.zhengzai.tv/#/order/status?order_type=ticket&amp;order_id=77747502543208448\",\n" +
" \"price\": 0.01,\n" +
" \"pay_data\": {\n" +
" \"packages\": null,\n" +
" \"partnerid\": null,\n" +
" \"prepayid\": null,\n" +
" \"sign\": null,\n" +
" \"mweb_url\": null,\n" +
" \"paySign\": null,\n" +
" \"signType\": null,\n" +
" \"redirect_url\": \"https://openapi.alipay.com/gateway.do?alipay_sdk=lokielse%2Fomnipay-alipay&app_id=2019082866535131&biz_content=%7B%22product_code%22%3A%22QUICK_WAP_PAY%22%2C%22total_amount%22%3A%220.01%22%2C%22subject%22%3A%2206%5Cu670830%5Cu65e5%5Cu5355%5Cu65e5%5Cu7968%5Cu80e1%5Cu5927%5Cu7f8e%5Cu5e76%5Cu53d1%5Cu4e0b%5Cu5355%22%2C%22body%22%3A%22%5Cu80e1%5Cu5927%5Cu7f8e%5Cu5e76%5Cu53d1%5Cu4e0b%5Cu5355%5Cu5355%5Cu65e5%5Cu796806%5Cu670830%5Cu65e5%22%2C%22out_trade_no%22%3A%2220210618130049218267704668657P%22%2C%22time_expire%22%3A%222021-06-18+13%3A06%22%2C%22quit_url%22%3A%22http%3A%5C%2F%5C%2Fdevm.zhengzai.tv%5C%2F%23%5C%2Fticket%5C%2Fpurchase%5C%2Fdetail%3Fid%3D5936241%26amp%3Btype%3Dpurchase%26amp%3Bperformance_id%3D5936241%26amp%3Bticket_id%3D10981%26amp%3Bamount%3D1%26amp%3Bproducts_array%3D%26amp%3Bamount_array%3D%26amp%3Bexpress%3D077747502543208448%22%7D&charset=utf-8&format=JSON&method=alipay.trade.wap.pay&notify_url=http%3A%2F%2Ftestpay.zhengzai.tv%2Fnotify%2Fwap%2Falipay%2F1&return_url=http%3A%2F%2Fdevm.zhengzai.tv%2F%23%2Forder%2Fstatus%3Forder_type%3Dticket%26amp%3Border_id%3D77747502543208448&sign_type=RSA2&timestamp=2021-06-18+13%3A00%3A49&version=1.0&sign=UaHmNdI1cXjjSkR4gwrnELSWXqb1Icg1uCOe0vEo5yHCqWOy4JZCZbjCR1xOHQKowSMBAr6U2XLtMAaNXr6mX%2B%2F5IiaChsD4IPoODNT7F4GckVcqP3GkdLZTro%2FGmBau6VoYw1uVpyutQTJsjEU1fQ%2F5KDAKLvg0XG%2F1D%2BXb%2Bv6LdLDvehCEPzy4W%2BCT0qPANU4ysgZkt9hP1ljH61%2FBWiDnfz%2BOdust4KBoJYQzNWO3XSwvc17OxdGHn8EBmYRJz6sr1nt0i2h4BGQtjrOHRB3dToVkxrlsHtbrOmiCdRFH6utSVA8UjeKtlEB%2FH%2BkQfVxPkpOicTjkokhDNK6svg%3D%3D\",\n" +
" \"order_str\": null,\n" +
" \"appId\": null,\n" +
" \"appid\": null,\n" +
" \"nonceStr\": null,\n" +
" \"noncestr\": null,\n" +
" \"timeStamp\": null,\n" +
" \"timestamp\": null,\n" +
" \"package\": null\n" +
" }\n" +
" }", PayResultVo.class);
} catch (Exception e) {
payResultVo = new PayResultVo();
}
payResultVo.setOrder_id(orderTicketId);
payResultVo.setPrice(orderTickets.getPriceActual());
orderTickets.setPayCode(payResultVo.getCode());
......
......@@ -93,7 +93,7 @@ public class KylinPerformancesServiceImpl extends ServiceImpl<KylinPerformancesM
if (!CollectionUtils.isEmpty(performancesListRecommend)) {
is_native = 0;
if (recommend > 0) {// 去重
if(recommend > 0) {// 去重
List<KylinPerformanceVo> collect = performancesListRecommend.stream().filter(r -> !performancesIds.contains(r.getPerformancesId())).collect(Collectors.toList());
performancesListNew.addAll(collect);
} else {
......@@ -171,13 +171,40 @@ public class KylinPerformancesServiceImpl extends ServiceImpl<KylinPerformancesM
List<KylinTicketTimesVo> ticketTimesList = vo.getTicketTimeList();
for (KylinTicketTimesVo partner : ticketTimesList) {
List<KylinTicketVo> ticketList = partner.getTicketList();
for (KylinTicketVo ticket : ticketList) {
int status = checkTicketStatus(ticket);
ticket.setStatus(status);
// 处理状态 购买 未开始 结束可更改 下架 售馨不可更改
if (ticket.getStatus() == 6 || ticket.getStatus() == 9 || ticket.getStatus() == 10) {
String timeStart = ticket.getTimeStart();
String timeEnd = ticket.getTimeEnd();
String nowTime = DateUtil.getNowTime();
if (1 == DateUtil.compareStrDay(timeStart, nowTime)) {// 未开始
ticket.setStatus(9);
} else { // 已开始
ticket.setStatus(6);
if (1 == DateUtil.compareStrDay(nowTime, timeEnd)) { // 已结束
ticket.setStatus(10);
}
}
}
// 会员状态
Integer isMemberStatus = getIsMemberStatus(ticket);
Integer isMemberStatus = 0;
if (1 == ticket.getIsMember()) { // 有会员
String memberTimeStart = ticket.getMemberTimeStart();
String nowTime = DateUtil.getNowTime();
if (1 == DateUtil.compareStrDay(memberTimeStart, nowTime)) { // 还没到会员购买时间
isMemberStatus = 0;
} else { // 可以购买
isMemberStatus = 1;
}
} else {
isMemberStatus = 0;
}
ticket.setIsMemberStatus(isMemberStatus);
}
partner.setTicketList(ticketList);
}
......@@ -251,7 +278,7 @@ public class KylinPerformancesServiceImpl extends ServiceImpl<KylinPerformancesM
Query query = new BasicQuery(queryObject);
String nowTimeStr = DateUtil.getNowTime();
query.addCriteria(Criteria.where("timeEnd").gte(nowTimeStr));
query.addCriteria(Criteria.where("appStatus").in(3, 6, 8, 9));
query.addCriteria(Criteria.where("appStatus").in(3,6,8,9));
long count = mongoTemplate.count(query, KylinPerformanceVo.class, KylinPerformanceVo.class.getSimpleName());
......@@ -277,21 +304,43 @@ public class KylinPerformancesServiceImpl extends ServiceImpl<KylinPerformancesM
public PayDetailVo payDetail(String performancesId, String ticketsId) {
KylinTicketVo ticketVo = null;
KylinPerformanceVo performancesInfo = dataUtils.getPerformanceVo(performancesId);
for (int i = 0; i < performancesInfo.getTicketTimeList().size(); i++) {
for (int x = 0; x < performancesInfo.getTicketTimeList().get(i).getTicketList().size(); x++) {
for (int i =0 ;i<performancesInfo.getTicketTimeList().size();i++){
for (int x =0 ;x<performancesInfo.getTicketTimeList().get(i).getTicketList().size();x++) {
KylinTicketVo ticketItem = performancesInfo.getTicketTimeList().get(i).getTicketList().get(x);
if (ticketItem.getTicketsId().equals(ticketsId)) {
int status = checkTicketStatus(ticketItem);
ticketItem.setStatus(status);
if(ticketItem.getTicketsId().equals(ticketsId)){
String timeStart = ticketItem.getTimeStart();
String timeEnd = ticketItem.getTimeEnd();
String nowTime = DateUtil.getNowTime();
if (1 == DateUtil.compareStrDay(timeStart, nowTime)) {// 未开始
ticketItem.setStatus(9);
} else { // 已开始
ticketItem.setStatus(6);
if (1 == DateUtil.compareStrDay(nowTime, timeEnd)) { // 已结束
ticketItem.setStatus(10);
}
}
ticketVo = ticketItem;
Integer isMemberStatus = getIsMemberStatus(ticketItem);
ticketItem.setIsMemberStatus(isMemberStatus);
}
}
}
performancesInfo = checkAppStatus(performancesInfo);
if (performancesInfo.getAppStatus() == 6 || performancesInfo.getAppStatus() == 9 || performancesInfo.getAppStatus() == 10) {
String stopSellTime = performancesInfo.getStopSellTime();
String sellTime = performancesInfo.getSellTime();
String nowTime = DateUtil.getNowTime();
if (1 == DateUtil.compareStrDay(sellTime, nowTime)) {// 未开始
performancesInfo.setAppStatus(9);
} else { // 购买
performancesInfo.setAppStatus(6);
}
if (1 == DateUtil.compareStrDay(stopSellTime, nowTime)) { // 购买
performancesInfo.setAppStatus(6);
} else {// 已结束
performancesInfo.setAppStatus(10);
}
}
performancesInfo.setMessage(KylinPerformanceStatusEnum.getName(performancesInfo.getAppStatus()));
PayDetailVo payDetailVo = new PayDetailVo();
......@@ -322,71 +371,11 @@ public class KylinPerformancesServiceImpl extends ServiceImpl<KylinPerformancesM
return list;
}
public KylinPerformanceVo checkAppStatus(KylinPerformanceVo info) {
if (null != info) {
String nowTimeStr = DateUtil.getNowTime();
String timeStart = info.getSellTime();
String timeEnd = info.getStopSellTime();
if (info.getAppStatus() != 8) {
if (1 == DateUtil.compareStrDay(timeStart, nowTimeStr)) {// 未开始
info.setAppStatus(9);
} else { // 已开始
info.setAppStatus(6);
if (1 == DateUtil.compareStrDay(nowTimeStr, timeEnd)) { // 已结束
info.setAppStatus(10);
}
}
}
}
return info;
}
public int checkTicketStatus(KylinTicketVo ticketItem) {
int status = 0;
int getStatus = ticketItem.getStatus();
if (null != ticketItem) {
if (6 == getStatus || 9 == getStatus || 10 == getStatus) {
String timeStart = ticketItem.getTimeStart();
String timeEnd = ticketItem.getTimeEnd();
String nowTime = DateUtil.getNowTime();
if (1 == DateUtil.compareStrDay(timeStart, nowTime)) {// 未开始
status = 9;
} else { // 已开始
status = 6;
if (1 == DateUtil.compareStrDay(nowTime, timeEnd)) { // 已结束
status = 10;
}
}
}
}
return status;
}
public Integer getIsMemberStatus(KylinTicketVo ticket) {// 会员状态
Integer isMemberStatus = 0;
if (null != ticket) {
if (1 == ticket.getIsMember()) { // 有会员
String memberTimeStart = ticket.getMemberTimeStart();
String nowTime = DateUtil.getNowTime();
if (1 == DateUtil.compareStrDay(memberTimeStart, nowTime)) { // 还没到会员购买时间
isMemberStatus = 0;
} else { // 可以购买
isMemberStatus = 1;
}
} else {
isMemberStatus = 0;
}
}
return isMemberStatus;
}
public String checkPerformanceTime(String performancesId) {
public String checkPerformanceTime(String performancesId){
try {
task.performanceVoStatus(performancesId);
return "成功";
} catch (Exception e) {
}catch (Exception e){
e.printStackTrace();
return "失败";
}
......
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