|
@@ -1,6 +1,7 @@
|
|
|
package com.zanxiang.game.back.serve.rpc.impl;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
import com.zanxiang.game.back.base.pojo.dto.*;
|
|
|
import com.zanxiang.game.back.base.pojo.enums.OrderStatusEnum;
|
|
|
import com.zanxiang.game.back.base.pojo.vo.OrderBackQueryRpcVO;
|
|
@@ -57,22 +58,22 @@ public class TtAppBackRpcImpl implements ITtAppBackRpc {
|
|
|
if (StringUtils.isBlank(dto.getMac())) {
|
|
|
dto.setMac("");
|
|
|
}
|
|
|
- if(StringUtils.isBlank(dto.getImei())) {
|
|
|
+ if (StringUtils.isBlank(dto.getImei())) {
|
|
|
dto.setImei("");
|
|
|
}
|
|
|
- if(StringUtils.isBlank(dto.getOaid())) {
|
|
|
+ if (StringUtils.isBlank(dto.getOaid())) {
|
|
|
dto.setOaid("");
|
|
|
}
|
|
|
- if(StringUtils.isBlank(dto.getAndroidId())) {
|
|
|
+ if (StringUtils.isBlank(dto.getAndroidId())) {
|
|
|
dto.setAndroidId("");
|
|
|
}
|
|
|
- if(StringUtils.isBlank(dto.getIdfa())) {
|
|
|
+ if (StringUtils.isBlank(dto.getIdfa())) {
|
|
|
dto.setIdfa("");
|
|
|
}
|
|
|
- if(StringUtils.isBlank(dto.getCaid())) {
|
|
|
+ if (StringUtils.isBlank(dto.getCaid())) {
|
|
|
dto.setCaid("");
|
|
|
}
|
|
|
- if(StringUtils.isBlank(dto.getUserId()) || (StringUtils.isBlank(dto.getImei())
|
|
|
+ if (StringUtils.isBlank(dto.getUserId()) || (StringUtils.isBlank(dto.getImei())
|
|
|
&& StringUtils.isBlank(dto.getOaid())
|
|
|
&& StringUtils.isBlank(dto.getAndroidId())
|
|
|
&& StringUtils.isBlank(dto.getIdfa())
|
|
@@ -111,22 +112,22 @@ public class TtAppBackRpcImpl implements ITtAppBackRpc {
|
|
|
if (StringUtils.isBlank(dto.getMac())) {
|
|
|
dto.setMac("");
|
|
|
}
|
|
|
- if(StringUtils.isBlank(dto.getImei())) {
|
|
|
+ if (StringUtils.isBlank(dto.getImei())) {
|
|
|
dto.setImei("");
|
|
|
}
|
|
|
- if(StringUtils.isBlank(dto.getOaid())) {
|
|
|
+ if (StringUtils.isBlank(dto.getOaid())) {
|
|
|
dto.setOaid("");
|
|
|
}
|
|
|
- if(StringUtils.isBlank(dto.getAndroidId())) {
|
|
|
+ if (StringUtils.isBlank(dto.getAndroidId())) {
|
|
|
dto.setAndroidId("");
|
|
|
}
|
|
|
- if(StringUtils.isBlank(dto.getIdfa())) {
|
|
|
+ if (StringUtils.isBlank(dto.getIdfa())) {
|
|
|
dto.setIdfa("");
|
|
|
}
|
|
|
- if(StringUtils.isBlank(dto.getCaid())) {
|
|
|
+ if (StringUtils.isBlank(dto.getCaid())) {
|
|
|
dto.setCaid("");
|
|
|
}
|
|
|
- if(StringUtils.isBlank(dto.getUserId()) || (StringUtils.isBlank(dto.getImei())
|
|
|
+ if (StringUtils.isBlank(dto.getUserId()) || (StringUtils.isBlank(dto.getImei())
|
|
|
&& StringUtils.isBlank(dto.getOaid())
|
|
|
&& StringUtils.isBlank(dto.getAndroidId())
|
|
|
&& StringUtils.isBlank(dto.getIdfa())
|
|
@@ -182,45 +183,69 @@ public class TtAppBackRpcImpl implements ITtAppBackRpc {
|
|
|
if (StringUtils.isBlank(dto.getMac())) {
|
|
|
dto.setMac("");
|
|
|
}
|
|
|
- if(StringUtils.isBlank(dto.getImei())) {
|
|
|
+ if (StringUtils.isBlank(dto.getImei())) {
|
|
|
dto.setImei("");
|
|
|
}
|
|
|
- if(StringUtils.isBlank(dto.getOaid())) {
|
|
|
+ if (StringUtils.isBlank(dto.getOaid())) {
|
|
|
dto.setOaid("");
|
|
|
}
|
|
|
- if(StringUtils.isBlank(dto.getAndroidId())) {
|
|
|
+ if (StringUtils.isBlank(dto.getAndroidId())) {
|
|
|
dto.setAndroidId("");
|
|
|
}
|
|
|
- if(StringUtils.isBlank(dto.getIdfa())) {
|
|
|
+ if (StringUtils.isBlank(dto.getIdfa())) {
|
|
|
dto.setIdfa("");
|
|
|
}
|
|
|
- if(StringUtils.isBlank(dto.getCaid())) {
|
|
|
+ if (StringUtils.isBlank(dto.getCaid())) {
|
|
|
dto.setCaid("");
|
|
|
}
|
|
|
- if(StringUtils.isBlank(dto.getUserId()) || (StringUtils.isBlank(dto.getImei())
|
|
|
+ if (StringUtils.isBlank(dto.getUserId()) || (StringUtils.isBlank(dto.getImei())
|
|
|
&& StringUtils.isBlank(dto.getOaid())
|
|
|
&& StringUtils.isBlank(dto.getAndroidId())
|
|
|
&& StringUtils.isBlank(dto.getIdfa())
|
|
|
&& StringUtils.isBlank(dto.getCaid()))) {
|
|
|
return ResultVO.fail("找不到用户唯一标识");
|
|
|
}
|
|
|
- GameOceanengineAppRoleRegisterLog roleRegisterLog = GameOceanengineAppRoleRegisterLog.builder()
|
|
|
- .userId(dto.getUserId())
|
|
|
- .mac(dto.getMac())
|
|
|
- .imei(dto.getImei())
|
|
|
- .oaid(dto.getOaid())
|
|
|
- .androidId(dto.getAndroidId())
|
|
|
- .idfa(dto.getIdfa())
|
|
|
- .caid(dto.getCaid())
|
|
|
- .gameId(dto.getGameId())
|
|
|
- .accountId(dto.getAccountReport().getAccountId())
|
|
|
- .agentKey(dto.getAgentKey())
|
|
|
- .roleId(dto.getRoleId())
|
|
|
- .roleName(dto.getRoleName())
|
|
|
- .registerTime(dto.getRegisterTime())
|
|
|
- .backStatus(BackStatusEnum.NO.getBackStatus())
|
|
|
- .createTime(LocalDateTime.now())
|
|
|
- .build();
|
|
|
+ GameOceanengineAppRoleRegisterLog roleRegisterLog;
|
|
|
+ GameOceanengineAppRoleRegisterLog oldRole = gameOceanengineAppRoleRegisterLogService.getOne(new LambdaQueryWrapper<GameOceanengineAppRoleRegisterLog>()
|
|
|
+ .eq(GameOceanengineAppRoleRegisterLog::getGameId, dto.getGameId())
|
|
|
+ .eq(GameOceanengineAppRoleRegisterLog::getUserId, dto.getUserId())
|
|
|
+ .eq(GameOceanengineAppRoleRegisterLog::getRoleId, dto.getRoleId())
|
|
|
+ .last("limit 1")
|
|
|
+ );
|
|
|
+ if (oldRole != null) {
|
|
|
+ roleRegisterLog = oldRole;
|
|
|
+ if (dto.getRoleLevel() != null && (oldRole.getRoleLevel() == null || oldRole.getRoleLevel() < dto.getRoleLevel())) {
|
|
|
+ gameOceanengineAppRoleRegisterLogService.update(new LambdaUpdateWrapper<GameOceanengineAppRoleRegisterLog>()
|
|
|
+ .set(GameOceanengineAppRoleRegisterLog::getRoleLevel, dto.getRoleLevel())
|
|
|
+ .set(GameOceanengineAppRoleRegisterLog::getRoleName, dto.getRoleName())
|
|
|
+ .eq(GameOceanengineAppRoleRegisterLog::getId, oldRole.getId())
|
|
|
+ );
|
|
|
+ }
|
|
|
+ if (Objects.equals(oldRole.getBackStatus(), BackStatusEnum.SUCCESS.getBackStatus())) {
|
|
|
+ // 创角已回传。不重复传了
|
|
|
+ return ResultVO.ok(true);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ roleRegisterLog = GameOceanengineAppRoleRegisterLog.builder()
|
|
|
+ .backPolicyId(dto.getBackPolicyId())
|
|
|
+ .userId(dto.getUserId())
|
|
|
+ .mac(dto.getMac())
|
|
|
+ .imei(dto.getImei())
|
|
|
+ .oaid(dto.getOaid())
|
|
|
+ .androidId(dto.getAndroidId())
|
|
|
+ .idfa(dto.getIdfa())
|
|
|
+ .caid(dto.getCaid())
|
|
|
+ .gameId(dto.getGameId())
|
|
|
+ .accountId(dto.getAccountReport().getAccountId())
|
|
|
+ .agentKey(dto.getAgentKey())
|
|
|
+ .roleId(dto.getRoleId())
|
|
|
+ .roleName(dto.getRoleName())
|
|
|
+ .roleLevel(dto.getRoleLevel())
|
|
|
+ .registerTime(dto.getRegisterTime())
|
|
|
+ .backStatus(BackStatusEnum.NO.getBackStatus())
|
|
|
+ .createTime(LocalDateTime.now())
|
|
|
+ .build();
|
|
|
+ }
|
|
|
gameOceanengineAppRoleRegisterLogService.save(roleRegisterLog);
|
|
|
return ResultVO.ok(gameOceanengineAppRoleRegisterLogService.callback(roleRegisterLog));
|
|
|
}
|
|
@@ -238,16 +263,16 @@ public class TtAppBackRpcImpl implements ITtAppBackRpc {
|
|
|
GameOceanengineAppOrderLog orderLog = queryOrder(dto);
|
|
|
if (orderLog == null) {
|
|
|
try {
|
|
|
- Thread.sleep(5 * 1000L);
|
|
|
+ Thread.sleep(5 * 1000L);
|
|
|
} catch (Exception e) {
|
|
|
log.error(e.getMessage(), e);
|
|
|
}
|
|
|
orderLog = queryOrder(dto);
|
|
|
}
|
|
|
- if (orderLog == null) {
|
|
|
+ if (orderLog == null) {
|
|
|
return ResultVO.ok(OrderBackQueryRpcVO.builder()
|
|
|
- .doBack(Boolean.FALSE)
|
|
|
- .backMsg("回传异常,找不到订单:" + dto.getOrderId())
|
|
|
+ .doBack(Boolean.FALSE)
|
|
|
+ .backMsg("回传异常,找不到订单:" + dto.getOrderId())
|
|
|
.build());
|
|
|
}
|
|
|
List<Long> splitMoney = gameOceanengineAppOrderSplitLogService.list(new LambdaQueryWrapper<GameOceanengineAppOrderSplitLog>()
|
|
@@ -255,9 +280,9 @@ public class TtAppBackRpcImpl implements ITtAppBackRpc {
|
|
|
.orderByAsc(GameOceanengineAppOrderSplitLog::getBackIndex)
|
|
|
).stream().map(GameOceanengineAppOrderSplitLog::getSplitMoney).collect(Collectors.toList());
|
|
|
return ResultVO.ok(OrderBackQueryRpcVO.builder()
|
|
|
- .doBack(BackStatusEnum.getByValue(orderLog.getBackStatus()) == BackStatusEnum.SUCCESS)
|
|
|
- .backMoney(CollectionUtils.isEmpty(splitMoney) ? Collections.singletonList(orderLog.getBackMoney()) : splitMoney)
|
|
|
- .backMsg(orderLog.getBackMsg())
|
|
|
+ .doBack(BackStatusEnum.getByValue(orderLog.getBackStatus()) == BackStatusEnum.SUCCESS)
|
|
|
+ .backMoney(CollectionUtils.isEmpty(splitMoney) ? Collections.singletonList(orderLog.getBackMoney()) : splitMoney)
|
|
|
+ .backMsg(orderLog.getBackMsg())
|
|
|
.build());
|
|
|
}
|
|
|
|
|
@@ -270,7 +295,7 @@ public class TtAppBackRpcImpl implements ITtAppBackRpc {
|
|
|
@Override
|
|
|
public ResultVO<String> queryUserAgentFromCallback(TtAppUserAgentQueryRpcDTO dto) {
|
|
|
GameOceanengineAppUserLog userLog = gameOceanengineAppUserLogService.getOne(new LambdaQueryWrapper<GameOceanengineAppUserLog>()
|
|
|
- .eq(GameOceanengineAppUserLog::getGameId, dto.getGameId())
|
|
|
+ .eq(GameOceanengineAppUserLog::getGameId, dto.getGameId())
|
|
|
.eq(GameOceanengineAppUserLog::getUserId, dto.getUserId())
|
|
|
);
|
|
|
if (userLog == null) {
|