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