Browse Source

仅能查看自己租户下的专题库 2022/9/21

lwhhszx 3 năm trước cách đây
mục cha
commit
87bf73004b

+ 80 - 0
PAS/src/main/java/cn/cslg/pas/common/model/vo/TenantVo.java

@@ -0,0 +1,80 @@
+package cn.cslg.pas.common.model.vo;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * @author 沈永艺
+ * @date 2022-8-2
+ * @description 租户类 数据库对应实体
+ */
+
+@Data
+
+public class TenantVo  {
+    /**
+     * 租户名称
+     */
+
+    private String tenantName;
+
+    /**
+     * 租户联系地址
+     */
+
+    private String tenantAddress;
+
+    /**
+     * 租户联系人
+     */
+
+    private String tenantContacts;
+
+    /**
+     * 租户联系方式
+     */
+
+    private String tenantContactNumber;
+
+    /**
+     * 租户邮箱
+     */
+
+    private String tenantEmail;
+
+    /**
+     * 租户描述
+     */
+
+    private String tenantDescription;
+
+    /**
+     * 租户账号配额
+     */
+
+    private Integer tenantQuota;
+
+    /**
+     * 租户状态(1启用0停用)
+     */
+
+    private Integer tenantStatus;
+
+    /**
+     * 租户类型
+     */
+
+    private String tenantType;
+
+    /**
+     * 租户关联人员ID
+     */
+
+    private Integer personnelId;
+
+
+
+}

+ 2 - 1
PAS/src/main/java/cn/cslg/pas/common/model/vo/UserVO.java

@@ -6,6 +6,7 @@ import lombok.Data;
 public class UserVO extends BaseVO {
     private String username;
     private String name;
-    private String projectId;
+    private Integer projectId;
     private Integer type;
+    private Integer tenantId;
 }

+ 3 - 1
PAS/src/main/java/cn/cslg/pas/controller/AdminController.java

@@ -19,6 +19,8 @@ import lombok.RequiredArgsConstructor;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.web.bind.annotation.*;
 
+import java.io.IOException;
+
 /**
  * <p>
  * 管理员 前端控制器
@@ -66,7 +68,7 @@ public class AdminController {
 
     @GetMapping("/common/user/list")
     @Operation(summary = "用户列表")
-    public String getCommonUserPageList(UserVO params) {
+    public String getCommonUserPageList(UserVO params) throws IOException {
         return Response.success(userService.getPageList(params));
     }
 

+ 7 - 3
PAS/src/main/java/cn/cslg/pas/controller/ProjectController.java

@@ -10,10 +10,12 @@ import cn.cslg.pas.common.utils.SecurityUtils.LoginUtils;
 import cn.cslg.pas.common.utils.StringUtils;
 import cn.cslg.pas.common.utils.auth.checkAuth;
 import cn.cslg.pas.domain.Project;
+import cn.cslg.pas.domain.ProjectUser;
 import cn.cslg.pas.service.ProjectPatentLinkService;
 import cn.cslg.pas.service.ProjectService;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
+import io.swagger.v3.oas.models.security.SecurityScheme;
 import lombok.RequiredArgsConstructor;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.web.bind.annotation.*;
@@ -21,6 +23,7 @@ import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -54,7 +57,6 @@ public class ProjectController {
     @PostMapping("add")
     @Operation(summary = "新增专题库")
     public String add(@RequestBody Project project) {
-        PersonnelVO user = cacheUtils.getLoginUserPersonnel(loginUtils.getId());
         return projectService.add(project);
     }
     @Permission(roles = {2})
@@ -110,8 +112,10 @@ public class ProjectController {
     @PostMapping("share")
     @checkAuth(FunId = "/workspace/project/project_share")
     @Operation(summary = "分享专题库")
-    public String share(Integer id, @RequestBody List<Integer> userIds) {
-        return projectService.share(id, userIds);
+    public String share(Integer id,  @RequestBody List<ProjectUser.User> users) {
+        List<Integer> userIds = new ArrayList<>();
+        users.forEach(item->{userIds.add(item.getUserId());});
+        return projectService.share(id, userIds,users);
     }
 
     @checkAuth(FunId ="/workspace/project/import/Excel_template")

+ 10 - 3
PAS/src/main/java/cn/cslg/pas/controller/UserController.java

@@ -11,6 +11,8 @@ import lombok.RequiredArgsConstructor;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.web.bind.annotation.*;
 
+import java.io.IOException;
+
 /**
  * <p>
  * 系统用户 前端控制器
@@ -28,9 +30,14 @@ public class UserController {
     private final UserService userService;
 
     @GetMapping("list")
-    @Operation(summary = "用户列表")
-    public String getPageList(UserVO params) {
-        return Response.success(userService.getPageList(params));
+    @Operation(summary = "租户列表")
+    public String getPageList(UserVO params) throws IOException {
+        return userService.getPageList(params);
+    }
+    @GetMapping("personnelList")
+    @Operation(summary = "人员列表")
+    public String getPersonnelList(UserVO params) throws IOException {
+        return userService.getPersonnelList(params);
     }
 
     @PostMapping("add")

+ 5 - 0
PAS/src/main/java/cn/cslg/pas/domain/Client.java

@@ -40,6 +40,11 @@ public class Client extends BaseEntity<Client> {
     private Integer status;
 
     /**
+     * 租户Id
+     */
+    @TableField("tenantId")
+    private Integer tenantId;
+    /**
      * 备注
      */
     private String remark;

