Commit a240f478 by 吕明尚

Merge branch 'refs/heads/dev' into test

parents 8725e8f5 4c3a8ab3
......@@ -431,7 +431,7 @@ public class RedisTask {
EquityFundLog equityFundLog = new EquityFundLog();
equityFundLog.setEquityFund(addEquityFund);
equityFundLog.setEquityFundType("1");
equityFundLog.setOutTradeNo(sOrder.getOutTradeNo());
equityFundLog.setOutTradeNo(sOrder.getOrderNo());
equityFundLog.setTerminalTrace(sOrder.getOutTradeNo());
equityFundLog.setUid(sharingActivities.getUid());
equityFundLog.setNewUid(sharingActivities.getNewUid());
......
......@@ -471,7 +471,7 @@ public class CallbackServiceImpl implements CallbackService {
wechatPayInfoService.updateById(wechatInfo);
//新增权益金日志
addEquityFundLog(recharge.getConsumerId(),
recharge.getRechargeAmount(),recharge.getOutTradeNo(),recharge.getTerminalTrace(),"0");
recharge.getRechargeAmount(),recharge.getRechargeNo(),recharge.getTerminalTrace(),"0");
aFalse = Boolean.TRUE;
} catch (Exception e) {
logger.error("微信支付回调出错");
......
......@@ -173,6 +173,13 @@ public class SOrderServiceImpl extends ServiceImpl<SOrderMapper, SOrder> impleme
@Autowired
private RechargeService rechargeService;
@Autowired
private SharingActivitiesService sharingActivitiesService;
@Autowired
private EquityFundLogService equityFundLogService;
private final static Long FIVE = 5L;
......@@ -478,6 +485,27 @@ public class SOrderServiceImpl extends ServiceImpl<SOrderMapper, SOrder> impleme
}
}
if (request.getAmount().compareTo(BigDecimal.ZERO) > 0) {
if (sOrder.getStatus().equals(OrderStatusEnum.USED.getCode())) {
//查询次订单用户有没有上级用户
SharingActivities sharingActivities = sharingActivitiesService.getOne(new LambdaQueryWrapper<SharingActivities>()
.eq(SharingActivities::getNewUid, sOrder.getConsumerId()));
if (ObjectUtil.isNotEmpty(sharingActivities)) {
//查询权益金日志记录
EquityFundLog equityFundLog = equityFundLogService.getOne(new LambdaQueryWrapper<EquityFundLog>()
.eq(EquityFundLog::getNewUid,sOrder.getConsumerId())
.eq(EquityFundLog::getOutTradeNo,sOrder.getOrderNo())
.eq(EquityFundLog::getTerminalTrace,sOrder.getOutTradeNo()));
if (ObjectUtil.isNotEmpty(equityFundLog)){
ConsumerWallet aConsumerWallet = consumerWalletService.getOne(new LambdaQueryWrapper<ConsumerWallet>()
.eq(ConsumerWallet::getConsumerId,sharingActivities.getUid()));
equityFundLog.setEquityFund(equityFundLog.getEquityFund().negate());
equityFundLogService.insertEquityFundLog(equityFundLog);
aConsumerWallet.setEquityFund(aConsumerWallet.getEquityFund().subtract(equityFundLog.getEquityFund()));
aConsumerWallet.setAccumulateEquityFund(aConsumerWallet.getAccumulateEquityFund().subtract(equityFundLog.getEquityFund()));
consumerWalletService.updateConsumerWallet(aConsumerWallet);
}
}
}
// 退款金额大于0, 微信退款
//退款
if (sOrder.getPayType().equals(PayTypeEnum.WECHAT.getCode())) {
......@@ -1540,12 +1568,16 @@ public class SOrderServiceImpl extends ServiceImpl<SOrderMapper, SOrder> impleme
// + "' AND '" + DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, request.getPreEndDate()) + "' ");
//订单开始时间在 【预定开始时间 和 预定结束时间+30分保洁】区间内
//订单结束时间在 【预定开始时间-30分钟保洁 和 预定结束时间】区间内
queryWrapper.apply("(IFNULL(start_date,pre_start_date) BETWEEN '"
// queryWrapper.apply("(IFNULL(start_date,pre_start_date) BETWEEN '"
// + DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, request.getPreStartDate())
// + "' AND '" + DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, DateUtils.addMinutes(request.getPreEndDate(), Constants.ROOM_LOCK_DELAY_MINUTE)) + "' " +
// "OR IFNULL(end_date,pre_end_date) BETWEEN '"
// + DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, DateUtils.addMinutes(request.getPreStartDate(), -Constants.ROOM_LOCK_DELAY_MINUTE))
// + "' AND '" + DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, request.getPreEndDate()) + "' )");
queryWrapper.apply("IFNULL(start_date,pre_start_date) BETWEEN '"
+ DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, request.getPreStartDate())
+ "' AND '" + DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, DateUtils.addMinutes(request.getPreEndDate(), Constants.ROOM_LOCK_DELAY_MINUTE)) + "' " +
"OR IFNULL(end_date,pre_end_date) BETWEEN '"
+ DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, DateUtils.addMinutes(request.getPreStartDate(), -Constants.ROOM_LOCK_DELAY_MINUTE))
+ "' AND '" + DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, request.getPreEndDate()) + "' )");
+ "' AND '" + DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS,
DateUtils.addMinutes(request.getPreEndDate(), Constants.ROOM_LOCK_DELAY_MINUTE)) + "' ");
break;
default:
throw new BaseException("订单类型异常!");
......@@ -1569,20 +1601,24 @@ public class SOrderServiceImpl extends ServiceImpl<SOrderMapper, SOrder> impleme
}
if (request.getOrderType().equals(OrderTypeEnum.RESERVER.getCode())) {
if (!(DateUtils.addMinutes(lastOrder.getEndDate(), Constants.ROOM_LOCK_DELAY_MINUTE).compareTo(request.getPreStartDate()) < 0)) {
unLockOrder(request.getRoomId());
throw new BaseException("下单时间已被预定!");
}
} else if (request.getOrderType().equals(OrderTypeEnum.RENEW.getCode())) {
if (!(lastOrder.getEndDate().compareTo(request.getPreStartDate()) < 0)) {
unLockOrder(request.getRoomId());
throw new BaseException("下单时间已被预定!");
}
}
}
unLockOrder(request.getRoomId());
throw new BaseException("下单时间已被预定!");
}
if (request.getOrderType().equals(OrderTypeEnum.RESERVER.getCode())) {
List<SOrder> sOrderList = list(sOrderLambdaQueryWrapper);
List<SOrder> orders = list(orderLambdaQueryWrapper);
if (CollectionUtils.isNotEmpty(sOrderList) || CollectionUtils.isNotEmpty(orders)) {
unLockOrder(request.getRoomId());
throw new BaseException("下单时间已被预定!");
}
}
......
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