KKSU
2025-01-08 d175d1a66a53a46f182316680afd8a9bf6314ea0
src/main/java/cc/mrbird/febs/mall/controller/ApiMallActController.java
@@ -1,18 +1,21 @@
package cc.mrbird.febs.mall.controller;
import cc.mrbird.febs.common.annotation.Limit;
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.mall.dto.ApiMallActListDto;
import cc.mrbird.febs.mall.dto.ApiMallActWinDetailsDto;
import cc.mrbird.febs.mall.dto.MallGoodsQueryDto;
import cc.mrbird.febs.common.entity.LimitType;
import cc.mrbird.febs.mall.service.IApiMallActService;
import cc.mrbird.febs.mall.vo.*;
import cc.mrbird.febs.mall.vo.ApiActivityVo;
import cc.mrbird.febs.mall.vo.ApiCouponVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@Slf4j
@RestController
@@ -22,42 +25,27 @@
public class ApiMallActController {
    private final IApiMallActService iApiMallActService;
    @ApiOperation(value = "获取活动列表", notes = "获取活动列表")
    @ApiResponses({
            @ApiResponse(code = 200, message = "success", response = ApiMallActListVo.class)
    })
    @PostMapping(value = "/findMallGoodsList")
    public FebsResponse findMallGoodsList(@RequestBody ApiMallActListDto apiMallActListDto) {
        return new FebsResponse().success().data(iApiMallActService.findApiMallActListInPage(apiMallActListDto));
    }
    @ApiOperation(value = "获取活动详情", notes = "获取活动详情")
    @ApiResponses({
            @ApiResponse(code = 200, message = "success", response = ApiMallActDetailsVo.class)
            @ApiResponse(code = 200, message = "success", response = ApiActivityVo.class)
    })
    @GetMapping(value = "/findApiMallActDetailsById/{id}")
    public FebsResponse findApiMallActDetailsById(@PathVariable("id") Long id) {
    @GetMapping(value = "/getActivity/{id}")
    public FebsResponse getActivity(@PathVariable("id") Long id) {
        return new FebsResponse().success().data(iApiMallActService.findApiMallActDetailsById(id));
    }
    @ApiOperation(value = "我的抽奖记录", notes = "我的抽奖记录")
    @ApiOperation(value = "优惠卷详情", notes = "优惠卷详情")
    @ApiResponses({
            @ApiResponse(code = 200, message = "success", response = ApiMallActWinDetailsVo.class)
            @ApiResponse(code = 200, message = "success", response = ApiCouponVo.class)
    })
    @PostMapping(value = "/findApiMallActWinDetailsById")
    public FebsResponse findApiMallActWinDetailsById(@RequestBody ApiMallActWinDetailsDto apiMallActWinDetailsDto) {
        return new FebsResponse().success().data(iApiMallActService.findApiMallActWinDetailsInPage(apiMallActWinDetailsDto));
    @GetMapping(value = "/getCoupon/{id}")
    public FebsResponse getCoupon(@PathVariable("id") Long id) {
        return new FebsResponse().success().data(iApiMallActService.findApiCouponById(id));
    }
    @ApiOperation(value = "抽奖", notes = "抽奖")
    @ApiResponses({
            @ApiResponse(code = 200, message = "success", response = ApiMallAwardDetailsVo.class)
    })
    @GetMapping(value = "/luckDraw/{actId}")
    public FebsResponse luckDraw(@PathVariable("actId") long actId) {
        return new FebsResponse().success().data(iApiMallActService.luckDraw(actId));
    @ApiOperation(value = "领取优惠卷", notes = "领取优惠卷")
    @GetMapping(value = "/addCoupon/{id}")
    @Limit(key = "addCoupon", period = 10, count = 1, name = "领取优惠卷", prefix = "limit",limitType = LimitType.IP)
    public FebsResponse addCoupon(@PathVariable("id") Long id) {
        return iApiMallActService.addCoupon(id);
    }
}