From 7c74ee47c3f1ec69b9494d363621f43ad8b9c640 Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期日, 26 四月 2020 12:14:59 +0800 Subject: [PATCH] 后台调整 --- fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/UserInviteValidNumServiceImpl.java | 147 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 146 insertions(+), 1 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/UserInviteValidNumServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/UserInviteValidNumServiceImpl.java index ca2e963..7d92754 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/UserInviteValidNumServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/UserInviteValidNumServiceImpl.java @@ -2,18 +2,23 @@ import java.math.BigDecimal; import java.util.Date; +import java.util.List; import javax.annotation.Resource; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.yeshi.fanli.dao.mybatis.user.UserInviteValidNumMapper; import com.yeshi.fanli.dao.mybatis.user.UserInviteValidRecordMapper; import com.yeshi.fanli.entity.bus.user.ThreeSale; +import com.yeshi.fanli.entity.bus.user.UserInfo; import com.yeshi.fanli.entity.bus.user.UserInviteValidNum; import com.yeshi.fanli.entity.bus.user.UserInviteValidRecord; import com.yeshi.fanli.log.LogHelper; +import com.yeshi.fanli.service.inter.order.CommonOrderService; +import com.yeshi.fanli.service.inter.user.UserInfoService; import com.yeshi.fanli.service.inter.user.invite.ThreeSaleSerivce; import com.yeshi.fanli.service.inter.user.invite.UserInviteValidNumService; import com.yeshi.fanli.util.Constant; @@ -27,8 +32,18 @@ @Resource private UserInviteValidRecordMapper userInviteValidRecordMapper; + @Lazy @Resource private ThreeSaleSerivce threeSaleSerivce; + + @Lazy + @Resource + private UserInfoService userInfoService; + + @Lazy + @Resource + private CommonOrderService commonOrderService; + @Override @@ -207,5 +222,135 @@ LogHelper.error(e); } } - + + + @Override + public void syncInfoAgain(Long workerId) { + // 鏇存柊涓婄骇 + ThreeSale threeSale = threeSaleSerivce.getByWorkerId(workerId); + if (threeSale == null) { + return; + } + + Long uid = threeSale.getBoss().getId(); + UserInfo userInfo = userInfoService.selectByPKey(uid); + if (userInfo == null || userInfo.getState() != UserInfo.STATE_NORMAL) { + return; + } + + int countTeam1 = 0; + List<ThreeSale> listFirstTeam = threeSaleSerivce.listFirstTeam(0, Integer.MAX_VALUE, uid); + if (listFirstTeam != null && listFirstTeam.size() > 0) { + for (ThreeSale firstTeam: listFirstTeam) { + if (firstTeam.getWorker() == null || firstTeam.getWorker().getId() == null) { + continue; + } + Long wid = firstTeam.getWorker().getId(); + Long succeedTime = firstTeam.getSucceedTime(); + if (succeedTime == null) { + succeedTime = firstTeam.getCreateTime(); + } + + // 鍗曪紙鍒嗕韩 + 鑷喘锛夊疄浠樻澶т簬1鍏� + long countValid = commonOrderService.countOrderByUidAndSettled(wid, Constant.VIP_ORDER_PAY); + if (countValid > 0) { + countTeam1 ++; + try { + String uniqueKey = StringUtil.Md5(wid + "#" + UserInviteValidRecord.TYPE_ONE); + UserInviteValidRecord record = userInviteValidRecordMapper.selectByUniqueKey(uniqueKey); + if (record == null) { + record = new UserInviteValidRecord(); + record.setUid(uid); + record.setWorkerId(wid); + record.setType(UserInviteValidRecord.TYPE_ONE); + record.setUniqueKey(uniqueKey); + record.setCreateTime(new Date()); + userInviteValidRecordMapper.insertSelective(record); + } + } catch (Exception e) { + + } + } + } + } + + UserInviteValidNum inviteValid = userInviteValidNumMapper.selectForUpdate(uid); + if (inviteValid != null) { + UserInviteValidNum updateObj = new UserInviteValidNum(); + updateObj.setId(uid); + updateObj.setNumFirst(countTeam1);; + userInviteValidNumMapper.updateByPrimaryKeySelective(updateObj); + } else { + inviteValid = new UserInviteValidNum(); + inviteValid.setId(uid); + inviteValid.setNumFirst(countTeam1); + inviteValid.setNumSecond(0); + inviteValid.setUpdateTime(new Date()); + userInviteValidNumMapper.insertSelective(inviteValid); + } + + // 鏇存柊涓婁笂绾т俊鎭� + ThreeSale superThreeSale = threeSaleSerivce.getByWorkerId(uid); + if (superThreeSale == null) { + return; + } + + Long superUid = superThreeSale.getBoss().getId(); + UserInfo superUserInfo = userInfoService.selectByPKey(superUid); + if (superUserInfo == null || superUserInfo.getState() != UserInfo.STATE_NORMAL) { + return; + } + + int countTeam2 = 0; + List<ThreeSale> listSecondTeam = threeSaleSerivce.listSecondTeam(0, Integer.MAX_VALUE, superUid); + if (listSecondTeam != null && listSecondTeam.size() > 0) { + for (ThreeSale team: listSecondTeam) { + if (team.getWorker() == null || team.getWorker().getId() == null) { + continue; + } + Long wid = team.getWorker().getId(); + Long succeedTime = team.getSucceedTime(); + if (succeedTime == null) { + succeedTime = team.getCreateTime(); + } + // 鍗曪紙鍒嗕韩 + 鑷喘锛夊疄浠樻澶т簬1鍏� + long countValid = commonOrderService.countOrderByUidAndSettled(wid, Constant.VIP_ORDER_PAY); + if (countValid > 0) { + countTeam2 ++; + try { + String uniqueKeySuper = StringUtil.Md5(wid + "#" + UserInviteValidRecord.TYPE_TWO); + UserInviteValidRecord recordSuper = userInviteValidRecordMapper.selectByUniqueKey(uniqueKeySuper); + if (recordSuper == null) { + recordSuper = new UserInviteValidRecord(); + recordSuper.setUid(superUid); + recordSuper.setWorkerId(wid); + recordSuper.setType(UserInviteValidRecord.TYPE_TWO); + recordSuper.setUniqueKey(uniqueKeySuper); + recordSuper.setCreateTime(new Date()); + userInviteValidRecordMapper.insertSelective(recordSuper); + } + } catch (Exception e) { + + } + + } + } + } + + UserInviteValidNum inviteValid2 = userInviteValidNumMapper.selectForUpdate(superUid); + if (inviteValid2 != null) { + UserInviteValidNum updateObj = new UserInviteValidNum(); + updateObj.setId(superUid); + updateObj.setNumSecond(countTeam2); + userInviteValidNumMapper.updateByPrimaryKeySelective(updateObj); + } else { + inviteValid2 = new UserInviteValidNum(); + inviteValid2.setId(superUid); + inviteValid2.setNumFirst(0); + inviteValid2.setNumSecond(countTeam2); + inviteValid2.setUpdateTime(new Date()); + userInviteValidNumMapper.insertSelective(inviteValid2); + } + } + } -- Gitblit v1.8.0