From 89cc8f054c27f70fcfe16f14554a8a12e0c19e23 Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期三, 18 十二月 2019 09:22:31 +0800
Subject: [PATCH] 邀请统计

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java |  514 ++++++++++++++++++++++++++++++---------------------------
 1 files changed, 271 insertions(+), 243 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java
index b4ee853..a6075af 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/CommonOrderServiceImpl.java
@@ -52,6 +52,7 @@
 import com.yeshi.fanli.service.inter.order.HongBaoOrderService;
 import com.yeshi.fanli.service.inter.order.HongBaoV2Service;
 import com.yeshi.fanli.service.inter.order.InviteOrderSubsidyService;
+import com.yeshi.fanli.service.inter.user.UserInfoService;
 import com.yeshi.fanli.service.inter.user.UserSystemCouponRecordService;
 import com.yeshi.fanli.service.inter.user.UserSystemCouponService;
 import com.yeshi.fanli.service.inter.user.vip.UserVIPInfoService;
@@ -121,6 +122,9 @@
 
 	@Resource
 	private UserVIPInfoService userVIPInfoService;
+
+	@Resource
+	private UserInfoService userInfoService;
 
 	// 濂栧姳璁㈠崟鍥剧墖
 	public final static String PIC_REWARD = "http://img.flqapp.com/resource/order/order_state_reward.png";
@@ -199,220 +203,9 @@
 		}
 
 		// 鏁版嵁鍔犲伐閲嶆柊缁勭粐
-		orderInfoFactory(acceptData, listOrder, listGoods, uid);
-		// listDataFactory(acceptData, listOrder, listGoods, uid);
+		orderVOFactory(acceptData, listOrder, listGoods, uid);
+
 		return listOrder;
-	}
-
-	/**
-	 * 璁㈠崟锛� 鍏嶅崟鏍囪瘑 濂栧姳鏍囪瘑
-	 * 
-	 * @param order
-	 * @param hasRewardCoupon
-	 * @param hongBaoState
-	 * @param list
-	 * @param signList
-	 */
-	public void setSystemCouponRecord(CommonOrderVO order, boolean hasRewardCoupon,	Integer hongBaoState,
-			Integer hongBaoType, List<UserSystemCouponRecord> list, List<String> signList,
-			Long uid, AcceptData acceptData) {
-
-		// 鏄惁鍏嶅崟鍟嗗搧
-		boolean freeOrder = false;
-		// 鏄惁濂栧姳鎴愬姛
-		boolean rewardSuccess = false;
-
-		if (list != null && list.size() > 0) {
-			for (UserSystemCouponRecord couponRecord : list) {
-				// 璁㈠崟鍙峰尮閰�
-				if (order.getOrderNo().equals(couponRecord.getOrderNo())) {
-					Integer state = couponRecord.getState();
-					String systemCouponType = couponRecord.getCouponType();
-					// 濂栧姳璁㈠崟: 涓旀垚鍔�
-					if (CouponTypeEnum.rebatePercentCoupon.name().equals(systemCouponType)
-							&& UserSystemCouponRecord.STATE_SUCCESS == state) {
-						rewardSuccess = true;
-						signList.add(PIC_REWARD); // 鍔犲叆濂栧姳鎴愬姛鍥剧墖
-
-					} else if (CouponTypeEnum.freeCoupon.name().equals(systemCouponType)
-							|| CouponTypeEnum.welfareFreeCoupon.name().equals(systemCouponType)
-							|| CouponTypeEnum.freeCouponBuy.name().equals(systemCouponType)) {
-
-						if (UserSystemCouponRecord.STATE_FREE_ON == state) {
-							// 鍏嶅崟涓�
-							freeOrder = true;
-							signList.add(PIC_FREE_ON);
-						} else if (UserSystemCouponRecord.STATE_SUCCESS == state) {
-							// 鍏嶅崟鎴愬姛
-							freeOrder = true;
-							signList.add(PIC_FREE_SUCCEED);
-						} else if (UserSystemCouponRecord.STATE_FAIL_RULE == state
-								|| UserSystemCouponRecord.STATE_FAIL_DRAWBACK == state) {
-							// 瑙勫垯涓嶅尮閰嶃�侀��娆�
-							freeOrder = true;
-							signList.add(PIC_FREE_FAIL);
-						}
-					}
-
-					break;
-				}
-			}
-		}
-
-		// 璁㈠崟鏍囪瘑
-		order.setSignList(signList);
-
-		boolean rewardOrder = false;
-		int type = 1; // 1 甯歌璺宠浆椤甸潰 2寮瑰嚭閫夐」锛堝鍔卞埜锛�
-		if (rewardSuccess) {
-			if (!VersionUtil.greaterThan_2_1(acceptData.getPlatform(), acceptData.getVersion())) {
-				rewardOrder = true; // 濂栧姳鎴愬姛 2.0.2 娑堝け
-			}
-		} else if (hasRewardCoupon && !freeOrder && HongBaoV2.TYPE_ZIGOU == hongBaoType
-				&& HongBaoV2.STATE_YILINGQU == hongBaoState) { // 鏈夊彲鐢ㄧ殑濂栧姳鍒� 銆侀潪鍏嶅崟璁㈠崟 銆佷笖宸插埌璐︾殑 銆佽繑鍒╄鍗�
-			if (!userVIPInfoService.isVIP(uid)) { // 闈炰細鍛樺彲浣跨敤濂栧姳鍒�
-				type = 2; 
-				rewardOrder = true; 
-			}
-		}
-		
-		
-		// 缁存潈璁㈠崟 涓嶅彲浣跨敤濂栧姳鍒�
-		Integer orderState = order.getState();
-		if(CommonOrder.STATE_WQ == orderState) {
-			rewardOrder = false;
-		}
-		
-		
-		if (rewardOrder) {
-			try {
-				boolean newEdition = false;
-				String num = null;
-				String unit = null;
-				boolean canUse = false;
-
-				// 鐗堟湰鍖哄垎锛�2.1  濂栧姳鍒稿�掕鏃�
-				if (VersionUtil.greaterThan_2_1(acceptData.getPlatform(), acceptData.getVersion())) {
-					Date thirdCreateTime = order.getThirdCreateTime();
-					if (thirdCreateTime != null) {
-						long downOrderTime = thirdCreateTime.getTime();
-						long limitDate = TimeUtil.parse(Constant.COUPON_REWARD_TIME).getTime();
-						if (downOrderTime > limitDate) {
-							newEdition = true;
-							Date endDay = DateUtil.plusDayDate(4, thirdCreateTime);
-							long currentTime = java.lang.System.currentTimeMillis();
-							if (endDay.getTime() > currentTime) {
-								DateInfo dateInfo = DateUtil.dateDiff3(currentTime, endDay.getTime());
-								if (dateInfo != null) {
-									if (dateInfo.getDay() > 0) {
-										canUse = true;
-										unit = "澶�";
-										num = dateInfo.getDay().toString();
-									}
-
-									if (!canUse && dateInfo.getHour() > 0) {
-										canUse = true;
-										unit = "灏忔椂";
-										num = dateInfo.getHour().toString();
-									}
-
-									if (!canUse && dateInfo.getMinute() > 0) {
-										canUse = true;
-										unit = "鍒�";
-										num = dateInfo.getMinute().toString();
-									}
-
-									if (!canUse && dateInfo.getSecond() > 0) {
-										canUse = true;
-										unit = "绉�";
-										num = dateInfo.getSecond().toString();
-									}
-								}
-							}
-						}
-					}
-				}
-
-				if (newEdition && !canUse) {
-					// 鏂扮増涓嶅彲浣跨敤
-				} else {
-					Map<String, Object> rewardMap = new HashMap<String, Object>();
-					ClientTextStyleVO rewardStyleVO = new ClientTextStyleVO();
-					rewardStyleVO.setColor("#E5005C");
-					rewardStyleVO.setBottomColor("#FFDCEA");
-					if (!newEdition) {
-						if (VersionUtil.greaterThan_2_1(acceptData.getPlatform(), acceptData.getVersion())) {
-							rewardStyleVO.setContent("浣跨敤濂栧姳鍒� >");
-						} else {
-							rewardStyleVO.setContent("杩斿埄濂栧姳 >");
-						}
-					} else if (canUse) {
-						rewardStyleVO.setContent("浣跨敤濂栧姳鍒�");
-
-						ClientTextStyleVO txt1 = new ClientTextStyleVO();
-						txt1.setContent("鍓�");
-						txt1.setColor("#666666");
-						txt1.setBottomColor("#FFDCEA");
-
-						ClientTextStyleVO txt2 = new ClientTextStyleVO();
-						txt2.setContent(num);
-						txt2.setColor("#E5005C");
-						txt2.setBottomColor("#FFDCEA");
-						txt2.setFontSize("1.33");
-
-						ClientTextStyleVO txt3 = new ClientTextStyleVO();
-						txt3.setContent(unit + "鍏抽棴 >");
-						txt3.setColor("#666666");
-						txt3.setBottomColor("#FFDCEA");
-
-						List<ClientTextStyleVO> ticking = new ArrayList<ClientTextStyleVO>();
-						ticking.add(txt1);
-						ticking.add(txt2);
-						ticking.add(txt3);
-						rewardMap.put("ticking", ticking);
-					}
-					rewardMap.put("text", rewardStyleVO);
-
-					Map<String, Object> jumpLink = new HashMap<String, Object>();
-					jumpLink.put("orderNo", order.getOrderNo());
-					jumpLink.put("goodsType", order.getSourceType() + "");
-
-					Map<String, Object> jump = new HashMap<String, Object>();
-					jump.put("type", type);
-					jump.put("params", jumpLink);
-					jump.put("jumpDetail", jumpDetailV2Service.getByTypeCache("rewardCouponDetail"));
-					rewardMap.put("jump", jump);
-					order.setRewardDetail(rewardMap);
-				}
-			} catch (Exception e) {
-				e.printStackTrace();
-			}
-		}
-
-		if (freeOrder) {
-			ClientTextStyleVO rewardStyleVO = new ClientTextStyleVO();
-			// 杩斿埄銆佸厤鍗曡鎯�
-			rewardStyleVO.setContent("鍏嶅崟璇︽儏 >");
-			rewardStyleVO.setColor("#E5005C");
-			rewardStyleVO.setBottomColor("#FFDCEA");
-
-			Map<String, Object> jumpLink = new HashMap<String, Object>();
-			jumpLink.put("orderNo", order.getOrderNo());
-			if (VersionUtil.greaterThan_1_6_0(acceptData.getPlatform(), acceptData.getVersion())) {
-				jumpLink.put("goodsType", order.getSourceType() + "");
-			}
-
-			Map<String, Object> jump = new HashMap<String, Object>();
-			jump.put("type", 1); // 椤甸潰璺宠浆
-			jump.put("params", jumpLink);
-			jump.put("jumpDetail", jumpDetailV2Service.getByTypeCache("freeCouponDetail"));
-
-			Map<String, Object> rewardMap = new HashMap<String, Object>();
-			rewardMap.put("text", rewardStyleVO);
-			rewardMap.put("jump", jump);
-
-			order.setRewardDetail(rewardMap);
-		}
 	}
 
 	/**
@@ -423,7 +216,7 @@
 	 * @param listGoods
 	 * @param uid
 	 */
-	public void orderInfoFactory(AcceptData acceptData, List<CommonOrderVO> listOrder, List<CommonOrderVO> listGoods,
+	private void orderVOFactory(AcceptData acceptData, List<CommonOrderVO> listOrder, List<CommonOrderVO> listGoods,
 			Long uid) throws Exception {
 		List<String> listTB = new ArrayList<String>();
 		List<String> listJD = new ArrayList<String>();
@@ -456,14 +249,6 @@
 			listRecordPDD = userSystemCouponRecordService.getRecordByOrderNoList(Constant.SOURCE_TYPE_PDD, listPDD);
 		}
 
-		SimpleDateFormat format = new SimpleDateFormat("yyyy.MM.dd HH:mm");
-		SimpleDateFormat formatday = new SimpleDateFormat("yyyy.MM.dd");
-		// 2019.8.1寮�濮嬭繑鍥炵淮鏉冧俊鎭�
-		Date august = TimeUtil.parse("2019-08-01");
-
-		// 鏄惁瀛樺湪濂栧姳鍒�
-		boolean hasRewardCoupon = userSystemCouponService.getValidRebateCoupon(uid);
-
 		// 闇�瑕佹煡璇㈡槸鍚︿负VIP鐨勭敤鎴稩D,鍙湁閭�璇疯鍗曟墠闇�瑕佹煡璇�
 		List<Long> needSelectVIPUidList = new ArrayList<>();
 
@@ -487,10 +272,20 @@
 					order.setVipOrder(false);
 			} else
 				order.setVipOrder(false);
-			
-			if(order.isVipOrder())
+
+			if (order.isVipOrder())
 				order.setVipOrderDesc("璁㈠崟鏉ユ簮锛氱敱瓒呯骇浼氬憳鐨勭矇涓濅骇鐢�");
 		}
+
+		SimpleDateFormat format = new SimpleDateFormat("yyyy.MM.dd HH:mm");
+		SimpleDateFormat formatday = new SimpleDateFormat("yyyy.MM.dd");
+		// 2019.8.1寮�濮嬭繑鍥炵淮鏉冧俊鎭�
+		Date august = TimeUtil.parse("2019-08-01");
+
+		// 褰撳墠鐢ㄦ埛鏄惁VIP
+		boolean vip = userVIPInfoService.isVIP(uid);
+		// 鏄惁瀛樺湪濂栧姳鍒�
+		boolean hasRewardCoupon = userSystemCouponService.getValidRebateCoupon(uid);
 
 		for (CommonOrderVO order : listOrder) {
 			String orderNo = order.getOrderNo();
@@ -696,6 +491,7 @@
 					}
 				}
 			}
+			order.setSignList(signList);
 
 			String hongBaoDate = null;
 			String hongBaoState_Str = "";
@@ -757,23 +553,20 @@
 			hongBaoMap.put("fontColor", hongbaoInfoFontColor);
 			order.setHongBaoInfo(hongBaoMap);
 
-			// 闈炶嚜璐殑璁㈠崟 涓嶆樉绀鸿繑鍒┿�佸厤鍗曡鎯�
-			if (HongBaoV2.TYPE_ZIGOU != hongBaoType) {
-				order.setSignList(signList);
-			} else {
+			// 鏄剧ず杩斿埄銆佸厤鍗曡鎯�
+			if (HongBaoV2.TYPE_ZIGOU == hongBaoType) {
 				// 濂栧姳璁㈠崟銆佸厤鍗� 浣跨敤璁板綍
 				if (sourceType == null) {
-					setSystemCouponRecord(order, hasRewardCoupon, hongBaoState, hongBaoType, null,
-							signList, uid, acceptData);
+					couponFactory(order, hasRewardCoupon, hongBaoState, hongBaoType, null, uid, vip, acceptData);
 				} else if (sourceType == Constant.SOURCE_TYPE_TAOBAO) {
-					setSystemCouponRecord(order, hasRewardCoupon, hongBaoState, hongBaoType,
-							listRecordTB, signList, uid, acceptData);
+					couponFactory(order, hasRewardCoupon, hongBaoState, hongBaoType, listRecordTB, uid, vip,
+							acceptData);
 				} else if (sourceType == Constant.SOURCE_TYPE_JD) {
-					setSystemCouponRecord(order, hasRewardCoupon, hongBaoState, hongBaoType,
-							listRecordJD, signList, uid, acceptData);
+					couponFactory(order, hasRewardCoupon, hongBaoState, hongBaoType, listRecordJD, uid, vip,
+							acceptData);
 				} else if (sourceType == Constant.SOURCE_TYPE_PDD) {
-					setSystemCouponRecord(order, hasRewardCoupon, hongBaoState, hongBaoType,
-							listRecordPDD, signList, uid, acceptData);
+					couponFactory(order, hasRewardCoupon, hongBaoState, hongBaoType, listRecordPDD, uid, vip,
+							acceptData);
 				}
 			}
 
@@ -784,14 +577,241 @@
 				order.setOrderNo(UserUtil.filterOrderId(order.getOrderNo()));
 			}
 		}
+	}
 
+	/**
+	 * 璁㈠崟锛� 鍏嶅崟鏍囪瘑 濂栧姳鏍囪瘑
+	 * 
+	 * @param order
+	 * @param hasRewardCoupon
+	 * @param hongBaoState
+	 * @param list
+	 * @param signList
+	 */
+	private void couponFactory(CommonOrderVO order, boolean hasRewardCoupon, Integer hongBaoState, Integer hongBaoType,
+			List<UserSystemCouponRecord> list, Long uid, boolean vip, AcceptData acceptData) throws Exception {
+
+		// 鏄惁鍏嶅崟鍟嗗搧
+		boolean freeOrder = false;
+		// 鏄惁濂栧姳鎴愬姛
+		boolean rewardSuccess = false;
+		boolean version2_1 = VersionUtil.greaterThan_2_1(acceptData.getPlatform(), acceptData.getVersion());
+
+		if (list != null && list.size() > 0) {
+			for (UserSystemCouponRecord couponRecord : list) {
+				int goodSource = couponRecord.getGoodSource();
+				if (goodSource == 0)
+					goodSource = 1;
+
+				if (order.getOrderNo().equals(couponRecord.getOrderNo()) && goodSource == order.getSourceType()) {
+					Integer state = couponRecord.getState();
+					String systemCouponType = couponRecord.getCouponType();
+					if (CouponTypeEnum.rebatePercentCoupon.name().equals(systemCouponType)
+							&& UserSystemCouponRecord.STATE_SUCCESS == state) {
+						rewardSuccess = true;
+						if (!version2_1) {
+							// 濂栧姳鎴愬姛
+							order.getSignList().add(PIC_REWARD);
+						}
+					} else if (CouponTypeEnum.freeCoupon.name().equals(systemCouponType)
+							|| CouponTypeEnum.welfareFreeCoupon.name().equals(systemCouponType)
+							|| CouponTypeEnum.freeCouponBuy.name().equals(systemCouponType)) {
+
+						if (UserSystemCouponRecord.STATE_FREE_ON == state) {
+							// 鍏嶅崟涓�
+							freeOrder = true;
+							order.getSignList().add(PIC_FREE_ON);
+						} else if (UserSystemCouponRecord.STATE_SUCCESS == state) {
+							// 鍏嶅崟鎴愬姛
+							freeOrder = true;
+							order.getSignList().add(PIC_FREE_SUCCEED);
+						} else if (UserSystemCouponRecord.STATE_FAIL_RULE == state
+								|| UserSystemCouponRecord.STATE_FAIL_DRAWBACK == state) {
+							// 瑙勫垯涓嶅尮閰嶃�侀��娆�
+							freeOrder = true;
+							order.getSignList().add(PIC_FREE_FAIL);
+						}
+					}
+					break;
+				}
+			}
+		}
+
+		// 鍏嶅崟璇︽儏
+		if (freeOrder) {
+			ClientTextStyleVO rewardStyleVO = new ClientTextStyleVO();
+			rewardStyleVO.setContent("鍏嶅崟璇︽儏 >");
+			rewardStyleVO.setColor("#E5005C");
+			rewardStyleVO.setBottomColor("#FFDCEA");
+
+			Map<String, Object> jumpLink = new HashMap<String, Object>();
+			jumpLink.put("orderNo", order.getOrderNo());
+			if (VersionUtil.greaterThan_1_6_0(acceptData.getPlatform(), acceptData.getVersion())) {
+				jumpLink.put("goodsType", order.getSourceType() + "");
+			}
+
+			Map<String, Object> jump = new HashMap<String, Object>();
+			jump.put("type", 1); // 椤甸潰璺宠浆
+			jump.put("params", jumpLink);
+			jump.put("jumpDetail", jumpDetailV2Service.getByTypeCache("freeCouponDetail"));
+
+			Map<String, Object> rewardMap = new HashMap<String, Object>();
+			rewardMap.put("text", rewardStyleVO);
+			rewardMap.put("jump", jump);
+			order.setRewardDetail(rewardMap);
+		}
+
+		// 宸蹭娇鐢ㄥ鍔卞埜
+		if (rewardSuccess) {
+			ClientTextStyleVO rewardStyleVO = new ClientTextStyleVO();
+			rewardStyleVO.setColor("#E5005C");
+			rewardStyleVO.setBottomColor("#FFDCEA");
+
+			if (version2_1) {
+				rewardStyleVO.setContent("宸蹭娇鐢ㄥ鍔卞埜 >");
+			} else {
+				rewardStyleVO.setContent("杩斿埄濂栧姳 >");
+			}
+
+			Map<String, Object> rewardMap = new HashMap<String, Object>();
+			rewardMap.put("text", rewardStyleVO);
+			Map<String, Object> jumpLink = new HashMap<String, Object>();
+			jumpLink.put("orderNo", order.getOrderNo());
+			jumpLink.put("goodsType", order.getSourceType() + "");
+
+			Map<String, Object> jump = new HashMap<String, Object>();
+			jump.put("type", 1); // 1 甯歌璺宠浆椤甸潰
+			jump.put("params", jumpLink);
+			jump.put("jumpDetail", jumpDetailV2Service.getByTypeCache("rewardCouponDetail"));
+			rewardMap.put("jump", jump);
+			order.setRewardDetail(rewardMap);
+		}
+
+		// 鏄惁鍙娇鐢ㄥ鍔卞埜
+		if (!rewardSuccess && !freeOrder && HongBaoV2.TYPE_ZIGOU == hongBaoType
+				&& HongBaoV2.STATE_YILINGQU == hongBaoState && !vip && CommonOrder.STATE_WQ != order.getState()) {
+			// 涓嬪崟鏃堕棿
+			Date thirdCreateTime = order.getThirdCreateTime();
+			// 鍒拌处鏃堕棿
+			Date accountTime = order.getAccountTime();
+			if (thirdCreateTime == null || accountTime == null)
+				return;
+
+			// 涓嬪崟鏃ユ湡鏄惁鏄鍚堜笂绾挎棩鏈�
+			long downOrderTime = thirdCreateTime.getTime();
+			long limitDate = TimeUtil.convertDateToTemp(Constant.VIP_ONLINE_TIME);
+			if (downOrderTime > limitDate)  {
+				// 2.1 寮�濮嬫柊鐗�
+				rewardCounponLimitTime(order, accountTime);
+			} else if (hasRewardCoupon) {
+				// 鍦�2.1鏂扮増涓婄嚎涔嬪墠璁㈠崟-瀛樺湪鍒欐樉绀哄鍔卞埜鍙娇鐢�
+				ClientTextStyleVO rewardStyleVO = new ClientTextStyleVO();
+				rewardStyleVO.setColor("#E5005C");
+				rewardStyleVO.setBottomColor("#FFDCEA");
+				rewardStyleVO.setContent("杩斿埄濂栧姳 >");
+
+				Map<String, Object> jumpLink = new HashMap<String, Object>();
+				jumpLink.put("orderNo", order.getOrderNo());
+				jumpLink.put("goodsType", order.getSourceType() + "");
+
+				Map<String, Object> jump = new HashMap<String, Object>();
+				jump.put("type", 2); // 寮规
+				jump.put("params", jumpLink);
+				jump.put("jumpDetail", jumpDetailV2Service.getByTypeCache("rewardCouponDetail"));
+
+				Map<String, Object> rewardMap = new HashMap<String, Object>();
+				rewardMap.put("text", rewardStyleVO);
+				rewardMap.put("jump", jump);
+				order.setRewardDetail(rewardMap);
+			}
+		}
+	}
+
+	private void rewardCounponLimitTime(CommonOrderVO order, Date accountTime) throws Exception {
+		// 鍊掕鏃堕獙璇�
+		Date endDay = DateUtil.plusDayDate(Constant.COUPON_REWARD_LIMIT_DAY, accountTime);
+		long currentTime = java.lang.System.currentTimeMillis();
+		if (endDay.getTime() <= currentTime)
+			return;
+
+		String num = null;
+		String unit = null;
+		boolean canUse = false;
+		DateInfo dateInfo = DateUtil.dateDiff3(currentTime, endDay.getTime());
+
+		if (dateInfo.getDay() > 0) {
+			canUse = true;
+			unit = "澶�";
+			num = dateInfo.getDay().toString();
+		}
+
+		if (!canUse && dateInfo.getHour() > 0) {
+			canUse = true;
+			unit = "灏忔椂";
+			num = dateInfo.getHour().toString();
+		}
+
+		if (!canUse && dateInfo.getMinute() > 0) {
+			canUse = true;
+			unit = "鍒�";
+			num = dateInfo.getMinute().toString();
+		}
+
+		if (!canUse && dateInfo.getSecond() > 0) {
+			canUse = true;
+			unit = "绉�";
+			num = dateInfo.getSecond().toString();
+		}
+
+		// 宸茬粡瓒呮椂
+		if (!canUse)
+			return;
+
+		Map<String, Object> rewardMap = new HashMap<String, Object>();
+		ClientTextStyleVO rewardStyleVO = new ClientTextStyleVO();
+		rewardStyleVO.setColor("#E5005C");
+		rewardStyleVO.setBottomColor("#FFDCEA");
+		rewardStyleVO.setContent("浣跨敤濂栧姳鍒�");
+		rewardMap.put("text", rewardStyleVO);
+
+		ClientTextStyleVO txt1 = new ClientTextStyleVO();
+		txt1.setContent("鍓�");
+		txt1.setColor("#666666");
+		txt1.setBottomColor("#FFDCEA");
+
+		ClientTextStyleVO txt2 = new ClientTextStyleVO();
+		txt2.setContent(num);
+		txt2.setColor("#E5005C");
+		txt2.setBottomColor("#FFDCEA");
+		txt2.setFontSize("1.33");
+
+		ClientTextStyleVO txt3 = new ClientTextStyleVO();
+		txt3.setContent(unit + "鍏抽棴 >");
+		txt3.setColor("#666666");
+		txt3.setBottomColor("#FFDCEA");
+
+		List<ClientTextStyleVO> ticking = new ArrayList<ClientTextStyleVO>();
+		ticking.add(txt1);
+		ticking.add(txt2);
+		ticking.add(txt3);
+		rewardMap.put("ticking", ticking);
+		Map<String, Object> jumpLink = new HashMap<String, Object>();
+		jumpLink.put("orderNo", order.getOrderNo());
+		jumpLink.put("goodsType", order.getSourceType() + "");
+
+		Map<String, Object> jump = new HashMap<String, Object>();
+		jump.put("type", 2); // 寮瑰嚭妗嗕娇鐢ㄥ埜
+		jump.put("params", jumpLink);
+		jump.put("jumpDetail", jumpDetailV2Service.getByTypeCache("rewardCouponDetail"));
+		rewardMap.put("jump", jump);
+		order.setRewardDetail(rewardMap);
 	}
 
 	@Override
 	public Map<String, BigDecimal> countHistoryOrder(Long uid, Integer day, Integer source) {
 		return commonOrderMapper.countHistoryOrder(uid, day, source);
 	}
-	
+
 	@Override
 	public OrderCountVO getOrderCount(Long uid, Integer day, Integer source) {
 		return commonOrderMapper.getOrderCount(uid, day, source);
@@ -1074,6 +1094,16 @@
 		if (oldCommonOrder == null)// 鏂板
 		{
 			commonOrder.setCreateTime(new Date());
+			// 鏌ヨ鏄惁涓簐ip
+			boolean isVIP = userVIPInfoService.isVIP(commonOrder.getUserInfo().getId());
+			if (isVIP)
+				commonOrder.setUrank(100);// VIP璁㈠崟
+			else {
+				UserInfo user = userInfoService.selectAvailableByPrimaryKey(commonOrder.getUserInfo().getId());
+				if (user != null)
+					commonOrder.setUrank(user.getRank());
+			}
+
 			commonOrderMapper.insertSelective(commonOrder);
 			// 鎻掑叆鏄犲皠锛屼繚璇佷氦鏄揑D鐨勫畬鏁存��
 			commonOrderTradeIdMapMapper.insertSelective(new CommonOrderTradeIdMap(commonOrder.getId(),
@@ -1508,13 +1538,13 @@
 		JSONObject map = new JSONObject();
 		// 璁㈠崟鏍囪瘑
 		List<String> signList = new ArrayList<String>();
-		signList.add(CommonOrder.TYPE_FANLI);
-		signList.add(PIC_REWARD); // 鍔犲叆濂栧姳鎴愬姛鍥剧墖
+		// signList.add(CommonOrder.TYPE_FANLI);
+		// signList.add(PIC_REWARD); // 鍔犲叆濂栧姳鎴愬姛鍥剧墖
 		map.put("signList", signList);
 
 		ClientTextStyleVO rewardStyleVO = new ClientTextStyleVO();
 		// 濂栧姳鍒歌繘搴﹁鎯�
-		rewardStyleVO.setContent("杩斿埄濂栧姳 >");
+		rewardStyleVO.setContent("宸蹭娇鐢ㄥ鍔卞埜 >");
 		rewardStyleVO.setColor("#E5005C");
 		rewardStyleVO.setBottomColor("#FFDCEA");
 
@@ -1530,9 +1560,7 @@
 		Map<String, Object> rewardMap = new HashMap<String, Object>();
 		rewardMap.put("text", rewardStyleVO);
 		rewardMap.put("jump", jump);
-
 		map.put("rewardDetail", rewardMap);
-
 		return map;
 	}
 
@@ -1622,7 +1650,7 @@
 	public BigDecimal getTotalRewardMoneyByOrderNoAndSourceType(String orderNo, Integer sourceType) {
 		return commonOrderMapper.getTotalRewardMoneyByOrderNoAndSourceType(orderNo, sourceType);
 	}
-
+
 	@Override
 	public long count24HValidOrderByUid(Long uid, Date minTime) {
 		return commonOrderMapper.count24HValidOrderByUid(uid, minTime);

--
Gitblit v1.8.0