zoujiajian 1 year ago
parent
commit
3a091da552

+ 122 - 0
netflix-dao/src/main/java/com/cyksj/model/views/CouponDetailView.java

@@ -0,0 +1,122 @@
+package com.cyksj.model.views;
+
+import com.cyksj.model.entity.Coupon;
+import com.ejlchina.searcher.bean.DbField;
+import com.ejlchina.searcher.bean.DbIgnore;
+import com.ejlchina.searcher.bean.SearchBean;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 项目名: yhlxj2
+ * 文件名: CouponDetailView
+ * 创建者: JavaZou
+ * 创建时间:2025/3/17 14:06
+ */
+@Getter
+@Setter
+@SearchBean(tables = "(select id,name from coupon where deleted is true :cid:) c inner join coupon_user cu on cu.coupon_id = c.id inner join user u on u.id = cu.user_id")
+public class CouponDetailView {
+	/**
+	 * 优惠券id
+	 */
+	@DbField("c.id")
+	private Long couponId;
+
+	/**
+	 * 优惠券名称
+	 */
+	@DbField("c.name")
+	private String name;
+
+	@DbField("cc.id")
+	private Long classificationId;
+
+	@DbField("cc.name")
+	private String couponClassificationName;
+
+	/**
+	 * 优惠券平台类型
+	 */
+	@DbField("c.goods_type")
+	private Coupon.GoodsType goodsType;
+
+	/**
+	 * 优惠券类型
+	 */
+	@DbField("c.type")
+	private Coupon.Type type;
+
+	/**
+	 * 可用满减卷金额条件
+	 */
+	@DbField("c.reduce_condition")
+	private BigDecimal reduceCondition;
+
+	/**
+	 * 抵扣金额
+	 */
+	@DbField("c.reduce_money")
+	private BigDecimal reduceMoney;
+
+	/**
+	 * 折扣
+	 */
+	@DbField("c.discount")
+	private BigDecimal discount;
+
+	/**
+	 * 领取人范围
+	 */
+	@DbField("c.scope")
+	private Coupon.Scope scope;
+
+	/**
+	 * 平台规格集合
+	 */
+	@DbField("c.goods_sku_ids")
+	private String goodsSkuIds;
+
+	@DbIgnore
+	private String goodsSkuStr;
+
+	@DbIgnore
+	private List<GoodsDonSkuView> skuViewList;
+
+	/**
+	 * 是否是有效时间
+	 */
+	@DbField("c.is_valid_time")
+	private Boolean isValidTime;
+
+	/**
+	 * 起始有效时间
+	 */
+	@DbField("c.valid_start_time")
+	private Date validStartTime;
+
+	/**
+	 * 截止有效时间
+	 */
+	@DbField("c.valid_end_time")
+	private Date validEndTime;
+
+	/**
+	 * 领取有效天数
+	 */
+	@DbField("c.valid_days")
+	private Integer validDays;
+
+	@DbField("c.valid_hours")
+	private Integer validHours;
+
+	/**
+	 * 使用范围
+	 */
+	@DbField("c.use_scope")
+	private Coupon.UseScope useScope;
+}

+ 20 - 0
netflix-web/src/main/java/com/cyksj/web/controller/coupon/CouponFrontController.java

@@ -31,6 +31,7 @@ import lombok.RequiredArgsConstructor;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
+import javax.servlet.http.HttpServletRequest;
 import java.math.BigDecimal;
 import java.util.List;
 import java.util.stream.Collectors;
@@ -65,6 +66,8 @@ public class CouponFrontController {
 
 	private final UserMapper userMapper;
 
+	private final HttpServletRequest request;
+
 	/**
 	 * 优惠券领取中心列表
 	 */
@@ -380,4 +383,21 @@ public class CouponFrontController {
 		CouponUserView couponUserView = couponFontService.receiveCoupon(userId, couponId);
 		return GatewayResponse.SUCCESS.newBuilder().toResult(couponUserView);
 	}
+
+	/**
+	 * 优惠券详情
+	 */
+	@GetMapping("/get/coupon/detail/{couponId}")
+	public Result<CouponDetailView> getCouponDetail(@PathVariable Long couponId) {
+		CouponDetailView couponDetailView = beanSearcher.searchFirst(CouponDetailView.class, MapUtils.flatBuilder(request.getParameterMap()).field(CouponDetailView::getCouponId, couponId).build());
+		String str = couponSkuMapper.selectGoodsSkuStr(couponDetailView.getCouponId());
+		couponDetailView.setGoodsSkuStr(str.replaceAll(",", "/").replaceAll(";", ""));
+		List<CouponSkuView> couponSkus = couponSkuMapper.getGoodsSkuByCouponId(couponDetailView.getCouponId());
+		try {
+			couponDetailView.setGoodsSkuIds(Jsons.toJson(couponSkus));
+		} catch (Exception e) {
+
+		}
+		return GatewayResponse.SUCCESS.newBuilder().toResult(couponDetailView);
+	}
 }