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

Commit 3d525e46 authored by jiangxiulong's avatar jiangxiulong

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

parents df09e086 7128369b
...@@ -89,8 +89,8 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM ...@@ -89,8 +89,8 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
private OrderUtils orderUtils; private OrderUtils orderUtils;
@Autowired @Autowired
private OtherUtils otherUtils; private OtherUtils otherUtils;
@Autowired // @Autowired
private RedisLockUtil redisLockUtil; // private RedisLockUtil redisLockUtil;
@Autowired @Autowired
private MongoVoUtils mongoVoUtils; private MongoVoUtils mongoVoUtils;
@Autowired @Autowired
...@@ -113,9 +113,9 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM ...@@ -113,9 +113,9 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
boolean isDownGeneral = false; boolean isDownGeneral = false;
String uid = CurrentUtil.getCurrentUid(); String uid = CurrentUtil.getCurrentUid();
String lock = "userId:" + uid; String lock = "userId:" + uid;
if (!redisLockUtil.tryLock(lock, 2, 2)) { // if (!redisLockUtil.tryLock(lock, 2, 2)) {
return ResponseDto.failure("请求频繁");//参数错误 // return ResponseDto.failure("请求频繁");//参数错误
} // }
try { try {
KylinPerformanceVo performanceData = dataUtils.getPerformanceVo(payOrderParam.getPerformanceId()); KylinPerformanceVo performanceData = dataUtils.getPerformanceVo(payOrderParam.getPerformanceId());
KylinTicketTimesVo ticketTimesData = null; KylinTicketTimesVo ticketTimesData = null;
...@@ -136,16 +136,16 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM ...@@ -136,16 +136,16 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
} }
if (performanceData == null || ticketTimesData == null || ticketData == null) { if (performanceData == null || ticketTimesData == null || ticketData == null) {
redisLockUtil.unlock(lock); //redisLockUtil.unlock(lock);
return ResponseDto.failure("参数错误");//参数错误 return ResponseDto.failure("参数错误");//参数错误
} }
if (!ticketData.getTimeId().equals(payOrderParam.getTimeId()) || !ticketTimesData.getPerformanceId().equals(payOrderParam.getPerformanceId())) { if (!ticketData.getTimeId().equals(payOrderParam.getTimeId()) || !ticketTimesData.getPerformanceId().equals(payOrderParam.getPerformanceId())) {
redisLockUtil.unlock(lock); //redisLockUtil.unlock(lock);
return ResponseDto.failure("参数错误");//参数错误List<AdamEntersVo> entersVoList return ResponseDto.failure("参数错误");//参数错误List<AdamEntersVo> entersVoList
} }
//判断代理 //判断代理
if (!checkAgent(payOrderParam.getAgentId(), ticketData)) { if (!checkAgent(payOrderParam.getAgentId(), ticketData)) {
redisLockUtil.unlock(lock); //redisLockUtil.unlock(lock);
return ResponseDto.failure("无权购买"); return ResponseDto.failure("无权购买");
} }
...@@ -161,7 +161,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM ...@@ -161,7 +161,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
if (ticketData.getIsExclusive() == 1) { if (ticketData.getIsExclusive() == 1) {
memberType = 2; memberType = 2;
if (!isMember) { if (!isMember) {
redisLockUtil.unlock(lock); //redisLockUtil.unlock(lock);
return ResponseDto.failure("非会员用户暂不可购买");//没有会员权限 return ResponseDto.failure("非会员用户暂不可购买");//没有会员权限
} }
} else { } else {
...@@ -169,7 +169,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM ...@@ -169,7 +169,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
// 会员购买逻辑 // 会员购买逻辑
memberType = 1; memberType = 1;
if (!isMember) { if (!isMember) {
redisLockUtil.unlock(lock); //redisLockUtil.unlock(lock);
return ResponseDto.failure("非会员用户暂不可购买");//没有会员权限 return ResponseDto.failure("非会员用户暂不可购买");//没有会员权限
} }
} else { } else {
...@@ -188,38 +188,38 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM ...@@ -188,38 +188,38 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
//通用判断时间 //通用判断时间
if (isMember) { if (isMember) {
if (DateUtil.compareStrDay(DateUtil.getNowTime(), memberTimeStart) == -1) { if (DateUtil.compareStrDay(DateUtil.getNowTime(), memberTimeStart) == -1) {
redisLockUtil.unlock(lock); //redisLockUtil.unlock(lock);
return ResponseDto.failure("未开始售卖");//未开始 return ResponseDto.failure("未开始售卖");//未开始
} }
} else { } else {
if (DateUtil.compareStrDay(DateUtil.getNowTime(), timeStart) == -1) { if (DateUtil.compareStrDay(DateUtil.getNowTime(), timeStart) == -1) {
redisLockUtil.unlock(lock); //redisLockUtil.unlock(lock);
return ResponseDto.failure("未开始售卖");//未开始 return ResponseDto.failure("未开始售卖");//未开始
} }
} }
if (DateUtil.compareStrDay(DateUtil.getNowTime(), timeEnd) == 1) { if (DateUtil.compareStrDay(DateUtil.getNowTime(), timeEnd) == 1) {
redisLockUtil.unlock(lock); //redisLockUtil.unlock(lock);
return ResponseDto.failure("售卖已结束");//已结束 return ResponseDto.failure("售卖已结束");//已结束
} }
//快递票判断 //快递票判断
if (payOrderParam.getIsExpress() != null) { if (payOrderParam.getIsExpress() != null) {
if (payOrderParam.getIsExpress() == 1 && DateUtil.compareStrDay(DateUtil.getNowTime(), timeExpressEnd) == 1) { if (payOrderParam.getIsExpress() == 1 && DateUtil.compareStrDay(DateUtil.getNowTime(), timeExpressEnd) == 1) {
redisLockUtil.unlock(lock); //redisLockUtil.unlock(lock);
return ResponseDto.failure("已超过快递票截止时间");//快递票不卖 return ResponseDto.failure("已超过快递票截止时间");//快递票不卖
} }
if (payOrderParam.getIsExpress() == 1 && payOrderParam.getAddressId().isEmpty()) { if (payOrderParam.getIsExpress() == 1 && payOrderParam.getAddressId().isEmpty()) {
redisLockUtil.unlock(lock); //redisLockUtil.unlock(lock);
return ResponseDto.failure("快递票未填写收货地址");//快递票未填写收货地址 return ResponseDto.failure("快递票未填写收货地址");//快递票未填写收货地址
} }
} }
//实名判断 //实名判断
if (isTrueName == 1 && payOrderParam.getEnterIdList().size() <= 0) { if (isTrueName == 1 && payOrderParam.getEnterIdList().size() <= 0) {
redisLockUtil.unlock(lock); //redisLockUtil.unlock(lock);
return ResponseDto.failure("入场人数量错误");//需要实名 未实名 return ResponseDto.failure("入场人数量错误");//需要实名 未实名
} }
if (isTrueName == 1 && payOrderParam.getEnterIdList().size() != payOrderParam.getNumber()) { if (isTrueName == 1 && payOrderParam.getEnterIdList().size() != payOrderParam.getNumber()) {
redisLockUtil.unlock(lock); //redisLockUtil.unlock(lock);
return ResponseDto.failure("入场人数量错误");//入场人数量错误 return ResponseDto.failure("入场人数量错误");//入场人数量错误
} }
...@@ -227,7 +227,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM ...@@ -227,7 +227,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
int surplusGeneral = dataUtils.changeSurplusGeneral(payOrderParam.getTicketId(), -payOrderParam.getNumber()); int surplusGeneral = dataUtils.changeSurplusGeneral(payOrderParam.getTicketId(), -payOrderParam.getNumber());
if (surplusGeneral < 0) {//库存回滚 if (surplusGeneral < 0) {//库存回滚
dataUtils.changeSurplusGeneral(payOrderParam.getTicketId(), payOrderParam.getNumber()); dataUtils.changeSurplusGeneral(payOrderParam.getTicketId(), payOrderParam.getNumber());
redisLockUtil.unlock(lock); //redisLockUtil.unlock(lock);
return ResponseDto.failure("该票种已售罄");//没抢到 return ResponseDto.failure("该票种已售罄");//没抢到
} else { } else {
isDownGeneral = true; isDownGeneral = true;
...@@ -241,7 +241,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM ...@@ -241,7 +241,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
if (isStudent == 1) { if (isStudent == 1) {
int age = IDCard.getAgeByIdCard(adamEnters.getIdCard()); int age = IDCard.getAgeByIdCard(adamEnters.getIdCard());
if (age > 25) { if (age > 25) {
redisLockUtil.unlock(lock); //redisLockUtil.unlock(lock);
return ResponseDto.failure("年龄不符合");//年龄超了 return ResponseDto.failure("年龄不符合");//年龄超了
} }
} }
...@@ -259,18 +259,18 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM ...@@ -259,18 +259,18 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
for (int i = 0; i < entersVoList.size(); i++) { for (int i = 0; i < entersVoList.size(); i++) {
String res1 = orderUtils.judgeOrderLimit(performanceData.getType(), uid, entersVoList.get(i).getIdCard(), payOrderParam.getPerformanceId(), payOrderParam.getTicketId(), performanceLimit, performanceMemberLimit, ticketLimit, ticketMemberLimit, 1, 1, memberType, isTrueName); String res1 = orderUtils.judgeOrderLimit(performanceData.getType(), uid, entersVoList.get(i).getIdCard(), payOrderParam.getPerformanceId(), payOrderParam.getTicketId(), performanceLimit, performanceMemberLimit, ticketLimit, ticketMemberLimit, 1, 1, memberType, isTrueName);
if (!res1.equals("")) { if (!res1.equals("")) {
redisLockUtil.unlock(lock); //redisLockUtil.unlock(lock);
return ResponseDto.failure(res1);//乱七八糟异常 return ResponseDto.failure(res1);//乱七八糟异常
} }
} }
} else { } else {
String res1 = orderUtils.judgeOrderLimit(performanceData.getType(), uid, "", payOrderParam.getPerformanceId(), payOrderParam.getTicketId(), performanceLimit, performanceMemberLimit, ticketLimit, ticketMemberLimit, payOrderParam.getNumber(), payOrderParam.getNumber(), memberType, isTrueName); String res1 = orderUtils.judgeOrderLimit(performanceData.getType(), uid, "", payOrderParam.getPerformanceId(), payOrderParam.getTicketId(), performanceLimit, performanceMemberLimit, ticketLimit, ticketMemberLimit, payOrderParam.getNumber(), payOrderParam.getNumber(), memberType, isTrueName);
if (!res1.equals("")) { if (!res1.equals("")) {
redisLockUtil.unlock(lock); //redisLockUtil.unlock(lock);
return ResponseDto.failure(res1);//乱七八糟异常 return ResponseDto.failure(res1);//乱七八糟异常
} }
} }
redisLockUtil.unlock(lock); //redisLockUtil.unlock(lock);
return order(payOrderParam, uid, isMember, isTrueName, performanceData, ticketData, entersVoList, isStudent, ticketTimesData); return order(payOrderParam, uid, isMember, isTrueName, performanceData, ticketData, entersVoList, isStudent, ticketTimesData);
} }
} catch (Exception e) { } catch (Exception e) {
...@@ -279,7 +279,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM ...@@ -279,7 +279,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
} }
e.printStackTrace(); e.printStackTrace();
log.error("Kylin Order Pay Error = " + e.getMessage()); log.error("Kylin Order Pay Error = " + e.getMessage());
redisLockUtil.unlock(lock); //redisLockUtil.unlock(lock);
return ResponseDto.failure("下单失败");//乱七八糟异常 return ResponseDto.failure("下单失败");//乱七八糟异常
} }
} }
...@@ -635,31 +635,31 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM ...@@ -635,31 +635,31 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
//支付时间 //支付时间
LocalDateTime now = LocalDateTime.now(); LocalDateTime now = LocalDateTime.now();
String lock = "order_lock:" + syncOrderParam.getOrder_code(); String lock = "order_lock:" + syncOrderParam.getOrder_code();
if (!redisLockUtil.tryLock(lock, 240, 240)) { // if (!redisLockUtil.tryLock(lock, 240, 240)) {
return "fail";//参数错误 // return "fail";//参数错误
} // }
String timePay = DateUtil.Formatter.yyyyMMddHHmmss.format(now); String timePay = DateUtil.Formatter.yyyyMMddHHmmss.format(now);
KylinOrderTicketVo orderTicketData = mongoTemplate.findOne(Query.query(Criteria.where("orderCode").is(syncOrderParam.getOrder_code())), KylinOrderTicketVo.class, KylinOrderTicketVo.class.getSimpleName()); KylinOrderTicketVo orderTicketData = mongoTemplate.findOne(Query.query(Criteria.where("orderCode").is(syncOrderParam.getOrder_code())), KylinOrderTicketVo.class, KylinOrderTicketVo.class.getSimpleName());
if (orderTicketData == null) { if (orderTicketData == null) {
redisLockUtil.unlock(lock); //redisLockUtil.unlock(lock);
return "fail";//订单不存在 return "fail";//订单不存在
} }
if (orderTicketData.getStatus() != KylinTableStatusConst.ORDER_STATUS0) { if (orderTicketData.getStatus() != KylinTableStatusConst.ORDER_STATUS0) {
if (orderTicketData.getPayCode().equals(syncOrderParam.getCode()) && orderTicketData.getStatus() == KylinTableStatusConst.ORDER_STATUS1) { if (orderTicketData.getPayCode().equals(syncOrderParam.getCode()) && orderTicketData.getStatus() == KylinTableStatusConst.ORDER_STATUS1) {
redisLockUtil.unlock(lock); //redisLockUtil.unlock(lock);
return "success";//已经支付 return "success";//已经支付
} }
if (!orderTicketData.getPayCode().equals(syncOrderParam.getCode())) { if (!orderTicketData.getPayCode().equals(syncOrderParam.getCode())) {
redisLockUtil.unlock(lock); //redisLockUtil.unlock(lock);
return "fail";//重复支付 return "fail";//重复支付
} }
} }
if (orderTicketData.getPriceActual().compareTo(syncOrderParam.getPrice()) != 0) { if (orderTicketData.getPriceActual().compareTo(syncOrderParam.getPrice()) != 0) {
redisLockUtil.unlock(lock); //redisLockUtil.unlock(lock);
return "fail";//价格不符 return "fail";//价格不符
} }
...@@ -767,7 +767,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM ...@@ -767,7 +767,7 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
// 大麦回调 // 大麦回调
sycDamaiOrder(orderTickets.getOrderTicketsId()); sycDamaiOrder(orderTickets.getOrderTicketsId());
redisLockUtil.unlock(lock); //redisLockUtil.unlock(lock);
return "success"; return "success";
} }
...@@ -899,9 +899,9 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM ...@@ -899,9 +899,9 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
LinkedList<String> sqls = new LinkedList<>(); LinkedList<String> sqls = new LinkedList<>();
for (OrderScriptDto item : dtoData) { for (OrderScriptDto item : dtoData) {
String lock = "order_lock:" + item.getOrderCode(); String lock = "order_lock:" + item.getOrderCode();
if (!redisLockUtil.tryLock(lock, 30, 240)) { // if (!redisLockUtil.tryLock(lock, 30, 240)) {
continue; // continue;
} // }
if (item.getStatus() == KylinTableStatusConst.ORDER_STATUS0) { if (item.getStatus() == KylinTableStatusConst.ORDER_STATUS0) {
LocalDateTime now = LocalDateTime.now(); LocalDateTime now = LocalDateTime.now();
try { try {
...@@ -962,12 +962,12 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM ...@@ -962,12 +962,12 @@ public class KylinOrderTicketsServiceImpl extends ServiceImpl<KylinOrderTicketsM
rabbitTemplate.convertSendAndReceive(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_CLOSE, MQConst.ROUTING_KEY_SQL_ORDER_CLOSE, SqlMapping.gets(sqls, sqlsDataA, sqlsDataB,sqlsDataC)); rabbitTemplate.convertSendAndReceive(MQConst.EXCHANGES_LIQUIDNET_SQL_ORDER_CLOSE, MQConst.ROUTING_KEY_SQL_ORDER_CLOSE, SqlMapping.gets(sqls, sqlsDataA, sqlsDataB,sqlsDataC));
} catch (Exception e) { } catch (Exception e) {
redisLockUtil.unlock(lock); //redisLockUtil.unlock(lock);
e.printStackTrace(); e.printStackTrace();
return false; return false;
} }
} else { } else {
redisLockUtil.unlock(lock); //redisLockUtil.unlock(lock);
} }
} }
return true; return true;
......
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