|
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
|
import com.zanxiang.game.back.base.ServerInfo;
|
|
|
import com.zanxiang.game.back.base.pojo.dto.*;
|
|
|
+import com.zanxiang.game.back.base.pojo.vo.OrderBackQueryRpcVO;
|
|
|
import com.zanxiang.game.back.base.rpc.ITencentMiniGameBackRpc;
|
|
|
import com.zanxiang.game.back.base.rpc.ITencentUserActionBackRpc;
|
|
|
import com.zanxiang.game.back.base.rpc.ITtAppBackRpc;
|
|
@@ -79,9 +80,10 @@ public class CallBackServiceImpl implements ICallBackService {
|
|
|
@Override
|
|
|
public Map<String, Object> callBackJudge(CallBackControlParam param, UserData userData) {
|
|
|
log.error("事件回传判断, param : {}, userData : {}", JsonUtil.toString(param), JsonUtil.toString(userData));
|
|
|
- Map<String, Object> resultMap = new HashMap<>(5);
|
|
|
+ Map<String, Object> resultMap = new HashMap<>(7);
|
|
|
resultMap.put("callBackTypeEnum", param.getCallBackTypeEnum().getValue());
|
|
|
resultMap.put("userId", userData.getUserId());
|
|
|
+ resultMap.put("gameId", userData.getGameId());
|
|
|
//事件类型枚举
|
|
|
CallBackTypeEnum callBackTypeEnum = param.getCallBackTypeEnum();
|
|
|
//线程锁
|
|
@@ -99,7 +101,7 @@ public class CallBackServiceImpl implements ICallBackService {
|
|
|
return resultMap;
|
|
|
}
|
|
|
Game game = gameService.getById(userData.getGameId());
|
|
|
- //判断游戏状态
|
|
|
+ //判断游戏状态, 对接上包过程中, 全量回传
|
|
|
if (Objects.equals(game.getStatus(), 2)) {
|
|
|
resultMap.put("callBack", Boolean.TRUE);
|
|
|
if (Objects.equals(callBackTypeEnum, CallBackTypeEnum.CALL_BACK_PAY_ORDER)) {
|
|
@@ -116,52 +118,64 @@ public class CallBackServiceImpl implements ICallBackService {
|
|
|
resultMap.put("callBack", Boolean.FALSE);
|
|
|
return resultMap;
|
|
|
}
|
|
|
+ //判断回传
|
|
|
try {
|
|
|
- switch (callBackTypeEnum) {
|
|
|
- case CALL_BACK_REGISTER:
|
|
|
- // 注册(新创建账号)
|
|
|
- TtAppUserBackQueryRpcDTO userTransform = this.transform(user.getId(), agent);
|
|
|
- resultMap.put("callBack", ttAppBackRpc.userBackQuery(userTransform).getData());
|
|
|
- break;
|
|
|
- case CALL_BACK_LOGIN_IN:
|
|
|
- // 登录(老账号登录)
|
|
|
- resultMap.put("callBack", Boolean.FALSE);
|
|
|
- break;
|
|
|
- case CALL_BACK_ACTIVATE:
|
|
|
- // 激活(创建角色)
|
|
|
- if (Strings.isBlank(param.getRoleId())) {
|
|
|
- resultMap.put("callBack", Boolean.FALSE);
|
|
|
- resultMap.put("roleId", "unknown");
|
|
|
- break;
|
|
|
- }
|
|
|
- TtAppRoleRegisterBackQueryRpcDTO roleTransform = this.transform(user.getId(), agent, param.getRoleId());
|
|
|
- resultMap.put("roleId", param.getRoleId());
|
|
|
- resultMap.put("callBack", ttAppBackRpc.roleRegisterBackQuery(roleTransform).getData());
|
|
|
- break;
|
|
|
- case CALL_BACK_PAY_ORDER:
|
|
|
- // 支付
|
|
|
- if (Strings.isBlank(param.getOrderId())) {
|
|
|
- resultMap.put("callBack", Boolean.FALSE);
|
|
|
- resultMap.put("orderId", "unknown");
|
|
|
- break;
|
|
|
- }
|
|
|
- TtAppOrderBackQueryRpcDTO orderTransform = this.transform(user.getId(), param.getOrderId(), agent);
|
|
|
- resultMap.put("orderId", param.getOrderId());
|
|
|
- resultMap.put("callBack", ttAppBackRpc.orderBackQuery(orderTransform).getData());
|
|
|
- break;
|
|
|
- default:
|
|
|
- // 处理未知类型
|
|
|
- resultMap.put("callBack", Boolean.FALSE);
|
|
|
- }
|
|
|
+ this.checkCallBack(user.getId(), agent, callBackTypeEnum, resultMap, param);
|
|
|
} catch (Exception e) {
|
|
|
log.error("事件回传判断, 出现异常, param : {}, userData : {}, e : {}", JsonUtil.toString(param),
|
|
|
JsonUtil.toString(userData), e.getMessage(), e);
|
|
|
resultMap.put("callBack", Boolean.FALSE);
|
|
|
}
|
|
|
//返回结果
|
|
|
+ log.error("事件回传判断, param : {}, 返回结果 resultMap : {}", JsonUtil.toString(param), JsonUtil.toString(resultMap));
|
|
|
return resultMap;
|
|
|
}
|
|
|
|
|
|
+ private void checkCallBack(Long userId, Agent agent, CallBackTypeEnum callBackTypeEnum, Map<String, Object> resultMap,
|
|
|
+ CallBackControlParam param) {
|
|
|
+ switch (callBackTypeEnum) {
|
|
|
+ case CALL_BACK_REGISTER:
|
|
|
+ // 注册
|
|
|
+ TtAppUserBackQueryRpcDTO userTransform = this.transform(userId, agent);
|
|
|
+ resultMap.put("callBack", ttAppBackRpc.userBackQuery(userTransform).getData());
|
|
|
+ break;
|
|
|
+ case CALL_BACK_LOGIN_IN:
|
|
|
+ // 登录
|
|
|
+ resultMap.put("callBack", Boolean.FALSE);
|
|
|
+ break;
|
|
|
+ case CALL_BACK_ACTIVATE:
|
|
|
+ // 激活(创角)
|
|
|
+ if (Strings.isBlank(param.getRoleId())) {
|
|
|
+ resultMap.put("callBack", Boolean.FALSE);
|
|
|
+ resultMap.put("roleId", "unknown");
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ TtAppRoleRegisterBackQueryRpcDTO roleTransform = this.transform(userId, agent, param.getRoleId());
|
|
|
+ resultMap.put("roleId", param.getRoleId());
|
|
|
+ resultMap.put("callBack", ttAppBackRpc.roleRegisterBackQuery(roleTransform).getData());
|
|
|
+ break;
|
|
|
+ case CALL_BACK_PAY_ORDER:
|
|
|
+ // 支付
|
|
|
+ if (Strings.isBlank(param.getOrderId())) {
|
|
|
+ resultMap.put("callBack", Boolean.FALSE);
|
|
|
+ resultMap.put("orderId", "unknown");
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ TtAppOrderBackQueryRpcDTO orderTransform = this.transform(userId, param.getOrderId(), agent);
|
|
|
+ OrderBackQueryRpcVO orderBackQueryRpcVO = ttAppBackRpc.orderBackQuery(orderTransform).getData();
|
|
|
+ resultMap.put("orderId", param.getOrderId());
|
|
|
+ resultMap.put("callBack", orderBackQueryRpcVO.getDoBack());
|
|
|
+ resultMap.put("backMsg", orderBackQueryRpcVO.getBackMsg());
|
|
|
+ if (Objects.equals(orderBackQueryRpcVO.getDoBack(), Boolean.TRUE)) {
|
|
|
+ resultMap.put("amount", orderBackQueryRpcVO.getBackMoney());
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ // 处理未知类型
|
|
|
+ resultMap.put("callBack", Boolean.FALSE);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public void userCallBack(User user, Map<String, String> urlParamMap) {
|
|
|
//判断游戏是否开启广告回传, 未开启, 不回传
|