admin
2020-05-14 235921d820f29b04b1e82f6a6f0d4a1957a900ef
fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/TeamFansInfoServiceImpl.java
@@ -11,8 +11,10 @@
import com.yeshi.fanli.dao.user.invite.TeamFansInfoDao;
import com.yeshi.fanli.dto.user.ThreeSaleFocusDTO;
import com.yeshi.fanli.entity.bus.user.TeamFansInfo;
import com.yeshi.fanli.entity.bus.user.vip.UserLevelEnum;
import com.yeshi.fanli.service.inter.user.invite.TeamFansInfoService;
import com.yeshi.fanli.service.inter.user.invite.ThreeSaleSerivce;
import com.yeshi.fanli.util.StringUtil;
@Service
public class TeamFansInfoServiceImpl implements TeamFansInfoService {
@@ -25,60 +27,193 @@
   
   @Override
   public void save(TeamFansInfo record) {
      teamFansInfoDao.save(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("");
      if (record.getLevel() == null)
          record.setLevel(UserLevelEnum.daRen);
      if (record.getStateValid() == null)
         record.setStateValid(false);
      if (record.getTaobaoBind() == null)
          record.setTaobaoBind(false);
      if (record.getWeixinId() == null)
         record.setWeixinId("");
      if (record.getPhone() == null)
         record.setPhone("");
      if (record.getPhoneOpen() == null)
         record.setPhoneOpen(true);
      if (record.getInviteCode() == null)
         record.setInviteCode("");
      if (record.getActiveTime() == null)
         record.setActiveTime(new Date());
      if (record.getFansNum() == null)
         record.setFansNum(0);
      if (record.getIncome() != null)
         record.setIncome(0);
      if (record.getIncomeTime() == null)
         record.setIncomeTime(new Date());
      if (record.getMemoName() == null)
         record.setMemoName("");
      if (record.getTags() != null)
         record.setTags("");
      if (record.getMemoNameSup() == null)
         record.setMemoNameSup("");
      if (record.getTagsSup() == null)
         record.setTagsSup("");
      if (StringUtil.isNullOrEmpty(record.getWeixinId())) {
         record.setWeixinIdExist(false);
      } else {
         record.setWeixinIdExist(true);
      }
   }
   
   @Override
   public void updateMemoName(Long workerId, int type, String memoName) {
      teamFansInfoDao.updateMemoName(workerId, type, memoName);
      TeamFansInfo teamFansInfo = new TeamFansInfo();
      teamFansInfo.setWorkerId(workerId);
      if (type == 1) {
         teamFansInfo.setMemoName(memoName);
      } else {
         teamFansInfo.setMemoNameSup(memoName);
      }
      save(teamFansInfo);
   }
   @Override
   public void updateTags(Long workerId, int type, String tags) {
      teamFansInfoDao.updateTags(workerId, type, tags);
      TeamFansInfo teamFansInfo = new TeamFansInfo();
      teamFansInfo.setWorkerId(workerId);
      if (type == 1) {
         teamFansInfo.setTags(tags);
      } else {
         teamFansInfo.setTagsSup(tags);
      }
      save(teamFansInfo);
   }
   
   @Override
   public void updateNickName(Long workerId, String nickName) {
      teamFansInfoDao.updateNickName(workerId, nickName);
      TeamFansInfo teamFansInfo = new TeamFansInfo();
      teamFansInfo.setWorkerId(workerId);
      teamFansInfo.setNickName(nickName);
      save(teamFansInfo);
   }
   
   
   @Override
   public void updateStateValid(Long workerId, boolean stateValid) {
      teamFansInfoDao.updateStateValid(workerId, stateValid);
      TeamFansInfo teamFansInfo = new TeamFansInfo();
      teamFansInfo.setWorkerId(workerId);
      teamFansInfo.setStateValid(stateValid);
      save(teamFansInfo);
   }
   
   @Override
   public void updateTaobaoBind(Long workerId, boolean taobaoBind) {
      teamFansInfoDao.updateTaobaoBind(workerId, taobaoBind);
      TeamFansInfo teamFansInfo = new TeamFansInfo();
      teamFansInfo.setWorkerId(workerId);
      teamFansInfo.setTaobaoBind(taobaoBind);
      save(teamFansInfo);
   }
   
   @Override
   public void updateWeixinBind(Long workerId, boolean weixinBind) {
      teamFansInfoDao.updateWeixinBind(workerId, weixinBind);
   }
   @Override
   public void updateActiveTime(Long workerId, Date activeTime) {
      teamFansInfoDao.updateActiveTime(workerId, activeTime);
      TeamFansInfo teamFansInfo = new TeamFansInfo();
      teamFansInfo.setWorkerId(workerId);
      teamFansInfo.setActiveTime(activeTime);
      save(teamFansInfo);
   }
   @Override
   public void updateWeixinId(Long workerId, String weixinId) {
      TeamFansInfo teamFansInfo = new TeamFansInfo();
      teamFansInfo.setWorkerId(workerId);
      teamFansInfo.setWeixinId(weixinId);
      if (StringUtil.isNullOrEmpty(weixinId)) {
         teamFansInfo.setWeixinIdExist(false);
      } else {
         teamFansInfo.setWeixinIdExist(true);
      }
      save(teamFansInfo);
   }
   @Override
   public void updateInviteCode(Long workerId, String inviteCode) {
      TeamFansInfo teamFansInfo = new TeamFansInfo();
      teamFansInfo.setWorkerId(workerId);
      teamFansInfo.setInviteCode(inviteCode);
      save(teamFansInfo);
   }
   @Override
   public void updatePhone(Long workerId, String phone) {
      TeamFansInfo teamFansInfo = new TeamFansInfo();
      teamFansInfo.setWorkerId(workerId);
      teamFansInfo.setPhone(phone);
      save(teamFansInfo);
   }
   @Override
   public void updatePhoneOpen(Long workerId, boolean phoneOpen) {
      TeamFansInfo teamFansInfo = new TeamFansInfo();
      teamFansInfo.setWorkerId(workerId);
      teamFansInfo.setPhoneOpen(phoneOpen);
      save(teamFansInfo);
   }
   @Override
   public void updateIncome(Long workerId, BigDecimal income) {
      if (income == null) {
         income = BigDecimal.ZERO;
      }
      TeamFansInfo teamFansInfo = new TeamFansInfo();
      teamFansInfo.setWorkerId(workerId);
      teamFansInfo.setIncome(income.multiply(BigDecimal.valueOf(100)).setScale(2, BigDecimal.ROUND_DOWN).intValue());
      teamFansInfo.setIncomeTime(new Date());
      save(teamFansInfo);
   }
   @Override
   public void updateFansNum(Long workerId) {
      long firstTeam = threeSaleSerivce.countFirstTeam(workerId);
      long secondTeam = threeSaleSerivce.countSecondTeam(workerId);
      int fansNum = (int) (firstTeam + secondTeam);
      teamFansInfoDao.updateFansNum(workerId, fansNum);
   }
   @Override
   public void updateIncome(Long workerId, BigDecimal income) {
      teamFansInfoDao.updateIncome(workerId, income);
      TeamFansInfo teamFansInfo = new TeamFansInfo();
      teamFansInfo.setWorkerId(workerId);
      teamFansInfo.setFansNum(fansNum);
      save(teamFansInfo);
   }
   
   @Override
   public List<TeamFansInfo> query(int start, int count, int type, Long uid, ThreeSaleFocusDTO focusDTO) {
      return teamFansInfoDao.query(start, count, type, uid, focusDTO);