| 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.ApiActivityCommentDto; | 
| import cc.mrbird.febs.mall.dto.activity.ApiOperateValidRegisterActivityDto; | 
| import cc.mrbird.febs.mall.dto.activity.ApiVoteOptionInPageDto; | 
| import cc.mrbird.febs.mall.dto.activity.ApiVoteOptionRecordInPageDto; | 
| 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) | 
|     }) | 
|     @GetMapping(value = "/voteActivityHot/{id}") | 
|     public FebsResponse voteActivityHot(@PathVariable("id") Long id) { | 
|   | 
|         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); | 
|     } | 
|   | 
| } |