From 898bf7fa7eb1ba538d0af7f3c8f016dd29c4ac2c Mon Sep 17 00:00:00 2001
From: Administrator <Administrator@MS-20170306HGUF>
Date: 星期一, 24 二月 2020 14:16:56 +0800
Subject: [PATCH] 原热销
---
fanli/src/main/java/com/yeshi/fanli/service/impl/user/vip/UserVIPInfoServiceImpl.java | 130 +++++++++++++++++++++---------------------
1 files changed, 65 insertions(+), 65 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 0a913a1..c1dcae6 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
@@ -49,42 +49,41 @@
@Resource
private UserVIPInfoMapper userVIPInfoMapper;
-
+
@Resource
private UserInfoService userInfoService;
-
+
@Resource
private UserInfoExtraService userInfoExtraService;
-
+
@Resource
private UserVipConfigService userVipConfigService;
-
+
@Lazy
@Resource
private HongBaoV2CountService hongBaoV2CountService;
-
+
@Resource
private IntegralDetailService integralDetailService;
-
+
@Resource
private BanLiShopOrderService banLiShopOrderService;
-
+
@Resource
private UserOtherMsgNotificationService userOtherMsgNotificationService;
-
+
@Resource
private ThreeSaleSerivce threeSaleSerivce;
-
+
@Resource
private UserInviteSeparateService userInviteSeparateService;
-
+
@Resource
private ConfigService configService;
-
+
@Lazy
@Resource
private UserSystemCouponService userSystemCouponService;
-
@Override
@Transactional(rollbackFor = Exception.class)
@@ -112,25 +111,25 @@
if (userVIPInfo.getState() != UserVIPInfo.STATE_VERIFING) {
throw new UserVIPInfoException(2, "鐢宠鏈浜庡鏍哥姸鎬�");
}
-
+
if (!verifyConform(uid))
throw new UserVIPInfoException(1, "绯荤粺楠岃瘉锛氫笉婊¤冻鍗囩骇鏉′欢");
-
+
UserVIPInfo info = new UserVIPInfo();
info.setId(userVIPInfo.getId());
info.setSuccessTime(new Date());
info.setState(UserVIPInfo.STATE_SUCCESS);
info.setUpdateTime(new Date());
userVIPInfoMapper.updateByPrimaryKeySelective(info);
-
+
// 涓嬬骇鐨勮秴绾т細鍛� 涓嶈劚绂�
userInviteSeparateService.updateInvalidByBossId(uid);
-
+
// 棰濆淇℃伅
UserInfoExtra userInfoExtra = userInfoExtraService.getByUidForUpdate(uid);
if (userInfoExtra == null)
throw new UserVIPInfoException(1, "鐢ㄦ埛淇℃伅涓嶅瓨鍦�");
-
+
// 娣诲姞閲戝竵
IntegralDetail detail = new IntegralDetail();
detail.setTitle("鍗囩骇VIP绂忓埄");
@@ -140,54 +139,55 @@
detail.setUniqueKey("VIP-" + uid);
integralDetailService.insertSelective(detail);
userInfoExtraService.addGoldCoinByUid(uid, Constant.VIP_COLDCOIN_NUM);
-
+
try {
// 濂栧姳鍒�
BigDecimal percent = new BigDecimal(configService.get(ConfigKeyEnum.exchangeRebatePercent.getKey()));
for (int i = 0; i < Constant.VIP_COUPON_REWARD_NUM; i++) {
- userSystemCouponService.insertUserCoupon(uid, CouponTypeEnum.rebatePercentCoupon.name(),
+ userSystemCouponService.insertUserCoupon(uid, CouponTypeEnum.rebatePercentCoupon.name(),
UserSystemCoupon.SOURCE_SYSTEM_PUSH, percent, false);
}
-
+
// 璧犻�佸厤鍗曞埜
for (int i = 0; i < Constant.VIP_COUPON_GIVEFREE_NUM; i++) {
- userSystemCouponService.insertUserCoupon(uid, CouponTypeEnum.freeCouponGive.name(),
+ userSystemCouponService.insertUserCoupon(uid, CouponTypeEnum.freeCouponGive.name(),
UserSystemCoupon.SOURCE_SYSTEM_PUSH, null, false);
}
} catch (Exception e) {
throw new UserVIPInfoException(1, "鍒歌禒閫佸け璐�");
}
-
+
// 娑堟伅
MsgOtherVIPDTO msgOther = new MsgOtherVIPDTO();
msgOther.setContent1("鎭枩浣狅紝宸叉垚涓鸿秴绾т細鍛�");
msgOther.setContent2("婊¤冻鍗囩骇鏉′欢");
msgOther.setContent3(TimeUtil.formatDateDot(new Date()));
userOtherMsgNotificationService.passVIPApplyMsg(uid, "杩斿埄濂栧姳鍒稿拰銆佽禒閫佸厤鍗曞埜鍜岄噾甯佽鍒版垜鐨�-绂忓埄涓績涓煡鐪�", msgOther);
-
+
// 閫氱煡涓婄骇
callBoss(uid);
}
/**
* 閫氱煡涓婄骇鑴辩鍏崇郴
+ *
* @param uid
*/
@Transactional
private void callBoss(Long uid) {
// 鏄惁瀛樺湪涓婄骇
ThreeSale threeSale = threeSaleSerivce.getMyBoss(uid);
- if (threeSale == null)
+ if (threeSale == null)
return;
// 涓婄骇鏄惁涓轰細鍛�
Long bossId = threeSale.getBoss().getId();
UserVIPInfo bossVIP = userVIPInfoMapper.selectByPrimaryKeyForUpdate(bossId);
if (bossVIP != null && bossVIP.getState() != null && bossVIP.getState() == UserVIPInfo.STATE_SUCCESS)
return;
-
+
// 涔嬪墠鎻掑叆璁板綍澶辨晥
userInviteSeparateService.updateStateByWorkerIdAndBossId(uid, bossId, UserInviteSeparate.STATE_INVALID);
-
+
// 闄愬埗鏃堕棿
int limitDays = Integer.parseInt(configService.get(ConfigKeyEnum.inviteSeparateLimitDays.getKey()));
UserInviteSeparate inviteSeparate = new UserInviteSeparate();
@@ -198,16 +198,16 @@
inviteSeparate.setCreateTime(new Date());
inviteSeparate.setUpdateTime(new Date());
userInviteSeparateService.insertSelective(inviteSeparate);
-
+
UserInfo userInfo = userInfoService.selectByPKey(uid);
// 娑堟伅
MsgOtherVIPDTO msgboss = new MsgOtherVIPDTO();
- msgboss.setContent1(userInfo.getNickName() +" "+ uid);
+ msgboss.setContent1(userInfo.getNickName() + " " + uid);
msgboss.setContent2("浜�" + TimeUtil.formatDateDot(new Date()) + "鎴愬姛鍗囩骇鎴愪负瓒呯骇浼氬憳");
- msgboss.setContent3("浠婃棩璧�"+limitDays+"澶╁唴锛屼綘鏈兘鎴愪负瓒呯骇浼氬憳灏嗕細涓庡叾鑴辩閭�璇峰叧绯� ");
+ msgboss.setContent3("浠婃棩璧�" + limitDays + "澶╁唴锛屼綘鏈兘鎴愪负瓒呯骇浼氬憳灏嗕細涓庡叾鑴辩閭�璇峰叧绯� ");
userOtherMsgNotificationService.teamVIPCallBoss(bossId, "濡傛湁鐤戦棶璇疯仈绯绘垜鐨�-浜哄伐瀹㈡湇", msgboss);
}
-
+
@Transactional(rollbackFor = Exception.class)
@Override
public void rejectVIPApply(Long uid, String reason) throws UserVIPInfoException {
@@ -224,7 +224,7 @@
info.setState(UserVIPInfo.STATE_INVALID);
info.setUpdateTime(new Date());
userVIPInfoMapper.updateByPrimaryKeySelective(info);
-
+
// 娑堟伅
MsgOtherVIPDTO msgOther = new MsgOtherVIPDTO();
msgOther.setContent1("寰堟姳姝夛紝鏈�氳繃瓒呯骇浼氬憳鐢宠");
@@ -288,20 +288,19 @@
return map;
}
-
@Override
public boolean verifyConform(Long uid) {
if (uid == null || uid <= 0)
return false;
-
+
UserInfoExtra extra = userInfoExtraService.getUserInfoExtra(uid);
- if (extra == null)
+ if (extra == null)
return false;
-
+
// 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);
// 鍖哄垎鑰佺敤鎴峰拰鏂扮敤鎴�
String limtDate = userVipConfigService.getValueByKey("vip_execute_time");
@@ -314,7 +313,7 @@
}
if (executeDate == null)
return false;
-
+
if (extra.getFirstLoginTime() == null || extra.getFirstLoginTime().getTime() < executeDate.getTime()) {
long limitNum = Long.parseLong(userVipConfigService.getValueByKey("require_invite_num_old_user"));
if (teamNum < limitNum)
@@ -324,19 +323,19 @@
if (teamNum < limitNum)
return false;
}
-
+
// 2銆佺疮璁¤嚜璐繑鍒┾墺100 鍏冿紙浠庢敞鍐屾澘鏍楀揩鐪佽捣锛夛紱
BigDecimal fanMoney = new BigDecimal(userVipConfigService.getValueByKey("require_fan_money"));
BigDecimal purchase = hongBaoV2CountService.getRewardMoneyBySelf(uid);
if (purchase.compareTo(fanMoney) < 0)
return false;
-
+
// 3銆佺疮璁¢噾甯佲墺10000 鏋氾紙浠庢敞鍐屾澘鏍楀揩鐪佽捣锛夛紱
BigDecimal goldCoin = integralDetailService.getCumulativeMoney(uid);
BigDecimal limitGoldCoin = new BigDecimal(userVipConfigService.getValueByKey("require_gold_coin"));
if (goldCoin.compareTo(limitGoldCoin) < 0)
return false;
-
+
// 4銆佷娇鐢ㄧ孩鍖呪墺1 娆�
List<Integer> list = new ArrayList<Integer>();
list.add(BanLiShopOrder.STATE_SUCCESS);
@@ -344,73 +343,74 @@
long limitHongBao = Long.parseLong(userVipConfigService.getValueByKey("require_shop_buy"));
if (useHongBao < limitHongBao)
return false;
-
+
// 绗﹀悎鏉′欢
return true;
}
-
-
+
@Override
- public List<UserVIPInfo> listQuery(int page, int count, String key, Integer state){
- return userVIPInfoMapper.listQuery((page-1) * count, count, key, state);
+ public List<UserVIPInfo> listQuery(int page, int count, String key, Integer state) {
+ return userVIPInfoMapper.listQuery((page - 1) * count, count, key, state);
}
-
+
@Override
- public long countQuery(String key, Integer state){
+ public long countQuery(String key, Integer state) {
return userVIPInfoMapper.countQuery(key, state);
}
-
-
+
@Override
@Transactional(rollbackFor = Exception.class)
public void inviteSeparate(Long workerId, Long bossId) {
if (workerId == null || bossId == null)
return;
-
+
// 鏌ヨ璁板綍
UserInviteSeparate userInviteSeparate = userInviteSeparateService.selectByWorkerIdAndBossId(workerId, bossId);
if (userInviteSeparate == null)
return;
-
+
// 鏄惁瀛樺湪閭�璇峰叧绯�
ThreeSale threeSale = threeSaleSerivce.getMyBoss(workerId);
- if (threeSale == null)
+ if (threeSale == null)
return;
Long bossIdExist = threeSale.getBoss().getId();
if (bossIdExist == null || bossId.longValue() != bossIdExist.longValue())
return;
-
+
// 涓婄骇浼氬憳鎯呭喌
boolean separate = false;
UserVIPInfo userVIPInfo = userVIPInfoMapper.selectByPrimaryKey(bossId);
- if (userVIPInfo != null && userVIPInfo.getState() != null && userVIPInfo.getState() == UserVIPInfo.STATE_SUCCESS) {
+ if (userVIPInfo != null && userVIPInfo.getState() != null
+ && userVIPInfo.getState() == UserVIPInfo.STATE_SUCCESS) {
if (userInviteSeparate.getEndTime().getTime() < userVIPInfo.getSuccessTime().getTime()) {
separate = true; // 缁撴潫鏃堕棿宸茬粡瓒呰繃
}
} else {
- separate = true; // 涓婄骇闈炰細鍛�
+ separate = true; // 涓婄骇闈炰細鍛�
}
-
+
if (!separate) {
// 鏈劚绂�
- userInviteSeparateService.updateStateByWorkerIdAndBossId(workerId, bossId, UserInviteSeparate.STATE_INVALID);
+ userInviteSeparateService.updateStateByWorkerIdAndBossId(workerId, bossId,
+ UserInviteSeparate.STATE_INVALID);
} else {
// 鑴辩鍏崇郴
- userInviteSeparateService.updateStateByWorkerIdAndBossId(workerId, bossId, UserInviteSeparate.STATE_SUCCESS);
-
+ userInviteSeparateService.updateStateByWorkerIdAndBossId(workerId, bossId,
+ UserInviteSeparate.STATE_SUCCESS);
+
// 鑴辩閭�璇峰叧绯�
threeSaleSerivce.inviteSeparate(workerId, bossId);
-
+
int limitDays = Integer.parseInt(configService.get(ConfigKeyEnum.inviteSeparateLimitDays.getKey()));
// 娑堟伅
UserInfo userInfo = userInfoService.selectByPKey(workerId);
MsgOtherVIPDTO msgboss = new MsgOtherVIPDTO();
- msgboss.setContent1(userInfo.getNickName() + workerId + "浜�" +TimeUtil.formatDateDot(userInviteSeparate.getCreateTime())+"鎴愬姛鍗囩骇鎴愪负瓒呯骇浼氬憳 ");
- msgboss.setContent2("寰堥仐鎲撅紝浣犳湭鑳藉湪"+limitDays+"澶╁崌绾т负瓒呯骇浼氬憳 ");
+ msgboss.setContent1(userInfo.getNickName() + workerId + "浜�"
+ + TimeUtil.formatDateDot(userInviteSeparate.getCreateTime()) + "鎴愬姛鍗囩骇鎴愪负瓒呯骇浼氬憳 ");
+ msgboss.setContent2("寰堥仐鎲撅紝浣犳湭鑳藉湪" + limitDays + "澶╁崌绾т负瓒呯骇浼氬憳 ");
msgboss.setContent3("宸蹭笌鍏惰劚绂婚個璇峰叧绯�");
userOtherMsgNotificationService.teamSplitCallBoss(bossId, "濡傛湁鐤戦棶璇疯仈绯绘垜鐨�-浜哄伐瀹㈡湇", msgboss);
}
}
-
-
+
}
--
Gitblit v1.8.0