From 393e3a365b5ebbed6e9eef07fbd18881cde73711 Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期六, 28 三月 2020 16:51:04 +0800 Subject: [PATCH] Merge branch 'div' into div-1 --- fanli/src/main/java/com/yeshi/fanli/service/impl/user/vip/UserVIPPreInfoServiceImpl.java | 135 ++++++++++++++++++++++++++++++++++++--------- 1 files changed, 108 insertions(+), 27 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/vip/UserVIPPreInfoServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/vip/UserVIPPreInfoServiceImpl.java index 3a3e757..3828a5f 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/vip/UserVIPPreInfoServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/vip/UserVIPPreInfoServiceImpl.java @@ -21,7 +21,9 @@ import com.yeshi.fanli.service.inter.user.invite.ThreeSaleSerivce; import com.yeshi.fanli.service.inter.user.msg.MsgAccountDetailService; import com.yeshi.fanli.service.inter.user.vip.UserVIPPreInfoService; +import com.yeshi.fanli.service.inter.user.vip.UserVipConfigService; import com.yeshi.fanli.util.Constant; +import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.TimeUtil; import com.yeshi.fanli.util.annotation.RequestSerializableByKeyService; @@ -36,10 +38,12 @@ @Resource private ThreeSaleSerivce threeSaleSerivce; - + @Resource private MsgAccountDetailService msgAccountDetailService; + @Resource + private UserVipConfigService userVipConfigService; @Override @@ -73,15 +77,36 @@ return infoList.get(0); } + @Override + public UserVIPPreInfo getProcessInfo(Long uid, Date time) { + List<UserVIPPreInfo> infoList = userVIPPreInfoMapper.listByUid(uid); + if (infoList == null || infoList.size() == 0) + return null; + Comparator<UserVIPPreInfo> cm = new Comparator<UserVIPPreInfo>() { + + @Override + public int compare(UserVIPPreInfo o1, UserVIPPreInfo o2) { + return o2.getProcess() - o1.getProcess(); + } + }; + Collections.sort(infoList, cm); + + for (UserVIPPreInfo info : infoList) { + if (time.getTime() >= info.getCreateTime().getTime()) + return info; + } + return null; + } + @RequestSerializableByKeyService(key = "#uid") @Transactional(rollbackFor = Exception.class) @Override public void verifyVipPreInfo(Long uid, boolean inviteSuccess) { if (uid == null || uid <= 0) return; - + verifyCondition(uid); - + // 楠岃瘉涓婄骇 if (inviteSuccess) { UserInfo boss = threeSaleSerivce.getBoss(uid); @@ -142,17 +167,42 @@ private boolean oneProcess(Long uid, long countZiGou, long countShare, long firstTeam, long secondTeam) { boolean process = false; String msg = ""; - if (countZiGou >= Constant.VIP_PROCESS_1_ZIGOU) { - process = true; - msg = "鎭枩浣狅紒杩斿埄璁㈠崟杈惧埌 "+ Constant.VIP_PROCESS_1_ZIGOU +"绗�"; - } else if (countShare >= Constant.VIP_PROCESS_1_SHARE) { - process = true; - msg = "鎭枩浣狅紒鍒嗕韩璁㈠崟杈惧埌 "+ Constant.VIP_PROCESS_1_SHARE +"绗�"; - } else if (firstTeam >= Constant.VIP_PROCESS_1_TEAM && secondTeam >= Constant.VIP_PROCESS_1_TEAM_SECOND) { - process = true; - msg = "鐩存帴绮変笣杈惧埌"+ Constant.VIP_PROCESS_1_TEAM +"浜猴紝闂存帴绮変笣杈惧埌 "+ Constant.VIP_PROCESS_1_TEAM_SECOND +"浜�"; + + long limitZiGou = 0; + String zigou = userVipConfigService.getValueByKey("vip_pre_3_zigou_order_count"); + if (!StringUtil.isNullOrEmpty(zigou)) { + limitZiGou = Long.parseLong(zigou); } - + + long limitShare = 0; + String share = userVipConfigService.getValueByKey("vip_pre_3_share_order_count"); + if (!StringUtil.isNullOrEmpty(share)) { + limitShare = Long.parseLong(share); + } + + long limitFirst = 0; + String first = userVipConfigService.getValueByKey("vip_pre_3_first_level_team_count"); + if (!StringUtil.isNullOrEmpty(first)) { + limitFirst = Long.parseLong(first); + } + + long limitSecond = 0; + String second = userVipConfigService.getValueByKey("vip_pre_3_second_level_team_count"); + if (!StringUtil.isNullOrEmpty(second)) { + limitSecond = Long.parseLong(second); + } + + if (countZiGou >= limitZiGou) { + process = true; + msg = "鎭枩浣狅紒杩斿埄璁㈠崟杈惧埌 " + limitZiGou + "绗�"; + } else if (countShare >= limitShare) { + process = true; + msg = "鎭枩浣狅紒鍒嗕韩璁㈠崟杈惧埌 " + limitShare + "绗�"; + } else if (firstTeam >= limitFirst && secondTeam >= limitSecond) { + process = true; + msg = "鐩存帴绮変笣杈惧埌" + limitFirst + "浜猴紝闂存帴绮変笣杈惧埌 " + limitSecond + "浜�"; + } + if (process) { try { UserVIPPreInfo info = new UserVIPPreInfo(); @@ -161,7 +211,7 @@ info.setCreateTime(new Date()); info.setUpdateTime(new Date()); addUserVIPPreInfo(info); - + // 娑堟伅 MsgAccountVipDTO msgDto = new MsgAccountVipDTO(); msgDto.setStatus("绯荤粺宸插皢浣犵殑璐︽埛鐢卞揩鐪佽揪浜哄崌绾т负鏅�氫細鍛�"); @@ -170,7 +220,7 @@ } catch (UserVIPPreInfoException e) { e.printStackTrace(); } - } + } return process; } @@ -186,17 +236,42 @@ private boolean twoProcess(Long uid, long countZiGou, long countShare, long firstTeam, long secondTeam) { boolean process = false; String msg = ""; - if (countZiGou >= Constant.VIP_PROCESS_2_ZIGOU) { - process = true; - msg = "鎭枩浣狅紒杩斿埄璁㈠崟杈惧埌 "+ Constant.VIP_PROCESS_2_ZIGOU +"绗�"; - } else if (countShare >= Constant.VIP_PROCESS_2_SHARE) { - process = true; - msg = "鎭枩浣狅紒鍒嗕韩璁㈠崟杈惧埌 "+ Constant.VIP_PROCESS_2_SHARE +"绗�"; - } else if (firstTeam >= Constant.VIP_PROCESS_2_TEAM && secondTeam >= Constant.VIP_PROCESS_2_TEAM_SECOND) { - process = true; - msg = "鐩存帴绮変笣杈惧埌"+ Constant.VIP_PROCESS_2_TEAM +"浜猴紝闂存帴绮変笣杈惧埌 "+ Constant.VIP_PROCESS_2_TEAM_SECOND +"浜�"; + + long limitZiGou = 0; + String zigou = userVipConfigService.getValueByKey("vip_pre_7_zigou_order_count"); + if (!StringUtil.isNullOrEmpty(zigou)) { + limitZiGou = Long.parseLong(zigou); } - + + long limitShare = 0; + String share = userVipConfigService.getValueByKey("vip_pre_7_share_order_count"); + if (!StringUtil.isNullOrEmpty(share)) { + limitShare = Long.parseLong(share); + } + + long limitFirst = 0; + String first = userVipConfigService.getValueByKey("vip_pre_7_first_level_team_count"); + if (!StringUtil.isNullOrEmpty(first)) { + limitFirst = Long.parseLong(first); + } + + long limitSecond = 0; + String second = userVipConfigService.getValueByKey("vip_pre_7_second_level_team_count"); + if (!StringUtil.isNullOrEmpty(second)) { + limitSecond = Long.parseLong(second); + } + + if (countZiGou >= limitZiGou) { + process = true; + msg = "鎭枩浣狅紒杩斿埄璁㈠崟杈惧埌 " + limitZiGou + "绗�"; + } else if (countShare >= limitShare) { + process = true; + msg = "鎭枩浣狅紒鍒嗕韩璁㈠崟杈惧埌 " + limitShare + "绗�"; + } else if (firstTeam >= limitFirst && secondTeam >= limitSecond) { + process = true; + msg = "鐩存帴绮変笣杈惧埌" + limitFirst + "浜猴紝闂存帴绮変笣杈惧埌 " + limitSecond + "浜�"; + } + if (process) { try { UserVIPPreInfo info = new UserVIPPreInfo(); @@ -205,7 +280,7 @@ info.setCreateTime(new Date()); info.setUpdateTime(new Date()); addUserVIPPreInfo(info); - + // 娑堟伅 MsgAccountVipDTO msgDto = new MsgAccountVipDTO(); msgDto.setStatus("绯荤粺宸插皢浣犵殑璐︽埛鐢辨櫘閫氫細鍛樺崌绾т负楂樼骇浼氬憳"); @@ -214,8 +289,14 @@ } catch (UserVIPPreInfoException e) { e.printStackTrace(); } - } + } return process; } + @Override + public UserVIPPreInfo selectByUidAndProcess(Long uid, int process) { + UserVIPPreInfo info = userVIPPreInfoMapper.selectByUidAndProcess(uid, process); + return info; + } + } -- Gitblit v1.8.0