admin
2022-10-28 0e9b6603d4ae9d11c1fbc90257ce816c5807b8ff
app/src/main/java/com/yeshi/makemoney/app/service/impl/team/TeamInviteRelationServiceImpl.java
@@ -1,79 +1,144 @@
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.springframework.transaction.annotation.Transactional;
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{
public class TeamInviteRelationServiceImpl implements TeamInviteRelationService {
  @Resource
  private TeamInviteRelationMapper teamInviteRelationMapper;
    @Resource
    private TeamInviteRelationMapper teamInviteRelationMapper;
  @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();
    @Override
    public List<TeamInviteRelation> list(TeamInviteRelationQuery teamInviteRelationQuery, int page, int pageSize) {
        DaoQuery daoQuery = new DaoQuery();
        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;
        return teamInviteRelationMapper.list(daoQuery);
    }
    daoQuery.start=(page-1)*pageSize;
    daoQuery.count=pageSize;
    return teamInviteRelationMapper.list(daoQuery);
  }
  @Override
  public long count(TeamInviteRelationQuery teamInviteRelationQuery)  {
    DaoQuery daoQuery = new DaoQuery();
    try {
        BeanUtil.copyProperties(teamInviteRelationQuery, daoQuery);
    } catch (IllegalAccessException e) {
          e.printStackTrace();
    @Override
    public long count(TeamInviteRelationQuery teamInviteRelationQuery) {
        DaoQuery daoQuery = new DaoQuery();
        try {
            BeanUtil.copyProperties(teamInviteRelationQuery, daoQuery);
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        }
        return teamInviteRelationMapper.count(daoQuery);
    }
    return teamInviteRelationMapper.count(daoQuery);
  }
  @Override
  public TeamInviteRelation get(Long id)  {
    return teamInviteRelationMapper.selectByPrimaryKey(id);
  }
    @Override
    public TeamInviteRelation get(Long id) {
        return teamInviteRelationMapper.selectByPrimaryKey(id);
    }
  @Override
  public void add(TeamInviteRelation teamInviteRelation)  throws Exception {
     if(teamInviteRelation.getCreateTime()==null){
        teamInviteRelation.setCreateTime(new Date());
     }
     //保存
     teamInviteRelationMapper.insertSelective(teamInviteRelation);
  }
    @Transactional(rollbackFor = Exception.class)
    @Override
    public void add(TeamInviteRelation teamInviteRelation) throws TeamInviteRelationException {
  @Override
  public void update(TeamInviteRelation teamInviteRelation)  {
     if(teamInviteRelation.getUpdateTime()==null){
        teamInviteRelation.setUpdateTime(new Date());
     }
     //保存
     teamInviteRelationMapper.updateByPrimaryKey(teamInviteRelation);
  }
        if (teamInviteRelation.getUid() == null || teamInviteRelation.getTargetUid() == null) {
            throw new TeamInviteRelationException(TeamInviteRelationException.CODE_PARAMS_NOT_ENOUGH, "参数不完整");
        }
  @Override
  public void delete(List<Long> idList)  {
     for (Long id : idList){
        teamInviteRelationMapper.deleteByPrimaryKey(id);
     }
  }
        //查询下家是否已经有上家
        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());
        }
        //保存
        teamInviteRelationMapper.insertSelective(teamInviteRelation);
    }
    @Override
    public void update(TeamInviteRelation teamInviteRelation) {
        if (teamInviteRelation.getUpdateTime() == null) {
            teamInviteRelation.setUpdateTime(new Date());
        }
        //保存
        teamInviteRelationMapper.updateByPrimaryKey(teamInviteRelation);
    }
    @Override
    public void delete(List<Long> idList) {
        for (Long id : idList) {
            teamInviteRelationMapper.deleteByPrimaryKey(id);
        }
    }
    @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);
    }
}