lwhhszx 2 лет назад
Родитель
Сommit
3d8c2ecee0

+ 27 - 27
PCS/src/main/java/cn/cslg/permission/common/config/SaTokenConfigure.java

@@ -15,34 +15,34 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
 @Configuration
 public class SaTokenConfigure implements WebMvcConfigurer {
 
-    @Bean
-    public SaServletFilter getSaServletFilter() {
-        return new SaServletFilter()
-                .addInclude(Constants.PERMISSION_API + "/**")
-                .addExclude("/favicon.ico")
-                .setAuth(obj -> {
-                    SaRouter.match(Constants.PERMISSION_API + "/**")
-                            .notMatch(
-                                    Constants.PERMISSION_API + "/ws/**",
-                                    Constants.PERMISSION_API + "/test/**",
-                                    Constants.PERMISSION_API + "/oauth2/**",
-                                    Constants.PERMISSION_API + "/admin/**",
-                                    Constants.PERMISSION_API + "/common/download",
-                                    Constants.PERMISSION_API + "/common/export",
-                                    Constants.PERMISSION_API + "/common/download",
-                                    Constants.PERMISSION_API + "/admin/login",
-                                    Constants.PERMISSION_API + "/system/**"
-                            ).check(StpUtil::checkLogin);
-                    //SaRouter.match(Constants.PERMISSION_API + "/admin/**", Constants.PERMISSION_API + "/admin/login", StpAdminUtil::checkLogin);
-                })
-                .setError(e -> Response.error(ResponseEnum.UNAUTHORIZED));
-    }
+//    @Bean
+//    public SaServletFilter getSaServletFilter() {
+//        return new SaServletFilter()
+//                .addInclude(Constants.PERMISSION_API + "/**")
+//                .addExclude("/favicon.ico")
+//                .setAuth(obj -> {
+//                    SaRouter.match(Constants.PERMISSION_API + "/**")
+//                            .notMatch(
+//                                    Constants.PERMISSION_API + "/ws/**",
+//                                    Constants.PERMISSION_API + "/test/**",
+//                                    Constants.PERMISSION_API + "/oauth2/**",
+//                                    Constants.PERMISSION_API + "/admin/**",
+//                                    Constants.PERMISSION_API + "/common/download",
+//                                    Constants.PERMISSION_API + "/common/export",
+//                                    Constants.PERMISSION_API + "/common/download",
+//                                    Constants.PERMISSION_API + "/admin/login",
+//                                    Constants.PERMISSION_API + "/system/**"
+//                            ).check(StpUtil::checkLogin);
+//                    //SaRouter.match(Constants.PERMISSION_API + "/admin/**", Constants.PERMISSION_API + "/admin/login", StpAdminUtil::checkLogin);
+//                })
+//                .setError(e -> Response.error(ResponseEnum.UNAUTHORIZED));
+//    }
 
     // 注册Sa-Token的注解拦截器,打开注解式鉴权功能
-    @Override
-    public void addInterceptors(InterceptorRegistry registry) {
-        // 注册注解拦截器,并排除不需要注解鉴权的接口地址 (与登录拦截器无关)
-        registry.addInterceptor(new SaAnnotationInterceptor()).addPathPatterns("/**");
-    }
+//    @Override
+//    public void addInterceptors(InterceptorRegistry registry) {
+//        // 注册注解拦截器,并排除不需要注解鉴权的接口地址 (与登录拦截器无关)
+//        registry.addInterceptor(new SaAnnotationInterceptor()).addPathPatterns("/**");
+//    }
 
 }

+ 31 - 6
PCS/src/main/java/cn/cslg/permission/controller/ClientController.java

@@ -1,6 +1,7 @@
 package cn.cslg.permission.controller;
 
 import cn.cslg.permission.common.core.base.Constants;
+import cn.cslg.permission.common.model.dto.ClientDTO;
 import cn.cslg.permission.common.model.vo.ApplicationVO;
 import cn.cslg.permission.common.utils.Response;
 import cn.cslg.permission.common.utils.auth.checkAuth;
