admin
2022-04-07 e1cc0d03fadc2d251d36c0dc3650f75e830d5363
app/src/main/java/com/yeshi/makemoney/app/service/impl/team/TeamInviteRelationServiceImpl.java
@@ -1,19 +1,17 @@
package com.yeshi.makemoney.app.service.impl.team;
import java.lang.Exception;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import java.util.Date;
import org.yeshi.utils.bean.BeanUtil;
import java.util.List;
import com.yeshi.makemoney.app.dao.team.TeamInviteRelationMapper;
import com.yeshi.makemoney.app.dao.team.TeamInviteRelationMapper.DaoQuery;
import com.yeshi.makemoney.app.entity.team.TeamInviteRelation;
import com.yeshi.makemoney.app.exception.team.TeamInviteRelationException;
import com.yeshi.makemoney.app.service.inter.team.TeamInviteRelationService;
import com.yeshi.makemoney.app.service.query.team.TeamInviteRelationQuery;
import com.yeshi.makemoney.app.dao.team.TeamInviteRelationMapper.DaoQuery;
import org.springframework.stereotype.Service;
import org.yeshi.utils.bean.BeanUtil;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
@Service
public class TeamInviteRelationServiceImpl implements TeamInviteRelationService{
@@ -24,10 +22,16 @@
  @Override
  public List<TeamInviteRelation> list(TeamInviteRelationQuery teamInviteRelationQuery, int page, int pageSize)  {
    DaoQuery daoQuery = new DaoQuery();
    try {
        BeanUtil.copyProperties(teamInviteRelationQuery, daoQuery);
    } catch (IllegalAccessException e) {
          e.printStackTrace();
        daoQuery.minCreateTime = teamInviteRelationQuery.toStartTime();
        daoQuery.maxCreateTime = teamInviteRelationQuery.toEndTime();
        if (teamInviteRelationQuery.getBoss() != null) {
            if (teamInviteRelationQuery.getBoss()) {
                daoQuery.uid = teamInviteRelationQuery.getUid();
            } else {
                daoQuery.targetUid = teamInviteRelationQuery.getUid();
            }
        } else {
            daoQuery.tuid = teamInviteRelationQuery.getUid();
    }
    daoQuery.start=(page-1)*pageSize;
    daoQuery.count=pageSize;
@@ -51,7 +55,21 @@
  }
  @Override
  public void add(TeamInviteRelation teamInviteRelation)  throws Exception {
    public void add(TeamInviteRelation teamInviteRelation) throws TeamInviteRelationException {
        if (teamInviteRelation.getUid() == null || teamInviteRelation.getTargetUid() == null) {
            throw new TeamInviteRelationException(TeamInviteRelationException.CODE_PARAMS_NOT_ENOUGH, "参数不完整");
        }
        //查询下家是否已经有上家
        if (getBossUid(teamInviteRelation.getTargetUid()) != null) {
            throw new TeamInviteRelationException(TeamInviteRelationException.CODE_ALREADY_INVITED, "已被邀请");
        }
        if (teamInviteRelation.getState() == null) {
            teamInviteRelation.setState(TeamInviteRelation.STATE_VALID);
        }
     if(teamInviteRelation.getCreateTime()==null){
        teamInviteRelation.setCreateTime(new Date());
     }
@@ -75,5 +93,46 @@
     }
  }
    @Override
    public Long getBossUid(Long uid) {
        DaoQuery daoQuery = new DaoQuery();
        daoQuery.targetUid = uid;
        daoQuery.state = TeamInviteRelation.STATE_VALID;
        daoQuery.count = 1;
        List<TeamInviteRelation> list = teamInviteRelationMapper.list(daoQuery);
        if (list == null || list.size() == 0) {
            return null;
        }
        return list.get(0).getUid();
    }
    @Override
    public List<TeamInviteRelation> getFirstTeamList(Long uid, int page, int pageSize) {
        DaoQuery daoQuery = new DaoQuery();
        daoQuery.uid = uid;
        daoQuery.state = TeamInviteRelation.STATE_VALID;
        daoQuery.start = (page - 1) * pageSize;
        daoQuery.count = pageSize;
        return teamInviteRelationMapper.list(daoQuery);
    }
    @Override
    public long countFirstTeam(Long uid) {
        DaoQuery daoQuery = new DaoQuery();
        daoQuery.uid = uid;
        daoQuery.state = TeamInviteRelation.STATE_VALID;
        return teamInviteRelationMapper.count(daoQuery);
    }
    @Override
    public List<TeamInviteRelation> getSecondTeamList(Long uid, int page, int pageSize) {
        return teamInviteRelationMapper.listSecondTeam(uid, (page - 1) * pageSize, pageSize);
    }
    @Override
    public long countSecondTeam(Long uid) {
        return teamInviteRelationMapper.countSecondTeam(uid);
    }
}