+ 5 - 1
PAS/src/main/java/cn/cslg/pas/domain/Project.java

@@ -107,7 +107,11 @@ public class Project extends BaseEntity<Project> {
      */
     @TableField("personnel_id")
     private Integer personnelId;
-
+    /**
+     * 租户ID
+     */
+    @TableField("tenantId")
+    private Integer tenantId;
     /**
      * 创建时间
      */

+ 16 - 6
PAS/src/main/java/cn/cslg/pas/domain/ProjectUser.java

@@ -3,6 +3,7 @@ package cn.cslg.pas.domain;
 import cn.cslg.pas.common.model.BaseEntity;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.v3.oas.models.security.SecurityScheme;
 import lombok.Data;
 
 import java.util.List;
@@ -26,6 +27,12 @@ public class ProjectUser extends BaseEntity<ProjectUser> {
     private Integer userId;
 
     /**
+     * 租户id
+     */
+    @TableField("tenantId")
+    private Integer tenantId;
+
+    /**
      * 专题库id
      */
     @TableField("tid")
@@ -41,18 +48,14 @@ public class ProjectUser extends BaseEntity<ProjectUser> {
      * 备注
      */
     private String remark;
+    @TableField(exist = false)
+    private List<User> users;
 
     /**
      * 权限 1分类人,2管理员,3查阅人
      */
     private Integer type;
 
-    /**
-     * 租户Id
-     */
-    @TableField("addtime")
-    private Integer tenantId;
-
     @TableField(exist = false)
     private List<String> roles;
 
@@ -64,4 +67,11 @@ public class ProjectUser extends BaseEntity<ProjectUser> {
 
     @TableField(exist = false)
     List<Integer> userIds;
+
+    @Data
+    public static class User{
+        private Integer userId;
+        private Integer tenantId;
+
+    }
 }

+ 8 - 1
PAS/src/main/java/cn/cslg/pas/domain/User.java

@@ -66,7 +66,14 @@ public class User extends BaseEntity<User> {
      */
     @TableField("sex")
     private Integer gender;
-
+    /**
+     * 租户Id
+     */
+    private Integer tenantId;
+    /**
+     * 租户名字
+     */
+    private String tenantName;
     @TableField(exist = false)
     private String deptName;
 

+ 5 - 0
PAS/src/main/java/cn/cslg/pas/service/ClientService.java

@@ -78,6 +78,11 @@ 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);
+    }
     public String add(Client client) {
         client.setCreateBy(loginUtils.getId());
         client.setCreateTime(DateUtils.getDateTime());

+ 70 - 71
PAS/src/main/java/cn/cslg/pas/service/PoiService.java

@@ -43,6 +43,18 @@ public class PoiService extends ServiceImpl<PatentPledgeMapper, PatentPledge> {
         PoiVO poiVO =new PoiVO();
         InputStream is = new FileInputStream("C:\\\\BaiduNetdiskDownload\\\\生成\\\\first.docx");
         XWPFDocument doc = new XWPFDocument(is);
+     List<IBodyElement> bodyElements=   doc.getBodyElements();
+       for(IBodyElement iBodyElement: bodyElements)
+       {
+
+           if(iBodyElement.getElementType().equals(""))
+       {
+
+
+       }
+
+
+       }
     List<XWPFParagraph> ps=doc.getParagraphs();
         PoiVO.Pg title = new PoiVO.Pg();
         List<PoiVO.Pg> pgs =new ArrayList<>();
@@ -169,17 +181,17 @@ String[] row =org.split("\\|\\|");
         XWPFHeaderFooterPolicy policy = new XWPFHeaderFooterPolicy(doc, sectPr);
 
 
-        this.createFooter(doc);
-        //添加页脚
-//        CTP ctpFooter = CTP.Factory.newInstance();
-//        CTR ctrFooter = ctpFooter.addNewR();
-//        CTText ctFooter = ctrFooter.addNewT();
-//        String footerText = "ctpFooter";
-//        ctFooter.setStringValue(footerText);
-//        XWPFParagraph footerParagraph = new XWPFParagraph(ctpFooter, doc);
-//        XWPFParagraph[] parsFooter = new XWPFParagraph[1];
-//        parsFooter[0] = footerParagraph;
-//        policy.createFooter(XWPFHeaderFooterPolicy.DEFAULT, parsFooter);
+//        this.createDefaultFooter(doc,"宋体",8);
+      //  添加页脚,
+        CTP ctpFooter = CTP.Factory.newInstance();
+        CTR ctrFooter = ctpFooter.addNewR();
+        CTText ctFooter = ctrFooter.addNewT();
+        String footerText = "ctpFooter";
+        ctFooter.setStringValue(footerText);
+        XWPFParagraph footerParagraph = new XWPFParagraph(ctpFooter, doc);
+        XWPFParagraph[] parsFooter = new XWPFParagraph[1];
+        parsFooter[0] = footerParagraph;
+        policy.createFooter(XWPFHeaderFooterPolicy.DEFAULT, parsFooter);
         doc.write(out);
         out.close();
 
@@ -208,66 +220,52 @@ String[] row =org.split("\\|\\|");
 
 
     //生成页脚
-    public void createFooter(XWPFDocument doc){
-        /*
-         * 生成页脚段落
-         * 给段落设置宽度为占满一行
-         * */
-        CTSectPr sectPr=doc.getDocument().getBody().addNewSectPr();
-        XWPFHeaderFooterPolicy headerFooterPolicy=new XWPFHeaderFooterPolicy(doc,sectPr);
-        try {
-            XWPFFooter footer=headerFooterPolicy.createFooter(STHdrFtr.DEFAULT);
-            XWPFParagraph paragraph = footer.getParagraphArray(0);
-            paragraph.setAlignment(ParagraphAlignment.LEFT);
-            paragraph.setVerticalAlignment(TextAlignment.CENTER);
-            paragraph.setBorderTop(Borders.THICK);
-            CTTabStop tabStop = paragraph.getCTP().getPPr().addNewTabs().addNewTab();
-            tabStop.setVal(STTabJc.RIGHT);
-            int twipsPerInch =  1440;
-            tabStop.setPos(BigInteger.valueOf(6 * twipsPerInch));
-            /*
-             * 给段落创建元素
-             * 设置元素字面为公司地址+公司电话
-             * */
-            XWPFRun run = paragraph.createRun();
-            run.addTab();
-            String s=run.getFontFamily();
-            /*
-             * 生成页码
-             * 页码右对齐
-             * */
-            run = paragraph.createRun();
-            run.setText("第");
-            run = paragraph.createRun();
-            CTFldChar fldChar = run.getCTR().addNewFldChar();
-            fldChar.setFldCharType(STFldCharType.Enum.forString("begin"));
-            run = paragraph.createRun();
-            CTText ctText = run.getCTR().addNewInstrText();
-            ctText.setStringValue("PAGE  \\* MERGEFORMAT");
-            ctText.setSpace(SpaceAttribute.Space.Enum.forString("preserve"));
-            fldChar = run.getCTR().addNewFldChar();
-            fldChar.setFldCharType(STFldCharType.Enum.forString("end"));
-
-            run = paragraph.createRun();
-            run.setText("页/共");
-
-            run = paragraph.createRun();
-            fldChar = run.getCTR().addNewFldChar();
-            fldChar.setFldCharType(STFldCharType.Enum.forString("begin"));
-
-            run = paragraph.createRun();
-            ctText = run.getCTR().addNewInstrText();
-            ctText.setStringValue("NUMPAGES  \\* MERGEFORMAT ");
-            ctText.setSpace(SpaceAttribute.Space.Enum.forString("preserve"));
-
-            fldChar = run.getCTR().addNewFldChar();
-            fldChar.setFldCharType(STFldCharType.Enum.forString("end"));
-
-            run = paragraph.createRun();
-            run.setText("页");;
-        } catch (Exception e) {
-
-        }
+    public static void createDefaultFooter(final XWPFDocument document,String fontName,int fontSize) throws IOException {
+        CTP pageNo = CTP.Factory.newInstance();
+        XWPFParagraph footer = new XWPFParagraph(pageNo, document);
+        footer.createRun().setFontSize(2000);
+        CTPPr begin = pageNo.addNewPPr();
+        begin.addNewPStyle().setVal("style21");
+        begin.addNewJc().setVal(STJc.CENTER);
+        CTR  pageBegin=pageNo.addNewR();
+        pageBegin.addNewRPr().addNewRFonts().setAscii(fontName);
+        pageBegin.addNewRPr().addNewRFonts().setCs(fontName);
+        pageBegin.addNewRPr().addNewRFonts().setEastAsia(fontName);
+        pageBegin.addNewRPr().addNewRFonts().setHAnsi(fontName);
+        pageBegin.addNewRPr().addNewSz().setVal(BigInteger.valueOf(fontSize));
+        pageBegin.addNewRPr().addNewSzCs().setVal(BigInteger.valueOf(fontSize));
+        pageBegin.addNewFldChar().setFldCharType(STFldCharType.BEGIN);
+        CTR  page=pageNo.addNewR();
+        page.addNewRPr().addNewRFonts().setAscii(fontName);
+        page.addNewRPr().addNewRFonts().setCs(fontName);
+        page.addNewRPr().addNewRFonts().setEastAsia(fontName);
+        page.addNewRPr().addNewRFonts().setHAnsi(fontName);
+        page.addNewRPr().addNewSz().setVal(BigInteger.valueOf(fontSize));
+        page.addNewRPr().addNewSzCs().setVal(BigInteger.valueOf(fontSize));
+        page.addNewInstrText().setStringValue("PAGE   \\* MERGEFORMAT");
+        CTR  pageSep=pageNo.addNewR();
+        pageSep.addNewRPr().addNewRFonts().setAscii(fontName);
+        pageSep.addNewRPr().addNewRFonts().setCs(fontName);
+        pageSep.addNewRPr().addNewRFonts().setEastAsia(fontName);
+        pageSep.addNewRPr().addNewRFonts().setHAnsi(fontName);
+        pageSep.addNewRPr().addNewSz().setVal(BigInteger.valueOf(fontSize));
+        pageSep.addNewRPr().addNewSzCs().setVal(BigInteger.valueOf(fontSize));
+        pageSep.addNewFldChar().setFldCharType(STFldCharType.SEPARATE);
+        CTR end = pageNo.addNewR();
+        CTRPr endRPr = end.addNewRPr();
+        endRPr.addNewNoProof();
+        endRPr.addNewLang().setVal("zh-CN");
+        end.addNewRPr().addNewRFonts().setAscii(fontName);
+        end.addNewRPr().addNewRFonts().setCs(fontName);
+        end.addNewRPr().addNewRFonts().setEastAsia(fontName);
+        end.addNewRPr().addNewRFonts().setHAnsi(fontName);
+        end.addNewRPr().addNewSz().setVal(BigInteger.valueOf(fontSize));
+        end.addNewRPr().addNewSzCs().setVal(BigInteger.valueOf(fontSize));
+        end.addNewFldChar().setFldCharType(STFldCharType.END);
+
+        CTSectPr sectPr = document.getDocument().getBody().isSetSectPr() ? document.getDocument().getBody().getSectPr() : document.getDocument().getBody().addNewSectPr();
+        XWPFHeaderFooterPolicy policy = new XWPFHeaderFooterPolicy(document, sectPr);
+        policy.createFooter(STHdrFtr.DEFAULT, new XWPFParagraph[] { footer });
     }
 
     // 目录添加行
@@ -379,4 +377,5 @@ String[] row =org.split("\\|\\|");
         sz.setVal(new BigInteger("36"));
     }
 
+
 }

+ 12 - 6
PAS/src/main/java/cn/cslg/pas/service/ProjectService.java

@@ -362,17 +362,19 @@ public class ProjectService extends ServiceImpl<ProjectMapper, Project> {
 
     @Transactional
     public String add(Project project) {
+        PersonnelVO user = cacheUtils.getLoginUserPersonnel(loginUtils.getId());
         Project temp = this.getProjectByName(project.getName());
         if (temp != null) {
             return Response.error("专题库名称已存在");
         }
         if (project.getClientId() == -1) {
-            project.setClientId(this.getNewClientId(project.getClientName()));
+            project.setClientId(this.getNewClientId(project.getClientName(),user.getTenantId()));
         }
         project.setScenario(StringUtils.join(project.getScenarioList(), ","));
         project.setType(StringUtils.join(project.getTypeList(), ","));
         project.setCreateBy(loginUtils.getId());
         project.setCreateTime(DateUtils.getDateTime());
+        project.setTenantId(user.getTenantId());
         project.insert();
         this.addProjectUser(project.getId());
         return Response.success(project.getId());
@@ -381,11 +383,12 @@ public class ProjectService extends ServiceImpl<ProjectMapper, Project> {
     @Transactional
     public String edit(Project project) {
         Project temp = this.getProjectByName(project.getName());
+        Project project1 =this.getProjectById(project.getId());
         if (temp != null && !temp.getId().equals(project.getId())) {
             return Response.error("专题库名称已存在");
         }
         if (project.getClientId() == -1) {
-            project.setClientId(this.getNewClientId(project.getClientName()));
+            project.setClientId(this.getNewClientId(project.getClientName(),project1.getTenantId()));
         }
         project.setScenario(StringUtils.join(project.getScenarioList(), ","));
         project.setType(StringUtils.join(project.getTypeList(), ","));
@@ -406,7 +409,8 @@ public class ProjectService extends ServiceImpl<ProjectMapper, Project> {
         return Response.success();
     }
 
-    private Integer getNewClientId(String name) {
+    private Integer getNewClientId(String name,Integer tenantId) {
+
         Client client = clientService.getOne(Wrappers.<Client>lambdaQuery().eq(Client::getName, name).last("limit 1"));
         if (client == null) {
             client = new Client();
@@ -414,6 +418,7 @@ public class ProjectService extends ServiceImpl<ProjectMapper, Project> {
             client.setStatus(1);
             client.setCreateBy(loginUtils.getId());
             client.setCreateTime(DateUtils.getDateTime());
+            client.setTenantId(tenantId);
             client.insert();
         }
         return client.getId();
@@ -434,7 +439,7 @@ public class ProjectService extends ServiceImpl<ProjectMapper, Project> {
 
     @Transactional(rollbackFor = Exception.class)
     public String importExcel(MultipartFile file) {
-        try {
+        try { PersonnelVO user = cacheUtils.getLoginUserPersonnel(loginUtils.getId());
             ExcelReader reader = ExcelUtil.getReader(file.getInputStream());
             List<Map<String, Object>> readAll = reader.readAll();
             List<SystemDict> systemDictList = systemDictService.getSystemDictListByType(Arrays.asList(Constants.INVESTIGATION_TYPE, Constants.ENTERPRISE_APPLICATION_SCENARIO));
@@ -443,7 +448,7 @@ public class ProjectService extends ServiceImpl<ProjectMapper, Project> {
                 Project project = new Project();
                 project.setSort(1);
                 project.setName(row.get("专题库名称").toString());
-                project.setClientId(this.getNewClientId(row.get("委托方").toString()));
+                project.setClientId(this.getNewClientId(row.get("委托方").toString(),user.getTenantId()));
                 project.setRemark(row.get("备注").toString());
                 project.setCreateBy(loginUtils.getId());
                 project.setCreateTime(DateUtils.getDateTime());
@@ -492,12 +497,13 @@ public class ProjectService extends ServiceImpl<ProjectMapper, Project> {
     }
 
     @Transactional
-    public String share(Integer id, List<Integer> userIds) {
+    public String share(Integer id, List<Integer> userIds ,List<ProjectUser.User> users) {
         ProjectUser user = new ProjectUser();
         user.setType(3);
         user.setRemark("用户分享");
         user.setProjectId(id);
         user.setUserIds(userIds);
+        user.setUsers(users);
         return projectUserService.add(user);
     }
 

+ 4 - 3
PAS/src/main/java/cn/cslg/pas/service/ProjectUserService.java

@@ -71,14 +71,15 @@ public class ProjectUserService extends ServiceImpl<ProjectUserMapper, ProjectUs
         if (projectUser.getUserIds() != null && projectUser.getUserIds().size() != 0) {
             List<Integer> tempList = this.getListByProIdAndUserIds(projectUser.getUserIds(), projectUser.getProjectId()).stream().map(ProjectUser::getUserId).collect(Collectors.toList());
             List<ProjectUser> userList = new ArrayList<>();
-            projectUser.getUserIds().forEach(item -> {
+            projectUser.getUsers().forEach(item -> {
                 ProjectUser user = new ProjectUser();
-                user.setUserId(item);
+                user.setUserId(item.getUserId());
                 user.setProjectId(projectUser.getProjectId());
                 user.setCreateTime(DateUtils.getDateTime());
                 user.setRemark(projectUser.getRemark());
                 user.setType(projectUser.getType());
-                if (!tempList.contains(item)) {
+                user.setTenantId(item.getTenantId());
+                if (!tempList.contains(item.getUserId())) {
                     userList.add(user);
                 }
             });

+ 76 - 24
PAS/src/main/java/cn/cslg/pas/service/UserService.java

@@ -1,26 +1,39 @@
 package cn.cslg.pas.service;
 
 import cn.cslg.pas.common.model.BaseEntity;
+import cn.cslg.pas.common.model.vo.TenantVo;
+import cn.cslg.pas.common.utils.SecurityUtils.LoginUtils;
+import cn.cslg.pas.domain.Client;
 import cn.cslg.pas.domain.Department;
 import cn.cslg.pas.common.model.vo.UserVO;
 import cn.cslg.pas.common.utils.CacheUtils;
 import cn.cslg.pas.common.utils.DateUtils;
 import cn.cslg.pas.common.utils.Response;
 import cn.cslg.pas.common.utils.StringUtils;
+import cn.cslg.pas.domain.Project;
 import cn.cslg.pas.domain.User;
 import cn.cslg.pas.mapper.UserMapper;
 import cn.hutool.crypto.SecureUtil;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.RequiredArgsConstructor;
+import okhttp3.FormBody;
+import okhttp3.OkHttpClient;
+import okhttp3.Request;
+import okhttp3.RequestBody;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 
+import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Objects;
 import java.util.stream.Collectors;
 
 /**
@@ -38,6 +51,10 @@ public class UserService extends ServiceImpl<UserMapper, User> {
     private final DepartmentService departmentService;
     private final CacheUtils cacheUtils;
     private final ProjectUserService projectUserService;
+    private final ProjectService projectService;
+    private  final  ClientService clientService;
+    @Value("${authorUrl}")
+    private String url;
 
     public User getByUsername(String username) {
         return this.getOne(Wrappers.<User>lambdaQuery().eq(User::getUsername, username));
@@ -61,31 +78,66 @@ public class UserService extends ServiceImpl<UserMapper, User> {
         return this.list(queryWrapper);
     }
 
-    public IPage<User> getPageList(UserVO params) {
-        LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<>();
-        if (StringUtils.isNotEmpty(params.getName())) {
-            queryWrapper.like(User::getName, params.getName());
-        }
-        if (StringUtils.isNotEmpty(params.getUsername())) {
-            queryWrapper.like(User::getUsername, params.getUsername());
-        }
-        if (StringUtils.isNotEmpty(params.getProjectId())) {
-            List<Integer> userIds = projectUserService.getProjectUserIdByProjectId(Integer.parseInt(params.getProjectId()));
-            if (userIds.size() != 0) {
-                queryWrapper.notIn(User::getId, userIds);
-            }
-        }
-        IPage<User> pageList = this.page(new Page<>(params.getCurrent(), params.getSize()), queryWrapper);
-        List<Department> departmentList = departmentService.getDepartmentByIds(pageList.getRecords().stream().map(User::getDeptId).collect(Collectors.toList()));
-        pageList.getRecords().forEach(item -> {
-            item.setPassword(null);
-            Department department = departmentList.stream().filter(dept -> dept.getId().equals(item.getDeptId())).findFirst().orElse(null);
-            if (department != null) {
-                item.setDeptName(department.getName());
-            }
-        });
-        return pageList;
+    public String getPageList(UserVO params) throws IOException {
+        //查询数据规则
+        //设定formdata类型参数
+      Project project = projectService.getProjectById(params.getProjectId());
+         int tentId = project.getTenantId();
+         List<Client> clients = clientService.getClientBytenant(tentId);
+         List<String> tenantNames = new ArrayList<>();
+         clients.forEach(item->{ tenantNames.add(item.getName());});
+       String names = JSON.toJSONString (tenantNames);
+       String name ="";
+       name = params.getName()==null? name:params.getName();
+        RequestBody requestBody = new FormBody.Builder()
+                .add("tenantId", tentId+"" )
+                .add("tenantNames",names)
+                .add("tenantName",name)
+                .add("current",params.getCurrent().toString())
+                .add("size",params.getSize().toString())
+                .build();
+        //建立连接
+        OkHttpClient okHttpClient = new OkHttpClient();
+        Request request = new Request.Builder()
+                .url(url + "/permission/api/system/getTenantMessage")
+                .post(requestBody)
+                .addHeader("Cookie", LoginUtils.getToken())
+                .build();
+        //获得请求返回
+        String resBody = Objects.requireNonNull(okHttpClient.newCall(request).execute().body()).string();
+
+return resBody;
+
     }
+    public String getPersonnelList(UserVO params) throws IOException {
+        //查询数据规则
+        //设定formdata类型参数
+        List<Client> clients = clientService.getClientBytenant(params.getTenantId());
+        List<String> tenantNames = new ArrayList<>();
+        clients.forEach(item->{ tenantNames.add(item.getName());});
+        String name ="";
+        name = params.getName()==null? name:params.getName();
+        RequestBody requestBody = new FormBody.Builder()
+                .add("tenantId", params.getTenantId()+"" )
+                .add("personnelName",name)
+                .add("current",params.getCurrent().toString())
+                .add("size",params.getSize().toString())
+                .build();
+        //建立连接
+        OkHttpClient okHttpClient = new OkHttpClient();
+        Request request = new Request.Builder()
+                .url(url + "/permission/api/system/getPersonneltMessage")
+                .post(requestBody)
+                .addHeader("Cookie", LoginUtils.getToken())
+                .build();
+        //获得请求返回
+        String resBody = Objects.requireNonNull(okHttpClient.newCall(request).execute().body()).string();
+
+        return resBody;
+    }
+
+
+
 
     public String add(User user) {
         User temp = this.getByUsername(user.getUsername());