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