Commit f62515d2 by Lem

count

parent 2886f5e5
......@@ -35,7 +35,7 @@ public interface MatchService {
ResponseData<?> getPlayerInfoSearch(PlayerInfoSearchRequest searchRequest, HttpServletRequest request);
ResponseData<?> getMatchList(GetMatchListRequest commonStringId, HttpServletRequest request);
// ResponseData<?> getMatchList(GetMatchListRequest commonStringId, HttpServletRequest request);
ResponseData<?> getMatchInfo(CommonStringId commonStringId, HttpServletRequest request);
......
......@@ -11,12 +11,6 @@ import javax.servlet.http.HttpServletRequest;
public interface RoomService {
ResponseData<?> getRoomInfo(CommonStringId commonStringId, HttpServletRequest request);
ResponseData<?> anchorMatch(CommonStringId commonIntId, HttpServletRequest request);
ResponseData<?> leaderboard(CommonStringId commonStringId);
ResponseData<?> getGiftList(HttpServletRequest request);
ResponseData<?> sendGift(SendGiftRequest sendGiftRequest, HttpServletRequest request);
......
......@@ -265,6 +265,7 @@ public class MatchServiceImpl implements MatchService {
List<UserReserve> userReserves = userReserveMapper.selectList(Wrappers.<UserReserve>lambdaQuery()
.eq(UserReserve::getUserId, account.getId())
.eq(UserReserve::getDeleted, StatusEnum.ENABLE.getCode())
.eq(UserReserve::getType, 1)
.orderByDesc(UserReserve::getCreateTime)
);
......@@ -622,85 +623,85 @@ public class MatchServiceImpl implements MatchService {
return ResponseData.successResponse(new ResultPage<>(commonPage.getPageNum(), commonPage.getPageSize(), (int) count, response));
}
@Override
public ResponseData<?> getMatchList(GetMatchListRequest commonStringId, HttpServletRequest request) {
List<Match> matches;
QueryWrapper<Match> wrapper = new QueryWrapper<>();
wrapper.eq("deleted", StatusEnum.ENABLE.getCode());
wrapper.eq("source_type", 1);
wrapper.ge("match_time", DateUtil.getStartTime());
Integer status = commonStringId.getStatus() == null ? 0 : commonStringId.getStatus();
switch (status) {
case -1:
wrapper.notIn("competition_status", 4);
if (StringUtils.isNotBlank(commonStringId.getId())) {
if (commonStringId.getId().length() < 10) {
wrapper.apply("FIND_IN_SET({0},category_id)", commonStringId.getId());
} else {
wrapper.eq("sports_id", commonStringId.getId());
}
}
wrapper.orderByAsc("match_time");
matches = matchMapper.selectList(wrapper);
break;
case 1:
case 2:
case 3:
wrapper.eq("competition_status", status);
if (StringUtils.isNotBlank(commonStringId.getId())) {
if (commonStringId.getId().length() < 10) {
wrapper.apply("FIND_IN_SET({0},category_id)", commonStringId.getId());
} else {
wrapper.eq("sports_id", commonStringId.getId());
}
}
wrapper.orderByAsc("match_time");
matches = matchMapper.selectList(wrapper);
break;
default:
wrapper.in("competition_status", 1, 2);
if (StringUtils.isNotBlank(commonStringId.getId())) {
if (commonStringId.getId().length() < 10) {
wrapper.apply("FIND_IN_SET({0},category_id)", commonStringId.getId());
} else {
wrapper.eq("sports_id", commonStringId.getId());
}
}
wrapper.orderByAsc("match_time");
matches = matchMapper.selectList(wrapper);
break;
}
MatchListResponse matchListResponse = conversionByList(matches, true);
try {
String phone = CommonMethod.getUserPhone(request);
User account = userMapper.selectOne(Wrappers.<User>lambdaQuery()
.eq(User::getPhone, phone)
);
List<UserReserve> userReserves = userReserveMapper.selectList(Wrappers.<UserReserve>lambdaQuery()
.eq(UserReserve::getUserId, account.getId())
.eq(UserReserve::getDeleted, 0)
);
Set<String> reservesId = userReserves.stream().map(UserReserve::getMatchId).collect(Collectors.toSet());
matchListResponse.getMatchLists().forEach(match -> {
match.getMatchInfos().forEach(matchInfo -> {
if (reservesId.contains(matchInfo.getId())) {
matchInfo.setSubscribe(true);
}
});
});
} catch (RuntimeException e) {
log.info("未携带 token !");
}
return ResponseData.successResponse(matchListResponse);
}
// @Override
// public ResponseData<?> getMatchList(GetMatchListRequest commonStringId, HttpServletRequest request) {
// List<Match> matches;
//
// QueryWrapper<Match> wrapper = new QueryWrapper<>();
// wrapper.eq("deleted", StatusEnum.ENABLE.getCode());
// wrapper.eq("source_type", 1);
// wrapper.ge("match_time", DateUtil.getStartTime());
//
// Integer status = commonStringId.getStatus() == null ? 0 : commonStringId.getStatus();
// switch (status) {
// case -1:
// wrapper.notIn("competition_status", 4);
// if (StringUtils.isNotBlank(commonStringId.getId())) {
// if (commonStringId.getId().length() < 10) {
// wrapper.apply("FIND_IN_SET({0},category_id)", commonStringId.getId());
// } else {
// wrapper.eq("sports_id", commonStringId.getId());
// }
// }
// wrapper.orderByAsc("match_time");
// matches = matchMapper.selectList(wrapper);
// break;
// case 1:
// case 2:
// case 3:
// wrapper.eq("competition_status", status);
// if (StringUtils.isNotBlank(commonStringId.getId())) {
// if (commonStringId.getId().length() < 10) {
// wrapper.apply("FIND_IN_SET({0},category_id)", commonStringId.getId());
// } else {
// wrapper.eq("sports_id", commonStringId.getId());
// }
// }
//
// wrapper.orderByAsc("match_time");
// matches = matchMapper.selectList(wrapper);
// break;
// default:
// wrapper.in("competition_status", 1, 2);
// if (StringUtils.isNotBlank(commonStringId.getId())) {
// if (commonStringId.getId().length() < 10) {
// wrapper.apply("FIND_IN_SET({0},category_id)", commonStringId.getId());
// } else {
// wrapper.eq("sports_id", commonStringId.getId());
// }
// }
//
// wrapper.orderByAsc("match_time");
// matches = matchMapper.selectList(wrapper);
// break;
// }
//
// MatchListResponse matchListResponse = conversionByList(matches, true);
//
// try {
// String phone = CommonMethod.getUserPhone(request);
// User account = userMapper.selectOne(Wrappers.<User>lambdaQuery()
// .eq(User::getPhone, phone)
// );
//
// List<UserReserve> userReserves = userReserveMapper.selectList(Wrappers.<UserReserve>lambdaQuery()
// .eq(UserReserve::getUserId, account.getId())
// .eq(UserReserve::getDeleted, 0)
// );
// Set<String> reservesId = userReserves.stream().map(UserReserve::getMatchId).collect(Collectors.toSet());
//
// matchListResponse.getMatchLists().forEach(match -> {
// match.getMatchInfos().forEach(matchInfo -> {
// if (reservesId.contains(matchInfo.getId())) {
// matchInfo.setSubscribe(true);
// }
// });
// });
// } catch (RuntimeException e) {
// log.info("未携带 token !");
// }
// return ResponseData.successResponse(matchListResponse);
// }
@Override
public ResponseData<?> getMatchInfo(CommonStringId commonStringId, HttpServletRequest request) {
......@@ -781,22 +782,27 @@ public class MatchServiceImpl implements MatchService {
long count = userReserveMapper.selectCount(Wrappers.<UserReserve>lambdaQuery()
.eq(UserReserve::getUserId, account.getId())
.eq(UserReserve::getType, 0)
.eq(UserReserve::getDeleted, 0)
);
List<UserReserve> userReserves = userReserveMapper.selectList(Wrappers.<UserReserve>lambdaQuery()
.eq(UserReserve::getUserId, account.getId())
.eq(UserReserve::getDeleted, 0)
.eq(UserReserve::getType, 0)
.last(String.format(" limit %s,%s", jumpNum, commonPage.getPageSize()))
);
List<Match> matches = new ArrayList<>();
if (userReserves.size() > 0) {
matches = matchMapper.selectList(Wrappers.<Match>lambdaQuery()
.in(Match::getId, userReserves.stream().map(UserReserve::getMatchId).collect(Collectors.toSet()))
.eq(Match::getDeleted, 0)
.orderByDesc(Match::getMatchTime)
);
for (UserReserve userReserve : userReserves) {
Match match = matchMapper.selectById(userReserve.getMatchId());
if (match != null) {
matches.add(match);
} else {
count--;
}
}
}
MatchHomeListByDayResponse response = new MatchHomeListByDayResponse();
......
......@@ -74,161 +74,161 @@ public class RoomServiceImpl implements RoomService {
@Value("${surroundings}")
private String surroundings;
@Override
public ResponseData<?> getRoomInfo(CommonStringId commonStringId, HttpServletRequest request) {
if (StringUtils.isBlank(commonStringId.getId())) {
return ResponseData.fail400Response("请传入房间ID");
}
Room room = roomMapper.selectById(commonStringId.getId());
if (room == null) {
return ResponseData.fail400Response("房间ID错误");
}
User anchor = userMapper.selectById(room.getUserId());
GetRoomInfoResponse getRoomInfoResponse = GetRoomInfoResponse.builder()
.roomId(room.getHuanXinRoomId())
.roomNum(room.getRoomNum())
.roomName(room.getRoomName())
.roomAnnouncement(room.getAnnouncement())
.anchorAvatar(ConstantValue.completeAddress(anchor.getUserIcon()))
.anchorDesc(anchor.getUserDesc())
.anchorName(anchor.getUserName())
.isFollow(false)
.hotNum(room.getHotNum())
.userGold(0)
.userId("")
.liveUrl(room.getLiveUrl())
.userName("")
.userLevel(0)
.qqNum(StringUtils.isBlank(room.getQqNum()) ? "" : room.getQqNum())
.qqGroupNum(StringUtils.isBlank(room.getQqGroupNum()) ? "" : room.getQqGroupNum())
.wxNum(StringUtils.isBlank(room.getWxNum()) ? "" : room.getWxNum())
.roomStatus(room.getType())
.matchId(room.getMatchId())
.build();
String phone = null;
User account = null;
try {
phone = CommonMethod.getUserPhone(request);
account = userMapper.selectOne(Wrappers.<User>lambdaQuery()
.eq(User::getPhone, phone)
);
} catch (RuntimeException e) {
log.info("未携带 token 创建游客账户!");
try {
String deviceId = CommonMethod.getDeviceId(request);
account = userMapper.selectOne(Wrappers.<User>lambdaQuery()
.eq(User::getDeviceId, deviceId)
.eq(User::getDeleted, 0)
);
if (account == null) {
account = userService.registerByDeviceId(deviceId, IPUtil.getClientIP(request));
}
} catch (RuntimeException dev) {
log.error("未携带 DeviceId");
}
}
if (account != null) {
getRoomInfoResponse.setHuanXinUserId("live_" + account.getId() + surroundings);
getRoomInfoResponse.setUserId(account.getId());
getRoomInfoResponse.setUserName(account.getUserName());
getRoomInfoResponse.setUserLevel(account.getLevel());
Follow follow = followMapper.selectOne(Wrappers.<Follow>lambdaQuery()
.eq(Follow::getUserId, account.getId())
.eq(Follow::getFollowId, anchor.getId())
.eq(Follow::getDeleted, 0)
);
if (follow != null) {
getRoomInfoResponse.setFollow(true);
}
UserGold userGold = userGoldMapper.selectById(account.getId());
if (userGold != null) {
getRoomInfoResponse.setUserGold(userGold.getGold());
}
}
return ResponseData.successResponse(getRoomInfoResponse);
}
@Override
public ResponseData<?> anchorMatch(CommonStringId commonIntId, HttpServletRequest request) {
if (commonIntId.getId() == null) {
return ResponseData.fail400Response("请传入房间ID");
}
Room room = roomMapper.selectById(commonIntId.getId());
if (room == null) {
return ResponseData.fail400Response("房间ID错误");
}
List<RoomHostRecord> roomHostRecords = roomHostRecordMapper.selectList(Wrappers.<RoomHostRecord>lambdaQuery()
.eq(RoomHostRecord::getDeleted, 0)
.eq(RoomHostRecord::getRoomId, commonIntId.getId())
.ge(RoomHostRecord::getStartTime, new Date())
);
if (roomHostRecords != null && roomHostRecords.size() > 0) {
Set<String> matches = roomHostRecords.stream().map(RoomHostRecord::getMatchId).collect(Collectors.toSet());
List<Match> matchDb = matchMapper.selectBatchIds(matches);
MatchListResponse matchListResponse = matchService.conversionByList(matchDb, false);
try {
String phone = CommonMethod.getUserPhone(request);
User account = userMapper.selectOne(Wrappers.<User>lambdaQuery()
.eq(User::getPhone, phone)
);
List<UserReserve> userReserves = userReserveMapper.selectList(Wrappers.<UserReserve>lambdaQuery()
.eq(UserReserve::getUserId, account.getId())
.eq(UserReserve::getDeleted, 0)
);
Set<String> reservesId = userReserves.stream().map(UserReserve::getMatchId).collect(Collectors.toSet());
matchListResponse.getMatchLists().forEach(match -> {
match.getMatchInfos().forEach(matchInfo -> {
if (reservesId.contains(matchInfo.getId())) {
matchInfo.setSubscribe(true);
}
});
});
} catch (RuntimeException e) {
log.info("未携带 token !");
}
return ResponseData.successResponse(matchListResponse);
}
return ResponseData.successResponse(MatchListResponse.builder()
.matchLists(new ArrayList<>())
.build());
}
@Override
public ResponseData<?> leaderboard(CommonStringId commonStringId) {
if (StringUtils.isBlank(commonStringId.getId())) {
return ResponseData.fail400Response("请传入房间ID");
}
Room room = roomMapper.selectById(commonStringId.getId());
if (room == null) {
return ResponseData.fail400Response("房间ID错误");
}
List<GetLeaderboardResponse> leaderboard = giftRecordMapper.getLeaderboard(room.getUserId());
List<LeaderboardResponse> responseList = leaderboard.stream().map(b -> {
User user = userMapper.selectById(b.getUserId());
return LeaderboardResponse.builder()
.goldNum(b.getGiftGold())
.userAvatar(ConstantValue.completeAddress(user.getUserIcon()))
.userId(user.getId())
.userLevel(user.getLevel())
.userName(user.getUserName())
.build();
}).collect(Collectors.toList());
return ResponseData.successResponse(responseList);
}
// @Override
// public ResponseData<?> getRoomInfo(CommonStringId commonStringId, HttpServletRequest request) {
// if (StringUtils.isBlank(commonStringId.getId())) {
// return ResponseData.fail400Response("请传入房间ID");
// }
//
// Room room = roomMapper.selectById(commonStringId.getId());
// if (room == null) {
// return ResponseData.fail400Response("房间ID错误");
// }
// User anchor = userMapper.selectById(room.getUserId());
//
// GetRoomInfoResponse getRoomInfoResponse = GetRoomInfoResponse.builder()
// .roomId(room.getHuanXinRoomId())
// .roomNum(room.getRoomNum())
// .roomName(room.getRoomName())
// .roomAnnouncement(room.getAnnouncement())
// .anchorAvatar(ConstantValue.completeAddress(anchor.getUserIcon()))
// .anchorDesc(anchor.getUserDesc())
// .anchorName(anchor.getUserName())
// .isFollow(false)
// .hotNum(room.getHotNum())
// .userGold(0)
// .userId("")
// .liveUrl(room.getLiveUrl())
// .userName("")
// .userLevel(0)
// .qqNum(StringUtils.isBlank(room.getQqNum()) ? "" : room.getQqNum())
// .qqGroupNum(StringUtils.isBlank(room.getQqGroupNum()) ? "" : room.getQqGroupNum())
// .wxNum(StringUtils.isBlank(room.getWxNum()) ? "" : room.getWxNum())
// .roomStatus(room.getType())
// .matchId(room.getMatchId())
// .build();
//
// String phone = null;
// User account = null;
// try {
// phone = CommonMethod.getUserPhone(request);
// account = userMapper.selectOne(Wrappers.<User>lambdaQuery()
// .eq(User::getPhone, phone)
// );
// } catch (RuntimeException e) {
// log.info("未携带 token 创建游客账户!");
// try {
// String deviceId = CommonMethod.getDeviceId(request);
// account = userMapper.selectOne(Wrappers.<User>lambdaQuery()
// .eq(User::getDeviceId, deviceId)
// .eq(User::getDeleted, 0)
// );
// if (account == null) {
// account = userService.registerByDeviceId(deviceId, IPUtil.getClientIP(request));
// }
// } catch (RuntimeException dev) {
// log.error("未携带 DeviceId");
// }
// }
//
// if (account != null) {
// getRoomInfoResponse.setHuanXinUserId("live_" + account.getId() + surroundings);
// getRoomInfoResponse.setUserId(account.getId());
// getRoomInfoResponse.setUserName(account.getUserName());
// getRoomInfoResponse.setUserLevel(account.getLevel());
// Follow follow = followMapper.selectOne(Wrappers.<Follow>lambdaQuery()
// .eq(Follow::getUserId, account.getId())
// .eq(Follow::getFollowId, anchor.getId())
// .eq(Follow::getDeleted, 0)
// );
// if (follow != null) {
// getRoomInfoResponse.setFollow(true);
// }
//
// UserGold userGold = userGoldMapper.selectById(account.getId());
// if (userGold != null) {
// getRoomInfoResponse.setUserGold(userGold.getGold());
// }
// }
// return ResponseData.successResponse(getRoomInfoResponse);
// }
// @Override
// public ResponseData<?> anchorMatch(CommonStringId commonIntId, HttpServletRequest request) {
// if (commonIntId.getId() == null) {
// return ResponseData.fail400Response("请传入房间ID");
// }
//
// Room room = roomMapper.selectById(commonIntId.getId());
// if (room == null) {
// return ResponseData.fail400Response("房间ID错误");
// }
//
// List<RoomHostRecord> roomHostRecords = roomHostRecordMapper.selectList(Wrappers.<RoomHostRecord>lambdaQuery()
// .eq(RoomHostRecord::getDeleted, 0)
// .eq(RoomHostRecord::getRoomId, commonIntId.getId())
// .ge(RoomHostRecord::getStartTime, new Date())
// );
//
// if (roomHostRecords != null && roomHostRecords.size() > 0) {
// Set<String> matches = roomHostRecords.stream().map(RoomHostRecord::getMatchId).collect(Collectors.toSet());
// List<Match> matchDb = matchMapper.selectBatchIds(matches);
//
// MatchListResponse matchListResponse = matchService.conversionByList(matchDb, false);
//
// try {
// String phone = CommonMethod.getUserPhone(request);
// User account = userMapper.selectOne(Wrappers.<User>lambdaQuery()
// .eq(User::getPhone, phone)
// );
//
// List<UserReserve> userReserves = userReserveMapper.selectList(Wrappers.<UserReserve>lambdaQuery()
// .eq(UserReserve::getUserId, account.getId())
// .eq(UserReserve::getDeleted, 0)
// );
// Set<String> reservesId = userReserves.stream().map(UserReserve::getMatchId).collect(Collectors.toSet());
//
// matchListResponse.getMatchLists().forEach(match -> {
// match.getMatchInfos().forEach(matchInfo -> {
// if (reservesId.contains(matchInfo.getId())) {
// matchInfo.setSubscribe(true);
// }
// });
// });
// } catch (RuntimeException e) {
// log.info("未携带 token !");
// }
// return ResponseData.successResponse(matchListResponse);
// }
// return ResponseData.successResponse(MatchListResponse.builder()
// .matchLists(new ArrayList<>())
// .build());
// }
// @Override
// public ResponseData<?> leaderboard(CommonStringId commonStringId) {
// if (StringUtils.isBlank(commonStringId.getId())) {
// return ResponseData.fail400Response("请传入房间ID");
// }
//
// Room room = roomMapper.selectById(commonStringId.getId());
// if (room == null) {
// return ResponseData.fail400Response("房间ID错误");
// }
//
// List<GetLeaderboardResponse> leaderboard = giftRecordMapper.getLeaderboard(room.getUserId());
// List<LeaderboardResponse> responseList = leaderboard.stream().map(b -> {
// User user = userMapper.selectById(b.getUserId());
// return LeaderboardResponse.builder()
// .goldNum(b.getGiftGold())
// .userAvatar(ConstantValue.completeAddress(user.getUserIcon()))
// .userId(user.getId())
// .userLevel(user.getLevel())
// .userName(user.getUserName())
// .build();
// }).collect(Collectors.toList());
// return ResponseData.successResponse(responseList);
// }
@Override
public ResponseData<?> getGiftList(HttpServletRequest request) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment