From 8dc8133fb93405c6fc34c9c3c6c6bbce09ebe7f0 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 24 十二月 2019 10:52:52 +0800
Subject: [PATCH] 品牌商品更新调整 订单维权修改

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/redpack/RedPackWinInviteServiceImpl.java |   58 ++++++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 48 insertions(+), 10 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/redpack/RedPackWinInviteServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/redpack/RedPackWinInviteServiceImpl.java
index d240330..6a22ce6 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/redpack/RedPackWinInviteServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/redpack/RedPackWinInviteServiceImpl.java
@@ -93,13 +93,45 @@
 	public BigDecimal getRewardMoney(Long uid) {
 		return redPackWinInviteMapper.getRewardMoney(uid);
 	}
+	
+	@Override
+	@RequestSerializableByKeyService(key = "#teamUid")
+	@Transactional(rollbackFor = Exception.class)
+	public void initCreateRedPackWin(Long bossId, Long teamUid) {
+		UserActiveLog activeLog = userActiveLogService.getUserLatestActiveInfo(bossId);
+		if (activeLog == null)
+			return;
+
+		// 灏忎簬2.0.5鐗堟湰涓嶅鍔�
+		if (!VersionUtil.greaterThan_2_1("appstore".equalsIgnoreCase(activeLog.getChannel()) ? "ios" : "android",
+				activeLog.getVersionCode()))
+			return;
+		
+		// 鍚屼竴闃熷憳鍙褰曚竴娆�
+		int totalReward = redPackWinInviteMapper.countByUidAndTeamUidAndType(bossId, teamUid,
+				RedPackWinInviteTypeEnum.zeroStageReward.name());
+		if (totalReward > 0)
+			return;
+				
+		// 鑾峰緱绾㈠寘
+		RedPackWinInvite winInvite = new RedPackWinInvite();
+		winInvite.setUid(bossId);
+		winInvite.setTeamUid(teamUid);
+		winInvite.setMoney(new BigDecimal(0));
+		winInvite.setType(RedPackWinInviteTypeEnum.zeroStageReward);
+		winInvite.setIdentifyCode(StringUtil.Md5(RedPackWinInviteTypeEnum.zeroStageReward.name() + ":" + teamUid));
+		winInvite.setCreateTime(new Date());
+		winInvite.setUpdateTime(new Date());
+		redPackWinInviteMapper.insertSelective(winInvite);
+	}
+	
 
 	@Override
 	@RequestSerializableByKeyService(key = "#teamUid")
 	@Transactional(rollbackFor = Exception.class)
 	public void inviteSucceedReward(Long teamUid) throws Exception {
 		// 鏄惁鍦ㄤ笂绾夸箣鍚庣殑閭�璇峰叧绯�
-		ThreeSale threeSale = threeSaleSerivce.getByWorkerIdAndTime(teamUid, TimeUtil.convertDateToTemp(Constant.VIP_ONLINE_TIME));
+		ThreeSale threeSale = threeSaleSerivce.getByWorkerIdAndTime(teamUid, TimeUtil.convertDateToTemp(Constant.RED_PACK_ONLINE_TIME));
 		if (threeSale == null)
 			return;
 
@@ -164,7 +196,7 @@
 		dto.setNickName(userInfo.getNickName());
 		dto.setPortrait(userInfo.getPortrait());
 		userMoneyMsgNotificationService.teamRedPackRewardMsg(bossId, MsgTypeMoneyTypeEnum.redPackOneStageReward, money,
-				"闃熷憳锛堝ソ鍙嬶級瀹屾垚绗竴闃舵", new Gson().toJson(dto));
+				"绮変笣锛堝ソ鍙嬶級瀹屾垚绗竴闃舵", new Gson().toJson(dto));
 	}
 
 	@RequestSerializableByKeyService(key = "#uid")
@@ -190,7 +222,7 @@
 			return;
 
 		// 楠岃瘉涓婁笅绾у叧绯�
-		ThreeSale threeSale = threeSaleSerivce.getByWorkerIdAndTime(teamUid, TimeUtil.convertDateToTemp(Constant.VIP_ONLINE_TIME));
+		ThreeSale threeSale = threeSaleSerivce.getByWorkerIdAndTime(teamUid, TimeUtil.convertDateToTemp(Constant.RED_PACK_ONLINE_TIME));
 		if (threeSale == null || threeSale.getBoss().getId().longValue() != uid.longValue())
 			return;
 
