From 6d3fecc1c81b46edb4e7309596939bf1fbc14494 Mon Sep 17 00:00:00 2001 From: Jerry Yan <792602257@qq.com> Date: Wed, 17 Sep 2025 15:38:46 +0800 Subject: [PATCH] =?UTF-8?q?feat(AppClaimController):=20=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E4=BC=98=E6=83=A0=E5=88=B8=E9=A2=86=E5=8F=96=E7=BB=93=E6=9E=9C?= =?UTF-8?q?=E5=B1=95=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 ClaimResp 中添加 couponType 字段,用于展示优惠券类型 -根据 CouponType 枚举值,设置不同的优惠券类型描述- 优化折扣优惠券和满减优惠券的描述生成逻辑- 保留原有的通用优惠券描述配置 --- .../controller/mobile/AppClaimController.java | 22 +++++++++++++++++++ .../basic/model/mobile/claim/ClaimResp.java | 1 + 2 files changed, 23 insertions(+) diff --git a/src/main/java/com/ycwl/basic/controller/mobile/AppClaimController.java b/src/main/java/com/ycwl/basic/controller/mobile/AppClaimController.java index 46947e02..c4302dd0 100644 --- a/src/main/java/com/ycwl/basic/controller/mobile/AppClaimController.java +++ b/src/main/java/com/ycwl/basic/controller/mobile/AppClaimController.java @@ -7,6 +7,7 @@ import com.ycwl.basic.pricing.dto.CouponClaimRequest; import com.ycwl.basic.pricing.dto.CouponClaimResult; import com.ycwl.basic.pricing.dto.req.VoucherPrintReq; import com.ycwl.basic.pricing.dto.resp.VoucherPrintResp; +import com.ycwl.basic.pricing.enums.CouponType; import com.ycwl.basic.pricing.service.ICouponService; import com.ycwl.basic.pricing.service.VoucherPrintService; import com.ycwl.basic.repository.FaceRepository; @@ -19,6 +20,9 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.math.BigDecimal; +import java.math.RoundingMode; + @RestController @RequestMapping("/api/mobile/claim/v1") @AllArgsConstructor @@ -80,6 +84,24 @@ public class AppClaimController { if (claimResult.isSuccess()) { // 领到了 claimResp.setHasCoupon(true); + switch (claimResult.getCoupon().getCouponType()) { + case CouponType.PERCENTAGE: + claimResp.setCouponType("折扣优惠券"); + claimResp.setCouponDesc("打" + (BigDecimal.valueOf(1).setScale(2, RoundingMode.HALF_UP).subtract(claimResult.getCoupon().getDiscountValue())).multiply(BigDecimal.valueOf(10)) + "折"); + break; + case CouponType.FIXED_AMOUNT: + if (claimResult.getCoupon().getMinAmount().compareTo(BigDecimal.ZERO) > 0) { + claimResp.setCouponType("满减优惠券"); + claimResp.setCouponDesc("满" + claimResult.getCoupon().getMinAmount() + "减" + claimResult.getCoupon().getDiscountValue()); + } else { + claimResp.setCouponType("直减优惠券"); + claimResp.setCouponDesc("直减" + claimResult.getCoupon().getDiscountValue()); + } + break; + default: + claimResp.setCouponType("普通优惠券"); + break; + } claimResp.setCouponDesc(scenicConfig.getString("coupon_desc_for_type_" + req.getType(), "专属折扣券")); claimResp.setCouponCountdown(scenicConfig.getString("coupon_countdown_for_type_" + req.getType(), "送你优惠,保存美好!")); return ApiResponse.success(claimResp); diff --git a/src/main/java/com/ycwl/basic/model/mobile/claim/ClaimResp.java b/src/main/java/com/ycwl/basic/model/mobile/claim/ClaimResp.java index 8fb772fe..d65f12b4 100644 --- a/src/main/java/com/ycwl/basic/model/mobile/claim/ClaimResp.java +++ b/src/main/java/com/ycwl/basic/model/mobile/claim/ClaimResp.java @@ -8,6 +8,7 @@ public class ClaimResp { private String printType; private String printCode; private Boolean hasCoupon; + private String couponType; private String couponDesc; private String couponCountdown; }