From d46dea27b6ec3e0fb32ec7d137699e9fc7d609b0 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期四, 12 十二月 2019 14:18:11 +0800 Subject: [PATCH] 订单补贴消息修改 --- fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoExtraServiceImpl.java | 204 +++++++++++++++++++++++++------------------------- 1 files changed, 103 insertions(+), 101 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoExtraServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoExtraServiceImpl.java index 3b115bf..442453f 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoExtraServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoExtraServiceImpl.java @@ -40,6 +40,7 @@ import com.yeshi.fanli.service.inter.user.UserRankService; import com.yeshi.fanli.service.inter.user.invite.ThreeSaleSerivce; import com.yeshi.fanli.util.Constant; +import com.yeshi.fanli.util.InviteCodeFilterUtil; import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.account.UserUtil; import com.yeshi.fanli.util.wx.WXLoginUtil; @@ -159,6 +160,7 @@ } boolean isupdateRank = true; + UserInfoExtra extra = new UserInfoExtra(); UserInfoExtra userInfoExtra = userInfoExtraMapper.getInfoExtraByUid(uid); if (userInfoExtra != null && userInfoExtra.getId() != null) { @@ -170,14 +172,91 @@ isupdateRank = false; } } + extra.setId(userInfoExtra.getId()); } else { - userInfoExtra = new UserInfoExtra(); - userInfoExtra.setUserInfo(new UserInfo(uid)); + extra.setUserInfo(new UserInfo(uid)); } - + // 鏇存柊绛夌骇 if (isupdateRank) { - updateRank(userInfoExtra); + List<UserRank> listRank = userRankService.getAllRank(); + if (listRank == null || listRank.size() == 0) { + throw new UserInfoExtraException(1, "绯荤粺绛夌骇涓嶅瓨鍦�"); + } + + int selfOrderNum = 0; + int sharedOrderNum = 0; + int inviteOrderNum = 0; + Map<String, Object> map = commonOrderCountService.lastMonthSettleOrderNumber(uid); + if (map != null) { + // 杩斿埄璁㈠崟 + if (map.get("totalSelf") != null) { + selfOrderNum = Integer.parseInt(map.get("totalSelf").toString()); + } + + // 鍒嗕韩璁㈠崟 + if (map.get("totalShared") != null) { + sharedOrderNum = Integer.parseInt(map.get("totalShared").toString()); + } + + // 閭�璇疯鍗� + if (map.get("totalInvite") != null) { + inviteOrderNum = Integer.parseInt(map.get("totalInvite").toString()); + } + } + + UserRank rank = null; + for (UserRank userRank : listRank) { + // 閭�璇锋弧瓒� + Integer inviteNum = userRank.getInviteNum(); + if (inviteOrderNum >= inviteNum) { + rank = userRank; + extra.setRankOrderNum(inviteOrderNum); + extra.setRankSource(Constant.TYPE_INVITE); + } + + // 鍒嗕韩婊¤冻 + int shareNum = userRank.getShareNum(); + if (sharedOrderNum >= shareNum) { + rank = userRank; + extra.setRankOrderNum(sharedOrderNum); + extra.setRankSource(Constant.TYPE_SHAER); + } + + // 杩斿埄婊¤冻 + int directNum = userRank.getRebateNum(); + if (selfOrderNum >= directNum) { + rank = userRank; + extra.setRankOrderNum(selfOrderNum); + extra.setRankSource(Constant.TYPE_REBATE); + } + + if (rank != null) { + extra.setUserRank(rank); + } else { + rank = userRank; + // 榛樿鏈�浣庣瓑绾�:闈掗摐 + extra.setUserRank(rank); + extra.setRankOrderNum(selfOrderNum); + extra.setRankSource(Constant.TYPE_REBATE); + break; + } + } + + // 绛夌骇鏇存柊鏃堕棿 褰撴湀1鍙� + Calendar calendar1 = Calendar.getInstance(); + calendar1.set(Calendar.DAY_OF_MONTH, 1); + extra.setRankUpdateTime(calendar1.getTime()); + + // 淇濆瓨绛夌骇淇℃伅 + saveUserInfoExtra(extra); + + // 淇濆瓨绛夌骇鍙樺寲璁板綍 + UserRankRecord userRankRecord = new UserRankRecord(); + userRankRecord.setUid(uid); + userRankRecord.setRankId(rank.getId()); + userRankRecord.setCreateTime(new Date()); + userRankRecordMapper.insertSelective(userRankRecord); } } @@ -197,98 +276,6 @@ userInfoExtraMapper.insertSelective(userInfoExtra); } - @Override - public UserInfoExtra updateRank(UserInfoExtra userInfoExtra) throws UserInfoExtraException { - UserInfo userInfo = userInfoExtra.getUserInfo(); - if (userInfo == null) { - throw new UserInfoExtraException(1, "鐢ㄦ埛涓嶅瓨鍦�"); - } - - Long uid = userInfo.getId(); - if (uid == null) { - throw new UserInfoExtraException(1, "鐢ㄦ埛ID涓嶅瓨鍦�"); - } - - List<UserRank> listRank = userRankService.getAllRank(); - if (listRank == null || listRank.size() == 0) { - throw new UserInfoExtraException(1, "绯荤粺绛夌骇涓嶅瓨鍦�"); - } - - int selfOrderNum = 0; - int sharedOrderNum = 0; - int inviteOrderNum = 0; - Map<String, Object> map = commonOrderCountService.lastMonthSettleOrderNumber(uid); - if (map != null) { - // 杩斿埄璁㈠崟 - if (map.get("totalSelf") != null) { - selfOrderNum = Integer.parseInt(map.get("totalSelf").toString()); - } - - // 鍒嗕韩璁㈠崟 - if (map.get("totalShared") != null) { - sharedOrderNum = Integer.parseInt(map.get("totalShared").toString()); - } - - // 閭�璇疯鍗� - if (map.get("totalInvite") != null) { - inviteOrderNum = Integer.parseInt(map.get("totalInvite").toString()); - } - } - - UserRank rank = null; - for (UserRank userRank : listRank) { - // 閭�璇锋弧瓒� - Integer inviteNum = userRank.getInviteNum(); - if (inviteOrderNum >= inviteNum) { - rank = userRank; - userInfoExtra.setRankOrderNum(inviteOrderNum); - userInfoExtra.setRankSource(Constant.TYPE_INVITE); - } - - // 鍒嗕韩婊¤冻 - int shareNum = userRank.getShareNum(); - if (sharedOrderNum >= shareNum) { - rank = userRank; - userInfoExtra.setRankOrderNum(sharedOrderNum); - userInfoExtra.setRankSource(Constant.TYPE_SHAER); - } - - // 杩斿埄婊¤冻 - int directNum = userRank.getRebateNum(); - if (selfOrderNum >= directNum) { - rank = userRank; - userInfoExtra.setRankOrderNum(selfOrderNum); - userInfoExtra.setRankSource(Constant.TYPE_REBATE); - } - - if (rank != null) { - userInfoExtra.setUserRank(rank); - } else { - rank = userRank; - // 榛樿鏈�浣庣瓑绾�:闈掗摐 - userInfoExtra.setUserRank(rank); - userInfoExtra.setRankOrderNum(selfOrderNum); - userInfoExtra.setRankSource(Constant.TYPE_REBATE); - break; - } - } - - // 绛夌骇鏇存柊鏃堕棿 褰撴湀1鍙� - Calendar calendar1 = Calendar.getInstance(); - calendar1.set(Calendar.DAY_OF_MONTH, 1); - userInfoExtra.setRankUpdateTime(calendar1.getTime()); - - // 淇濆瓨淇℃伅骞惰繑鍥� - saveUserInfoExtra(userInfoExtra); - - UserRankRecord userRankRecord = new UserRankRecord(); - userRankRecord.setUid(uid); - userRankRecord.setRankId(rank.getId()); - userRankRecord.setCreateTime(new Date()); - userRankRecordMapper.insertSelective(userRankRecord); - - return userInfoExtra; - } @Override public UserInfoExtra saveUserInfoExtra(UserInfoExtra userInfoExtra) throws UserInfoExtraException { @@ -620,13 +607,25 @@ } @Override + @Transactional public UserInfoExtra getByUidForUpdate(Long uid) { return userInfoExtraMapper.getByUidForUpdate(uid); } @Override + @Transactional public void updateGoldCoin(Long id, Integer goldCoin) { userInfoExtraMapper.updateGoldCoin(id, goldCoin); + } + + @Override + public void addGoldCoinByUid(Long uid, Integer goldCoin) { + userInfoExtraMapper.addGoldCoinByUid(uid, goldCoin); + } + + @Override + public void updateByPrimaryKeySelective(UserInfoExtra record) { + userInfoExtraMapper.updateByPrimaryKeySelective(record); } @Override @@ -651,11 +650,10 @@ try { String inviteCode = createInviteCode(uid); if (!StringUtil.isNullOrEmpty(inviteCode)) { - userInfoExtra.setUserInfo(new UserInfo(uid)); - userInfoExtra.setInviteCode(inviteCode); - - saveUserInfoExtra(userInfoExtra); - + UserInfoExtra extra= new UserInfoExtra(); + extra.setId(userInfoExtra.getId()); + extra.setInviteCode(inviteCode); + userInfoExtraMapper.updateByPrimaryKeySelective(extra); return inviteCode; } } catch (Exception e) { @@ -803,6 +801,10 @@ // 杞崲鎴愬ぇ鍐� inviteCodeVip = inviteCodeVip.toUpperCase(); + // 楠岃瘉鐗规畩鐮� + if(InviteCodeFilterUtil.isSpecialCode(inviteCodeVip)) + throw new UserInfoExtraException(5, "閭�璇风爜宸插瓨鍦�"); + if (inviteCodeVip.equalsIgnoreCase(extra.getInviteCode())) throw new UserInfoExtraException(5, "涓嶈兘涓哄師閭�璇风爜"); -- Gitblit v1.8.0