|
@@ -47,6 +47,10 @@ public class GameTencentMiniGameOrderServiceImpl extends ServiceImpl<GameTencent
|
|
@Override
|
|
@Override
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
public boolean orderBack(GameTencentMiniGameOrder orderLog, boolean mustBack) {
|
|
public boolean orderBack(GameTencentMiniGameOrder orderLog, boolean mustBack) {
|
|
|
|
+ if (StringUtils.isBlank(orderLog.getClickId())) {
|
|
|
|
+ // 没有点击 id(之后做监测链接,从监测链接里面找)
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
boolean doBack = false;
|
|
boolean doBack = false;
|
|
if (mustBack) {
|
|
if (mustBack) {
|
|
doBack = true;
|
|
doBack = true;
|
|
@@ -55,35 +59,31 @@ public class GameTencentMiniGameOrderServiceImpl extends ServiceImpl<GameTencent
|
|
// 只要回传 支付行为
|
|
// 只要回传 支付行为
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|
|
- }
|
|
|
|
- if (StringUtils.isBlank(orderLog.getClickId())) {
|
|
|
|
- // 没有点击 id(之后做监测链接,从监测链接里面找)
|
|
|
|
- return false;
|
|
|
|
- }
|
|
|
|
- if (orderLog.getBackPolicyId() == null) {
|
|
|
|
- // 没有回传策略,则直接全量回传
|
|
|
|
- doBack = true;
|
|
|
|
- } else {
|
|
|
|
- GameBackPolicy gameBackPolicy = gameBackPolicyService.getById(orderLog.getBackPolicyId());
|
|
|
|
- doBack = BackPolicyUtil.backOrder(orderLog.getOrderId(), gameBackPolicy, orderLog.getRechargeMoney(),
|
|
|
|
- () -> count(new LambdaQueryWrapper<GameTencentMiniGameOrder>()
|
|
|
|
- .eq(GameTencentMiniGameOrder::getGameId, orderLog.getGameId())
|
|
|
|
- .eq(GameTencentMiniGameOrder::getWechatAppId, orderLog.getWechatAppId())
|
|
|
|
- .eq(GameTencentMiniGameOrder::getAdAccountId, orderLog.getAdAccountId())
|
|
|
|
- .eq(GameTencentMiniGameOrder::getOrderStatus, OrderStatusEnum.SUCCESS_PAY.getValue())
|
|
|
|
- .eq(GameTencentMiniGameOrder::getWechatOpenid, orderLog.getWechatOpenid())
|
|
|
|
- .last("limit 1")
|
|
|
|
- ) < 1, backUnit -> Long.valueOf(list(new LambdaQueryWrapper<GameTencentMiniGameOrder>()
|
|
|
|
- .eq(GameTencentMiniGameOrder::getGameId, orderLog.getGameId())
|
|
|
|
- .eq(GameTencentMiniGameOrder::getWechatAppId, orderLog.getWechatAppId())
|
|
|
|
- .eq(GameTencentMiniGameOrder::getAdAccountId, orderLog.getAdAccountId())
|
|
|
|
- .eq(GameTencentMiniGameOrder::getOrderStatus, OrderStatusEnum.SUCCESS_PAY.getValue())
|
|
|
|
- .eq(GameTencentMiniGameOrder::getBackPolicyId, gameBackPolicy.getId())
|
|
|
|
- .orderByDesc(GameTencentMiniGameOrder::getCreateTime)
|
|
|
|
- .last("limit " + backUnit)
|
|
|
|
- ).stream().filter(log -> log.getBackStatus().equals(BackStatusEnum.SUCCESS.getBackStatus())).count()
|
|
|
|
- ).intValue());
|
|
|
|
- orderLog.setRechargeMoney(BackPolicyUtil.lowRechargeLevel(orderLog.getRechargeMoney(), gameBackPolicy.getLevelDown()));
|
|
|
|
|
|
+ if (orderLog.getBackPolicyId() == null) {
|
|
|
|
+ // 没有回传策略,则直接全量回传
|
|
|
|
+ doBack = true;
|
|
|
|
+ } else {
|
|
|
|
+ GameBackPolicy gameBackPolicy = gameBackPolicyService.getById(orderLog.getBackPolicyId());
|
|
|
|
+ doBack = BackPolicyUtil.backOrder(orderLog.getOrderId(), gameBackPolicy, orderLog.getRechargeMoney(),
|
|
|
|
+ () -> count(new LambdaQueryWrapper<GameTencentMiniGameOrder>()
|
|
|
|
+ .eq(GameTencentMiniGameOrder::getGameId, orderLog.getGameId())
|
|
|
|
+ .eq(GameTencentMiniGameOrder::getWechatAppId, orderLog.getWechatAppId())
|
|
|
|
+ .eq(GameTencentMiniGameOrder::getAdAccountId, orderLog.getAdAccountId())
|
|
|
|
+ .eq(GameTencentMiniGameOrder::getOrderStatus, OrderStatusEnum.SUCCESS_PAY.getValue())
|
|
|
|
+ .eq(GameTencentMiniGameOrder::getWechatOpenid, orderLog.getWechatOpenid())
|
|
|
|
+ .last("limit 1")
|
|
|
|
+ ) < 1, backUnit -> Long.valueOf(list(new LambdaQueryWrapper<GameTencentMiniGameOrder>()
|
|
|
|
+ .eq(GameTencentMiniGameOrder::getGameId, orderLog.getGameId())
|
|
|
|
+ .eq(GameTencentMiniGameOrder::getWechatAppId, orderLog.getWechatAppId())
|
|
|
|
+ .eq(GameTencentMiniGameOrder::getAdAccountId, orderLog.getAdAccountId())
|
|
|
|
+ .eq(GameTencentMiniGameOrder::getOrderStatus, OrderStatusEnum.SUCCESS_PAY.getValue())
|
|
|
|
+ .eq(GameTencentMiniGameOrder::getBackPolicyId, gameBackPolicy.getId())
|
|
|
|
+ .orderByDesc(GameTencentMiniGameOrder::getCreateTime)
|
|
|
|
+ .last("limit " + backUnit)
|
|
|
|
+ ).stream().filter(log -> log.getBackStatus().equals(BackStatusEnum.SUCCESS.getBackStatus())).count()
|
|
|
|
+ ).intValue());
|
|
|
|
+ orderLog.setRechargeMoney(BackPolicyUtil.lowRechargeLevel(orderLog.getRechargeMoney(), gameBackPolicy.getLevelDown()));
|
|
|
|
+ }
|
|
}
|
|
}
|
|
if (doBack) {
|
|
if (doBack) {
|
|
BackStatusEnum backStatus = gameTencentMiniGameBackLogService.orderBack(orderLog);
|
|
BackStatusEnum backStatus = gameTencentMiniGameBackLogService.orderBack(orderLog);
|