新增我的排名接口
This commit is contained in:
parent
dec232c1e6
commit
085767368b
@ -88,4 +88,19 @@ public class ActivityLeaderboardRestController {
|
|||||||
return activityLeaderboardService.getAppLeaderboard(cmd);
|
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));
|
co.setRechargeLeaderboard(rechargeLeaderboardQryExe.executeApp(cmd));
|
||||||
return co;
|
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 String quantityFormat;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 排名.
|
||||||
|
*/
|
||||||
|
private Integer rank;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -21,4 +21,6 @@ public interface ActivityLeaderboardService {
|
|||||||
|
|
||||||
ActivityLeaderboardListCO getAppLeaderboard(AppExtCommand cmd);
|
ActivityLeaderboardListCO getAppLeaderboard(AppExtCommand cmd);
|
||||||
|
|
||||||
|
ActivityLeaderboardCO.LeaderboardUserCO myRank(AppExtCommand cmd, String type, String dateType);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user