From d88c167fc5973a2c15ff1539e4cdab36e4a7842c Mon Sep 17 00:00:00 2001 From: yujian <yujian@123.com> Date: 星期三, 28 八月 2019 14:47:15 +0800 Subject: [PATCH] 奖励券使用区分订单下单三方日期 --- fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserSystemCouponServiceImpl.java | 126 ++++++++++++++++++++++++++++++++++++----- 1 files changed, 109 insertions(+), 17 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 8f11e8e..43f8117 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 @@ -185,6 +185,11 @@ } @Override + public long countCouponOld(Long uid) { + return userSystemCouponMapper.countCouponOld(uid); + } + + @Override public long countUserCouponList(Long uid) { return userSystemCouponMapper.countUserCouponList(uid); } @@ -308,7 +313,7 @@ // 閫�鍥炲埜 sendBackTimeOutCoupon(uid); - List<UserSystemCouponVO> listVO = userSystemCouponMapper.getUserCouponVOList(start, count, uid); + List<UserSystemCouponVO> listVO = userSystemCouponMapper.getCouponListOld(start, count, uid); if (listVO == null || listVO.size() == 0) { return listVO; } @@ -1834,11 +1839,12 @@ // 鍙娇鐢ㄣ�� 鍙禒閫� userCouponVO.setState(UserSystemCoupon.STATE_USE_GIVE); - // 杩斿埄濂栧姳鍒�- 璺宠浆鑷宠鍗曞埌璐︾晫闈� + // 杩斿埄濂栧姳鍒�- 璺宠浆鑷冲凡鍒拌处-宸叉敹璐� jumpLink.put("state", "2"); + jumpLink.put("type", "1"); jumpBtn = new HashMap<String, Object>(); jumpBtn.put("params", jumpLink); - jumpBtn.put("jumpDetail", jumpDetailV2Service.getByTypeCache("orderList")); + jumpBtn.put("jumpDetail", jumpDetailV2Service.getByTypeCache("order_screen_list")); } } else if (UserSystemCoupon.STATE_IN_USE == state && give) { userCouponVO.setCouponEffect("璧犻�佷腑"); @@ -2122,13 +2128,17 @@ if (systemCoupon == null) continue; + String couponName = systemCoupon.getName(); + if (CouponTypeEnum.freeCouponGive == systemCoupon.getType()) + couponName = "鍏嶅崟鍒�"; + // 閫�鍥炴秷鎭� String beiZhu = "璇峰埌鎴戠殑-绂忓埄涓績鏌ョ湅"; SimpleDateFormat sd = new SimpleDateFormat("yyyy.MM.dd HH:mm"); MsgOtherGiveContentDTO msgOther = new MsgOtherGiveContentDTO(); msgOther.setType(MsgOtherGiveContentDTO.TYEP_COUPON); - msgOther.setTitle("璧犻��" + systemCoupon.getName() + "閫�鍥�"); - msgOther.setGiveType("浣犺禒閫佺殑"+ systemCoupon.getName() + "鏈鎴愬姛棰嗗彇"); + msgOther.setTitle("璧犻��" + couponName + "閫�鍥�"); + msgOther.setGiveType("浣犺禒閫佺殑"+ couponName + "鏈鎴愬姛棰嗗彇"); msgOther.setGiveTime(sd.format(record.getGiveTime())); msgOther.setReturnTime(sd.format(new Date())); userOtherMsgNotificationService.tokenGiveMsg(record.getGiveUid(), beiZhu, msgOther); @@ -2136,17 +2146,99 @@ } -// @Override -// public boolean countIncludeExchange(Long uid) { -// -// -// } -// -// -// @Override -// public boolean countNotIncludeExchange(Long uid) { -// -// -// } + @Override + public boolean getIncludeExchange(Long uid) { + String percent = configService.get("exchange_rebate_percent"); + if (StringUtil.isNullOrEmpty(percent)) + percent = "35"; + List<UserSystemCoupon> listCoupon = userSystemCouponMapper.getIncludeExchange(uid, Integer.parseInt(percent), CouponTypeEnum.rebatePercentCoupon.name()); + if (listCoupon == null || listCoupon.size() == 0) + return false; + return true; + } + + + @Override + public boolean getIncludeNotExchange(Long uid) { + String percent = configService.get("exchange_rebate_percent"); + if (StringUtil.isNullOrEmpty(percent)) + percent = "35"; + List<UserSystemCouponVO> listCoupon = userSystemCouponMapper.getIncludeNotExchange(uid, Integer.parseInt(percent), CouponTypeEnum.rebatePercentCoupon.name()); + if (listCoupon == null || listCoupon.size() == 0) + return false; + return true; + } + + @Override + public List<UserSystemCouponVO> listIncludeNotExchange(Long uid) throws Exception{ + sendBackTimeOutCoupon(uid); + + String percent = configService.get("exchange_rebate_percent"); + if (StringUtil.isNullOrEmpty(percent)) + percent = "35"; + + List<UserSystemCouponVO> listCoupon = userSystemCouponMapper.getIncludeNotExchange(uid, Integer.parseInt(percent), CouponTypeEnum.rebatePercentCoupon.name()); + if (listCoupon == null || listCoupon.size() == 0) + return null; + + for (UserSystemCouponVO userCouponVO : listCoupon) { + String source = userCouponVO.getSource(); + if (source != null && "濂栧姳鍒稿ぉ澶╂娊".equals(source)) { + source = "澶╁ぉ鎶�"; + } + + SystemCoupon systemCoupon = userCouponVO.getSystemCoupon(); + if (systemCoupon == null) { + continue; // 鍒镐俊鎭笉瀹屾暣 + } + + systemCoupon = systemCouponService.selectByPrimaryKey(systemCoupon.getId()); + + userCouponVO.setSource("鏉ユ簮锛�" + source); + userCouponVO.setCouponName(systemCoupon.getName()); + userCouponVO.setCouponEffect(systemCoupon.getEffect()); + userCouponVO.setCouponRule(systemCoupon.getRule()); + userCouponVO.setCouponRuleLink(systemCoupon.getRuleLink()); + userCouponVO.setCouponPicture(systemCoupon.getPicture()); + userCouponVO.setCouponPictureInvalid(systemCoupon.getPictureInvalid()); + + int differentDays = 0; + String couponTerm = "鏈夋晥鏈燂細"; + Date startTime = userCouponVO.getStartTime(); + Date endTime = userCouponVO.getEndTime(); + if (endTime != null && startTime != null) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd"); + couponTerm = couponTerm + sdf.format(startTime) + "-" + sdf.format(endTime); + + SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd"); + differentDays = DateUtil.daysBetween(sdf2.format(new Date()), sdf2.format(endTime)) + 1; + if (differentDays < 0) { + differentDays = 0; + } + } + userCouponVO.setCouponTerm(couponTerm); + + // 鍓╀綑澶╂暟 + Map<String, Object> remainDays = new HashMap<String, Object>(); + remainDays.put("content", "杩樺墿" + differentDays + "澶╄繃鏈�"); + String remainDaysFontColor = ""; + + Integer stateActivated = userCouponVO.getStateActivated(); + if (stateActivated == null || stateActivated == 0) { + userCouponVO.setState(0); + userCouponVO.setCouponEffect("寰呮縺娲�"); + userCouponVO.setCouponPicture(systemCoupon.getPictureInvalid()); + remainDaysFontColor = "#CCCCCC"; + } else { + userCouponVO.setCouponPicture(systemCoupon.getPicture()); + remainDaysFontColor = "#F14242"; + } + + remainDays.put("fontColor", remainDaysFontColor); + userCouponVO.setRemainDays(remainDays); + } + + return listCoupon; + } } -- Gitblit v1.8.0