diff --git a/wisenergy-mapper/src/main/java/cn/wisenergy/mapper/TeamPerformanceMapper.java b/wisenergy-mapper/src/main/java/cn/wisenergy/mapper/TeamPerformanceMapper.java
index d4244070f9217348d2ccd0fdd5e3ff1246382bac..e727aae35f1fb70ff277d18d6b1f43076d6ab0b3 100644
--- a/wisenergy-mapper/src/main/java/cn/wisenergy/mapper/TeamPerformanceMapper.java
+++ b/wisenergy-mapper/src/main/java/cn/wisenergy/mapper/TeamPerformanceMapper.java
@@ -1,6 +1,7 @@
 package cn.wisenergy.mapper;
 
 import cn.wisenergy.model.app.TeamPerformance;
+import cn.wisenergy.model.app.User;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Param;
 
@@ -100,4 +101,10 @@ public interface TeamPerformanceMapper extends BaseMapper<TeamPerformance> {
      */
     List<TeamPerformance> getList(Map<String, Object> map);
 
+    /**
+     *
+     * @param userId
+     * @return
+     */
+    TeamPerformance getByUserId(String userId);
 }
diff --git a/wisenergy-mapper/src/main/java/cn/wisenergy/mapper/UsersMapper.java b/wisenergy-mapper/src/main/java/cn/wisenergy/mapper/UsersMapper.java
index 33c5c63e5408608b182dde1362326919069a2755..e3c52e05171717083f629a97c879b4ca3cde6a88 100644
--- a/wisenergy-mapper/src/main/java/cn/wisenergy/mapper/UsersMapper.java
+++ b/wisenergy-mapper/src/main/java/cn/wisenergy/mapper/UsersMapper.java
@@ -228,4 +228,12 @@ public interface UsersMapper extends BaseMapper<User> {
      * @return
      */
     User getUserByInviteCode(String inviteCode);
+
+    /**
+     * 根据用户的userid查询用户对象
+     * @param userId
+     * @return
+     */
+    User getUserByUserId(String userId);
+
 }
diff --git a/wisenergy-mapper/src/main/resources/mapper/TeamPerformanceMapper.xml b/wisenergy-mapper/src/main/resources/mapper/TeamPerformanceMapper.xml
index c7c863ce34751fccea1ace7c1f71e9cb60c5995d..a858c98ae8af209443e9edfcd31baf258ef7de19 100644
--- a/wisenergy-mapper/src/main/resources/mapper/TeamPerformanceMapper.xml
+++ b/wisenergy-mapper/src/main/resources/mapper/TeamPerformanceMapper.xml
@@ -204,4 +204,13 @@
         order by create_time desc
         limit #{startNum},#{endNum}
     </select>
+
+    <select id="getByUserId" resultType="cn.wisenergy.model.app.TeamPerformance">
+        select
+        <include refid="cols_all"/>
+        from
+        <include refid="table"/>
+        where
+        user_id = #{userId}
+    </select>
 </mapper>
\ No newline at end of file
diff --git a/wisenergy-mapper/src/main/resources/mapper/UsersMapper.xml b/wisenergy-mapper/src/main/resources/mapper/UsersMapper.xml
index a66548425a2750436b6e7235eceeb83728cae4cb..13849116df6cd34f9b70e18668b2bedaa03380b3 100644
--- a/wisenergy-mapper/src/main/resources/mapper/UsersMapper.xml
+++ b/wisenergy-mapper/src/main/resources/mapper/UsersMapper.xml
@@ -429,4 +429,13 @@
         invite_code = #{inviteCode}
     </select>
 
+    <select id="getUserByUserId" resultType="cn.wisenergy.model.app.User">
+        select
+        <include refid="cols_all"/>
+        from
+        <include refid="table"/>
+        where
+        user_id = #{userId}
+    </select>
+
 </mapper>
