admin
2020-04-21 0b57cfd62e842b309d03467b96a331c673ecad7c
fanli/src/main/java/com/yeshi/fanli/service/impl/user/invite/UserInviteValidNumServiceImpl.java
@@ -5,8 +5,8 @@
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;
@@ -14,7 +14,6 @@
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.invite.ThreeSaleSerivce;
import com.yeshi.fanli.service.inter.user.invite.UserInviteValidNumService;
import com.yeshi.fanli.util.Constant;
@@ -42,29 +41,94 @@
    *  直接粉丝 +1
    * @param uid
    */
   @Transactional(rollbackFor = Exception.class)
   private void addNumFirst(Long uid) {
      UserInviteValidNum inviteValid = userInviteValidNumMapper.selectForUpdate(uid);
      if (inviteValid != null) {
         userInviteValidNumMapper.addNumFirst(uid, 1);
      } else {
         inviteValid = new UserInviteValidNum();
         inviteValid.setId(uid);
         inviteValid.setNumFirst(1);
         inviteValid.setNumSecond(0);
         inviteValid.setUpdateTime(new Date());
         userInviteValidNumMapper.insertSelective(inviteValid);
      }
   }
   /**
    *  直接粉丝 -1
    * @param uid
    */
   @Override
   @Transactional(rollbackFor = Exception.class)
   public void reduceValidNumFirst(Long uid, Long  workerId) {
      UserInviteValidRecord record = userInviteValidRecordMapper.getByUidAndWorkerId(uid, workerId,
            UserInviteValidRecord.TYPE_ONE);
      if (record == null) {
         return;
      }
      UserInviteValidNum inviteValid = userInviteValidNumMapper.selectForUpdate(uid);
      if (inviteValid != null) {
         int num = 0;
         if (inviteValid.getNumFirst() > 0) {
            num = inviteValid.getNumFirst() - 1;
         }
         inviteValid.setId(uid);
         inviteValid.setNumFirst(num);
         inviteValid.setUpdateTime(new Date());
         userInviteValidNumMapper.updateByPrimaryKeySelective(inviteValid);
      }
      // 删除有效记录
      userInviteValidRecordMapper.deleteByPrimaryKey(record.getId());
   }
   /**
    *  直接粉丝 -1
    * @param uid
    */
   @Override
   @Transactional(rollbackFor = Exception.class)
   public void reduceValidNumSecond(Long uid, Long workerId) {
      UserInviteValidRecord record = userInviteValidRecordMapper.getByUidAndWorkerId(uid, workerId,
            UserInviteValidRecord.TYPE_TWO);
      if (record == null) {
         return;
      }
      UserInviteValidNum inviteValid = userInviteValidNumMapper.selectForUpdate(uid);
      if (inviteValid != null) {
         int num = 0;
         if (inviteValid.getNumFirst() > 0) {
            num = inviteValid.getNumSecond() - 1;
         }
         inviteValid.setId(uid);
         inviteValid.setNumSecond(num);
         inviteValid.setUpdateTime(new Date());
         userInviteValidNumMapper.updateByPrimaryKeySelective(inviteValid);
      }
      // 删除有效记录
      userInviteValidRecordMapper.deleteByPrimaryKey(record.getId());
   }
   /**
    *  间接粉丝 +1
    * @param uid
    */
   @Transactional(rollbackFor = Exception.class)
   private void addNumSecond(Long uid) {
      UserInviteValidNum inviteValid = userInviteValidNumMapper.selectForUpdate(uid);
      if (inviteValid != null) {
         userInviteValidNumMapper.addNumSecond(uid, 1);
      } else {
         inviteValid = new UserInviteValidNum();
         inviteValid.setId(uid);
         inviteValid.setNumFirst(0);
         inviteValid.setNumSecond(1);
         inviteValid.setUpdateTime(new Date());
@@ -73,6 +137,7 @@
   }
   
   @Override
   @Transactional(rollbackFor = Exception.class)
   public void addValidTeamNum(Long uid, BigDecimal payment, Date payDate) {
      if (uid == null || payment == null || payDate == null) {
         return;
@@ -102,7 +167,7 @@
         }
         
         Long bossId = threeSale.getBoss().getId();
         String uniqueKey = StringUtil.Md5(bossId + "#" + uid + "#" + UserInviteValidRecord.TYPE_ONE);
         String uniqueKey = StringUtil.Md5(uid + "#" + UserInviteValidRecord.TYPE_ONE);
         UserInviteValidRecord record = userInviteValidRecordMapper.selectByUniqueKey(uniqueKey);
         if (record == null) {
            record = new UserInviteValidRecord();
@@ -122,14 +187,14 @@
         if (threeSaleSuper == null) {
            return;
         }
         // 间接关系
         Long bossIdSuper = threeSaleSuper.getBoss().getId();
         String uniqueKeySuper = StringUtil.Md5(bossIdSuper + "#" + bossId + "#" + UserInviteValidRecord.TYPE_TWO);
         String uniqueKeySuper = StringUtil.Md5(uid + "#" + UserInviteValidRecord.TYPE_TWO);
         UserInviteValidRecord recordSuper = userInviteValidRecordMapper.selectByUniqueKey(uniqueKeySuper);
         if (recordSuper == null) {
            recordSuper = new UserInviteValidRecord();
            recordSuper.setUid(bossIdSuper);
            recordSuper.setWorkerId(bossId);
            recordSuper.setWorkerId(uid);
            recordSuper.setType(UserInviteValidRecord.TYPE_TWO);
            recordSuper.setUniqueKey(uniqueKeySuper);
            recordSuper.setCreateTime(new Date());
@@ -142,15 +207,5 @@
         LogHelper.error(e);
      }
   }
    
}