From 8c04d27e5cebb7e654c208533e9567c4df2c8acc Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期四, 12 十二月 2019 14:21:44 +0800 Subject: [PATCH] 券时间限制 --- fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserSystemCouponServiceImpl.java | 71 ++++++++++++++++++----------------- 1 files changed, 37 insertions(+), 34 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserSystemCouponServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserSystemCouponServiceImpl.java index 2e388ee..88a12ab 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserSystemCouponServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserSystemCouponServiceImpl.java @@ -739,7 +739,7 @@ return userSystemCouponMapper.countUsableByUid(uid, listCouponId); } - @Transactional + @Transactional(rollbackFor = Exception.class) @Override public void useGoodsCoupon(Long uid, Long id, Long goodId, Integer sourceType) throws UserSystemCouponException, Exception { @@ -816,7 +816,7 @@ } - @Transactional + @Transactional(rollbackFor = Exception.class) @Override public void useOrderCoupon(Long uid, Long id, String orderNo, Integer sourceType, AcceptData acceptData) throws UserSystemCouponException, Exception { @@ -869,43 +869,46 @@ throw new UserSystemCouponException(1, "浜诧紝寰堥仐鎲撅紝鍞悗缁存潈璁㈠崟涓嶈兘浣跨敤杩斿埄濂栧姳鍒竳"); } + // 璁㈠崟 - CommonOrderVO orderVO = commonOrderService.getCommonOrderByOrderNo(uid, orderNo, CommonOrder.STATE_JS, - sourceType); - if (orderVO == null) - throw new UserSystemCouponException(1, "璁㈠崟淇℃伅鑾峰彇澶辫触"); + List<CommonOrderVO> listVo = commonOrderService.listGroupOrderNoByUid(0, 1, uid, 2, 1,1, orderNo, null, + null, null, sourceType); + if (listVo == null || listVo.size() == 0) + throw new UserSystemCouponException(1, "浜诧紝寰堥仐鎲撅紝璇ヨ鍗曞凡涓嶈兘浣跨敤杩斿埄濂栧姳鍒竳"); + + CommonOrderVO orderVO = listVo.get(0); + + // 2.1鏂扮増 + Date thirdCreateTime = orderVO.getThirdCreateTime(); + Date accountTime = orderVO.getAccountTime(); + if (thirdCreateTime == null || accountTime == null) + throw new UserSystemCouponException(1, "璇ヨ鍗曚笉鑳戒娇鐢ㄥ鍔卞埜"); + + long downOrderTime = thirdCreateTime.getTime(); + long limitDate = TimeUtil.parse(Constant.COUPON_REWARD_TIME).getTime(); + if (downOrderTime > limitDate) { + boolean valid = false; + Date endDay = DateUtil.plusDayDate(Constant.COUPON_REWARD_LIMIT_DAY, accountTime); + long currentTime = java.lang.System.currentTimeMillis(); + if (endDay.getTime() > currentTime) { + DateInfo dateInfo = DateUtil.dateDiff3(currentTime, endDay.getTime()); + if (dateInfo != null) { + if (dateInfo.getDay() > 0) + valid = true; - // 鐗堟湰鍖哄垎锛�2.1 - if (VersionUtil.greaterThan_2_1(acceptData.getPlatform(), acceptData.getVersion())) { - Date thirdCreateTime = orderVO.getThirdCreateTime(); - if (thirdCreateTime != null) { - long downOrderTime = thirdCreateTime.getTime(); - long limitDate = TimeUtil.parse(Constant.COUPON_REWARD_TIME).getTime(); - if (downOrderTime > limitDate) { - Date endDay = DateUtil.plusDayDate(4, thirdCreateTime); - long currentTime = java.lang.System.currentTimeMillis(); - if (endDay.getTime() > currentTime) { - boolean valid = false; - DateInfo dateInfo = DateUtil.dateDiff3(currentTime, endDay.getTime()); - if (dateInfo != null) { - if (dateInfo.getDay() > 0) - valid = true; + if (!valid && dateInfo.getHour() > 0) + valid = true; - if (!valid && dateInfo.getHour() > 0) - valid = true; + if (!valid && dateInfo.getMinute() > 0) + valid = true; - if (!valid && dateInfo.getMinute() > 0) - valid = true; - - if (!valid && dateInfo.getSecond() > 0) - valid = true; - } - - if (!valid) - throw new UserSystemCouponException(1, "璇ヨ鍗曞凡瓒呰繃鏈夋晥浣跨敤濂栧姳鍒告椂闂�"); - } + if (!valid && dateInfo.getSecond() > 0) + valid = true; } } + + if (!valid) + throw new UserSystemCouponException(1, "璇ヨ鍗曚笉鑳戒娇鐢ㄥ鍔卞埜"); } BigDecimal hongBao = orderVO.getHongBao(); @@ -2017,7 +2020,7 @@ return listVO; } - @Transactional + @Transactional(rollbackFor = Exception.class) @Override public UserSystemCouponVO giveCoupon(Long uid, Long id) throws UserSystemCouponException { UserSystemCoupon userSystemCoupon = userSystemCouponMapper.selectByPrimaryKey(id); -- Gitblit v1.8.0