|
@@ -1,34 +1,52 @@
|
|
|
package com.zanxiang.game.back.serve.rpc.impl;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
|
import com.zanxiang.game.back.base.pojo.dto.TtOrderRpcDTO;
|
|
|
import com.zanxiang.game.back.base.pojo.dto.TtRoleRegisterRpcDTO;
|
|
|
import com.zanxiang.game.back.base.pojo.dto.TtUserActiveRpcDTO;
|
|
|
import com.zanxiang.game.back.base.pojo.enums.OrderStatusEnum;
|
|
|
import com.zanxiang.game.back.base.rpc.ITtMiniGameBackRpc;
|
|
|
+import com.zanxiang.game.back.serve.pojo.entity.GameBackPolicy;
|
|
|
import com.zanxiang.game.back.serve.pojo.entity.GameOceanengineOrderLog;
|
|
|
import com.zanxiang.game.back.serve.pojo.entity.GameOceanengineRoleRegisterLog;
|
|
|
import com.zanxiang.game.back.serve.pojo.entity.GameOceanengineUserLog;
|
|
|
import com.zanxiang.game.back.serve.pojo.enums.BackStatusEnum;
|
|
|
+import com.zanxiang.game.back.serve.service.IGameBackPolicyService;
|
|
|
import com.zanxiang.game.back.serve.service.IGameOceanengineOrderLogService;
|
|
|
import com.zanxiang.game.back.serve.service.IGameOceanengineRoleRegisterLogService;
|
|
|
import com.zanxiang.game.back.serve.service.IGameOceanengineUserLogService;
|
|
|
+import com.zanxiang.game.module.base.ServerInfo;
|
|
|
+import com.zanxiang.game.module.base.pojo.vo.AgentRpcVO;
|
|
|
+import com.zanxiang.game.module.base.rpc.IAgentRpc;
|
|
|
import com.zanxiang.module.util.JsonUtil;
|
|
|
import com.zanxiang.module.util.pojo.ResultVO;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.apache.dubbo.config.annotation.DubboReference;
|
|
|
import org.apache.dubbo.config.annotation.DubboService;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
|
import java.time.LocalDateTime;
|
|
|
+import java.util.Collections;
|
|
|
+import java.util.List;
|
|
|
import java.util.Objects;
|
|
|
|
|
|
@Slf4j
|
|
|
@DubboService
|
|
|
public class TtMiniGameBackRpcImpl implements ITtMiniGameBackRpc {
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private IGameBackPolicyService gameBackPolicyService;
|
|
|
+
|
|
|
+ @DubboReference(providedBy = ServerInfo.SERVER_DUBBO_NAME)
|
|
|
+ private IAgentRpc agentRpc;
|
|
|
+
|
|
|
@Autowired
|
|
|
private IGameOceanengineUserLogService gameOceanengineUserLogService;
|
|
|
+
|
|
|
@Autowired
|
|
|
private IGameOceanengineOrderLogService gameOceanengineOrderLogService;
|
|
|
+
|
|
|
@Autowired
|
|
|
private IGameOceanengineRoleRegisterLogService gameOceanengineRoleRegisterLogService;
|
|
|
|
|
@@ -53,9 +71,22 @@ public class TtMiniGameBackRpcImpl implements ITtMiniGameBackRpc {
|
|
|
.createTime(LocalDateTime.now())
|
|
|
.build();
|
|
|
gameOceanengineUserLogService.save(userLog);
|
|
|
- return ResultVO.ok(true);
|
|
|
- // 激活现在默认不回传了,等创角的时候一起回传
|
|
|
- // return ResultVO.ok(gameOceanengineUserLogService.callback(userLog, false));
|
|
|
+ //查询策略信息
|
|
|
+ GameBackPolicy gameBackPolicy = null;
|
|
|
+ if (dto.getBackPolicyId() != null) {
|
|
|
+ gameBackPolicy = gameBackPolicyService.getById(dto.getBackPolicyId());
|
|
|
+ } else {
|
|
|
+ List<AgentRpcVO> agentRpcVOList = agentRpc.getByAgentKeys(Collections.singletonList(dto.getAgentKey())).getData();
|
|
|
+ if (CollectionUtils.isNotEmpty(agentRpcVOList)) {
|
|
|
+ gameBackPolicy = gameBackPolicyService.getById(agentRpcVOList.get(0).getId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //判断是否开启激活回传开关
|
|
|
+ if (gameBackPolicy != null && Objects.equals(gameBackPolicy.getActiveBackSwitch(), Boolean.TRUE)) {
|
|
|
+ //激活回传
|
|
|
+ gameOceanengineUserLogService.callback(userLog, Boolean.FALSE);
|
|
|
+ }
|
|
|
+ return ResultVO.ok(Boolean.TRUE);
|
|
|
}
|
|
|
|
|
|
@Override
|