| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- package com.sqx.modules.member.controller;
- import cn.hutool.core.util.ObjectUtil;
- import com.sqx.common.exception.SqxException;
- import com.sqx.common.utils.PageUtils;
- import com.sqx.common.utils.Result;
- import com.sqx.modules.member.dto.VipPromoCodeDTO;
- import com.sqx.modules.member.query.VipPromoCodeQuery;
- import com.sqx.modules.member.query.VipPromoRecordQuery;
- import com.sqx.modules.member.service.VipPromoCodeService;
- import com.sqx.modules.member.service.VipPromoRecordService;
- import com.sqx.modules.utils.PromotionCodeUtil;
- import io.swagger.annotations.Api;
- import io.swagger.annotations.ApiOperation;
- import io.swagger.annotations.ApiParam;
- import lombok.RequiredArgsConstructor;
- import org.springframework.web.bind.annotation.DeleteMapping;
- import org.springframework.web.bind.annotation.GetMapping;
- import org.springframework.web.bind.annotation.PostMapping;
- import org.springframework.web.bind.annotation.PutMapping;
- import org.springframework.web.bind.annotation.RequestBody;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RestController;
- import javax.validation.Valid;
- import java.util.Arrays;
- @Api(tags = "会员推广管理")
- @RestController
- @RequestMapping("vip-promo")
- @RequiredArgsConstructor
- public class VipPromoCodeController{
-
- private final VipPromoCodeService vipPromoCodeService;
- private final VipPromoRecordService vipPromoRecordService;
- @GetMapping("pages")
- @ApiOperation("分页查询会员推广码")
- public Result pages(@Valid VipPromoCodeQuery query) {
- PageUtils page = vipPromoCodeService.pages(query);
- return Result.success().put("data", page);
- }
- @GetMapping("generate-promo-code")
- @ApiOperation("生成会员推广码")
- public Result generatePromoCode() {
- String promoCode = PromotionCodeUtil.generatePromotionCode();
- return Result.success().put("data", promoCode);
- }
- @PostMapping
- @ApiOperation("添加会员推广码")
- public Result add(@RequestBody @Valid VipPromoCodeDTO dto) {
- vipPromoCodeService.save(dto);
- return Result.success();
- }
- @PutMapping
- @ApiOperation("修改会员推广码")
- public Result update(@RequestBody @Valid VipPromoCodeDTO dto) {
- if (ObjectUtil.isNull(dto.getId())) {
- throw new SqxException("id不能为空");
- }
- vipPromoCodeService.update(dto);
- return Result.success();
- }
- @DeleteMapping
- @ApiOperation("删除会员推广码")
- public Result delete(@RequestBody @ApiParam("id的集合") Long[] ids) {
- vipPromoCodeService.removeByIds(Arrays.asList(ids));
- return Result.success();
- }
- @GetMapping("record/pages")
- @ApiOperation("分页查询会员推广记录")
- public Result recordPages(@Valid VipPromoRecordQuery query) {
- PageUtils page = vipPromoRecordService.pages(query);
- return Result.success().put("data", page);
- }
- @GetMapping("record/export")
- @ApiOperation("导出会员推广记录")
- public void recordExport(@Valid VipPromoRecordQuery query) {
- vipPromoRecordService.recordExport(query);
- }
- }
|