From 0e9b6603d4ae9d11c1fbc90257ce816c5807b8ff Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期五, 28 十月 2022 16:55:02 +0800
Subject: [PATCH] 批量添加结算消息

---
 app/src/main/java/com/yeshi/makemoney/app/service/impl/team/TeamInviteRelationServiceImpl.java |  181 ++++++++++++++++++++++++++++++--------------
 1 files changed, 123 insertions(+), 58 deletions(-)

diff --git a/app/src/main/java/com/yeshi/makemoney/app/service/impl/team/TeamInviteRelationServiceImpl.java b/app/src/main/java/com/yeshi/makemoney/app/service/impl/team/TeamInviteRelationServiceImpl.java
index 6f9826f..3a2a126 100644
--- a/app/src/main/java/com/yeshi/makemoney/app/service/impl/team/TeamInviteRelationServiceImpl.java
+++ b/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);
+    }
 
 
 }
\ No newline at end of file

--
Gitblit v1.8.0