diff --git a/wisenergy-service/src/main/java/cn/wisenergy/service/app/AerialDeliveryUserService.java b/wisenergy-service/src/main/java/cn/wisenergy/service/app/AerialDeliveryUserService.java
index f686220146fa63e0927c4afd21890f2fe1fcb75c..a9224c3928b0ed7850c0231715ac885420d0ba8a 100644
--- a/wisenergy-service/src/main/java/cn/wisenergy/service/app/AerialDeliveryUserService.java
+++ b/wisenergy-service/src/main/java/cn/wisenergy/service/app/AerialDeliveryUserService.java
@@ -1,6 +1,10 @@
 package cn.wisenergy.service.app;
 
 
+import cn.wisenergy.model.app.User;
+
+import java.util.Map;
+
 /**
  * @author 86187
  */
@@ -11,9 +15,40 @@ public interface AerialDeliveryUserService {
     void aerialDeliveryUserRand();
 
     /**
-     * 设置邀请码接口
+     * 设置邀请码接口 维护直推和团队数据
      * @param userId  当前用户id
      * @param userInvitedId  推荐人用户id
      */
     void userSetBeinviteCode(String userId, String userInvitedId);
+
+    /**
+     * 团队整体数据的计算
+     * @param beInvitedUserId  推荐人的用户id
+     * @param userId 当前用户的id
+     * @return  map  团队中各等级的用户数量
+     */
+    Map teamUserInfoByAerialDelivery(String beInvitedUserId, String userId);
+
+
+    /**
+     * 整体团队数据维护
+     * @param teamDataMap teamUserInfoByAerialDelivery 返回的map
+     * @param userId  当前用户的userid
+     */
+    void teamData(Map<String, Integer> teamDataMap, String userId);
+
+    /**
+     * 查询当前用户所在团队的最上级用户
+     * @param userId  当前用户的userID
+     * @return  user  当前用户所在的最上级用户
+     */
+    User highUser(String userId);
+
+
+    /**
+     * 团队数据维护  只维护团队数据 不包含直推数据的维护
+     * @param userId  当期用户的userId
+     * @param userInvitedId  推荐人的userId
+     */
+    void teamDataNotRecommend(String userId, String userInvitedId);
 }
diff --git a/wisenergy-service/src/main/java/cn/wisenergy/service/app/impl/UserLevelServiceImpl.java b/wisenergy-service/src/main/java/cn/wisenergy/service/app/impl/UserLevelServiceImpl.java
index 9db8115af1113cb4fe24cca16e78777cef11cdc8..3b2caba669313d4d2c0adcef5c8cbf0963c126d3 100644
--- a/wisenergy-service/src/main/java/cn/wisenergy/service/app/impl/UserLevelServiceImpl.java
+++ b/wisenergy-service/src/main/java/cn/wisenergy/service/app/impl/UserLevelServiceImpl.java
@@ -3,6 +3,7 @@ package cn.wisenergy.service.app.impl;
 import cn.wisenergy.mapper.*;
 import cn.wisenergy.model.app.*;
 import cn.wisenergy.model.enums.TradeRecordEnum;
+import cn.wisenergy.service.app.AerialDeliveryUserService;
 import cn.wisenergy.service.app.UserLevelService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.xxl.job.core.handler.annotation.XxlJob;
@@ -39,12 +40,18 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper, User> impleme
     @Autowired
     private AccountMapper accountMapper;
 
+    @Autowired
+    private TeamPerformanceMapper teamPerformanceMapper;
+
     @Autowired
     private CultivatingPrizeMapper cultivatingPrizeMapper;
 
     @Autowired
     private CultivatingPrizeInfoMapper cultivatingPrizeInfoMapper;
 
+    @Autowired
+    private AerialDeliveryUserService aerialDeliveryUserService;
+
     @Autowired
     private OrderMapper orderMapper;
 
@@ -78,20 +85,24 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper, User> impleme
         RecommendUser recommendUser = recommendUserMapper.getByUserId(userId);
         //当前用户团队信息表对象
         TeamUserInfo teamUserInfoMapperByUserId = teamUserInfoMapper.getByUserId(userId);
