From 744594ef1a2f530fc3e86ea9dc48b62247f79420 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 19 五月 2020 17:13:23 +0800
Subject: [PATCH] 饿了么绘图,添加口碑

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/redpack/RedPackWinInviteServiceImpl.java |  296 ++++++++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 211 insertions(+), 85 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 8c62abc..9687b36 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
@@ -1,6 +1,7 @@
 package com.yeshi.fanli.service.impl.redpack;
 
 import java.math.BigDecimal;
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 
@@ -35,113 +36,152 @@
 import com.yeshi.fanli.util.Constant;
 import com.yeshi.fanli.util.MoneyBigDecimalUtil;
 import com.yeshi.fanli.util.StringUtil;
+import com.yeshi.fanli.util.TimeUtil;
 import com.yeshi.fanli.util.VersionUtil;
 import com.yeshi.fanli.util.annotation.RequestSerializableByKeyService;
 import com.yeshi.fanli.util.annotation.redpack.RedPackGetVersionLimit;
 import com.yeshi.fanli.util.factory.RedPackDetailFactory;
+import com.yeshi.fanli.vo.redpack.RedPackWinProgressVO;
 
 @Service
 public class RedPackWinInviteServiceImpl implements RedPackWinInviteService {
 
 	@Resource
 	private RedPackWinInviteMapper redPackWinInviteMapper;
-	
+
 	@Resource
 	private RedPackConfigService redPackConfigService;
-	
+
 	@Resource
 	private RedPackBalanceService redPackBalanceService;
 
 	@Resource
-	private CommonOrderService  commonOrderService;
-	
+	private CommonOrderService commonOrderService;
+
 	@Resource
 	private ThreeSaleSerivce threeSaleSerivce;
-	
+
 	@Resource
 	private UserMoneyMsgNotificationService userMoneyMsgNotificationService;
-	
-	@Resource	
+
+	@Resource
 	private UserInfoService userInfoService;
-	
-	@Resource	
+
+	@Resource
 	private UserExtraTaoBaoInfoService userExtraTaoBaoInfoService;
-	
-	@Resource	
+
+	@Resource
 	private IntegralTaskRecordService integralTaskRecordService;
-	
+
 	@Resource
 	private UserActiveLogService userActiveLogService;
-	
+
 	@Resource
 	private HongBaoV2CountService hongBaoV2CountService;
-	
-	
+
 	@Override
 	public List<RedPackWinInvite> getRewardList(int start, int count, Long uid) {
 		return redPackWinInviteMapper.getRewardList(start, count, uid);
 	}
-	
-	
+
 	@Override
 	public Long countRewardRecord(Long uid) {
 		return redPackWinInviteMapper.countRewardRecord(uid);
 	}
-	
+
 	@Override
 	public BigDecimal getRewardMoney(Long uid) {
 		return redPackWinInviteMapper.getRewardMoney(uid);
 	}
-	
+
 	@Override
 	@RequestSerializableByKeyService(key = "#teamUid")
 	@Transactional(rollbackFor = Exception.class)
-	public void inviteSucceedReward(Long teamUid) throws Exception{
+	public void initCreateRedPackWin(Long bossId, Long teamUid) {
+		UserActiveLog activeLog = userActiveLogService.getUserLatestActiveInfo(bossId);
+		if (activeLog == null)
+			return;
+
+		// 灏忎簬2.0.5鐗堟湰涓嶅鍔�
+		if (!VersionUtil.greaterThan_2_0_5("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, Constant.RED_PACK_REWARD_TIME);
+		ThreeSale threeSale = threeSaleSerivce.getByWorkerIdAndTime(teamUid,
+				TimeUtil.convertDateToTemp(Constant.RED_PACK_ONLINE_TIME));
 		if (threeSale == null)
 			return;
-		
+
 		// 涓婄骇id
 		Long bossId = threeSale.getBoss().getId();
 		UserActiveLog activeLog = userActiveLogService.getUserLatestActiveInfo(bossId);
 		if (activeLog == null)
 			return;
-		
+
 		// 灏忎簬2.0.2鐗堟湰涓嶅鍔�
-		if (!VersionUtil.greaterThan_2_1("appstore".equalsIgnoreCase(activeLog.getChannel()) ? "ios" : "android",
+		if (!VersionUtil.greaterThan_2_0_5("appstore".equalsIgnoreCase(activeLog.getChannel()) ? "ios" : "android",
 				activeLog.getVersionCode()))
 			return;
 
+		int totalRewardZero = redPackWinInviteMapper.countByUidAndTeamUidAndType(bossId, teamUid,
+				RedPackWinInviteTypeEnum.zeroStageReward.name());
+		if (totalRewardZero <= 0)
+			return;
+
 		// 鍚屼竴闃熷憳濂栧姳涓�娆�
-		int totalReward = redPackWinInviteMapper.countByUidAndTeamUidAndType(bossId, teamUid, RedPackWinInviteTypeEnum.oneStageReward.name());
+		int totalReward = redPackWinInviteMapper.countByUidAndTeamUidAndType(bossId, teamUid,
+				RedPackWinInviteTypeEnum.oneStageReward.name());
 		if (totalReward > 0)
 			return;
-		
+
 		// 寤虹珛閭�璇峰叧绯绘椂闂磋秴杩�20澶�
 		Long succeedTime = threeSale.getSucceedTime();
 		Date endDate = DateUtil.plusDayDate(Constant.ONE_STAGE_LIMIT_DAYS, new Date(succeedTime));
 		if (endDate.getTime() < java.lang.System.currentTimeMillis())
 			return;
-		
+
 		// 缁戝畾鐢佃瘽鍙风爜鍜屽井淇�
 		UserInfo userInfo = userInfoService.selectByPKey(teamUid);
-		if (userInfo == null || StringUtil.isNullOrEmpty(userInfo.getPhone()) || StringUtil.isNullOrEmpty(userInfo.getWxOpenId())) 
+		if (userInfo == null || StringUtil.isNullOrEmpty(userInfo.getPhone())
+				|| StringUtil.isNullOrEmpty(userInfo.getWxOpenId()))
 			return;
-		
+
 		// 鎺堟潈娣樺疂
 		UserExtraTaoBaoInfo taoBaoInfo = userExtraTaoBaoInfoService.getByUid(teamUid);
 		if (taoBaoInfo == null || StringUtil.isNullOrEmpty(taoBaoInfo.getTaoBaoUid()))
 			return;
-		
+
 		// 濂藉弸浜х敓涓�绗旇繑鍒╄鍗曪紙鑷喘锛変笖 24 灏忔椂鍐呬笉澶辨晥锛�
 		long validOrder = commonOrderService.count24HValidOrderByUid(teamUid, new Date(succeedTime));
-		if (validOrder < 1) 
+		if (validOrder < 1)
 			return;
-		
+
 		// 濂栧姳閲戦
 		BigDecimal money = Constant.ONE_STAGE_MONEY;
-		
+
 		// 鑾峰緱绾㈠寘
 		RedPackWinInvite winInvite = new RedPackWinInvite();
 		winInvite.setCreateTime(new Date());
@@ -150,20 +190,20 @@
 		winInvite.setUid(bossId);
 		winInvite.setTeamUid(teamUid);
 		winInvite.setMoney(money);
+		winInvite.setIdentifyCode(StringUtil.Md5(RedPackWinInviteTypeEnum.oneStageReward.name() + ":" + teamUid));
 		redPackWinInviteMapper.insertSelective(winInvite);
-		
+
 		// 澧炲姞绾㈠寘
 		redPackBalanceService.addRedPack(bossId, money, RedPackDetailFactory.createInvite(winInvite));
-		
+
 		// 娑堟伅
 		MsgRedPackTeamRewardContentDTO dto = new MsgRedPackTeamRewardContentDTO();
 		dto.setNickName(userInfo.getNickName());
 		dto.setPortrait(userInfo.getPortrait());
-		userMoneyMsgNotificationService.teamRedPackRewardMsg(bossId, MsgTypeMoneyTypeEnum.redPackOneStageReward,
-				money, "闃熷憳锛堝ソ鍙嬶級瀹屾垚绗竴闃舵", new Gson().toJson(dto));
+		userMoneyMsgNotificationService.teamRedPackRewardMsg(bossId, MsgTypeMoneyTypeEnum.redPackOneStageReward, money,
+				"绮変笣锛堝ソ鍙嬶級瀹屾垚绗竴闃舵", new Gson().toJson(dto));
 	}
-	
-	
+
 	@RequestSerializableByKeyService(key = "#uid")
 	@RedPackGetVersionLimit(uid = "#uid")
 	@Transactional(rollbackFor = Exception.class)
@@ -171,66 +211,73 @@
 	public void inviteOrderArriveReward(Long uid, Integer source, String orderNo) throws Exception {
 		if (uid == null || source == null || StringUtil.isNullOrEmpty(orderNo))
 			return;
-		
-		//鑾峰彇璁㈠崟瀵瑰簲涓嬪崟浜�
+
+		// 鑾峰彇璁㈠崟瀵瑰簲涓嬪崟浜�
 		List<CommonOrder> list = commonOrderService.listBySourceTypeAndOrderId(source, orderNo);
 		if (list == null || list.isEmpty())
 			return;
-		
+
 		CommonOrder commonOrder = list.get(0);
 		if (commonOrder == null || commonOrder.getUserInfo() == null)
 			return;
-		
+
 		// 涓嬪崟浜篿d
 		Long teamUid = commonOrder.getUserInfo().getId();
 		if (teamUid == null)
 			return;
-		
+
 		// 楠岃瘉涓婁笅绾у叧绯�
-		ThreeSale threeSale = threeSaleSerivce.getByWorkerIdAndTime(teamUid, Constant.RED_PACK_REWARD_TIME);
-		if(threeSale == null || threeSale.getBoss().getId().longValue() != uid.longValue())
+		ThreeSale threeSale = threeSaleSerivce.getByWorkerIdAndTime(teamUid,
+				TimeUtil.convertDateToTemp(Constant.RED_PACK_ONLINE_TIME));
+		if (threeSale == null || threeSale.getBoss().getId().longValue() != uid.longValue())
 			return;
-		
+
 		// 绗竴闃舵(楠岃瘉)
-		RedPackWinInvite oneStage = redPackWinInviteMapper.getByUidAndTeamUidAndType(uid, teamUid, RedPackWinInviteTypeEnum.oneStageReward.name());
+		RedPackWinInvite oneStage = redPackWinInviteMapper.getByUidAndTeamUidAndType(uid, teamUid,
+				RedPackWinInviteTypeEnum.oneStageReward.name());
 		if (oneStage == null)
 			return;
-		
+
 		// 绗簩闃舵(楠岃瘉)
-		RedPackWinInvite twoStage = redPackWinInviteMapper.getByUidAndTeamUidAndType(uid, teamUid, RedPackWinInviteTypeEnum.twoStageReward.name());
+		RedPackWinInvite twoStage = redPackWinInviteMapper.getByUidAndTeamUidAndType(uid, teamUid,
+				RedPackWinInviteTypeEnum.twoStageReward.name());
 		if (twoStage == null) {
 			twoStageRewardToBoss(uid, teamUid, oneStage.getCreateTime(), source, orderNo);
 			return;
-		} 
-		
+		}
+
 		// 绗笁闃舵
 		threeStageRewardToBoss(uid, teamUid, twoStage.getCreateTime(), source, orderNo);
 	}
-	
-	
+
 	/**
-	 *    涓婄骇濂栧姳--绗簩闃舵
+	 * 涓婄骇濂栧姳--绗簩闃舵
+	 * 
 	 * @param uid
 	 * @param source
 	 * @param orderNo
 	 * @param bossId
 	 */
-	@Transactional
-	private void twoStageRewardToBoss(Long bossId, Long teamUid, Date oneStageTime, Integer source, String orderNo) throws Exception{
-		// 绗竴闃舵瀹屾垚涔嬪悗鐨�90澶╁唴 ; 闃熷弸浜х敓鐨勮鍗曚腑锛堣嚜璐�+鍒嗕韩锛夛紝閭�璇蜂汉绱浜х敓鈮�1 鍏冨閲�  
+	@Transactional(rollbackFor = Exception.class)
+	private void twoStageRewardToBoss(Long bossId, Long teamUid, Date oneStageTime, Integer source, String orderNo)
+			throws Exception {
+		// 绗竴闃舵瀹屾垚涔嬪悗鐨�90澶╁唴 ; 闃熷弸浜х敓鐨勮鍗曚腑锛堣嚜璐�+鍒嗕韩锛夛紝閭�璇蜂汉绱浜х敓鈮�1 鍏冨閲�
 		Date endDate = DateUtil.plusDayDate(Constant.TWO_STAGE_LIMIT_DAYS, oneStageTime);
-		BigDecimal rewardMoney = hongBaoV2CountService.getShareRewardByTeamUid(bossId, teamUid, endDate);
+
+		// 缁熻璁㈠崟濂栭噾 锛堚�滃ソ鍙嬭嚜璐�濆拰鈥滃ソ鍙嬪垎浜�濓級
+		BigDecimal rewardMoney = hongBaoV2CountService.getOrderRewardByTeamUid(bossId, teamUid, endDate);
 		if (rewardMoney == null || rewardMoney.compareTo(Constant.TWO_STAGE_ORDER_REWARD_MIN) < 0)
 			return;
-		
+
 		// 璁$畻濂栧姳
 		BigDecimal money = Constant.TWO_STAGE_MONEY_MIN;
 		long total = redPackWinInviteMapper.countByUidAndType(bossId, RedPackWinInviteTypeEnum.twoStageReward.name());
 		if (total > 0 && total < Constant.TWO_STAGE_MONEY_ADD_NUM) {
 			long num = total % Constant.TWO_STAGE_MONEY_ADD_NUM;
-			money = MoneyBigDecimalUtil.add(money, MoneyBigDecimalUtil.mul(Constant.TWO_STAGE_MONEY_ADD, new BigDecimal(num)));
+			money = MoneyBigDecimalUtil.add(money,
+					MoneyBigDecimalUtil.mul(Constant.TWO_STAGE_MONEY_ADD, new BigDecimal(num)));
 		}
-		
+
 		// 鑾峰緱绾㈠寘璁板綍
 		RedPackWinInvite winInvite = new RedPackWinInvite();
 		winInvite.setUid(bossId);
@@ -241,59 +288,64 @@
 		winInvite.setCreateTime(new Date());
 		winInvite.setUpdateTime(new Date());
 		winInvite.setType(RedPackWinInviteTypeEnum.twoStageReward);
+		winInvite.setIdentifyCode(StringUtil.Md5(RedPackWinInviteTypeEnum.twoStageReward.name() + ":" + teamUid));
 		redPackWinInviteMapper.insertSelective(winInvite);
-		
+
 		// 4銆佸鍔犵孩鍖�
 		redPackBalanceService.addRedPack(bossId, money, RedPackDetailFactory.createIncreaseReward(winInvite));
-		
+
 		// 5銆佹秷鎭�
 		UserInfo userInfo = userInfoService.selectByPKey(teamUid);
 		MsgRedPackTeamRewardContentDTO dto = new MsgRedPackTeamRewardContentDTO();
 		dto.setNickName(userInfo.getNickName());
 		dto.setPortrait(userInfo.getPortrait());
-		userMoneyMsgNotificationService.teamRedPackRewardMsg(bossId, MsgTypeMoneyTypeEnum.redPackTwoStageReward,
-				money, "闃熷憳锛堝ソ鍙嬶級瀹屾垚绗簩闃舵", new Gson().toJson(dto));
+		userMoneyMsgNotificationService.teamRedPackRewardMsg(bossId, MsgTypeMoneyTypeEnum.redPackTwoStageReward, money,
+				"绮変笣锛堝ソ鍙嬶級瀹屾垚绗簩闃舵", new Gson().toJson(dto));
 	}
-	
 
 	/**
 	 * 涓婄骇濂栧姳锛氭鏈堝紑濮嬩骇鐢熸弧瓒虫潯浠剁殑鍒嗕韩璁㈠崟锛堝垎浜鍗曞疄浠樻鈮�10鍏冿級 杩炵画15涓湀 鑷劧鏈堣幏寰楋紙宸插埌璐︼級姣忔湀鏈�楂�2鍏�
+	 * 
 	 * @param uid
 	 * @param source
 	 * @param orderNo
 	 * @param bossId
 	 */
-	@Transactional
-	private void threeStageRewardToBoss(Long bossId, Long teamUid,  Date twoStageTime, Integer source, String orderNo) throws Exception{
+	@Transactional(rollbackFor = Exception.class)
+	private void threeStageRewardToBoss(Long bossId, Long teamUid, Date twoStageTime, Integer source, String orderNo)
+			throws Exception {
 		// 浜屻�佷笁闃舵涓嶅彲鍚屾湀
 		if (DateUtil.isSameMonth(twoStageTime, new Date()))
 			return;
-		
+
 		// 鏄惁宸查鍙栨湰鏈�
-		RedPackWinInvite threeStage = redPackWinInviteMapper.getByUidAndTeamUidAndTypeMonth(bossId, teamUid, RedPackWinInviteTypeEnum.threeStageReward.name());
+		RedPackWinInvite threeStage = redPackWinInviteMapper.getByUidAndTeamUidAndTypeMonth(bossId, teamUid,
+				RedPackWinInviteTypeEnum.threeStageReward.name());
 		if (threeStage != null)
 			return;
-				
-		// 宸插鍔辨鏁� 
-		int totalNum = redPackWinInviteMapper.countByUidAndTeamUidAndType(bossId, teamUid, RedPackWinInviteTypeEnum.threeStageReward.name());
+
+		// 宸插鍔辨鏁�
+		int totalNum = redPackWinInviteMapper.countByUidAndTeamUidAndType(bossId, teamUid,
+				RedPackWinInviteTypeEnum.threeStageReward.name());
 		if (totalNum >= Constant.THREE_STAGE_REWARD_MONTH)
 			return;
-		
+
 		// 鏄惁宸查棿鏂�
 		int monthSpace = DateUtil.getMonthSpace(twoStageTime, new Date());
-		if (monthSpace !=  totalNum + 1)
+		if (monthSpace != totalNum + 1)
 			return;
-		
-		// 姣忔湀缁欎綘绱浜х敓鈮�2 鍏�
-		BigDecimal rewardMoney = hongBaoV2CountService.getShareRewardByTeamUidLastMonth(bossId, teamUid);
+
+		// 缁熻鏈湀鑾峰緱濂栭噾 锛堚�滃ソ鍙嬭嚜璐�濆拰鈥滃ソ鍙嬪垎浜�濓級
+		BigDecimal rewardMoney = hongBaoV2CountService.getOrderRewardByTeamUidTheMonth(bossId, teamUid);
 		if (rewardMoney == null || rewardMoney.compareTo(Constant.THREE_STAGE_ORDER_REWARD_MIN) < 0)
 			return;
-		
+
 		// 璁$畻闅忔満濂栧姳
-		double randomMoney = Constant.THREE_STAGE_RANDOM_MIN +  Math.random() * (Constant.THREE_STAGE_RANDOM_MAX - Constant.THREE_STAGE_RANDOM_MIN);
+		double randomMoney = Constant.THREE_STAGE_RANDOM_MIN
+				+ Math.random() * (Constant.THREE_STAGE_RANDOM_MAX - Constant.THREE_STAGE_RANDOM_MIN);
 		// 淇濈暀涓や綅灏忔暟
 		BigDecimal money = new BigDecimal(randomMoney).setScale(2, BigDecimal.ROUND_HALF_UP);
-		
+
 		// 3銆佽幏寰楃孩鍖呰褰�
 		RedPackWinInvite winInvite = new RedPackWinInvite();
 		winInvite.setCreateTime(new Date());
@@ -304,18 +356,92 @@
 		winInvite.setMoney(money);
 		winInvite.setSource(source);
 		winInvite.setOrderNo(orderNo);
+		winInvite.setIdentifyCode(
+				StringUtil.Md5(RedPackWinInviteTypeEnum.threeStageReward.name() + ":" + teamUid + "-" + monthSpace));
 		redPackWinInviteMapper.insertSelective(winInvite);
-		
+
 		// 4銆佸鍔犵孩鍖�
 		redPackBalanceService.addRedPack(bossId, money, RedPackDetailFactory.createSeriesReward(winInvite));
-		
+
 		// 娑堟伅
 		UserInfo userInfo = userInfoService.selectByPKey(teamUid);
 		MsgRedPackTeamRewardContentDTO dto = new MsgRedPackTeamRewardContentDTO();
 		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));
+	}
+
+	@Override
+	public List<RedPackWinProgressVO> getInviteProgressByWorkerId(Long uid, Long tid) {
+		List<RedPackWinProgressVO> listVO = new ArrayList<RedPackWinProgressVO>();
+		ThreeSale threeSale = threeSaleSerivce.getNearRelationByBossIdAndWorkerId(uid, tid);
+		if (threeSale == null || threeSale.getSucceedTime() == null)
+			return listVO;
+
+		UserInfo userInfo = userInfoService.selectByPKey(tid);
+		if (userInfo == null)
+			return listVO;
+
+		// 濂栧姳璁板綍
+		List<RedPackWinInvite> listWin = redPackWinInviteMapper.getWinListByBossIdAndTeamUid(uid, tid);
+		if (listWin == null || listWin.size() == 0)
+			return listVO;
+
+		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) {
+				listVO.add(new RedPackWinProgressVO("绗竴闃舵", time, money.toString()));
+				continue;
+			}
+
+			if (win.getType() == RedPackWinInviteTypeEnum.twoStageReward) {
+				listVO.add(new RedPackWinProgressVO("绗簩闃舵", time, money.toString()));
+				continue;
+			}
+
+			if (win.getType() == RedPackWinInviteTypeEnum.threeStageReward) {
+				listVO.add(new RedPackWinProgressVO("绗笁闃舵绗�" + month + "涓湀", time, money.toString()));
+				month++;
+				continue;
+			}
+		}
+		return listVO;
+	}
+
+	@Override
+	public List<RedPackWinInvite> getWinTopListByBossId(int page, int count, Long uid) {
+		return redPackWinInviteMapper.getWinTopListByBossId(count * (page - 1), count, uid);
+	}
+
+	@Override
+	public long countWinTopListByBossId(Long uid) {
+		return redPackWinInviteMapper.countWinTopListByBossId(uid);
+	}
+
+	@Override
+	public long countTeamNumByTid(Long uid, Long teamUid) {
+		return redPackWinInviteMapper.countTeamNumByTid(uid, teamUid);
+	}
+
+	
+	@Override
+	public List<RedPackWinInvite> query(long page, int count, String key, String type){
+		return redPackWinInviteMapper.query(count * (page - 1), count, key, type);
 	}
 	
+	@Override
+	public long count(String key, String type){
+		Long count = redPackWinInviteMapper.count(key, type);
+		if (count == null) {
+			count = 0L;
+		}
+		return count;
+	}
 }

--
Gitblit v1.8.0