新增我的排名接口
This commit is contained in:
parent
dec232c1e6
commit
085767368b
@ -88,4 +88,19 @@ public class ActivityLeaderboardRestController {
|
||||
return activityLeaderboardService.getAppLeaderboard(cmd);
|
||||
}
|
||||
|
||||
/**
|
||||
* 我的排名.
|
||||
*
|
||||
* @eo.name 我的排名.
|
||||
* @eo.url /my-rank
|
||||
* @eo.method get
|
||||
* @eo.request-type formdata
|
||||
* @eo.param type 类型 (ROOM_GIFTS:房间礼物, GIFTS_SEND:礼物赠送, GIFTS_RECEIVED:礼物接收)
|
||||
* @eo.param dateType 时间类型 (HOUR:小时, DAY:天, WEEK:周, MONTH:月)
|
||||
*/
|
||||
@GetMapping("/my-rank")
|
||||
public ActivityLeaderboardCO.LeaderboardUserCO myRank(AppExtCommand cmd, String type, String dateType) {
|
||||
return activityLeaderboardService.myRank(cmd, type, dateType);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -182,4 +182,61 @@ public class ActivityLeaderboardServiceImpl implements ActivityLeaderboardServic
|
||||
co.setRechargeLeaderboard(rechargeLeaderboardQryExe.executeApp(cmd));
|
||||
return co;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ActivityLeaderboardCO.LeaderboardUserCO myRank(AppExtCommand cmd, String type, String dateType) {
|
||||
if (Objects.isNull(type) || Objects.isNull(dateType)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
ActivityLeaderboardCO leaderboard;
|
||||
switch (type) {
|
||||
case "ROOM_GIFTS":
|
||||
leaderboard = roomGiftsLeaderboard(cmd);
|
||||
break;
|
||||
case "GIFTS_SEND":
|
||||
leaderboard = giftsSendLeaderboard(cmd);
|
||||
break;
|
||||
case "GIFTS_RECEIVED":
|
||||
leaderboard = giftsReceivedLeaderboard(cmd);
|
||||
break;
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
|
||||
Long userId = cmd.getReqUserId();
|
||||
java.util.List<ActivityLeaderboardCO.LeaderboardUserCO> rankList;
|
||||
|
||||
switch (dateType) {
|
||||
case "HOUR":
|
||||
rankList = leaderboard.getHourly();
|
||||
break;
|
||||
case "DAY":
|
||||
rankList = leaderboard.getDaily();
|
||||
break;
|
||||
case "WEEK":
|
||||
rankList = leaderboard.getWeekly();
|
||||
break;
|
||||
case "MONTH":
|
||||
rankList = leaderboard.getMonthly();
|
||||
break;
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
|
||||
if (Objects.isNull(rankList) || rankList.isEmpty()) {
|
||||
return null;
|
||||
}
|
||||
|
||||
// 查找用户排名
|
||||
for (int i = 0; i < rankList.size(); i++) {
|
||||
ActivityLeaderboardCO.LeaderboardUserCO userCO = rankList.get(i);
|
||||
if (Objects.equals(userCO.getId(), userId)) {
|
||||
userCO.setRank(i + 1);
|
||||
return userCO;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@ -88,6 +88,11 @@ public class ActivityLeaderboardCO extends ClientObject {
|
||||
*/
|
||||
private String quantityFormat;
|
||||
|
||||
/**
|
||||
* 排名.
|
||||
*/
|
||||
private Integer rank;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -21,4 +21,6 @@ public interface ActivityLeaderboardService {
|
||||
|
||||
ActivityLeaderboardListCO getAppLeaderboard(AppExtCommand cmd);
|
||||
|
||||
ActivityLeaderboardCO.LeaderboardUserCO myRank(AppExtCommand cmd, String type, String dateType);
|
||||
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user