From 28cf328a098334b51a3e9d2d56f983fb8c862211 Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期六, 23 五月 2020 09:54:38 +0800 Subject: [PATCH] 足迹、收藏订单兼容新需求 --- fanli/src/main/java/com/yeshi/fanli/service/impl/user/vip/UserVIPPreInfoServiceImpl.java | 43 +++++++++++++++++++++++++++++++++++-------- 1 files changed, 35 insertions(+), 8 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 8c723bf..f647afa 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 @@ -94,13 +94,14 @@ @Resource private TeamUserLevelStatisticService teamUserLevelStatisticService; + @Transactional @Override public void addUserVIPPreInfo(UserVIPPreInfo info) throws UserVIPPreInfoException { if (info == null || info.getUid() == null || info.getProcess() == null || info.getSourceType() == null) throw new UserVIPPreInfoException(1, "淇℃伅涓嶅畬鏁�"); for (Long fuid : Constant.NO_UPGRADE_UIDS) {// 绂佹涓嶈兘鍗囩骇鐨勭敤鎴峰崌绾� if (info.getUid().longValue() == fuid) - return; + throw new UserVIPPreInfoException(100, "绂佹鍗囩骇"); } UserVIPPreInfo oldInfo = userVIPPreInfoMapper.selectByUidAndProcess(info.getUid(), info.getProcess()); @@ -108,9 +109,31 @@ throw new UserVIPPreInfoException(2, "杩涘害宸插瓨鍦�"); if (info.getCreateTime() == null) info.setCreateTime(new Date()); + + UserVIPPreInfo old = getLatestProcessInfo(info.getUid()); + userVIPPreInfoMapper.insertSelective(info); // 璁剧疆缁熻鏁版嵁 teamUserLevelStatisticService.setUserLevel(info.getUid(), UserLevelUtil.getByLevel(info.getProcess())); + + // 鍙戦�佺瓑绾у彉鍖栨秷鎭� + if (!Constant.IS_TEST) { + UserLevelEnum oldLevel = null; + if (old == null) + oldLevel = UserLevelEnum.daRen; + else { + oldLevel = UserLevelUtil.getByLevel(old.getProcess()); + } + + if (oldLevel == UserLevelEnum.normalVIP) + oldLevel = UserLevelEnum.daRen; + + UserLevelChangedMQMsg msg = new UserLevelChangedMQMsg(info.getUid(), oldLevel, + UserLevelUtil.getByLevel(info.getProcess()), new Date()); + Message message = MQMsgBodyFactory.create(MQTopicName.TOPIC_USER, UserTopicTagEnum.userLevelChanged, msg); + producer.send(message); + } + } @Override @@ -281,7 +304,7 @@ info.setSourceType(UserVIPPreInfo.SOURCE_TYPE_TEAM); else info.setSourceType(UserVIPPreInfo.SOURCE_TYPE_ORDER); - + addUserVIPPreInfo(info); // 鍗囩骇寮规鎻愮ず @@ -315,12 +338,6 @@ LogHelper.error(e); } - if (!Constant.IS_TEST) { - UserLevelChangedMQMsg msg = new UserLevelChangedMQMsg(uid, UserLevelEnum.daRen, UserLevelEnum.highVIP, - new Date()); - Message message = MQMsgBodyFactory.create(MQTopicName.TOPIC_USER, UserTopicTagEnum.userLevelChanged, msg); - producer.send(message); - } } @Override @@ -333,4 +350,14 @@ userVIPPreInfoMapper.deleteByPrimaryKey(id); } + @Override + public List<UserVIPPreInfo> listByProcess(int process, Date minTime, Date maxTime, int page, int pageSize) { + return userVIPPreInfoMapper.listByProcess(process, minTime, maxTime, (page - 1) * pageSize, pageSize); + } + + @Override + public long countByProcess(int process, Date minTime, Date maxTime) { + return userVIPPreInfoMapper.countByProcess(process, minTime, maxTime); + } + } -- Gitblit v1.8.0