Bläddra i källkod

Merge remote-tracking branch 'origin/dev2' into prod-test

lwhhszx 1 år sedan
förälder
incheckning
b690d48b43

+ 14 - 0
PCS/src/main/java/cn/cslg/permission/common/model/Records.java

@@ -0,0 +1,14 @@
+package cn.cslg.permission.common.model;
+
+import lombok.Data;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+@Data
+public class Records {
+    private Long current;
+    private Long size;
+    private Long total;
+    private Object records;
+}

+ 3 - 0
PCS/src/main/java/cn/cslg/permission/common/model/dto/ClientDTO.java

@@ -3,6 +3,8 @@ package cn.cslg.permission.common.model.dto;
 import cn.cslg.permission.common.model.BaseVO;
 import lombok.Data;
 
+import java.util.List;
+
 @Data
 public class ClientDTO extends BaseVO {
     /**
@@ -13,4 +15,5 @@ public class ClientDTO extends BaseVO {
      * 租户id
      */
     private Integer tenantId;
+
 }

+ 27 - 0
PCS/src/main/java/cn/cslg/permission/common/model/vo/TenantClientVO.java

@@ -0,0 +1,27 @@
+package cn.cslg.permission.common.model.vo;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import lombok.Data;
+
+@Data
+public class TenantClientVO {
+
+
+    /**
+     * 名称
+     */
+
+    private String name;
+
+
+
+
+
+    private Integer tenantId;
+
+    private String remark;
+
+
+    @TableField(exist = false)
+    private String personnelName;
+}

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

@@ -25,5 +25,5 @@ public interface ClientMapper extends BaseMapper<Client> {
     //查找有租户id的客户
     List<Integer> queryTenantClients(@Param("params") Integer tenantId);
 
-    IPage<Client> getTenantClients(Page<Client> page,@Param("params") ClientDTO vo);
+    List<Integer> getTenantClients(@Param("params") ClientDTO vo);
 }

+ 58 - 6
PCS/src/main/java/cn/cslg/permission/service/ClientService.java

@@ -1,10 +1,13 @@
 package cn.cslg.permission.service;
 
+import cn.cslg.permission.common.model.Records;
 import cn.cslg.permission.common.model.dto.ClientDTO;
 import cn.cslg.permission.common.model.vo.PersonnelVO;
+import cn.cslg.permission.common.model.vo.TenantClientVO;
 import cn.cslg.permission.common.utils.*;
 import cn.cslg.permission.domain.Client;
 import cn.cslg.permission.domain.Personnel;
+import cn.cslg.permission.domain.Tenant;
 import cn.cslg.permission.mapper.ClientMapper;
 import cn.cslg.permission.service.associate.AssoTenantClientService;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -37,6 +40,7 @@ public class ClientService extends ServiceImpl<ClientMapper, Client> {
     private final PersonnelService personnelService;
     private final AssoTenantClientService assoTenantClientService;
     private final CacheUtils cacheUtils;
+    private final TenantService tenantService;
 
     /**
      * @param params
@@ -199,16 +203,64 @@ public class ClientService extends ServiceImpl<ClientMapper, Client> {
     }
 
 
-    public IPage<Client> getTenantClients(ClientDTO params) {
+    public Records getTenantClients(ClientDTO params) {
+        Records records = new Records();
+        records.setCurrent(Long.parseLong(params.getCurrent().toString()));
+        records.setSize(Long.parseLong(params.getSize().toString()));
+        List<TenantClientVO> tenantClientVOS = new ArrayList<>();
         //获取登陆人信息,获得租户id
         if (params.getTenantId() == null) {
             PersonnelVO personnel = cacheUtils.getLoginUser(loginUtils.getId());
             params.setTenantId(personnel.getTenantId());
         }
-        IPage<Client> lst = this.baseMapper.getTenantClients(new Page<>(params.getCurrent(), params.getSize()), params);
-        List<Client> list = lst.getRecords();
-        this.loadClient(list);
-        lst.setRecords(list);
-        return lst;
+
+        List<Integer> tenantIds = new ArrayList<>();
+        List<Integer> ids = this.baseMapper.getTenantClients(params);
+        if (ids != null && ids.size() > 0) {
+            tenantIds.addAll(ids);
+        }
+        if (params.getTenantId() != null) {
+            tenantIds.add(params.getTenantId());
+        }
+
+        if (ids.size() > 0) {
+            LambdaQueryWrapper<Tenant> queryWrapper = new LambdaQueryWrapper<>();
+            queryWrapper.in(Tenant::getId, ids);
+            if (params.getName() != null) {
+                queryWrapper.like(Tenant::getTenantName, params.getName());
+            }
+            IPage<Tenant> tenantIPage = tenantService.page(new Page<Tenant>(params.getCurrent(), params.getSize()), queryWrapper);
+            Long total = tenantIPage.getTotal();
+            List<Tenant> tenants =tenantIPage.getRecords();
+            tenantClientVOS=this.loadTenantClient(tenants);
+            records.setRecords(tenantClientVOS);
+            records.setTotal(total);
+        }
+        else {
+            records.setRecords(tenantClientVOS);
+            records.setTotal(0L);
+        }
+
+        return records;
+    }
+
+
+    /**
+     * @author 李仁杰
+     * @description 装载客户
+     */
+    public List<TenantClientVO> loadTenantClient(List<Tenant> tenants) {
+        List<TenantClientVO> tenantClientVOS = new ArrayList<>();
+        if (tenants == null || tenants.size() == 0) {
+            return tenantClientVOS;
+        }
+        for (Tenant tenant : tenants) {
+            TenantClientVO tenantClientVO = new TenantClientVO();
+            tenantClientVO.setTenantId(tenant.getId());
+            tenantClientVO.setName(tenant.getTenantName());
+            tenantClientVOS.add(tenantClientVO);
+        }
+        ;
+        return tenantClientVOS;
     }
 }

+ 2 - 5
PCS/src/main/resources/mapper/ClientMapper.xml

@@ -36,16 +36,13 @@
         </where>
     </select>
 
-    <select id="getTenantClients" resultType="cn.cslg.permission.domain.Client" parameterType="java.lang.Integer">
-        select *
+    <select id="getTenantClients" 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.tenantId}
             and a.TENANT_ID is not null
-            <if test="params.name != null and params.name != ''">
-                and a.NAME like concat('%',#{params.name},'%')
-            </if>
         </where>
     </select>