zoujiajian 1 سال پیش
والد
کامیت
41bc1ba587

+ 11 - 0
netflix-dao/src/main/java/com/cyksj/model/views/CouponDistributePopularizeDetailView.java

@@ -2,9 +2,12 @@ package com.cyksj.model.views;
 
 import com.ejlchina.searcher.bean.DbField;
 import com.ejlchina.searcher.bean.SearchBean;
+import com.fasterxml.jackson.annotation.JsonIgnore;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.util.Date;
+
 /**
  * 项目名: yhlxj
  * 文件名: CouponDistributePopularizeDetailView
@@ -47,4 +50,12 @@ public class CouponDistributePopularizeDetailView {
 	 */
 	@DbField("cp.ex_code")
 	private String exCode;
+
+	@DbField("c.valid_start_time")
+	@JsonIgnore
+	private Date validStartTime;
+
+	@DbField("c.valid_end_time")
+	@JsonIgnore
+	private Date validEndTime;
 }

+ 9 - 2
netflix-service/src/main/java/com/cyksj/service/cps/impl/CpsManageServiceImpl.java

@@ -196,9 +196,16 @@ public class CpsManageServiceImpl implements CpsManageService {
 				throw BusinessRuntimeException.getInstance("优惠码:{0}已存在", exCode);
 			}
 			if (data.getId() != null) {
-				couponDistributePopularizeMapper.updateById(data);
+//				couponDistributePopularizeMapper.updateById(data);
 			} else {
-				couponDistributePopularizeMapper.insert(data);
+				Long couponId = data.getCouponId();
+				Integer selectCount = couponDistributePopularizeMapper.selectCount(Wrappers.lambdaQuery(CouponDistributePopularize.class)
+						.eq(CouponDistributePopularize::getDistributeId, distributeId)
+						.eq(CouponDistributePopularize::getCouponId, couponId)
+						.eq(CouponDistributePopularize::getDeleted, true));
+				if (selectCount == 0) {
+					couponDistributePopularizeMapper.insert(data);
+				}
 			}
 		});
 	}

+ 13 - 0
netflix-web/src/main/java/com/cyksj/web/controller/cps/CpsDistribtueDataController.java

@@ -27,6 +27,7 @@ import org.springframework.web.bind.annotation.*;
 import javax.servlet.http.HttpServletRequest;
 import java.math.BigDecimal;
 import java.math.RoundingMode;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 import java.util.Optional;
@@ -245,7 +246,19 @@ public class CpsDistribtueDataController {
 			show_coupon_ids = List.of(0l);
 		}
 		builder.field(CouponDistributePopularizeDetailView::getCouponId, show_coupon_ids).op(Operator.InList);
+		DateTime now = DateTime.now();
 		List<CouponDistributePopularizeDetailView> couponDistributePopularizeDetailViews = beanSearcher.searchAll(CouponDistributePopularizeDetailView.class, builder.field(CouponDistributePopularizeDetailView::getDistributeId, userDistribute.getId()).build());
+		couponDistributePopularizeDetailViews = couponDistributePopularizeDetailViews.stream().filter(c -> {
+			if (c.getValidStartTime() != null) {
+				Date validStartTime = c.getValidStartTime();
+				Date validEndTime = c.getValidEndTime();
+				if (validStartTime.compareTo(now) <= 0 && validEndTime.compareTo(now) >= 0) {
+					return true;
+				}
+				return false;
+			}
+			return true;
+		}).collect(Collectors.toList());
 		return GatewayResponse.SUCCESS.newBuilder().toResult(couponDistributePopularizeDetailViews);
 	}