@@ -220,7 +252,7 @@
 	 * @param orderNo
 	 * @param bossId
 	 */
-	@Transactional
+	@Transactional(rollbackFor=Exception.class)
 	private void twoStageRewardToBoss(Long bossId, Long teamUid, Date oneStageTime, Integer source, String orderNo)
 			throws Exception {
 		// 绗竴闃舵瀹屾垚涔嬪悗鐨�90澶╁唴 ; 闃熷弸浜х敓鐨勮鍗曚腑锛堣嚜璐�+鍒嗕韩锛夛紝閭�璇蜂汉绱浜х敓鈮�1 鍏冨閲�
@@ -262,7 +294,7 @@
 		dto.setNickName(userInfo.getNickName());
 		dto.setPortrait(userInfo.getPortrait());
 		userMoneyMsgNotificationService.teamRedPackRewardMsg(bossId, MsgTypeMoneyTypeEnum.redPackTwoStageReward, money,
-				"闃熷憳锛堝ソ鍙嬶級瀹屾垚绗簩闃舵", new Gson().toJson(dto));
+				"绮変笣锛堝ソ鍙嬶級瀹屾垚绗簩闃舵", new Gson().toJson(dto));
 	}
 
 	/**
@@ -273,7 +305,7 @@
 	 * @param orderNo
 	 * @param bossId
 	 */
-	@Transactional
+	@Transactional(rollbackFor=Exception.class)
 	private void threeStageRewardToBoss(Long bossId, Long teamUid, Date twoStageTime, Integer source, String orderNo)
 			throws Exception {
 		// 浜屻�佷笁闃舵涓嶅彲鍚屾湀
@@ -331,7 +363,7 @@
 		dto.setNickName(userInfo.getNickName());
 		dto.setPortrait(userInfo.getPortrait());
 		userMoneyMsgNotificationService.teamRedPackRewardMsg(bossId, MsgTypeMoneyTypeEnum.redPackThreeStageReward,
-				money, "闃熷憳锛堝ソ鍙嬶級瀹屾垚绗笁闃舵杩炵画[绗�" + monthSpace + "涓湀]", new Gson().toJson(dto));
+				money, "绮変笣锛堝ソ鍙嬶級瀹屾垚绗笁闃舵杩炵画[绗�" + monthSpace + "涓湀]", new Gson().toJson(dto));
 	}
 
 	
@@ -346,9 +378,6 @@
 		if (userInfo == null) 
 			return listVO;
 		
-		listVO.add(new RedPackWinProgressVO("鎴愬姛娉ㄥ唽", TimeUtil.formatDate(userInfo.getCreatetime())));
-		listVO.add(new RedPackWinProgressVO("纭珛閭�璇�", TimeUtil.formatDate(threeSale.getSucceedTime())));
-		
 		// 濂栧姳璁板綍
 		List<RedPackWinInvite> listWin = redPackWinInviteMapper.getWinListByBossIdAndTeamUid(uid, tid);
 		if (listWin == null || listWin.size() == 0) 
@@ -356,6 +385,10 @@
 		
 		int month = 1;
 		for (RedPackWinInvite win: listWin) {
+			if (win.getType() == RedPackWinInviteTypeEnum.zeroStageReward) {
+				listVO.add(new RedPackWinProgressVO("鎴愬姛娉ㄥ唽", TimeUtil.formatDate(userInfo.getCreatetime())));
+				listVO.add(new RedPackWinProgressVO("纭珛閭�璇�", TimeUtil.formatDate(threeSale.getSucceedTime())));
+			}
 			String time = TimeUtil.formatDate(win.getCreateTime());
 			BigDecimal money = win.getMoney().setScale(2);
 			if (win.getType() == RedPackWinInviteTypeEnum.oneStageReward) {
@@ -389,4 +422,9 @@
 		return redPackWinInviteMapper.countWinTopListByBossId(uid);
 	}
 	
+	@Override
+	public long countTeamNumByTid(Long uid, Long teamUid) {
+		return redPackWinInviteMapper.countTeamNumByTid(uid, teamUid);
+	}
+	
 }

--
Gitblit v1.8.0