-        //计算当前用户业绩
-        BigDecimal performanceByUserid = orderMapper.getPerformanceByUserid(userId);
-        if (null == performanceByUserid) {
-            performanceByUserid = new BigDecimal(0);
-        }
         //当前用户等级
         Integer userLevel = user.getUserLevel();
-        //当前用户的邀请码
+        //当前用户的累计消费
+        BigDecimal performanceByUserid = new BigDecimal(0);
+        if (userLevel == 0){
+            //计算当前用户业绩
+            performanceByUserid = orderMapper.getPerformanceByUserid(userId);
+            if (null == performanceByUserid) {
+                performanceByUserid = new BigDecimal(0);
+            }
+        }
+        //当前用户的推荐人邀请码
         String beInvitedCode = user.getBeInvitedCode();
         //
         String inviteUserId = "";
         RecommendUser inviteRecommendUser = new RecommendUser();
         //若当前用户的推荐人邀请码是  “1” 时 则当前用户没有邀请人
-        if (!sysInviteCode1.equals(beInvitedCode) || !sysInviteCode2.equals(beInvitedCode)) {
+        if (!sysInviteCode1.equals(beInvitedCode) && !sysInviteCode2.equals(beInvitedCode)) {
             //通过当前用户推荐人邀请码获取邀请人的userId
             User byBeInvitedCode = usersMapper.getByBeInvitedCode(beInvitedCode);
             if (null != byBeInvitedCode) {
@@ -106,8 +117,10 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper, User> impleme
         if (userLevel == 0 && performanceByUserid.intValue() >= 3980) {
             user.setUserLevel(1);
             usersMapper.updateById(user);
+            //同步accountInfo 和TeamPerformance 的用户等级
+            accountAndTeamPerformanceUserLevelUpdate(userId);
             //用户推荐人邀请码为 1 时 该用户没有邀请人
-            if (!sysInviteCode1.equals(beInvitedCode) || !sysInviteCode2.equals(beInvitedCode)) {
+            if (sysInviteCode1.equals(beInvitedCode) || sysInviteCode2.equals(beInvitedCode)) {
                 return;
             } else {
                 //推荐人直推信息表数据维护
@@ -122,7 +135,8 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper, User> impleme
                 inviteRecommendUser.setSeedlingNum(inviteRecommendUser.getSeedlingNum() + 1);
                 recommendUserMapper.updateById(inviteRecommendUser);
                 //团队用户表数据维护
-                teamUserInfoNormalToSeed(inviteUserId);
+//                teamUserInfoNormalToSeed(inviteUserId);
+                aerialDeliveryUserService.teamDataNotRecommend(userId,inviteUserId);
                 //上级用户获得幼苗等级的培育奖
                 int level = 1;
                 cultivatingPrizeToInvitedUser(userId, inviteUserId, level);
@@ -138,8 +152,10 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper, User> impleme
             //用户升级成功
             user.setUserLevel(2);
             usersMapper.updateById(user);
+            //同步accountInfo 和TeamPerformance 的用户等级
+            accountAndTeamPerformanceUserLevelUpdate(userId);
             //用户被邀请码为 1 时 该用户没有邀请人
-            if (!sysInviteCode1.equals(beInvitedCode) || !sysInviteCode2.equals(beInvitedCode)) {
+            if (sysInviteCode1.equals(beInvitedCode) || sysInviteCode2.equals(beInvitedCode)) {
                 return;
             } else {
                 //若邀请人直推用户信息中的幼苗用户数量为0是则不用变化,否则幼苗用户数量-1
@@ -153,7 +169,8 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper, User> impleme
                 inviteRecommendUser.setBronzeTreeNum(inviteRecommendUser.getBronzeTreeNum() + 1);
                 recommendUserMapper.updateById(inviteRecommendUser);
                 //团队用户表数据维护
-                teamUserInfoSeedToBronze(inviteUserId);
+//                teamUserInfoSeedToBronze(inviteUserId);
+                aerialDeliveryUserService.teamDataNotRecommend(userId,inviteUserId);
                 //上级用户获得幼苗等级的培育奖
                 int level = 2;
                 cultivatingPrizeToInvitedUser(userId, inviteUserId, level);
@@ -166,8 +183,10 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper, User> impleme
                             && recommendUser.getSeedlingNum() < 20) {
             user.setUserLevel(3);
             usersMapper.updateById(user);
+            //同步accountInfo 和TeamPerformance 的用户等级
+            accountAndTeamPerformanceUserLevelUpdate(userId);
             //用户被邀请码为 1 时 该用户没有邀请人
-            if (!sysInviteCode1.equals(beInvitedCode) || !sysInviteCode2.equals(beInvitedCode)) {
+            if (sysInviteCode1.equals(beInvitedCode) || sysInviteCode2.equals(beInvitedCode)) {
                 return;
             } else {
                 //推荐人直推信息表数据维护
@@ -182,7 +201,8 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper, User> impleme
                 inviteRecommendUser.setSilverTreeNum(inviteRecommendUser.getSilverTreeNum() + 1);
                 recommendUserMapper.updateById(inviteRecommendUser);
                 //团队用户表数据维护
-                teamUserInfoBronzeToSilver(inviteUserId);
+//                teamUserInfoBronzeToSilver(inviteUserId);
+                aerialDeliveryUserService.teamDataNotRecommend(userId,inviteUserId);
                 //上级用户获得幼苗等级的培育奖
                 int level = 3;
                 cultivatingPrizeToInvitedUser(userId, inviteUserId, level);
@@ -199,8 +219,10 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper, User> impleme
                 && teamUserInfoMapperByUserId.getBronzeTreeNum() >= 20) {
             user.setUserLevel(4);
             usersMapper.updateById(user);
+            //同步accountInfo 和TeamPerformance 的用户等级
+            accountAndTeamPerformanceUserLevelUpdate(userId);
             //用户被邀请码为 1 时 该用户没有邀请人
-            if (!sysInviteCode1.equals(beInvitedCode) || !sysInviteCode2.equals(beInvitedCode)) {
+            if (sysInviteCode1.equals(beInvitedCode) || sysInviteCode2.equals(beInvitedCode)) {
                 return;
             } else {
                 //推荐人直推信息表数据维护
@@ -215,7 +237,8 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper, User> impleme
                 inviteRecommendUser.setGoldTreeNum(inviteRecommendUser.getGoldTreeNum() + 1);
                 recommendUserMapper.updateById(inviteRecommendUser);
                 //团队用户表数据维护
-                teamUserInfoSilverToGoldTree(inviteUserId);
+//                teamUserInfoSilverToGoldTree(inviteUserId);
+                aerialDeliveryUserService.teamDataNotRecommend(userId,inviteUserId);
                 //上级用户获得幼苗等级的培育奖
                 int level = 4;
                 cultivatingPrizeToInvitedUser(userId, inviteUserId, level);
@@ -231,8 +254,10 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper, User> impleme
                 && teamUserInfoMapperByUserId.getSilverTreeNum() >= 40) {
             user.setUserLevel(5);
             usersMapper.updateById(user);
+            //同步accountInfo 和TeamPerformance 的用户等级
+            accountAndTeamPerformanceUserLevelUpdate(userId);
             //用户被邀请码为 1 时 该用户没有邀请人
-            if (!sysInviteCode1.equals(beInvitedCode) || !sysInviteCode2.equals(beInvitedCode)) {
+            if (sysInviteCode1.equals(beInvitedCode) || sysInviteCode2.equals(beInvitedCode)) {
                 return;
             } else {
                 //推荐人直推信息表数据维护
@@ -247,7 +272,8 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper, User> impleme
                 inviteRecommendUser.setGoldTreeNum(inviteRecommendUser.getFarmerNum() + 1);
                 recommendUserMapper.updateById(inviteRecommendUser);
                 //团队用户表数据维护
-                teamUserInfoGoldTreeToFarmer(inviteUserId);
+//                teamUserInfoGoldTreeToFarmer(inviteUserId);
+                aerialDeliveryUserService.teamDataNotRecommend(userId,inviteUserId);
                 //上级用户获得幼苗等级的培育奖
                 int level = 5;
                 cultivatingPrizeToInvitedUser(userId, inviteUserId, level);
@@ -264,8 +290,10 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper, User> impleme
                 && teamUserInfoMapperByUserId.getGoldTreeNum() >= 30) {
             user.setUserLevel(6);
             usersMapper.updateById(user);
+            //同步accountInfo 和TeamPerformance 的用户等级
+            accountAndTeamPerformanceUserLevelUpdate(userId);
             //用户被邀请码为 1 时 该用户没有邀请人
-            if (!sysInviteCode1.equals(beInvitedCode) || !sysInviteCode2.equals(beInvitedCode)) {
+            if (sysInviteCode1.equals(beInvitedCode) || sysInviteCode2.equals(beInvitedCode)) {
                 return;
             } else {
                 //推荐人直推信息表数据维护
@@ -280,7 +308,8 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper, User> impleme
                 inviteRecommendUser.setForestStartNum(inviteRecommendUser.getForestStartNum() + 1);
                 recommendUserMapper.updateById(inviteRecommendUser);
                 //团队用户表数据维护
-                teamUserInfoFarmerToForestStart(inviteUserId);
+//                teamUserInfoFarmerToForestStart(inviteUserId);
+                aerialDeliveryUserService.teamDataNotRecommend(userId,inviteUserId);
                 //上级用户获得幼苗等级的培育奖
                 int level = 6;
                 cultivatingPrizeToInvitedUser(userId, inviteUserId, level);
@@ -298,8 +327,10 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper, User> impleme
                 && teamUserInfoMapperByUserId.getFarmerNum() >= 30) {
             user.setUserLevel(7);
             usersMapper.updateById(user);
+            //同步accountInfo 和TeamPerformance 的用户等级
+            accountAndTeamPerformanceUserLevelUpdate(userId);
             //用户被邀请码为 1 时 该用户没有邀请人
-            if (!sysInviteCode1.equals(beInvitedCode) || !sysInviteCode2.equals(beInvitedCode)) {
+            if (sysInviteCode1.equals(beInvitedCode) || sysInviteCode2.equals(beInvitedCode)) {
                 return;
             } else {
                 //推荐人直推信息表数据维护
@@ -314,7 +345,8 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper, User> impleme
                 inviteRecommendUser.setPartnerNum(inviteRecommendUser.getPartnerNum() + 1);
                 recommendUserMapper.updateById(inviteRecommendUser);
                 //团队用户表数据维护
-                teamUserInfoForestStartToPartner(inviteUserId);
+//                teamUserInfoForestStartToPartner(inviteUserId);
+                aerialDeliveryUserService.teamDataNotRecommend(userId,inviteUserId);
                 //上级用户获得幼苗等级的培育奖
                 int level = 7;
                 cultivatingPrizeToInvitedUser(userId, inviteUserId, level);
@@ -808,5 +840,22 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper, User> impleme
             }
         }
     }
+
+    //同步accountInfo 和TeamPerformance 的用户等级
+    public void accountAndTeamPerformanceUserLevelUpdate(String userId){
+
+        User userByUserId = usersMapper.getUserByUserId(userId);
+
+        if (null != userByUserId){
+            int userLevel = userByUserId.getUserLevel();
+            AccountInfo accountInfoByUserId = accountMapper.getByUserId(userId);
+            accountInfoByUserId.setUserLevel(userLevel);
+            TeamPerformance teamPerformanceByUserId = teamPerformanceMapper.getByUserId(userId);
+            teamPerformanceByUserId.setUserLevel(userLevel);
+
+            accountMapper.edit(accountInfoByUserId);
+            teamPerformanceMapper.edit(teamPerformanceByUserId);
+        }
+    }
 }