package com.mzl.flower.web.v2.coupon; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.mzl.flower.base.BaseController; import com.mzl.flower.base.R; import com.mzl.flower.base.ReturnDataDTO; import com.mzl.flower.config.security.SecurityUtils; import com.mzl.flower.dto.request.coupon.QueryActivityEffectCouponDTO; import com.mzl.flower.dto.request.coupon.QueryMineCouponRecordDTO; import com.mzl.flower.dto.response.coupon.CouponTemplateAppVO; import com.mzl.flower.dto.response.coupon.CouponTemplateVO; import com.mzl.flower.enums.CouponCategoryEnum; import com.mzl.flower.enums.CouponGetTypeEnum; import com.mzl.flower.enums.CouponStatusEnum; import com.mzl.flower.enums.CouponUsedStatusEnum; import com.mzl.flower.service.coupon.CouponRecordService; import com.mzl.flower.service.coupon.CouponTemplateService2; import com.mzl.flower.utils.ConverterUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** * @author @TaoJie * @since 2024-08-22 */ @RestController @RequestMapping("/api/v2/coupon/app") @Api(value = "优惠券管理-小程序", tags = "优惠券管理-小程序") @Validated public class CouponTemplateAppController extends BaseController { @Autowired CouponTemplateService2 couponTemplateService; @Autowired CouponRecordService couponRecordService; @GetMapping("/home/list") @ApiOperation(value = "查询-首页弹框", notes = "查询-首页弹框") public ResponseEntity>> homeList(QueryActivityEffectCouponDTO dto) { // 活动优惠券 dto.setCategory(CouponCategoryEnum.ACTIVITY.getStatus()); // 已经发布 dto.setStatus(CouponStatusEnum.ACTIVE.getStatus()); // 首页弹窗 dto.setGetType(CouponGetTypeEnum.HOME.getType()); return returnData(R.SUCCESS.getCode(), ConverterUtil.transList(couponTemplateService.getActivityEffectList(dto), CouponTemplateAppVO.class)); } @GetMapping("/activy/list") @ApiOperation(value = "查询-活动入口", notes = "查询-活动入口") public ResponseEntity>> activyList(QueryActivityEffectCouponDTO dto) { // 活动优惠券 dto.setCategory(CouponCategoryEnum.ACTIVITY.getStatus()); // 已经发布 dto.setStatus(CouponStatusEnum.ACTIVE.getStatus()); // 活动入口 dto.setGetType(CouponGetTypeEnum.ACTIVITY.getType()); return returnData(R.SUCCESS.getCode(), ConverterUtil.transList(couponTemplateService.getActivityEffectList(dto), CouponTemplateAppVO.class)); } @GetMapping("/center/list") @ApiOperation(value = "查询-领券中心", notes = "查询-领券中心") public ResponseEntity>> centerList(QueryActivityEffectCouponDTO dto) { // 活动优惠券 dto.setCategory(CouponCategoryEnum.ACTIVITY.getStatus()); // 已经发布 dto.setStatus(CouponStatusEnum.ACTIVE.getStatus()); // 首页弹窗 dto.setGetType(CouponGetTypeEnum.CENTER.getType()); return returnData(R.SUCCESS.getCode(), ConverterUtil.transList(couponTemplateService.getActivityEffectList(dto), CouponTemplateAppVO.class)); } @GetMapping("/mine/unused/list") @ApiOperation(value = "我的优惠券-未使用", notes = "我的优惠券-未使用") public ResponseEntity>> unusedList(QueryMineCouponRecordDTO dto) { // 未使用 dto.setStatus(CouponUsedStatusEnum.UNUSED.getType()); dto.setUserId(SecurityUtils.getUserId()); return returnData(R.SUCCESS.getCode(), ConverterUtil.transList(couponRecordService.getMineCouponRecordList(dto), CouponTemplateAppVO.class)); } @GetMapping("/mine/used/list") @ApiOperation(value = "我的优惠券-已使用", notes = "我的优惠券-已使用") public ResponseEntity>> usedList(QueryMineCouponRecordDTO dto) { // 已使用 dto.setStatus(CouponUsedStatusEnum.USED.getType()); dto.setUserId(SecurityUtils.getUserId()); return returnData(R.SUCCESS.getCode(), ConverterUtil.transList(couponRecordService.getMineCouponRecordList(dto), CouponTemplateAppVO.class)); } @GetMapping("/mine/expired/list") @ApiOperation(value = "我的优惠券-已过期", notes = "我的优惠券-已过期") public ResponseEntity>> expiredList(QueryMineCouponRecordDTO dto) { // 已过期 dto.setStatus(CouponUsedStatusEnum.EXPIRED.getType()); dto.setUserId(SecurityUtils.getUserId()); return returnData(R.SUCCESS.getCode(), ConverterUtil.transList(couponRecordService.getMineCouponRecordList(dto), CouponTemplateAppVO.class)); } }