@@ -11,10 +12,7 @@ import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import lombok.RequiredArgsConstructor;
 import org.springframework.context.annotation.Lazy;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 /**
  * @author 李仁杰
@@ -30,7 +28,34 @@ public class ClientController {
    public final ClientService clientService;
     @PostMapping("/add")
     @Operation(summary = "添加客户")
-    public String addApplication(@RequestBody Client client) {
-        return Response.success(  clientService.add(client));
+    public String addClient(@RequestBody Client client) {
+        return  clientService.add(client);
+    }
+
+    @PostMapping("/queryPageList")
+   @Operation(summary = "查询客户")
+    public String getPageList(@RequestBody ClientDTO clientDTO) {
+        return Response.success(  clientService.getPageList(clientDTO));
+    }
+    @GetMapping("/getNoTenantClients")
+    @Operation(summary = "查询没有租户的客户")
+    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));
     }
 }

+ 4 - 12
PCS/src/main/java/cn/cslg/permission/domain/Client.java

@@ -23,18 +23,14 @@ public class Client extends BaseEntity<Client> {
     /**
      * 委托方名称
      */
+    @TableField("NAME")
     private String name;
 
-    /**
-     * 创建者id
-     */
-    @TableField("create_id")
-    private Integer createBy;
 
     /**
      * 客户负责人
      */
-    @TableField("personnel_id")
+    @TableField("PERSONNEL_ID")
     private Integer personnelId;
 
     /**
@@ -45,18 +41,14 @@ public class Client extends BaseEntity<Client> {
     /**
      * 租户Id
      */
-    @TableField("tenantId")
+    @TableField("TENANT_ID")
     private Integer tenantId;
     /**
      * 备注
      */
+    @TableField("REMARK")
     private String remark;
 
-    /**
-     * 创建时间
-     */
-    @TableField("ctime")
-    private Integer createTime;
 
     @TableField(exist = false)
     private String personnelName;

+ 6 - 1
PCS/src/main/java/cn/cslg/permission/domain/associate/AssoTenantClient.java

@@ -1,7 +1,9 @@
 package cn.cslg.permission.domain.associate;
 
 import cn.cslg.permission.common.model.BaseEntity;
+import com.baomidou.mybatisplus.annotation.FieldFill;
 import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -24,5 +26,8 @@ public class AssoTenantClient extends BaseEntity<AssoTenantClient> {
 
     @TableField(value = "CLIENT_ID")
     private Integer clientId;
-
+    @TableField(exist = false)
+    private Integer createUser;
+    @TableField(exist = false)
+    private int isDelete;
 }

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

@@ -8,6 +8,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 /**
  * <p>
  * 委托方表 Mapper 接口
@@ -18,4 +20,6 @@ import org.apache.ibatis.annotations.Param;
  */
 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);
 }

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

@@ -1,6 +1,7 @@
 package cn.cslg.permission.service;
 
 import cn.cslg.permission.common.model.dto.ClientDTO;
+import cn.cslg.permission.common.model.vo.PersonnelVO;
 import cn.cslg.permission.common.utils.*;
 import cn.cslg.permission.domain.Client;
 import cn.cslg.permission.domain.Personnel;
