package com.xuekairui.activity.controller; import com.xuekairui.activity.dto.ActivityCheckinCycleStatusResponse; import com.xuekairui.activity.dto.ActivityInviteStatusResponse; import com.xuekairui.activity.dto.ActivityLotteryResultResponse; import com.xuekairui.activity.dto.ActivityLotteryStatusResponse; import com.xuekairui.activity.entity.ActivityLotteryRecord; import com.xuekairui.activity.service.ActivityCheckinCycleService; import com.xuekairui.activity.service.ActivityInviteService; import com.xuekairui.activity.service.ActivityLotteryService; import com.xuekairui.common.Result; import jakarta.servlet.http.HttpServletRequest; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; import java.util.List; /** * 活动接口(用户端) *
* 统一暴露邀请有礼、签到送会员、比价抽奖三类活动的用户端能力。
*/
@RestController
@RequestMapping("/api/activity")
@RequiredArgsConstructor
public class ActivityController {
private final ActivityInviteService activityInviteService;
private final ActivityCheckinCycleService activityCheckinCycleService;
private final ActivityLotteryService activityLotteryService;
// ========== 邀请有礼 ==========
/**
* 邀请有礼活动状态(含邀请人已获奖励次数、剩余次数)
* GET /api/activity/invite/status
*/
@GetMapping("/invite/status")
public Result> lotteryRecords(HttpServletRequest request,
@RequestParam(required = false) Integer limit) {
Long userId = (Long) request.getAttribute("userId");
return Result.success(activityLotteryService.listMyRecords(userId, limit));
}
}