package cc.mrbird.febs.mall.controller.activity; import cc.mrbird.febs.common.annotation.ControllerEndpoint; import cc.mrbird.febs.common.controller.BaseController; import cc.mrbird.febs.common.entity.FebsResponse; import cc.mrbird.febs.common.entity.QueryRequest; import cc.mrbird.febs.common.utils.RedisUtils; import cc.mrbird.febs.mall.dto.AdminHappyActivityCategoryDto; import cc.mrbird.febs.mall.dto.activity.*; import cc.mrbird.febs.mall.entity.HappyActivity; import cc.mrbird.febs.mall.entity.HappyActivityOption; import cc.mrbird.febs.mall.service.IAdminHappyActivityService; import cn.hutool.core.util.StrUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import javax.validation.constraints.NotNull; import java.util.Map; @Slf4j @Validated @RestController @RequiredArgsConstructor @RequestMapping(value = "/admin/happyActivity") public class AdminVotesActivityCategoryController extends BaseController { private final IAdminHappyActivityService adminHappyActivityService; private final RedisUtils redisUtils; /** * 分类列表 * @return */ @GetMapping("groupList") public FebsResponse groupList(AdminHappyActivityCategoryDto dto, QueryRequest request) { Map data = getDataTable(adminHappyActivityService.getGroupList(dto, request)); return new FebsResponse().success().data(data); } /** * 分类-新增 */ @PostMapping("addGroup") @ControllerEndpoint(operation = "分类-新增", exceptionMessage = "操作失败") public FebsResponse addGroup(@RequestBody @Valid AdminCategoryAddDto dto) { return adminHappyActivityService.addGroup(dto); } /** * 分类-删除 */ @GetMapping("groupDelete/{id}") @ControllerEndpoint(operation = "选项-删除", exceptionMessage = "操作失败") public FebsResponse groupDelete(@NotNull(message = "{required}") @PathVariable Long id) { return adminHappyActivityService.groupDelete(id); } /** * 分类-更新 */ @PostMapping("groupUpdate") @ControllerEndpoint(operation = "分类-更新", exceptionMessage = "操作失败") public FebsResponse groupUpdate(@RequestBody @Valid AdminCategoryUpdateDto dto) { return adminHappyActivityService.groupUpdate(dto); } /** * 分类-开启 */ @GetMapping("groupState/{id}/{type}") @ControllerEndpoint(operation = "分类-开启", exceptionMessage = "操作失败") public FebsResponse groupState( @NotNull(message = "{required}") @PathVariable Long id, @NotNull(message = "{required}") @PathVariable Integer type) { return adminHappyActivityService.groupState(id,type); } /** * 获取分类 * @return */ @GetMapping(value = "/allGroup") public FebsResponse allGroup() { return new FebsResponse().success().data(adminHappyActivityService.allGroup()); } /** * 活动-列表 */ @GetMapping("list") public FebsResponse getAdminActivityListInPage(HappyActivity dto, QueryRequest request) { Map data = getDataTable(adminHappyActivityService.getAdminActivityListInPage(dto, request)); return new FebsResponse().success().data(data); } /** * 活动-新增 */ @PostMapping("add") @ControllerEndpoint(operation = "新增", exceptionMessage = "操作失败") public FebsResponse addActivity(@RequestBody HappyActivity dto) { return adminHappyActivityService.addActivity(dto); } /** * 活动-删除 */ @GetMapping("delActivity/{id}") @ControllerEndpoint(operation = "活动-删除", exceptionMessage = "删除失败") public FebsResponse delActivity(@NotNull(message = "{required}") @PathVariable Long id) { return adminHappyActivityService.delActivity(id); } /** * 活动-开启 */ @GetMapping("changeState/{id}/{state}") @ControllerEndpoint(operation = "活动-开启", exceptionMessage = "操作失败") public FebsResponse changeState(@NotNull(message = "{required}") @PathVariable Long id ,@NotNull(message = "{required}") @PathVariable Integer state) { return adminHappyActivityService.changeState(id,state); } /** * 活动-更新 */ @PostMapping("activityUpdate") @ControllerEndpoint(operation = "活动-更新", exceptionMessage = "操作失败") public FebsResponse activityUpdate(@RequestBody HappyActivity dto) { return adminHappyActivityService.activityUpdate(dto); } /** * 获取全部投票活动 * @return */ @GetMapping(value = "/allActivities") public FebsResponse allActivities() { return new FebsResponse().success().data(adminHappyActivityService.allActivities()); } /** * 获取全部众筹活动 * @return */ @GetMapping(value = "/allOrderActivities") public FebsResponse allOrderActivities() { return new FebsResponse().success().data(adminHappyActivityService.allOrderActivities()); } /** * 选项-列表 * @return */ @GetMapping("optionList") public FebsResponse optionList(HappyActivityOption dto, QueryRequest request) { Map data = getDataTable(adminHappyActivityService.getOptionListInPage(dto, request)); return new FebsResponse().success().data(data); } /** * 选项-新增 */ @PostMapping("addOption") @ControllerEndpoint(operation = "选项-新增", exceptionMessage = "操作失败") public FebsResponse addOption(@RequestBody @Valid AdminActivityOptionAddDto dto) { return adminHappyActivityService.addOption(dto); } /** * 选项-更新 */ @PostMapping("optionUpdate") @ControllerEndpoint(operation = "选项-更新", exceptionMessage = "操作失败") public FebsResponse optionUpdate(@RequestBody HappyActivityOption dto) { return adminHappyActivityService.optionUpdate(dto); } /** * 选项-删除 */ @GetMapping("optionDelete/{id}") @ControllerEndpoint(operation = "选项-删除", exceptionMessage = "操作失败") public FebsResponse optionDelete(@NotNull(message = "{required}") @PathVariable Long id) { return adminHappyActivityService.optionDelete(id); } /** * 选项-得票记录 */ @GetMapping("voteRecord") public FebsResponse voteRecord(QueryRequest request, Integer parentId) { HappyActivityOption voteRecord = new HappyActivityOption(); String existToken = redisUtils.getString("voteRecord"); if (StrUtil.isNotBlank(existToken)) { redisUtils.del(existToken); } voteRecord.setId(Long.parseLong(existToken)); Map data = getDataTable(adminHappyActivityService.getFollowVoteInPage(voteRecord,request)); return new FebsResponse().success().data(data); } /** * 订单 * @return */ @GetMapping("activityOrderList") public FebsResponse activityOrderList(AdminHappyActivityOrderDto dto, QueryRequest request) { Map data = getDataTable(adminHappyActivityService.activityOrderList(dto, request)); return new FebsResponse().success().data(data); } /** * 订单-手动核销 */ @PostMapping("checkOrder") @ControllerEndpoint(operation = "订单-手动核销", exceptionMessage = "操作失败") public FebsResponse checkOrder(@RequestBody AdminHappyActivityCheckOrderDto dto) { return adminHappyActivityService.checkOrder(dto); } /** * 订单-删除 */ @GetMapping("activityOrderDel/{id}") @ControllerEndpoint(operation = "订单-删除", exceptionMessage = "操作失败") public FebsResponse activityOrderDel(@NotNull(message = "{required}") @PathVariable Long id) { return adminHappyActivityService.activityOrderDel(id); } }