Forráskód Böngészése

租户逻辑拓展

home 2 éve
szülő
commit
4c2fd919aa

+ 9 - 0
bladex/blade-service-api/blade-system-api/src/main/java/org/springblade/system/entity/Tenant.java

@@ -111,5 +111,14 @@ public class Tenant extends BaseEntity {
      */
     private Long provinceId;
 
+    /**
+     * 租户类型 1终端企业 2服务商
+     */
+    private Integer type;
+
+    /**
+     * logo
+     */
+    private String logoUrl;
 
 }

+ 20 - 0
bladex/blade-service-api/blade-system-api/src/main/java/org/springblade/system/enums/TenantTypeEnum.java

@@ -0,0 +1,20 @@
+package org.springblade.system.enums;
+
+import lombok.Getter;
+
+@Getter
+public enum TenantTypeEnum {
+
+    TERMINAL_ENTERPRISE(1, "终端企业"),
+    SERVICE_PROVIDER(2, "服务商");
+
+    private final Integer code;
+
+    private final String message;
+
+    TenantTypeEnum(Integer code, String message) {
+        this.code = code;
+        this.message = message;
+    }
+
+}

+ 9 - 0
bladex/blade-service-api/blade-user-api/src/main/java/org/springblade/system/user/feign/IUserClient.java

@@ -29,6 +29,7 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestParam;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * User Feign接口类
@@ -52,6 +53,8 @@ public interface IUserClient {
     String USER_INFO_BY_IDS = API_PREFIX + "/user-info-by-ids";
     String UPDATE_USER_BY_ID = API_PREFIX + "/user-update-by-id";
     String GET_USER_INFO_BY_APPLET_OPEN_ID = API_PREFIX + "/get-user-info-by-id";
+    String GET_TENANT_USER_NUM = API_PREFIX + "/get-tenant-user-num";
+
 
     /**
      * 获取用户信息
@@ -152,4 +155,10 @@ public interface IUserClient {
     @PostMapping(GET_USER_INFO_BY_APPLET_OPEN_ID)
     User getUserInfoByAppletOpenId(@RequestParam("openId") String openId);
 
+    /**
+     * 获取指定租户的用户数量
+     */
+    @GetMapping(GET_TENANT_USER_NUM)
+    Map<String, Long> getTenantUserNum(@RequestParam("tenantIdList") List<String> tenantIdList);
+
 }

+ 7 - 0
bladex/blade-service/blade-user/src/main/java/org/springblade/system/user/feign/UserClient.java

@@ -32,6 +32,7 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RestController;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * 用户服务Feign实现类
@@ -111,4 +112,10 @@ public class UserClient implements IUserClient {
         return service.getUserInfoByAppletOpenId(openId);
     }
 
+    @GetMapping(GET_TENANT_USER_NUM)
+    @Override
+    public Map<String, Long> getTenantUserNum(List<String> tenantIdList) {
+        return service.getTenantUserNum(tenantIdList);
+    }
+
 }

+ 3 - 0
bladex/blade-service/blade-user/src/main/java/org/springblade/system/user/service/IUserService.java

@@ -29,6 +29,7 @@ import org.springblade.system.user.excel.UserExcel;
 import org.springblade.system.user.vo.UserVO;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * 服务类
@@ -210,4 +211,6 @@ public interface IUserService extends BaseService<User> {
 
 	User getUserInfoByAppletOpenId(String openId);
 
+    Map<String, Long> getTenantUserNum(List<String> tenantIdList);
+
 }

+ 19 - 4
bladex/blade-service/blade-user/src/main/java/org/springblade/system/user/service/impl/UserServiceImpl.java

@@ -19,6 +19,7 @@ package org.springblade.system.user.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -56,10 +57,8 @@ import org.springblade.system.user.wrapper.UserWrapper;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
+import java.util.stream.Collectors;
 
 import static org.springblade.common.constant.CommonConstant.DEFAULT_PARAM_PASSWORD;
 
@@ -450,4 +449,20 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, User> implement
         return getOne(wrapper);
     }
 
+    @Override
+    public Map<String, Long> getTenantUserNum(List<String> tenantIdList) {
+
+        QueryWrapper<User> wrapper = Wrappers.<User>query()
+                .select("tenant_id tenantId", "count(tenant_id) num")
+                .in("tenant_id", tenantIdList)
+                .groupBy("tenant_id");
+
+        List<Map<String, Object>> list = listMaps(wrapper);
+
+        return list.stream().collect(Collectors.toMap(
+                item -> item.get("tenantId").toString(),
+                item -> (Long) item.get("num"))
+        );
+    }
+
 }