diff --git a/mallinkService/src/main/java/com/simple/enums/EnumCouponType.java b/mallinkService/src/main/java/com/simple/enums/EnumCouponType.java new file mode 100644 index 000000000..9f76e0e56 --- /dev/null +++ b/mallinkService/src/main/java/com/simple/enums/EnumCouponType.java @@ -0,0 +1,40 @@ +package com.simple.enums; + +/** + * Created by Stormeye on 2018/08/09. + */ +public enum EnumCouponType { + + // 1.满减券,2.代金券,3.团购券,4.礼品券,5.停车券 + COUPON_MANJIAN(1, "满减券"), + COUPON_DAIJIN(2, "代金券"), + COUPON_TUANGOU(3, "团购券"), + COUPON_LIPIN(4, "礼品券"), + COUPON_TINGCHE(5, "停车券"), + ; + + public static EnumCouponType getEnum(Integer code) { + for (EnumCouponType value : values()) { + if (value.getCode().equals(code)) { + return value; + } + } + return null; + } + + private Integer code; + private String message; + + EnumCouponType(Integer code, String message) { + this.code = code; + this.message = message; + } + + public Integer getCode() { + return code; + } + + public String getMessage() { + return message; + } +} diff --git a/mallinkService/src/main/java/com/simple/service/impl/WxOrderServiceImpl.java b/mallinkService/src/main/java/com/simple/service/impl/WxOrderServiceImpl.java index 4e70a709f..8df2b699f 100644 --- a/mallinkService/src/main/java/com/simple/service/impl/WxOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/simple/service/impl/WxOrderServiceImpl.java @@ -20,6 +20,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; +import java.util.Calendar; import java.util.Date; import java.util.List; @@ -259,9 +260,19 @@ public class WxOrderServiceImpl implements WxOrderService { */ private void createCouponOrder(WxCUser user, WxOrder order, WxCoupon coupon) { Date curr = new Date(); - Date valid_date = (coupon.getValidType() == EnumValidStatus.VALID_RANGE.getCode()) ? - coupon.getValidEndDate() : - new Date((curr.getTime() / 1000 + coupon.getValidDays() * 24 * 60 * 60) * 1000); + Date valid_date = null; + if (coupon.getValidType() == EnumValidStatus.VALID_RANGE.getCode()) + valid_date = coupon.getValidEndDate(); + else { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(curr); + // 普通券精确到天 + calendar.set(Calendar.HOUR_OF_DAY, 0); + calendar.set(Calendar.MINUTE, 0); + calendar.set(Calendar.SECOND, 0); + Date zero = calendar.getTime(); + valid_date = new Date(zero.getTime() + (coupon.getValidDays()+1) * 24 * 60 * 60 * 1000); + } final IdWorker idWorker = IdWorker.get(); WxCouponOrder couponOrder = new WxCouponOrder();