admin
2025-02-25 30d8e227e8d823b6c38c3b9c90ac2df03b63befe
fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/TeamFansInfoServiceImpl.java
@@ -19,6 +19,7 @@
import com.yeshi.fanli.entity.bus.user.UserInfo;
import com.yeshi.fanli.entity.bus.user.UserInfoExtra;
import com.yeshi.fanli.entity.bus.user.vip.UserLevelEnum;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.count.HongBaoV2CountService;
import com.yeshi.fanli.service.inter.order.CommonOrderService;
import com.yeshi.fanli.service.inter.user.UserActiveLogService;
@@ -37,68 +38,48 @@
   @Resource
   private TeamFansInfoDao teamFansInfoDao;
   @Resource
   private ThreeSaleSerivce threeSaleSerivce;
   @Resource
   private  UserInfoService userInfoService;
   private UserInfoService userInfoService;
   @Resource
   private UserInfoExtraService userInfoExtraService;
   @Resource
   private ThreeSaleExtraInfoSerivce threeSaleExtraInfoSerivce;
   @Resource
   private UserExtraTaoBaoInfoService userExtraTaoBaoInfoService;
   @Resource
   private HongBaoV2CountService hongBaoV2CountService;
   @Resource
   private UserInviteService userInviteService;
   @Resource
   private CommonOrderService commonOrderService;
   @Resource
   private UserActiveLogService userActiveLogService;
   @Override
   public void save(TeamFansInfo record) {
      if (record == null || record.getWorkerId() == null ) {
         return;
      }
      record.setId(record.getWorkerId().toString());
      TeamFansInfo teamFansInfo = teamFansInfoDao.get(record.getId());
      if (teamFansInfo != null) {
         teamFansInfoDao.updateSelective(record);
      } else {
         initData(record);
         record.setUpdateTime(new Date());
         teamFansInfoDao.save(record);
      }
   }
   /**
    * 初始化数据
    * @param record
    */
   private void initData(TeamFansInfo record) {
      if (StringUtil.isNullOrEmpty(record.getNickName()))
          record.setNickName("");
         record.setNickName("");
      if (record.getLevel() == null)
          record.setLevel(UserLevelEnum.daRen);
         record.setLevel(UserLevelEnum.daRen);
      if (record.getStateValid() == null)
         record.setStateValid(false);
      if (record.getTaobaoBind() == null)
          record.setTaobaoBind(false);
         record.setTaobaoBind(false);
      if (record.getWeixinId() == null)
         record.setWeixinId("");
      if (record.getPhone() == null)
@@ -123,17 +104,20 @@
         record.setMemoNameSup("");
      if (record.getTagsSup() == null)
         record.setTagsSup("");
      if (StringUtil.isNullOrEmpty(record.getWeixinId())) {
         record.setWeixinIdExist(false);
      } else {
         record.setWeixinIdExist(true);
      }
   }
   @Override
   public void addFansInfo(Long workerId, Long bossId) {
   public void addFansInfo(Long workerId, Long bossId, Date successTime) {
      LogHelper.test("addFansInfo-新增-" + workerId);
      UserInfo userInfo = userInfoService.selectByPKey(workerId);
      if (userInfo == null) {
         return;
@@ -146,8 +130,7 @@
      // 备注名
      String memoName = null;
      ThreeSaleExtraInfo threeSaleExtraInfo = threeSaleExtraInfoSerivce.getbyBossIdAndWorkerId(bossId,
            workerId);
      ThreeSaleExtraInfo threeSaleExtraInfo = threeSaleExtraInfoSerivce.getbyBossIdAndWorkerId(bossId, workerId);
      if (threeSaleExtraInfo != null) {
         if (!StringUtil.isNullOrEmpty(threeSaleExtraInfo.getNickname())) {
            memoName = threeSaleExtraInfo.getNickname();
@@ -228,6 +211,7 @@
      focusInfo.setBossId(bossId);
      focusInfo.setWorkerId(workerId);
      focusInfo.setBossSuperId(bossSuperId);
      focusInfo.setJoinTime(successTime);
      focusInfo.setNickName(userInfo.getNickName());
      focusInfo.setMemoName(memoName);
      focusInfo.setWeixinIdExist(weixinBind);
@@ -243,15 +227,17 @@
      focusInfo.setStateValid(stateValid);
      focusInfo.setLevel(level);
      focusInfo.setId(workerId.toString());
      save(focusInfo);
      focusInfo.setCrateTime(new Date());
      // 初始化值
      initData(focusInfo);
      teamFansInfoDao.save(focusInfo);
   }
   @Override
   public void updateMemoName(Long workerId, int type, String memoName) {
      LogHelper.test("updateMemoName-更新-" + workerId);
      TeamFansInfo teamFansInfo = new TeamFansInfo();
      teamFansInfo.setWorkerId(workerId);
      if (type == 1) {
@@ -259,12 +245,12 @@
      } else {
         teamFansInfo.setMemoNameSup(memoName);
      }
      save(teamFansInfo);
      update(teamFansInfo);
   }
   @Override
   public void updateTags(Long workerId, int type, String tags) {
      LogHelper.test("updateTags-更新-" + workerId);
      TeamFansInfo teamFansInfo = new TeamFansInfo();
      teamFansInfo.setWorkerId(workerId);
      if (type == 1) {
@@ -272,46 +258,48 @@
      } else {
         teamFansInfo.setTagsSup(tags);
      }
      save(teamFansInfo);
      update(teamFansInfo);
   }
   @Override
   public void updateNickName(Long workerId, String nickName) {
      LogHelper.test("updateNickName-更新-" + workerId);
      TeamFansInfo teamFansInfo = new TeamFansInfo();
      teamFansInfo.setWorkerId(workerId);
      teamFansInfo.setNickName(nickName);
      save(teamFansInfo);
      update(teamFansInfo);
   }
   @Override
   public void updateStateValid(Long workerId, boolean stateValid) {
      LogHelper.test("updateStateValid-更新-" + workerId);
      TeamFansInfo teamFansInfo = new TeamFansInfo();
      teamFansInfo.setWorkerId(workerId);
      teamFansInfo.setStateValid(stateValid);
      save(teamFansInfo);
      update(teamFansInfo);
   }
   @Override
   public void updateTaobaoBind(Long workerId, boolean taobaoBind) {
      LogHelper.test("updateTaobaoBind-更新-" + workerId);
      TeamFansInfo teamFansInfo = new TeamFansInfo();
      teamFansInfo.setWorkerId(workerId);
      teamFansInfo.setTaobaoBind(taobaoBind);
      save(teamFansInfo);
      update(teamFansInfo);
   }
   @Override
   public void updateActiveTime(Long workerId, Date activeTime) {
      LogHelper.test("updateActiveTime-更新-" + workerId);
      TeamFansInfo teamFansInfo = new TeamFansInfo();
      teamFansInfo.setWorkerId(workerId);
      teamFansInfo.setActiveTime(activeTime);
      save(teamFansInfo);
      update(teamFansInfo);
   }
   @Override
   public void updateWeixinId(Long workerId, String weixinId) {
      LogHelper.test("updateWeixinId-更新-" + workerId);
      TeamFansInfo teamFansInfo = new TeamFansInfo();
      teamFansInfo.setWorkerId(workerId);
      teamFansInfo.setWeixinId(weixinId);
@@ -320,80 +308,102 @@
      } else {
         teamFansInfo.setWeixinIdExist(true);
      }
      save(teamFansInfo);
      update(teamFansInfo);
   }
   @Override
   public void updateInviteCode(Long workerId, String inviteCode) {
      LogHelper.test("updateInviteCode-更新-" + workerId);
      TeamFansInfo teamFansInfo = new TeamFansInfo();
      teamFansInfo.setWorkerId(workerId);
      teamFansInfo.setInviteCode(inviteCode);
      save(teamFansInfo);
      update(teamFansInfo);
   }
   @Override
   public void updatePhone(Long workerId, String phone) {
      LogHelper.test("updatePhone-更新-" + workerId);
      TeamFansInfo teamFansInfo = new TeamFansInfo();
      teamFansInfo.setWorkerId(workerId);
      teamFansInfo.setPhone(phone);
      save(teamFansInfo);
      update(teamFansInfo);
   }
   @Override
   public void updateLevel(Long workerId, UserLevelEnum level) {
      LogHelper.test("updateLevel-更新-" + workerId);
      TeamFansInfo teamFansInfo = new TeamFansInfo();
      teamFansInfo.setLevel(level);
      teamFansInfo.setWorkerId(workerId);
      save(teamFansInfo);
      update(teamFansInfo);
   }
   @Override
   public void updatePhoneOpen(Long workerId, boolean phoneOpen) {
      LogHelper.test("updatePhoneOpen-更新-" + workerId);
      TeamFansInfo teamFansInfo = new TeamFansInfo();
      teamFansInfo.setWorkerId(workerId);
      teamFansInfo.setPhoneOpen(phoneOpen);
      save(teamFansInfo);
      update(teamFansInfo);
   }
   @Override
   public void updateIncome(Long workerId, BigDecimal income) {
      LogHelper.test("updateIncome-更新-" + workerId);
      if (income == null) {
         income = BigDecimal.ZERO;
      }
      TeamFansInfo teamFansInfo = new TeamFansInfo();
      teamFansInfo.setWorkerId(workerId);
      teamFansInfo.setIncome(income.multiply(BigDecimal.valueOf(100)).setScale(0, BigDecimal.ROUND_DOWN).intValue());
      teamFansInfo.setIncomeTime(new Date());
      save(teamFansInfo);
      update(teamFansInfo);
   }
   @Override
   public void updateFansNum(Long workerId) {
      LogHelper.test("updateFansNum-更新-" + workerId);
      long firstTeam = threeSaleSerivce.countFirstTeam(workerId);
      long secondTeam = threeSaleSerivce.countSecondTeam(workerId);
      int fansNum = (int) (firstTeam + secondTeam);
      TeamFansInfo teamFansInfo = new TeamFansInfo();
      teamFansInfo.setWorkerId(workerId);
      teamFansInfo.setFansNum(fansNum);
      save(teamFansInfo);
      update(teamFansInfo);
   }
   
   private void update(TeamFansInfo record) {
      if (record == null || record.getWorkerId() == null) {
         return;
      }
      // 无邀请关系 不操作
      ThreeSale threeSale = threeSaleSerivce.selectByWorkerId(record.getWorkerId());
      if (threeSale == null)
         return;
      record.setId(record.getWorkerId().toString());
      teamFansInfoDao.updateSelective(record);
   }
   
   @Override
   public List<TeamFansInfo> query(int start, int count, int type, Long uid, ThreeSaleFocusDTO focusDTO) {
      return teamFansInfoDao.query(start, count, type, uid, focusDTO);
   }
   @Override
   public long count(int type, Long uid, ThreeSaleFocusDTO focusDTO) {
      return teamFansInfoDao.count(type, uid, focusDTO);
   }
   @Override
   public TeamFansInfo getbyWorkerId(Long workerId) {
      return teamFansInfoDao.getbyWorkerId(workerId);
   }
   @Override
   public List<TeamFansInfo> queryByUserInfo(String key) {
      return teamFansInfoDao.queryByUserInfo(key);
   }
}