package cc.mrbird.febs.mall.controller.activity;
|
|
import cc.mrbird.febs.common.annotation.Limit;
|
import cc.mrbird.febs.common.entity.FebsResponse;
|
import cc.mrbird.febs.mall.dto.*;
|
import cc.mrbird.febs.mall.dto.activity.ApiVoteOptionInPageDto;
|
import cc.mrbird.febs.mall.service.HappyActivityService;
|
import cc.mrbird.febs.mall.vo.*;
|
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.validation.annotation.Validated;
|
import org.springframework.web.bind.annotation.*;
|
|
@Slf4j
|
@Validated
|
@RestController
|
@RequiredArgsConstructor
|
@RequestMapping(value = "/api/happyActivity")
|
@Api(value = "ApiHappyActivityController", tags = "365活动")
|
public class ApiHappyActivityController{
|
|
private final HappyActivityService happyActivityService;
|
|
@ApiOperation(value = "活动列表", notes = "活动列表")
|
@ApiResponses({
|
@ApiResponse(code = 200, message = "success", response = ApiActivityInfoVo.class)
|
})
|
@PostMapping(value = "/activityList")
|
public FebsResponse activityList(@RequestBody @Validated ApiActivityInfoDto dto) {
|
|
return happyActivityService.activityList(dto);
|
}
|
|
@ApiOperation(value = "活动详情", notes = "活动详情")
|
@ApiResponses({
|
@ApiResponse(code = 200, message = "success", response = ApiActivityVo.class)
|
})
|
@PostMapping(value = "/activityInfo")
|
public FebsResponse activityInfo(@RequestBody @Validated ApiActivityDto dto) {
|
|
return happyActivityService.activityInfo(dto);
|
}
|
|
@ApiOperation(value = "点赞关注转发", notes = "点赞关注转发")
|
@PostMapping(value = "/operateDo")
|
@Limit(key = "operateDo", period = 60, count = 1, name = "点赞关注转发接口", prefix = "limit")
|
public FebsResponse operateDo(@RequestBody @Validated ApiOperateDoDto dto) {
|
|
return happyActivityService.operateDo(dto);
|
}
|
|
@ApiOperation(value = "投票活动-选项列表", notes = "投票活动-选项列表")
|
@ApiResponses({
|
@ApiResponse(code = 200, message = "success", response = ApiActivityOptionListVo.class)
|
})
|
@GetMapping(value = "/voteOptionInPage")
|
public FebsResponse voteOptionInPage(@RequestBody @Validated ApiVoteOptionInPageDto dto) {
|
|
return happyActivityService.voteOptionInPage(dto);
|
}
|
|
@ApiOperation(value = "投票活动-选项详情", notes = "投票活动-选项详情")
|
@ApiResponses({
|
@ApiResponse(code = 200, message = "success", response = ApiActivityOptionVo.class)
|
})
|
@GetMapping(value = "/voteOption/{id}")
|
public FebsResponse voteOption(@PathVariable("id") Long id) {
|
|
return happyActivityService.voteOption(id);
|
}
|
|
@ApiOperation(value = "投票活动-选项投票", notes = "投票活动-选项投票")
|
@PostMapping(value = "/operateVote")
|
@Limit(key = "operateVote", period = 60, count = 1, name = "投票接口", prefix = "limit")
|
public FebsResponse operateVote(@RequestBody @Validated ApiOperateVoteDto dto) {
|
|
return happyActivityService.operateVote(dto);
|
}
|
|
@ApiOperation(value = "投票活动-选项投票记录", notes = "投票活动-选项投票记录")
|
@ApiResponses({
|
@ApiResponse(code = 200, message = "success", response = ApiVoteRecordInPageVo.class)
|
})
|
@PostMapping(value = "/voteRecordInPage")
|
public FebsResponse voteRecordInPage(@RequestBody @Validated ApiVoteRecordInPageDto dto) {
|
|
return happyActivityService.voteRecordInPage(dto);
|
}
|
|
}
|