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.*;
|
import cc.mrbird.febs.mall.service.HappyActivityService;
|
import cc.mrbird.febs.mall.vo.*;
|
import cc.mrbird.febs.mall.vo.activity.ApiActivityCommentVo;
|
import cc.mrbird.febs.mall.vo.activity.ApiVoteActivityHotVo;
|
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 = "活动评价")
|
@ApiResponses({
|
@ApiResponse(code = 200, message = "success", response = ApiActivityCommentVo.class)
|
})
|
@PostMapping(value = "/commentByActivityId")
|
public FebsResponse commentByActivityId(@RequestBody ApiActivityCommentDto dto) {
|
return new FebsResponse().success().data(happyActivityService.commentByActivityId(dto));
|
}
|
|
@ApiOperation(value = "点赞关注转发", notes = "点赞关注转发")
|
@PostMapping(value = "/operateDo")
|
public FebsResponse operateDo(@RequestBody @Validated ApiOperateDoDto dto) {
|
|
return happyActivityService.operateDo(dto);
|
}
|
|
@ApiOperation(value = "投票活动-选项列表", notes = "投票活动-选项列表")
|
@ApiResponses({
|
@ApiResponse(code = 200, message = "success", response = ApiActivityOptionListVo.class)
|
})
|
@PostMapping(value = "/voteOptionInPage")
|
public FebsResponse voteOptionInPage(@RequestBody @Validated ApiVoteOptionInPageDto dto) {
|
|
return happyActivityService.voteOptionInPage(dto);
|
}
|
|
@ApiOperation(value = "投票活动-排行榜", notes = "投票活动-排行榜")
|
@ApiResponses({
|
@ApiResponse(code = 200, message = "success", response = ApiActivityOptionListVo.class)
|
})
|
@PostMapping(value = "/voteOptionRecordInPage")
|
public FebsResponse voteOptionRecordInPage(@RequestBody @Validated ApiVoteOptionRecordInPageDto dto) {
|
|
return happyActivityService.voteOptionRecordInPage(dto);
|
}
|
|
@ApiOperation(value = "投票活动-活动热度", notes = "投票活动-活动热度")
|
@ApiResponses({
|
@ApiResponse(code = 200, message = "success", response = ApiVoteActivityHotVo.class)
|
})
|
@PostMapping(value = "/voteActivityHot")
|
public FebsResponse voteActivityHot(@RequestBody @Validated ApiVoteOptionActivityHotDto dto) {
|
Long id = dto.getId();
|
return happyActivityService.voteActivityHot(id);
|
}
|
|
@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")
|
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);
|
}
|
|
@ApiOperation(value = "投票活动-报名-验证", notes = "投票活动-报名-验证")
|
@PostMapping(value = "/operateValidRegister")
|
public FebsResponse operateValidRegister(@RequestBody @Validated ApiOperateValidRegisterActivityDto dto) {
|
|
return happyActivityService.operateValidRegister(dto);
|
}
|
|
@ApiOperation(value = "投票活动-报名", notes = "投票活动-报名")
|
@PostMapping(value = "/operateRegister")
|
public FebsResponse operateRegister(@RequestBody @Validated ApiOperateRegisterActivityDto dto) {
|
|
return happyActivityService.operateRegister(dto);
|
}
|
|
}
|