From bc9b3881443190de6df4867a6b0a67bc472bab93 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 09 六月 2020 17:44:46 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div
---
fanli/src/main/java/com/yeshi/fanli/service/impl/redpack/RedPackWinInviteServiceImpl.java | 111 +++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 83 insertions(+), 28 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..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
@@ -97,9 +97,41 @@
@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_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, TimeUtil.convertDateToTemp(Constant.VIP_ONLINE_TIME));
+ ThreeSale threeSale = threeSaleSerivce.getByWorkerIdAndTime(teamUid,
+ TimeUtil.convertDateToTemp(Constant.RED_PACK_ONLINE_TIME));
if (threeSale == null)
return;
@@ -110,8 +142,13 @@
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;
// 鍚屼竴闃熷憳濂栧姳涓�娆�
@@ -164,7 +201,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 +227,8 @@
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 +258,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 +300,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 +311,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,62 +369,79 @@
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)
+ 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)
+ if (listWin == null || listWin.size() == 0)
return listVO;
-
+
int month = 1;
- for (RedPackWinInvite win: listWin) {
+ 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 ++;
+ month++;
continue;
}
}
return listVO;
}
-
-
+
@Override
public List<RedPackWinInvite> getWinTopListByBossId(int page, int count, Long uid) {
- return redPackWinInviteMapper.getWinTopListByBossId(count * (page-1), count, 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