Переглянути джерело

fix 优惠券有效小时功能

zoujiajian 3 роки тому
батько
коміт
891ce05226

+ 2 - 0
netflix-dao/src/main/java/com/cyksj/model/dto/CouponPopularizeDto.java

@@ -61,6 +61,8 @@ public class CouponPopularizeDto {
 
 	private Integer validDays;
 
+	private Integer validHours;
+
 	private Boolean isValidTime;
 
 	private Date validStartTime;

+ 3 - 0
netflix-dao/src/main/java/com/cyksj/model/views/CouponActiveView.java

@@ -116,6 +116,9 @@ public class CouponActiveView {
 	@DbField("c.valid_days")
 	private Integer validDays;
 
+	@DbField("c.valid_hours")
+	private Integer validHours;
+
 	/**
 	 * 使用范围
 	 */

+ 3 - 0
netflix-dao/src/main/java/com/cyksj/model/views/CouponRecommendView.java

@@ -127,6 +127,9 @@ public class CouponRecommendView {
 	@DbField("c.valid_days")
 	private Integer validDays;
 
+	@DbField("c.valid_hours")
+	private Integer validHours;
+
 	/**
 	 * 使用范围
 	 */

+ 3 - 0
netflix-dao/src/main/java/com/cyksj/model/views/CouponUserView.java

@@ -128,6 +128,9 @@ public class CouponUserView {
 	@DbField("c.valid_days")
 	private Integer validDays;
 
+	@DbField("c.valid_hours")
+	private Integer validHours;
+
 	/**
 	 * 截止有效时间
 	 */

+ 1 - 0
netflix-dao/src/main/resources/mapper/CouponMapper.xml

@@ -19,6 +19,7 @@
                cp.reduce_condition,
                cp.discount,
                cp.valid_days,
+               cp.valid_hours,
                cp.valid_start_time,
                cp.valid_end_time,
                cp.is_valid_time

+ 1 - 0
netflix-dao/src/main/resources/mapper/CouponRecommendMapper.xml

@@ -17,6 +17,7 @@
         cu.valid_start_time as userValidStartTime,
         cu.valid_end_time as userValidEndTime,
         c.valid_days,
+        c.valid_hours,
         c.is_renew,
         c.scope,
         (case

+ 3 - 0
netflix-dao/src/main/resources/mapper/CouponUserMapper.xml

@@ -17,6 +17,7 @@
         cu.valid_start_time,
         cu.valid_end_time,
         cp.valid_days,
+        cp.valid_hours,
         cp.use_scope,
         cu.created_time,
         cu.status as couponUserStatus,
@@ -104,6 +105,7 @@
                      c.valid_start_time,
                      c.valid_end_time,
                      c.valid_days,
+                     c.valid_hours,
                      ca.num,
                      ca.`status`,
                      ca.expiry_status,
@@ -152,6 +154,7 @@
                c.is_valid_time,
                cu.valid_start_time,
                c.valid_days,
+               c.valid_hours,
                cu.valid_end_time,
                (case
                     when cu.status = 'used' then 'used'

+ 8 - 4
netflix-service/src/main/java/com/cyksj/service/coupon/impl/CouponFontServiceImpl.java

@@ -260,14 +260,18 @@ public class CouponFontServiceImpl implements CouponFontService {
 	@Override
 	public void updateCouponUserValidTime(Long couponId, CouponUser couponUser) {
 		Coupon entity = couponMapper.getCouponById(couponId);
-		Optional.ofNullable(entity).ifPresent(coupon->{
+		Optional.ofNullable(entity).ifPresent(coupon -> {
 			if (coupon.getIsValidTime()) {
 				couponUser.setValidStartTime(coupon.getValidStartTime());
 				couponUser.setValidEndTime(coupon.getValidEndTime());
-			} else {
-				couponUser.setValidStartTime(DateTime.now());
-				couponUser.setValidEndTime(DateUtil.offsetDay(couponUser.getValidStartTime(), coupon.getValidDays()));
+				return;
 			}
+			couponUser.setValidStartTime(DateTime.now());
+			if (coupon.getValidHours() > 0) {
+				couponUser.setValidEndTime(DateUtil.offsetDay(couponUser.getValidStartTime(), coupon.getValidHours()));
+				return;
+			}
+			couponUser.setValidEndTime(DateUtil.offsetDay(couponUser.getValidStartTime(), coupon.getValidDays()));
 		});
 	}