|  | @@ -172,6 +172,17 @@ public class GameBackLogMediaSdkServiceImpl extends ServiceImpl<GameBackLogMedia
 | 
											
												
													
														|  |          ) <= 0) {
 |  |          ) <= 0) {
 | 
											
												
													
														|  |              return false;
 |  |              return false;
 | 
											
												
													
														|  |          }
 |  |          }
 | 
											
												
													
														|  | 
 |  | +        //判断沉默唤起回传, 新手引导回传, 是否已经执行, 不重复执行
 | 
											
												
													
														|  | 
 |  | +        if (Objects.equals(param.getCallBackTypeEnum(), CallBackTypeEnum.CALL_BACK_RE_ACTIVE)
 | 
											
												
													
														|  | 
 |  | +                || Objects.equals(param.getCallBackTypeEnum(), CallBackTypeEnum.CALL_BACK_TUTORIAL_FINISH)) {
 | 
											
												
													
														|  | 
 |  | +            if (super.count(new LambdaQueryWrapper<GameBackLogMediaSdk>()
 | 
											
												
													
														|  | 
 |  | +                    .eq(GameBackLogMediaSdk::getGameId, user.getGameId())
 | 
											
												
													
														|  | 
 |  | +                    .eq(GameBackLogMediaSdk::getUserId, user.getId())
 | 
											
												
													
														|  | 
 |  | +                    .eq(GameBackLogMediaSdk::getCallBackParam, param.getCallBackTypeEnum().getValue())
 | 
											
												
													
														|  | 
 |  | +            ) > 0) {
 | 
											
												
													
														|  | 
 |  | +                return false;
 | 
											
												
													
														|  | 
 |  | +            }
 | 
											
												
													
														|  | 
 |  | +        }
 | 
											
												
													
														|  |          //测试账号, 回传默认全量回传, 不做判断
 |  |          //测试账号, 回传默认全量回传, 不做判断
 | 
											
												
													
														|  |          resultMap.put("callBack", Boolean.TRUE);
 |  |          resultMap.put("callBack", Boolean.TRUE);
 | 
											
												
													
														|  |          resultMap.put("backMsg", "测试账号, 回传默认全量回传, 不做判断");
 |  |          resultMap.put("backMsg", "测试账号, 回传默认全量回传, 不做判断");
 | 
											
										
											
												
													
														|  | @@ -268,10 +279,10 @@ public class GameBackLogMediaSdkServiceImpl extends ServiceImpl<GameBackLogMedia
 | 
											
												
													
														|  |          ) > 0) {
 |  |          ) > 0) {
 | 
											
												
													
														|  |              return Tuple2.with(Boolean.FALSE, "当前用户注册已回传, 不重复执行");
 |  |              return Tuple2.with(Boolean.FALSE, "当前用户注册已回传, 不重复执行");
 | 
											
												
													
														|  |          }
 |  |          }
 | 
											
												
													
														|  | -        //创角回传判断
 |  | 
 | 
											
												
													
														|  | 
 |  | +        //创角回传去重和前置判断
 | 
											
												
													
														|  |          if (Objects.equals(callBackTypeEnum, CallBackTypeEnum.CALL_BACK_ACTIVATE)
 |  |          if (Objects.equals(callBackTypeEnum, CallBackTypeEnum.CALL_BACK_ACTIVATE)
 | 
											
												
													
														|  |                  || Objects.equals(callBackTypeEnum, CallBackTypeEnum.CALL_BACK_CREATE_ROLE)) {
 |  |                  || Objects.equals(callBackTypeEnum, CallBackTypeEnum.CALL_BACK_CREATE_ROLE)) {
 | 
											
												
													
														|  | -            //创角是否已回传
 |  | 
 | 
											
												
													
														|  | 
 |  | +            //创角是否已回传, 已回传则不重复执行
 | 
											
												
													
														|  |              if (super.count(new LambdaQueryWrapper<GameBackLogMediaSdk>()
 |  |              if (super.count(new LambdaQueryWrapper<GameBackLogMediaSdk>()
 | 
											
												
													
														|  |                      .eq(GameBackLogMediaSdk::getGameId, gameId)
 |  |                      .eq(GameBackLogMediaSdk::getGameId, gameId)
 | 
											
												
													
														|  |                      .eq(GameBackLogMediaSdk::getUserId, userId)
 |  |                      .eq(GameBackLogMediaSdk::getUserId, userId)
 | 
											
										
											
												
													
														|  | @@ -280,12 +291,12 @@ public class GameBackLogMediaSdkServiceImpl extends ServiceImpl<GameBackLogMedia
 | 
											
												
													
														|  |              ) > 0) {
 |  |              ) > 0) {
 | 
											
												
													
														|  |                  return Tuple2.with(Boolean.FALSE, "当前角色创角已回传, 不重复执行");
 |  |                  return Tuple2.with(Boolean.FALSE, "当前角色创角已回传, 不重复执行");
 | 
											
												
													
														|  |              }
 |  |              }
 | 
											
												
													
														|  | -            //腾讯小游戏的创角回传, 可以判断前置注册回传时候已执行
 |  | 
 | 
											
												
													
														|  | 
 |  | +            //腾讯小游戏的创角回传, 可以判断前置注册回传是否已执行, 未执行无法回传
 | 
											
												
													
														|  |              if (Objects.equals(callBackTypeEnum, CallBackTypeEnum.CALL_BACK_CREATE_ROLE)
 |  |              if (Objects.equals(callBackTypeEnum, CallBackTypeEnum.CALL_BACK_CREATE_ROLE)
 | 
											
												
													
														|  |                      && super.count(new LambdaQueryWrapper<GameBackLogMediaSdk>()
 |  |                      && super.count(new LambdaQueryWrapper<GameBackLogMediaSdk>()
 | 
											
												
													
														|  |                      .eq(GameBackLogMediaSdk::getGameId, gameId)
 |  |                      .eq(GameBackLogMediaSdk::getGameId, gameId)
 | 
											
												
													
														|  |                      .eq(GameBackLogMediaSdk::getUserId, userId)
 |  |                      .eq(GameBackLogMediaSdk::getUserId, userId)
 | 
											
												
													
														|  | -                    .eq(GameBackLogMediaSdk::getCallBackParam, callBackTypeEnum.getValue())
 |  | 
 | 
											
												
													
														|  | 
 |  | +                    .eq(GameBackLogMediaSdk::getCallBackParam, CallBackTypeEnum.CALL_BACK_REGISTER.getValue())
 | 
											
												
													
														|  |              ) <= 0) {
 |  |              ) <= 0) {
 | 
											
												
													
														|  |                  return Tuple2.with(Boolean.FALSE, "当前用户注册未回传, 无法执行创角回传");
 |  |                  return Tuple2.with(Boolean.FALSE, "当前用户注册未回传, 无法执行创角回传");
 | 
											
												
													
														|  |              }
 |  |              }
 | 
											
										
											
												
													
														|  | @@ -299,7 +310,7 @@ public class GameBackLogMediaSdkServiceImpl extends ServiceImpl<GameBackLogMedia
 | 
											
												
													
														|  |                  .eq(GameBackLogMediaSdk::getGameId, gameId)
 |  |                  .eq(GameBackLogMediaSdk::getGameId, gameId)
 | 
											
												
													
														|  |                  .eq(GameBackLogMediaSdk::getUserId, userId)
 |  |                  .eq(GameBackLogMediaSdk::getUserId, userId)
 | 
											
												
													
														|  |                  .eq(GameBackLogMediaSdk::getRoleId, roleId)
 |  |                  .eq(GameBackLogMediaSdk::getRoleId, roleId)
 | 
											
												
													
														|  | -                .eq(GameBackLogMediaSdk::getCallBackParam, CallBackTypeEnum.CALL_BACK_RE_ACTIVE)
 |  | 
 | 
											
												
													
														|  | 
 |  | +                .eq(GameBackLogMediaSdk::getCallBackParam, CallBackTypeEnum.CALL_BACK_RE_ACTIVE.getValue())
 | 
											
												
													
														|  |                  .ge(GameBackLogMediaSdk::getCreateTime, LocalDateTime.of(LocalDate.now(), LocalTime.MIN))
 |  |                  .ge(GameBackLogMediaSdk::getCreateTime, LocalDateTime.of(LocalDate.now(), LocalTime.MIN))
 | 
											
												
													
														|  |          ) > 0) {
 |  |          ) > 0) {
 | 
											
												
													
														|  |              return Tuple3.with(Boolean.FALSE, null, "今日已执行沉默唤起回传, 不重复执行");
 |  |              return Tuple3.with(Boolean.FALSE, null, "今日已执行沉默唤起回传, 不重复执行");
 | 
											
										
											
												
													
														|  | @@ -326,17 +337,16 @@ public class GameBackLogMediaSdkServiceImpl extends ServiceImpl<GameBackLogMedia
 | 
											
												
													
														|  |                  .eq(GameBackLogMediaSdk::getGameId, gameId)
 |  |                  .eq(GameBackLogMediaSdk::getGameId, gameId)
 | 
											
												
													
														|  |                  .eq(GameBackLogMediaSdk::getUserId, userId)
 |  |                  .eq(GameBackLogMediaSdk::getUserId, userId)
 | 
											
												
													
														|  |                  .eq(GameBackLogMediaSdk::getRoleId, roleId)
 |  |                  .eq(GameBackLogMediaSdk::getRoleId, roleId)
 | 
											
												
													
														|  | -                .and(qw -> qw.eq(GameBackLogMediaSdk::getCallBackParam, CallBackTypeEnum.CALL_BACK_CREATE_ROLE)
 |  | 
 | 
											
												
													
														|  | -                        .or().eq(GameBackLogMediaSdk::getCallBackParam, CallBackTypeEnum.CALL_BACK_ACTIVATE))
 |  | 
 | 
											
												
													
														|  | 
 |  | +                .and(qw -> qw.eq(GameBackLogMediaSdk::getCallBackParam, CallBackTypeEnum.CALL_BACK_CREATE_ROLE.getValue())
 | 
											
												
													
														|  | 
 |  | +                        .or().eq(GameBackLogMediaSdk::getCallBackParam, CallBackTypeEnum.CALL_BACK_ACTIVATE.getValue()))
 | 
											
												
													
														|  |          ) <= 0) {
 |  |          ) <= 0) {
 | 
											
												
													
														|  |              return Tuple2.with(Boolean.FALSE, "创角回传未执行, 无法执行新手引导回传");
 |  |              return Tuple2.with(Boolean.FALSE, "创角回传未执行, 无法执行新手引导回传");
 | 
											
												
													
														|  |          }
 |  |          }
 | 
											
												
													
														|  | -        //判断角色是否已经执行过新手引导回传
 |  | 
 | 
											
												
													
														|  | 
 |  | +        //判断用户是否已经执行过新手引导回传, 新手引导回传以用户为回传单位, 不以角色为回传单位
 | 
											
												
													
														|  |          if (super.count(new LambdaQueryWrapper<GameBackLogMediaSdk>()
 |  |          if (super.count(new LambdaQueryWrapper<GameBackLogMediaSdk>()
 | 
											
												
													
														|  |                  .eq(GameBackLogMediaSdk::getGameId, gameId)
 |  |                  .eq(GameBackLogMediaSdk::getGameId, gameId)
 | 
											
												
													
														|  |                  .eq(GameBackLogMediaSdk::getUserId, userId)
 |  |                  .eq(GameBackLogMediaSdk::getUserId, userId)
 | 
											
												
													
														|  | -                .eq(GameBackLogMediaSdk::getRoleId, roleId)
 |  | 
 | 
											
												
													
														|  | -                .eq(GameBackLogMediaSdk::getCallBackParam, CallBackTypeEnum.CALL_BACK_TUTORIAL_FINISH)
 |  | 
 | 
											
												
													
														|  | 
 |  | +                .eq(GameBackLogMediaSdk::getCallBackParam, CallBackTypeEnum.CALL_BACK_TUTORIAL_FINISH.getValue())
 | 
											
												
													
														|  |          ) > 0) {
 |  |          ) > 0) {
 | 
											
												
													
														|  |              return Tuple2.with(Boolean.FALSE, "角色已执行新手引导回传, 不重复执行");
 |  |              return Tuple2.with(Boolean.FALSE, "角色已执行新手引导回传, 不重复执行");
 | 
											
												
													
														|  |          }
 |  |          }
 |