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.AdminActivityOptionAddDto;
|
import cc.mrbird.febs.mall.dto.activity.AdminCategoryAddDto;
|
import cc.mrbird.febs.mall.dto.activity.AdminCategoryUpdateDto;
|
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<String, Object> 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<String, Object> 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("optionList")
|
public FebsResponse optionList(HappyActivityOption dto, QueryRequest request) {
|
|
Map<String, Object> 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<String, Object> data = getDataTable(adminHappyActivityService.getFollowVoteInPage(voteRecord,request));
|
return new FebsResponse().success().data(data);
|
}
|
|
}
|