From dd5b15229cb15459fa7c31ccea77dac28cbfafbd Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期一, 13 四月 2020 10:04:20 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div --- fanli/src/main/java/com/yeshi/fanli/service/impl/user/vip/UserVIPInfoServiceImpl.java | 90 ++++++++++++++++++++++++++++++++++----------- 1 files changed, 68 insertions(+), 22 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/vip/UserVIPInfoServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/vip/UserVIPInfoServiceImpl.java index d98c06e..fd6b9db 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/vip/UserVIPInfoServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/vip/UserVIPInfoServiceImpl.java @@ -1,6 +1,5 @@ package com.yeshi.fanli.service.impl.user.vip; -import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.List; @@ -14,7 +13,6 @@ import org.yeshi.utils.DateUtil; import com.yeshi.fanli.dao.mybatis.user.vip.UserVIPInfoMapper; -import com.yeshi.fanli.entity.bus.msg.MsgOtherDetail.MsgTypeOtherTypeEnum; import com.yeshi.fanli.entity.bus.user.HongBaoV2; import com.yeshi.fanli.entity.bus.user.UserInfoExtra; import com.yeshi.fanli.entity.bus.user.UserInviteValidNum; @@ -40,9 +38,6 @@ 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.vo.msg.ClientTextStyleVO; -import com.yeshi.fanli.vo.msg.CommonMsgItemVO; -import com.yeshi.fanli.vo.msg.CommonMsgItemVOFactory; @Service public class UserVIPInfoServiceImpl implements UserVIPInfoService { @@ -217,12 +212,13 @@ if (userInfoExtra == null) throw new UserVIPInfoException(1, "鐢ㄦ埛淇℃伅涓嶅瓨鍦�"); + Date upgradeTime = new Date(); // 閫氳繃瓒呯骇浼氬憳 UserVIPInfo info = new UserVIPInfo(); info.setId(userVIPInfo.getId()); - info.setSuccessTime(new Date()); + info.setSuccessTime(upgradeTime); info.setState(UserVIPInfo.STATE_SUCCESS); - info.setUpdateTime(new Date()); + info.setUpdateTime(upgradeTime); userVIPInfoMapper.updateByPrimaryKeySelective(info); try { @@ -230,35 +226,85 @@ String giveCoupon = userVipConfigService.getValueByKey("vip_pre_10_gift_givefree_coupon"); if (!StringUtil.isNullOrEmpty(giveCoupon)) { int num = Integer.parseInt(giveCoupon); - for (int i = 0; i < num; i++) { - userSystemCouponService.insertUserCoupon(uid, CouponTypeEnum.freeCouponGive.name(), - UserSystemCoupon.SOURCE_SYSTEM_PUSH, null, false); - } - - // 娑堟伅 - List<CommonMsgItemVO> listMsg = new ArrayList<>(); - listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("鐘� 鎬�", ClientTextStyleVO.COLOR_TITLE), - new ClientTextStyleVO("鎭枩浣狅紒鎴愬姛鍗囩骇涓鸿秴绾т細鍛�", ClientTextStyleVO.COLOR_CONTENT))); - listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("濂� 鍔�", ClientTextStyleVO.COLOR_TITLE), - new ClientTextStyleVO("鑾峰緱璧犻�佸厤鍗曞埜" + num +"寮�", ClientTextStyleVO.COLOR_CONTENT))); - listMsg.add(CommonMsgItemVOFactory.createMsgItemVO(new ClientTextStyleVO("澶� 娉�", ClientTextStyleVO.COLOR_TITLE), - new ClientTextStyleVO("璇︽儏鏌ョ湅锛屽搴斾細鍛樻潈鐩�", ClientTextStyleVO.COLOR_CONTENT))); - userOtherMsgNotificationService.createMsgOtherDetail(uid, listMsg, MsgTypeOtherTypeEnum.vipUpgradeReward); + userSystemCouponService.freeCouponWin(uid, CouponTypeEnum.freeCouponGive, + UserSystemCoupon.SOURCE_SYSTEM_PUSH, num, true); } } catch (Exception e) { throw new UserVIPInfoException(1, "鍒歌禒閫佸け璐�"); } - // 鍗囩骇娑堟伅 try { + // 鍗囩骇娑堟伅 UserVIPPreInfo pre1 = userVIPPreInfoService.getVipByProcess(uid, UserVIPPreInfo.PROCESS_2); int days = DateUtil.daysBetween(pre1.getCreateTime(), new Date()); userAccountMsgNotificationService.vipUpgradeSuccess(uid, days); + + // 鍗囩骇鎻愰啋涓婄骇 + userVIPPreInfoService.remindBoss(uid, "瓒呯骇浼氬憳", getPassItem(uid), upgradeTime, false); } catch (Exception e) { e.printStackTrace(); } } + + /** + * 楠岃瘉鏄惁绗﹀悎VIP + * @param uid + * @return + */ + private String getPassItem(Long uid) { + // 鑷喘璁㈠崟 + long doneZiGou = hongBaoV2CountService.counOrderByUidAndOrderType(uid, Constant.VIP_ORDER_PAY, + HongBaoV2.TYPE_ZIGOU); + // 鍒嗕韩璁㈠崟 + long doneShare = hongBaoV2CountService.counOrderByUidAndOrderType(uid, Constant.VIP_ORDER_PAY, + HongBaoV2.TYPE_SHARE_GOODS); + + // 鏈夋晥绮変笣 + int doneFirst = 0; + int doneSecond = 0; + UserInviteValidNum userInviteValidNum = userInviteValidNumService.selectByPrimaryKey(uid); + if (userInviteValidNum != null) { + doneFirst = userInviteValidNum.getNumFirst() == null ? 0 : userInviteValidNum.getNumFirst(); + doneSecond = userInviteValidNum.getNumSecond() == null ? 0 : userInviteValidNum.getNumSecond(); + } + + long limitZiGou = 0; + String zigou = userVipConfigService.getValueByKey("vip_pre_10_zigou_order_count"); + if (!StringUtil.isNullOrEmpty(zigou)) { + limitZiGou = Long.parseLong(zigou); + } + + long limitShare = 0; + String share = userVipConfigService.getValueByKey("vip_pre_10_share_order_count"); + if (!StringUtil.isNullOrEmpty(share)) { + limitShare = Long.parseLong(share); + } + + long limitFirst = 0; + String first = userVipConfigService.getValueByKey("vip_pre_10_first_level_team_count"); + if (!StringUtil.isNullOrEmpty(first)) { + limitFirst = Long.parseLong(first); + } + + long limitSecond = 0; + String second = userVipConfigService.getValueByKey("vip_pre_10_second_level_team_count"); + if (!StringUtil.isNullOrEmpty(second)) { + limitSecond = Long.parseLong(second); + } + + String item = ""; + if (doneZiGou >= limitZiGou) { + item = "杩斿埄璁㈠崟"; + } else if (doneShare >= limitShare) { + item = "鍒嗕韩璁㈠崟"; + } else if (doneFirst >= limitFirst && doneSecond >= limitSecond) { + item = "閭�璇风矇涓�"; + } + return item; + } + + /** * 楠岃瘉鏄惁绗﹀悎VIP * @param uid -- Gitblit v1.8.0