Browse Source

Merge remote-tracking branch 'origin/dev' into dev

# Conflicts:
#	PCS/src/main/java/cn/cslg/permission/service/LoginService.java
chendayu 2 years ago
parent
commit
a077e42a87

+ 26 - 7
PCS/src/main/java/cn/cslg/permission/controller/ClientController.java

@@ -14,6 +14,8 @@ import lombok.RequiredArgsConstructor;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.List;
+
 /**
  * @author 李仁杰
  * @date 2023-2-24
@@ -25,37 +27,54 @@ import org.springframework.web.bind.annotation.*;
 @RequestMapping(Constants.PERMISSION_API + "/client")
 @RequiredArgsConstructor(onConstructor_ = {@Lazy})
 public class ClientController {
-   public final ClientService clientService;
+    public final ClientService clientService;
+
     @PostMapping("/add")
     @Operation(summary = "添加客户")
     public String addClient(@RequestBody Client client) {
-        return  clientService.add(client);
+        return clientService.add(client);
     }
 
     @PostMapping("/queryPageList")
-   @Operation(summary = "查询客户")
+    @Operation(summary = "查询客户")
     public String getPageList(@RequestBody ClientDTO clientDTO) {
-        return Response.success(  clientService.getPageList(clientDTO));
+        return Response.success(clientService.getPageList(clientDTO));
     }
+
     @GetMapping("/getNoTenantClients")
     @Operation(summary = "查询没有租户的客户")
-    public String   getNoTenantClients() {
-        return Response.success(  clientService.getNoTenantClients());
+    public String getNoTenantClients() {
+        return Response.success(clientService.getNoTenantClients());
     }
+
     @GetMapping("/delete")
     @Operation(summary = "删除客户")
     public String delete(Integer id) {
         return clientService.delete(id);
     }
+
     @PostMapping("edit")
     @Operation(summary = "编辑委托方")
     public String edit(@RequestBody Client client) {
         return clientService.edit(client);
     }
+
     @GetMapping("/queryList")
     @Operation(summary = "根据租户id查询客户(不分页)")
     public String queryList(Integer tenantId) {
+        return Response.success(clientService.queryList(tenantId));
+    }
 
-        return Response.success(  clientService.queryList(tenantId));
+    @PostMapping("/getByIds")
+    @Operation(summary = "根据客户Id获得客户")
+    public List<Client> getByIds(@RequestBody List<Integer> clientIds) {
+        return clientService.getByIds(clientIds);
     }
+
+    @GetMapping("/getByName")
+    @Operation(summary = "根据客户Id获得客户")
+    public Client getByName(String  name) {
+        return clientService.getByName(name);
+    }
+
 }

+ 2 - 2
PCS/src/main/java/cn/cslg/permission/controller/SystemController.java

@@ -77,8 +77,8 @@ public class SystemController {
 
     @PostMapping("/getTenantMessage")
     @Operation(summary = "获取租户的组织架构")
-    public String getTenantMessage(Integer tenantId, String tenantName, String tenantNames, Integer current, Integer size) {
-        return systemService.getTenantMessage(tenantId, tenantNames, tenantName, current, size);
+    public String getTenantMessage(Integer tenantId, String tenantName, Integer current, Integer size) {
+        return systemService.getTenantMessage(tenantId, tenantName, current, size);
     }
 
     @PostMapping("/getPersonnelMessage")

+ 2 - 0
PCS/src/main/java/cn/cslg/permission/mapper/ClientMapper.java

@@ -22,4 +22,6 @@ public interface ClientMapper extends BaseMapper<Client> {
     IPage<Client> getClientPageList(Page<Client> page, @Param("params") ClientDTO params);
    List<Client> getNoTenantClients();
     List<Client>queryList(@Param("params") Integer tenantId);
+    //查找有租户id的客户
+    List<Integer> queryTenantClients(@Param("params") Integer tenantId);
 }

+ 38 - 4
PCS/src/main/java/cn/cslg/permission/service/ClientService.java

@@ -47,7 +47,7 @@ public class ClientService extends ServiceImpl<ClientMapper, Client> {
     public IPage<Client> getPageList(ClientDTO params) {
 
         if(params.getTenantId()== null){
-            PersonnelVO personnel =   cacheUtils.getLoginUser(loginUtils.getId());
+            PersonnelVO personnel =  cacheUtils.getLoginUser(loginUtils.getId());
             params.setTenantId(personnel.getTenantId());
         }
         IPage<Client> lst = this.baseMapper.getClientPageList( new Page<>(params.getCurrent(), params.getSize()),params);
@@ -70,6 +70,16 @@ public class ClientService extends ServiceImpl<ClientMapper, Client> {
         return lst;
     }
 
+    /**
+     * @autor lrj
+     * @param tenantId
+     * @return
+     * @description 查找有租户id的客户
+     */
+    public List<Integer> queryTenantClients(Integer tenantId) {
+        List<Integer> lst = this.baseMapper.queryTenantClients(tenantId);
+        return lst;
+    }
     public Client getClientByName(String name) {
         LambdaQueryWrapper<Client> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(Client::getName, name);
@@ -123,19 +133,43 @@ public class ClientService extends ServiceImpl<ClientMapper, Client> {
     }
 
     /**
+     * @autor lrj
+     * @param ids
+     * @return
+     * @description 根据客户id获得客户
+     */
+    public List<Client> getByIds(List<Integer> ids) {
+            LambdaQueryWrapper<Client> wrapper =new LambdaQueryWrapper<>();
+            wrapper.in(Client::getId,ids);
+            List<Client> clients=this.list(wrapper);
+        return clients;
+    }
+    /**
+     * @autor lrj
+     * @param name
+     * @return
+     * @description 根据客户名称获得客户
+     */
+    public Client  getByName(String name) {
+        LambdaQueryWrapper<Client> wrapper =new LambdaQueryWrapper<>();
+        wrapper.eq(Client::getName,name);
+        return  this.getOne(wrapper);
+    }
+
+    /**
      * @author 李仁杰
      * @description 装载客户
      */
     public void loadClient(List<Client> clients) {
-        List<Integer> personIds = clients.stream().map(Client::getCreateUser).collect(Collectors.toList());
+        List<Integer> personIds = clients.stream().map(Client::getPersonnelId).collect(Collectors.toList());
         if (personIds.size() != 0) {
             LambdaQueryWrapper<Personnel> queryWrapper = new LambdaQueryWrapper<>();
             queryWrapper.in(Personnel::getId, personIds);
             List<Personnel> personnels = personnelService.list(queryWrapper);
             for (Client client : clients) {
                 for (Personnel personnel : personnels) {
-                    if (client.getCreateUser() != null) {
-                        if (client.getCreateUser().equals(personnel.getId())) {
+                    if (client.getPersonnelId() != null) {
+                        if (client.getPersonnelId().equals(personnel.getId())) {
                             client.setPersonnelName(personnel.getPersonnelName());
                         }
                     }

+ 2 - 10
PCS/src/main/java/cn/cslg/permission/service/SystemService.java

@@ -161,16 +161,8 @@ public class SystemService {
      * @description 通过租户名称(客户名称)查询租户及租户的组织结构数据(租户->人员)
      * @author 沈永艺
      */
-    public String getTenantMessage(Integer tenantId, String tenantNames, String tenantName, Integer current, Integer size) {
-        IPage<Tenant> tenants = tenantService.getTenants(tenantId, tenantName, null, current, size);
-        Tenant tenant = tenantService.getById(tenantId);
-        if (!tenant.getTenantType().equals("1")) {
-            return Response.success(tenants);
-        } else {
-            List<String> list = JSONArray.parseArray(tenantNames);
-            tenants = tenantService.getTenants(tenantId, tenantName, list, current, size);
-        }
-
+    public String getTenantMessage(Integer tenantId, String tenantName, Integer current, Integer size) {
+        IPage<Tenant> tenants = tenantService.getTenants(tenantId, tenantName, current, size);
         return Response.success(tenants);
     }
 

+ 15 - 8
PCS/src/main/java/cn/cslg/permission/service/TenantService.java

@@ -46,7 +46,8 @@ public class TenantService extends ServiceImpl<TenantEntityMapper, Tenant> {
     private final DeleteService deleteService;
     private final CacheUtils cacheUtils;
     private final AssoTenantVipTypeFunctionMapper assoTenantVipTypeFunctionMapper;  //租户会员类型id和功能的关联表的Mapper层装配
-
+    private final ClientService clientService;
+    private final TenantService tenantService;
     @Transactional(rollbackFor = Exception.class)
     public String addTenant(TenantVO tenantVO) {
         Personnel personnel = new Personnel();
@@ -247,15 +248,21 @@ public class TenantService extends ServiceImpl<TenantEntityMapper, Tenant> {
 
     }
 
-    public IPage<Tenant> getTenants(Integer tenantId, String tenantName, List<String> names, Integer current, Integer size) {
+    public IPage<Tenant> getTenants(Integer tenantId, String tenantName, Integer current, Integer size) {
         IPage<Tenant> tenants;
-        LambdaQueryWrapper<Tenant> lambdaQueryWrapper = new LambdaQueryWrapper<>();
-        if (names != null && names.size() != 0) {
-            lambdaQueryWrapper.like(Tenant::getTenantName, tenantName).eq(Tenant::getTenantStatus, 1);
-            lambdaQueryWrapper.and(wrapper -> wrapper.in(Tenant::getTenantName, names).or().eq(Tenant::getId, tenantId));
-        } else {
-            lambdaQueryWrapper.eq(Tenant::getId, tenantId).like(Tenant::getTenantName, tenantName).eq(Tenant::getTenantStatus, 1);
+        Tenant tenant = tenantService.getById(tenantId);
+        List<Integer> ids =new ArrayList<>();
+        ids.add(tenantId);
+        //当租户类型为服务机构时,获得该租户所有客户的租户
+        if (tenant.getTenantType().equals("1")) {
+            List<Integer> temIds = clientService.queryTenantClients(tenantId);
+            ids.addAll(temIds);
         }
+        LambdaQueryWrapper<Tenant> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+        //根据租户id获得客户列表
+            lambdaQueryWrapper.in(Tenant::getId, ids)
+                    .like(Tenant::getTenantName, tenantName)
+                    .eq(Tenant::getTenantStatus, 1);
         tenants = this.page(new Page<>(current, size), lambdaQueryWrapper);
         return tenants;
     }

+ 7 - 0
PCS/src/main/resources/mapper/ClientMapper.xml

@@ -29,4 +29,11 @@
         </where>
     </select>
 
+    <select id="queryTenantClients" resultType="java.lang.Integer" parameterType="java.lang.Integer">
+        select  a.TENANT_ID from CLIENT a left join ASSOCIATE_TENANT_CLIENT b on a.ID=b.CLIENT_ID
+        <where>
+            b.TENANT_ID =#{params}
+and a.TENANT_ID is not null
+        </where>
+    </select>
 </mapper>