From 0d91bad397c1a1b41bc77d9cd9f7555ed78f7f1a Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期四, 19 三月 2020 16:57:48 +0800 Subject: [PATCH] 团队奖励相关机制建立 --- fanli/src/main/java/com/yeshi/fanli/service/impl/user/vip/UserVIPInfoServiceImpl.java | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 55 insertions(+), 2 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 c1dcae6..39ae98a 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 @@ -18,12 +18,14 @@ import com.yeshi.fanli.dao.mybatis.user.vip.UserVIPInfoMapper; import com.yeshi.fanli.dto.msg.MsgOtherVIPDTO; +import com.yeshi.fanli.entity.bus.user.HongBaoV2; import com.yeshi.fanli.entity.bus.user.ThreeSale; import com.yeshi.fanli.entity.bus.user.UserInfo; import com.yeshi.fanli.entity.bus.user.UserInfoExtra; import com.yeshi.fanli.entity.bus.user.UserInviteSeparate; import com.yeshi.fanli.entity.bus.user.UserSystemCoupon; import com.yeshi.fanli.entity.bus.user.vip.UserVIPInfo; +import com.yeshi.fanli.entity.bus.user.vip.UserVIPPreInfo; import com.yeshi.fanli.entity.integral.IntegralDetail; import com.yeshi.fanli.entity.shop.BanLiShopOrder; import com.yeshi.fanli.entity.system.ConfigKeyEnum; @@ -40,6 +42,7 @@ import com.yeshi.fanli.service.inter.user.integral.IntegralDetailService; import com.yeshi.fanli.service.inter.user.invite.ThreeSaleSerivce; import com.yeshi.fanli.service.inter.user.vip.UserVIPInfoService; +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.TimeUtil; @@ -84,6 +87,9 @@ @Lazy @Resource private UserSystemCouponService userSystemCouponService; + + @Resource + private UserVIPPreInfoService userVIPPreInfoService; @Override @Transactional(rollbackFor = Exception.class) @@ -299,8 +305,29 @@ // 1銆佺洿鎺ョ矇涓濓紙浠� 2020 骞� 1 鏈� 1 鏃ヨ捣鐩存帴绮変笣浜х敓鏈夋晥璁㈠崟锛� BigDecimal payMoney = new BigDecimal(userVipConfigService.getValueByKey("require_order_pay")); - long teamNum = hongBaoV2CountService.countValidOrderTeamUserByUid(uid, - TimeUtil.convertDateToTemp(Constant.VIP_ONLINE_TIME), payMoney); +// long teamNum = hongBaoV2CountService.countValidOrderTeamUserByUid(uid, +// TimeUtil.convertDateToTemp(Constant.VIP_ONLINE_TIME), payMoney); + long teamNum = 0L; + long vipBegin = TimeUtil.convertDateToTemp(Constant.VIP_ONLINE_TIME); + List<ThreeSale> listThreeSale = threeSaleSerivce.getValidWorkerIdsByTime(uid, vipBegin); + if (listThreeSale != null && listThreeSale.size() > 0) { + for (ThreeSale three: listThreeSale) { + UserInfo worker = three.getWorker(); + if (worker == null || worker.getId() == null) { + continue; + } + // 1銆侀個璇峰叧绯绘垚鍔熷悗锛�2銆佸崟锛堝垎浜� + 鑷喘锛夊疄浠樻澶т簬1鍏� + long countValid = hongBaoV2CountService.countValidOrderByUidAndTime(worker.getId(), three.getSucceedTime(), payMoney); + if (countValid > 0) { + teamNum ++; + } + } + } + + + + + // 鍖哄垎鑰佺敤鎴峰拰鏂扮敤鎴� String limtDate = userVipConfigService.getValueByKey("vip_execute_time"); @@ -413,4 +440,30 @@ } } + /** + * 楠岃瘉鏄惁绗﹀悎VIP + * @param uid + * @return + */ + private boolean verifyVip(Long uid) { + // 閭�璇疯鍗� + long countZiGou = hongBaoV2CountService.counOrderByUidAndOrderType(uid, Constant.VIP_ORDER_PAY, + HongBaoV2.TYPE_ZIGOU); + // 閭�璇疯鍗� + long countShare = hongBaoV2CountService.counOrderByUidAndOrderType(uid, Constant.VIP_ORDER_PAY, + HongBaoV2.TYPE_SHARE_GOODS); + // 闃熷憳 + long firstTeam = threeSaleSerivce.countFirstTeam(uid, 1); + long secondTeam = threeSaleSerivce.countSecondTeam(uid, 1); + if (countZiGou >= Constant.VIP_PROCESS_3_ZIGOU || countShare >= Constant.VIP_PROCESS_3_SHARE + || (firstTeam >= Constant.VIP_PROCESS_3_TEAM && secondTeam >= Constant.VIP_PROCESS_3_TEAM_SECOND)) { + UserVIPPreInfo latestProcess = userVIPPreInfoService.getLatestProcessInfo(uid); + if (latestProcess == null || latestProcess.getProcess() != UserVIPPreInfo.PROCESS_2) { + userVIPPreInfoService.verifyVipPreInfo(uid, false); + } + return true; + } + return false; + } + } -- Gitblit v1.8.0