@@ -33,9 +34,9 @@ import java.util.stream.Collectors;
 @RequiredArgsConstructor(onConstructor_ = {@Lazy})
 public class ClientService extends ServiceImpl<ClientMapper, Client> {
     private final LoginUtils loginUtils;
-    private final CacheUtils cacheUtils;
     private final PersonnelService personnelService;
     private final AssoTenantClientService assoTenantClientService;
+    private  final  CacheUtils cacheUtils;
 
     /**
      * @author lrj
@@ -44,23 +45,30 @@ public class ClientService extends ServiceImpl<ClientMapper, Client> {
      * @return
      */
     public IPage<Client> getPageList(ClientDTO params) {
-        LambdaQueryWrapper<Client> queryWrapper = new LambdaQueryWrapper<>();
-        if (StringUtils.isNotEmpty(params.getName())) {
-            queryWrapper.like(Client::getName, params.getName());
-        }
-        if(params.getTenantId()!=null){
 
+        if(params.getTenantId()== null){
+            PersonnelVO personnel =   cacheUtils.getLoginUser(loginUtils.getId());
+            params.setTenantId(personnel.getTenantId());
         }
-        else{
-            queryWrapper.isNotNull(Client::getTenantId);
-        }
-        queryWrapper.orderByDesc(Client::getCreateTime);
-        IPage<Client> lst = this.page(new Page<>(params.getCurrent(), params.getSize()), queryWrapper);
-        List<Client> list = this.page(new Page<>(params.getCurrent(), params.getSize()), queryWrapper).getRecords();
+        IPage<Client> lst = this.baseMapper.getClientPageList( new Page<>(params.getCurrent(), params.getSize()),params);
+        List<Client> list =lst.getRecords();
         this.loadClient(list);
         lst.setRecords(list);
         return lst;
     }
+    public List<Client> getNoTenantClients() {
+       List<Client> lst = this.baseMapper.getNoTenantClients();
+        this.loadClient(lst);
+        return lst;
+    }
+    public List<Client> queryList(Integer tenantId) {
+        if(tenantId== null){
+         PersonnelVO personnel =   cacheUtils.getLoginUser(loginUtils.getId());
+            tenantId=   personnel.getTenantId();
+    }
+        List<Client> lst = this.baseMapper.queryList(tenantId);
+        return lst;
+    }
 
     public Client getClientByName(String name) {
         LambdaQueryWrapper<Client> queryWrapper = new LambdaQueryWrapper<>();
@@ -68,11 +76,6 @@ public class ClientService extends ServiceImpl<ClientMapper, Client> {
         return this.getOne(queryWrapper);
     }
 
-    public List<Client> getClientByTenant(Integer tenantId) {
-        LambdaQueryWrapper<Client> queryWrapper = new LambdaQueryWrapper<>();
-        queryWrapper.eq(Client::getTenantId, tenantId);
-        return this.list(queryWrapper);
-    }
 
     /**
      * @autor lrj
@@ -80,10 +83,14 @@ public class ClientService extends ServiceImpl<ClientMapper, Client> {
      * @return
      * @descrption 添加客户
      */
+   @Transactional(rollbackFor = Exception.class)
     public String add(Client client) {
-        client.setCreateBy(loginUtils.getId());
+        client.setCreateUser(loginUtils.getId());
         client.setStatus(1);
         client.insert();
+        PersonnelVO personnel =   cacheUtils.getLoginUser(loginUtils.getId());
+       Integer tenantId=   personnel.getTenantId();
+        assoTenantClientService.addTenantClient(client.getId(),tenantId);
         return Response.success(client.getId());
     }
 
@@ -119,22 +126,22 @@ public class ClientService extends ServiceImpl<ClientMapper, Client> {
      * @author 李仁杰
      * @description 装载客户
      */
-    public void loadClient(List<Client> clients){
-        List<Integer> personIds =clients.stream().map(Client::getPersonnelId).collect(Collectors.toList());
-        LambdaQueryWrapper<Personnel> queryWrapper =new LambdaQueryWrapper<>();
-        queryWrapper.select(Personnel::getPersonnelName)
-                    .select(Personnel::getId);
-        queryWrapper.in(Personnel::getId,personIds);
-        List<Personnel> personnels = personnelService.list(queryWrapper);
-        for (Client client : clients) {
-            for (Personnel personnel : personnels) {
-                if (client.getPersonnelId() != null) {
-                    if (client.getPersonnelId().equals(personnel.getId())) {
-                        client.setPersonnelName(personnel.getPersonnelName());
+    public void loadClient(List<Client> clients) {
+        List<Integer> personIds = clients.stream().map(Client::getCreateUser).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())) {
+                            client.setPersonnelName(personnel.getPersonnelName());
+                        }
                     }
                 }
             }
-        }
 
+        }
     }
 }

+ 1 - 1
PCS/src/main/resources/application.yml

@@ -40,7 +40,7 @@ spring:
       max-file-size: 1000MB
       max-request-size: 1000MB
   profiles:
-    active: local
+    active: test
   jackson:
     default-property-inclusion: non_null
     serialization:

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

@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="cn.cslg.permission.mapper.ClientMapper">
+  <select id="getClientPageList" resultType="cn.cslg.permission.domain.Client" parameterType="cn.cslg.permission.common.model.dto.ClientDTO">
+ select * from CLIENT a left join ASSOCIATE_TENANT_CLIENT b on a.ID=b.CLIENT_ID
+<where>
+    <if test="params.tenantId!=null">
+        and b.TENANT_ID =#{params.tenantId}
+    </if>
+    <if test="params.name!=null">
+        and a.NAME like concat('%', #{params.name}, '%')
+    </if>
+</where>
+  </select>
+
+    <select id="getNoTenantClients" resultType="cn.cslg.permission.domain.Client" parameterType="cn.cslg.permission.common.model.dto.ClientDTO">
+        select  * from CLIENT a left join ASSOCIATE_TENANT_CLIENT b on a.ID=b.CLIENT_ID
+        <where>
+                b.TENANT_ID is null
+            <if test="params.name!=null">
+                and a.NAME like concat('%', #{params.name}, '%')
+            </if>
+        </where>
+    </select>
+    <select id="queryList" resultType="cn.cslg.permission.domain.Client" parameterType="java.lang.Integer">
+        select  * from CLIENT a left join ASSOCIATE_TENANT_CLIENT b on a.ID=b.CLIENT_ID
+        <where>
+            b.TENANT_ID =#{params}
+        </where>
+    </select>
+
+</mapper>