瀏覽代碼

Merge branch 'saas' of http://git.dayaedu.com/yonge/mec into saas_zouxuan_04_24_course

zouxuan 3 年之前
父節點
當前提交
7c4fb74f0d

+ 5 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TenantProxyDividendDao.java

@@ -30,7 +30,11 @@ public interface TenantProxyDividendDao extends BaseMapper<TenantProxyDividend>
      */
     <T> IPage<T> queryProxyDividendInfo(Page<T> page, @Param("param") Map<String, Object> param);
 
-   int queryProxyDividendCount();
+    /**
+     * @param param 传入参数
+     *              <p> -  proxyId 代理商id
+     */
+   int queryProxyDividendCount(@Param("param") Map<String, Object> param);
 
 }
 

+ 28 - 7
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TenantProxyDividendServiceImpl.java

@@ -24,11 +24,9 @@ import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
-import java.util.Optional;
+import java.util.*;
 import java.util.function.BiConsumer;
+import java.util.stream.Collectors;
 
 /**
  * 代理商分润表(TenantProxyDividend)表服务实现类
@@ -61,8 +59,31 @@ public class TenantProxyDividendServiceImpl extends ServiceImpl<TenantProxyDivid
         ProxyDividendVo result = new ProxyDividendVo();
         result.setPreTenant(0);
         result.setTenantAgency(0);
-        //查询入驻信息
-        List<TenantPreJoin> preJoinsList = tenantPreJoinService.list();
+
+        List<TenantPreJoin> preJoinsList = new ArrayList<>();
+        Map<String, Object> param = new HashMap<>();
+
+        SysUser user = getUser();
+        //当前登录人是代理商账号类型,需要做数据隔离
+        if (user.getUserType().equalsIgnoreCase("PROXY")) {
+            //查询代理商
+            TenantProxyUserRelation proxyUserRelation = tenantProxyUserRelationService.getOne(Wrappers.<TenantProxyUserRelation>lambdaQuery()
+                    .eq(TenantProxyUserRelation::getUserId, user.getId()));
+            if (Objects.nonNull(proxyUserRelation)) {
+                param.put("proxyId", proxyUserRelation.getProxyId());
+                //查询该代理商下所有代理人
+                List<TenantProxyUserRelation> relationList = tenantProxyUserRelationService.list(Wrappers.<TenantProxyUserRelation>lambdaQuery()
+                        .eq(TenantProxyUserRelation::getProxyId, proxyUserRelation.getProxyId()));
+                List<Integer> userList = relationList.stream().map(TenantProxyUserRelation::getUserId).collect(Collectors.toList());
+                //查询当前代理商入驻信息
+                preJoinsList = tenantPreJoinService.list(Wrappers.<TenantPreJoin>lambdaQuery()
+                        .in(TenantPreJoin::getRecommender, userList));
+            }
+        } else {
+            //查询入驻信息
+            preJoinsList = tenantPreJoinService.list();
+        }
+
         if (CollectionUtils.isNotEmpty(preJoinsList)) {
             result.setTenantAgency(preJoinsList.size());
             long count = preJoinsList.stream()
@@ -72,7 +93,7 @@ public class TenantProxyDividendServiceImpl extends ServiceImpl<TenantProxyDivid
         }
 
         //团练宝销售数
-        int count = baseMapper.queryProxyDividendCount();
+        int count = baseMapper.queryProxyDividendCount(param);
         result.setMemberCount(count);
         return result;
     }

+ 6 - 1
mec-biz/src/main/resources/config/mybatis/TenantProxyDividendMapper.xml

@@ -52,12 +52,17 @@
         </where>
     </select>
 
-    <select id="queryProxyDividendCount" resultType="int">
+    <select id="queryProxyDividendCount" parameterType="map" resultType="int">
         select IFNULL(SUM(a.total_month_), 0)  as activeCount
         from tenant_proxy_dividend as a
         left join tenant_proxy_info as b on a.proxy_id_ = b.id_
         left join tenant_info as c on a.tenant_id_ = c.id_
         left join sys_user as d on c.recommender_ = d.id_
+        <where>
+            <if test="param.proxyId != null">
+                AND a.proxy_id_ = #{param.proxyId}
+            </if>
+        </where>
     </select>
 
 </mapper>