|
@@ -64,8 +64,18 @@ public class GameOceanengineOrderLogServiceImpl extends ServiceImpl<GameOceaneng
|
|
|
gameBackPolicy = temp;
|
|
|
}
|
|
|
}
|
|
|
- doBack = BackPolicyUtil.isBackOrder(gameBackPolicy, orderLog.getAmount());
|
|
|
+ doBack = BackPolicyUtil.backOrder(gameBackPolicy, orderLog.getAmount(), backUnit -> {
|
|
|
+ return getOne(new LambdaQueryWrapper<GameOceanengineOrderLog>()
|
|
|
+ .eq(GameOceanengineOrderLog::getGameId, orderLog.getGameId())
|
|
|
+ .eq(GameOceanengineOrderLog::getAppId, orderLog.getAppId())
|
|
|
+ .eq(GameOceanengineOrderLog::getAccountId, orderLog.getAccountId())
|
|
|
+ .eq(GameOceanengineOrderLog::getBackStatus, BackStatusEnum.SUCCESS.getBackStatus())
|
|
|
+ .last("limit 1")
|
|
|
+ ) != null;
|
|
|
+ });
|
|
|
+ orderLog.setAmount(BackPolicyUtil.lowRechargeLevel(orderLog.getAmount(), gameBackPolicy.getLevelDown()));
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
if (doBack) {
|
|
|
BackStatusEnum backStatus = doCallback(orderLog);
|
|
@@ -97,7 +107,7 @@ public class GameOceanengineOrderLogServiceImpl extends ServiceImpl<GameOceaneng
|
|
|
.eventType(String.valueOf(MiniGameCallback.EventType.ACTIVE_PAY.getEventType()))
|
|
|
.eventLogId(orderLog.getId())
|
|
|
.createTime(LocalDateTime.now())
|
|
|
- .backStatus(GameOceanengineBackLog.BACK_STATUS_FAILED)
|
|
|
+ .backStatus(BackStatusEnum.FAILED.getBackStatus())
|
|
|
.errMsg("找不到用户注册信息")
|
|
|
.build());
|
|
|
return BackStatusEnum.FAILED;
|
|
@@ -111,15 +121,15 @@ public class GameOceanengineOrderLogServiceImpl extends ServiceImpl<GameOceaneng
|
|
|
.pay_amount(orderLog.getAmount())
|
|
|
.build())
|
|
|
.build();
|
|
|
- Integer backStatus = GameOceanengineBackLog.BACK_STATUS_SUCCESS;
|
|
|
+ BackStatusEnum backStatus = BackStatusEnum.SUCCESS;
|
|
|
String errMsg = null;
|
|
|
try {
|
|
|
miniGameCallback.doCallback(userLog.getAccountReportUrl(), userLog.getAccountReportToken(), request);
|
|
|
} catch (OceanengineCallbackException e) {
|
|
|
- backStatus = GameOceanengineBackLog.BACK_STATUS_FAILED;
|
|
|
+ backStatus = BackStatusEnum.FAILED;
|
|
|
errMsg = e.getMsg();
|
|
|
} catch (Exception e) {
|
|
|
- backStatus = GameOceanengineBackLog.BACK_STATUS_FAILED;
|
|
|
+ backStatus = BackStatusEnum.FAILED;
|
|
|
errMsg = "系统异常:" + e.getMessage();
|
|
|
}
|
|
|
gameOceanengineBackLogService.save(GameOceanengineBackLog.builder()
|
|
@@ -132,9 +142,9 @@ public class GameOceanengineOrderLogServiceImpl extends ServiceImpl<GameOceaneng
|
|
|
.eventType(request.getEvent_type())
|
|
|
.eventLogId(orderLog.getId())
|
|
|
.createTime(LocalDateTime.now())
|
|
|
- .backStatus(backStatus)
|
|
|
+ .backStatus(backStatus.getBackStatus())
|
|
|
.errMsg(errMsg)
|
|
|
.build());
|
|
|
- return backStatus.equals(GameOceanengineBackLog.BACK_STATUS_SUCCESS) ? BackStatusEnum.SUCCESS : BackStatusEnum.FAILED;
|
|
|
+ return backStatus;
|
|
|
}
|
|
|
}
|