|
@@ -9,11 +9,14 @@ import com.zanxiang.game.back.serve.dao.mapper.GameOceanengineUserLogMapper;
|
|
|
import com.zanxiang.game.back.serve.oceanengine.MiniGameCallback;
|
|
|
import com.zanxiang.game.back.serve.oceanengine.OceanengineCallbackException;
|
|
|
import com.zanxiang.game.back.serve.pojo.dto.GameOceanengineUserLogDTO;
|
|
|
+import com.zanxiang.game.back.serve.pojo.entity.GameBackPolicy;
|
|
|
import com.zanxiang.game.back.serve.pojo.entity.GameOceanengineBackLog;
|
|
|
import com.zanxiang.game.back.serve.pojo.entity.GameOceanengineUserLog;
|
|
|
import com.zanxiang.game.back.serve.pojo.enums.BackStatusEnum;
|
|
|
import com.zanxiang.game.back.serve.pojo.vo.GameOceanengineUserLogVO;
|
|
|
+import com.zanxiang.game.back.serve.service.IGameBackPolicyService;
|
|
|
import com.zanxiang.game.back.serve.service.IGameOceanengineBackLogService;
|
|
|
+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;
|
|
@@ -38,6 +41,8 @@ import java.util.stream.Collectors;
|
|
|
public class GameOceanengineUserLogServiceImpl extends ServiceImpl<GameOceanengineUserLogMapper, GameOceanengineUserLog>
|
|
|
implements IGameOceanengineUserLogService {
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private IGameBackPolicyService gameBackPolicyService;
|
|
|
@Autowired
|
|
|
private MiniGameCallback miniGameCallback;
|
|
|
@Autowired
|
|
@@ -150,6 +155,54 @@ public class GameOceanengineUserLogServiceImpl extends ServiceImpl<GameOceanengi
|
|
|
.backStatus(backStatus.getBackStatus())
|
|
|
.errMsg(errMsg)
|
|
|
.build());
|
|
|
+ //判断是否开启注册回传创角
|
|
|
+ try {
|
|
|
+ this.regCallBackRole(userLog);
|
|
|
+ } catch (Exception ignored) {
|
|
|
+ }
|
|
|
+ //返回回传结果
|
|
|
return backStatus;
|
|
|
}
|
|
|
+
|
|
|
+ private void regCallBackRole(GameOceanengineUserLog userLog) {
|
|
|
+ GameBackPolicy gameBackPolicy = userLog.getBackPolicyId() == null ? null
|
|
|
+ : gameBackPolicyService.getById(userLog.getBackPolicyId());
|
|
|
+ //判断策略是否控制注册回传创角
|
|
|
+ if (gameBackPolicy == null || !Objects.equals(gameBackPolicy.getRoleBackSwitch(), Boolean.TRUE)) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ //创角回传
|
|
|
+ MiniGameCallback.MiniGameCallbackRequest request = MiniGameCallback.MiniGameCallbackRequest.builder()
|
|
|
+ .clue_token(userLog.getClueToken())
|
|
|
+ .open_id(userLog.getOpenId())
|
|
|
+ .union_id(userLog.getUnionId())
|
|
|
+ .event_type(String.valueOf(MiniGameCallback.EventType.ACTIVE_REGISTER.getEventType()))
|
|
|
+ .build();
|
|
|
+ BackStatusEnum backStatus = BackStatusEnum.SUCCESS;
|
|
|
+ String errMsg = null;
|
|
|
+ try {
|
|
|
+ miniGameCallback.doCallback(userLog.getAccountReportUrl(), userLog.getAccountReportToken(), request);
|
|
|
+ } catch (OceanengineCallbackException e) {
|
|
|
+ log.error(e.getMessage(), e);
|
|
|
+ backStatus = BackStatusEnum.FAILED;
|
|
|
+ errMsg = e.getMsg();
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error(e.getMessage(), e);
|
|
|
+ backStatus = BackStatusEnum.FAILED;
|
|
|
+ errMsg = "系统异常:" + e.getMessage();
|
|
|
+ }
|
|
|
+ gameOceanengineBackLogService.save(GameOceanengineBackLog.builder()
|
|
|
+ .appId(userLog.getAppId())
|
|
|
+ .openId(userLog.getOpenId())
|
|
|
+ .unionId(userLog.getUnionId())
|
|
|
+ .gameId(userLog.getGameId())
|
|
|
+ .accountId(userLog.getAccountId())
|
|
|
+ .clueToken(userLog.getClueToken())
|
|
|
+ .eventType(request.getEvent_type())
|
|
|
+ .eventLogId(userLog.getId())
|
|
|
+ .createTime(LocalDateTime.now())
|
|
|
+ .backStatus(backStatus.getBackStatus())
|
|
|
+ .errMsg(errMsg)
|
|
|
+ .build());
|
|
|
+ }
|
|
|
}
|