From a175f201612d0ed5d4cf96c1adebf23f870465ed Mon Sep 17 00:00:00 2001 From: Stormeye Wu Date: Wed, 23 Oct 2019 11:35:57 +0800 Subject: [PATCH] =?UTF-8?q?[=E6=94=B6=E9=93=B6=E5=8F=B0][=E4=BF=AE?= =?UTF-8?q?=E6=94=B9]:=E6=94=B6=E9=93=B6=E5=8F=B0=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E5=88=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../iformall/service/impl/PosServiceImpl.java | 25 +++++++++++++------ .../java/com/iformall/pay/WxPayConstant.java | 1 - .../impl/WxCouponOrderServiceImpl.java | 14 ++++++++--- 3 files changed, 29 insertions(+), 11 deletions(-) diff --git a/mallinkPosApi/src/main/java/com/iformall/service/impl/PosServiceImpl.java b/mallinkPosApi/src/main/java/com/iformall/service/impl/PosServiceImpl.java index a4c4bcbde..0cab81a1e 100644 --- a/mallinkPosApi/src/main/java/com/iformall/service/impl/PosServiceImpl.java +++ b/mallinkPosApi/src/main/java/com/iformall/service/impl/PosServiceImpl.java @@ -535,7 +535,7 @@ public class PosServiceImpl implements PosService { */ private JSONObject oneCouponPay(PromotionCalc promotionCalc, WxCouponOrderCVo couponOrderCVo, Long merchantId, Long buUserId, Long posOrderId, boolean couponSelected) { JSONObject retObj = new JSONObject(); - Date now = new Date(); + Date curDate = new Date(); // 2. 检查券类型 支付可用(1, 2, 6), EnumCouponType couponType = EnumCouponType.getEnum(couponOrderCVo.getCouponType()); @@ -561,17 +561,28 @@ public class PosServiceImpl implements PosService { retObj.put(WxPayConstant.COVER_IMG, couponOrderCVo.getCoverImg()); retObj.put(WxPayConstant.PRICE, couponOrderCVo.getPrice()); retObj.put(WxPayConstant.SALE_PRICE, couponOrderCVo.getSalePrice()); + retObj.put(WxPayConstant.EXPIRE_TIME, mydateFormat.format(couponOrderCVo.getExpiredTime())); if (couponType.equals(EnumCouponType.COUPON_MANJIAN)) { retObj.put(WxPayConstant.USE_PRICE, couponOrderCVo.getUsePrice()); - String des = String.format("%s-满%s元可用,可抵%s元, 过期时间: %s", - couponType.getMessage(), couponOrderCVo.getUsePriceStr(), couponOrderCVo.getPriceStr(), - mydateFormat.format(couponOrderCVo.getExpiredTime())); + String des = String.format("满%s元可用,可抵%s元",couponOrderCVo.getUsePriceStr(), couponOrderCVo.getPriceStr()); retObj.put(WxPayConstant.COUPON_DES, des); + if (promotionCalc.getOrderAmount() < couponOrderCVo.getUsePrice()) { + retObj.put(WxPayConstant.ENABLE, EnumPosEnableType.Disable.getCode()); + } else { + if (curDate.before(couponOrderCVo.getExpiredTime())) { + retObj.put(WxPayConstant.ENABLE, EnumPosEnableType.Enable.getCode()); + } else { + retObj.put(WxPayConstant.ENABLE, EnumPosEnableType.Disable.getCode()); + } + } } else { - String des = String.format("%s-可抵%s元, 过期时间: %s", - couponType.getMessage(), couponOrderCVo.getPriceStr(), - mydateFormat.format(couponOrderCVo.getExpiredTime())); + String des = String.format("可抵%s元", couponOrderCVo.getPriceStr()); retObj.put(WxPayConstant.COUPON_DES, des); + if (curDate.before(couponOrderCVo.getExpiredTime())) { + retObj.put(WxPayConstant.ENABLE, EnumPosEnableType.Enable.getCode()); + } else { + retObj.put(WxPayConstant.ENABLE, EnumPosEnableType.Disable.getCode()); + } } if (couponSelected) { // 5. get coupon diff --git a/mallinkService/src/main/java/com/iformall/pay/WxPayConstant.java b/mallinkService/src/main/java/com/iformall/pay/WxPayConstant.java index 087113564..99d482895 100644 --- a/mallinkService/src/main/java/com/iformall/pay/WxPayConstant.java +++ b/mallinkService/src/main/java/com/iformall/pay/WxPayConstant.java @@ -93,7 +93,6 @@ public class WxPayConstant { public final static String COUPON_TYPE = "coupon_type"; public final static String IS_SELECTED = "is_selected"; public final static String ENABLE = "enable"; - public final static String EXPIRE = "expire"; public final static String COUPON_REFUND_RESULT = "coupon_refund_result"; public final static String COUPON_REFUND_ID = "coupon_refund_id"; diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java index 55685f01d..a4be5dc17 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java @@ -1122,7 +1122,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { retObj.put(WxPayConstant.TITLE, couponOrderCVo.getTitle()); retObj.put(WxPayConstant.COUPON_TYPE, couponType.getMessage()); retObj.put(WxPayConstant.PRICE, couponOrderCVo.getPrice()); - retObj.put(WxPayConstant.EXPIRE, mydateFormat.format(couponOrderCVo.getExpiredTime())); + retObj.put(WxPayConstant.EXPIRE_TIME, mydateFormat.format(couponOrderCVo.getExpiredTime())); if (couponType.equals(EnumCouponType.COUPON_MANJIAN)) { retObj.put(WxPayConstant.USE_PRICE, couponOrderCVo.getUsePrice()); String des = String.format("满%s元可用,可抵%s元", @@ -1131,10 +1131,18 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { if (payPrice < couponOrderCVo.getUsePrice()) { retObj.put(WxPayConstant.ENABLE, EnumPosEnableType.Disable.getCode()); } else { - retObj.put(WxPayConstant.ENABLE, EnumPosEnableType.Enable.getCode()); + if (curDate.before(couponOrderCVo.getExpiredTime())) { + retObj.put(WxPayConstant.ENABLE, EnumPosEnableType.Enable.getCode()); + } else { + retObj.put(WxPayConstant.ENABLE, EnumPosEnableType.Disable.getCode()); + } } } else { - retObj.put(WxPayConstant.ENABLE, EnumPosEnableType.Enable.getCode()); + if (curDate.before(couponOrderCVo.getExpiredTime())) { + retObj.put(WxPayConstant.ENABLE, EnumPosEnableType.Enable.getCode()); + } else { + retObj.put(WxPayConstant.ENABLE, EnumPosEnableType.Disable.getCode()); + } String des = String.format("可抵%s元", couponOrderCVo.getPriceStr()); retObj.put(WxPayConstant.COUPON_DES, des); }