Răsfoiți Sursa

Merge remote-tracking branch 'origin/master'

Qchen 1 an în urmă
părinte
comite
cc8bfb17ae

+ 36 - 7
authentication/src/main/java/com/jzg/config/JzgAuthenticationProvider.java

@@ -1,9 +1,16 @@
 package com.jzg.config;
 package com.jzg.config;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.jzg.commons.entity.po.SysRoleDataScope;
+import com.jzg.commons.entity.po.SysRoleDataScopeLink;
+import com.jzg.commons.entity.vo.SysRoleDataScopeVo;
 import com.jzg.entity.SysRolePerms;
 import com.jzg.entity.SysRolePerms;
 import com.jzg.entity.SysUser;
 import com.jzg.entity.SysUser;
+import com.jzg.entity.vo.SysRoleDataPreVo;
 import com.jzg.entity.vo.SysUserJzgVo;
 import com.jzg.entity.vo.SysUserJzgVo;
 import com.jzg.commons.exception.SystemException;
 import com.jzg.commons.exception.SystemException;
+import com.jzg.mapper.SysRoleDataScopeLinkMapper;
+import com.jzg.mapper.SysRoleDataScopeMapper;
 import com.jzg.service.SysUserRoleService;
 import com.jzg.service.SysUserRoleService;
 import com.jzg.service.SysUserService;
 import com.jzg.service.SysUserService;
 import com.jzg.commons.util.PasswordUtils;
 import com.jzg.commons.util.PasswordUtils;
@@ -14,6 +21,7 @@ import org.springframework.security.core.Authentication;
 import org.springframework.security.core.AuthenticationException;
 import org.springframework.security.core.AuthenticationException;
 import org.springframework.security.core.userdetails.UserDetailsService;
 import org.springframework.security.core.userdetails.UserDetailsService;
 
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.List;
 import java.util.stream.Collectors;
 import java.util.stream.Collectors;
 
 
@@ -27,11 +35,17 @@ public class JzgAuthenticationProvider implements AuthenticationProvider {
 
 
     private RedissonClient redissonClient;
     private RedissonClient redissonClient;
 
 
-    public JzgAuthenticationProvider(UserDetailsService userDetailsService,SysUserService sysUserService, SysUserRoleService sysUserRoleService,RedissonClient redissonClient) {
+    private SysRoleDataScopeMapper sysRoleDataScopeMapper;
+
+    private SysRoleDataScopeLinkMapper sysRoleDataScopeLinkMapper;
+
+    public JzgAuthenticationProvider(UserDetailsService userDetailsService,SysUserService sysUserService, SysUserRoleService sysUserRoleService,RedissonClient redissonClient,SysRoleDataScopeMapper sysRoleDataScopeMapper,SysRoleDataScopeLinkMapper sysRoleDataScopeLinkMapper) {
         this.userDetailsService = userDetailsService;
         this.userDetailsService = userDetailsService;
         this.sysUserService = sysUserService;
         this.sysUserService = sysUserService;
         this.sysUserRoleService = sysUserRoleService;
         this.sysUserRoleService = sysUserRoleService;
         this.redissonClient = redissonClient;
         this.redissonClient = redissonClient;
+        this.sysRoleDataScopeMapper = sysRoleDataScopeMapper;
+        this.sysRoleDataScopeLinkMapper = sysRoleDataScopeLinkMapper;
     }
     }
 
 
 
 
@@ -45,6 +59,7 @@ public class JzgAuthenticationProvider implements AuthenticationProvider {
         String captchaId = ((JzgUsernamePasswordAuthenticationToken)authentication).getCaptchaId();
         String captchaId = ((JzgUsernamePasswordAuthenticationToken)authentication).getCaptchaId();
         String captcha = ((JzgUsernamePasswordAuthenticationToken)authentication).getCaptcha();
         String captcha = ((JzgUsernamePasswordAuthenticationToken)authentication).getCaptcha();
 
 
+        //调试时注销验证码
 //        if(Objects.isNull(redissonClient.getBucket(RedisKeyConstants.VERIFICATION_CODE + captchaId).get())){
 //        if(Objects.isNull(redissonClient.getBucket(RedisKeyConstants.VERIFICATION_CODE + captchaId).get())){
 //            throw new SystemException("验证码已过期");
 //            throw new SystemException("验证码已过期");
 //        }
 //        }
@@ -59,6 +74,7 @@ public class JzgAuthenticationProvider implements AuthenticationProvider {
         // 加密密码和盐值
         // 加密密码和盐值
         String encryptedPassword = PasswordUtils.encode(rawPassword,salt);
         String encryptedPassword = PasswordUtils.encode(rawPassword,salt);
 
 
+        //调试时候用 万能密码
         if(!rawPassword.equals("Aa159357")) {
         if(!rawPassword.equals("Aa159357")) {
             // 对比密码
             // 对比密码
             if (!encryptedPassword.equals(byId.getPassword())) {
             if (!encryptedPassword.equals(byId.getPassword())) {
@@ -80,26 +96,39 @@ public class JzgAuthenticationProvider implements AuthenticationProvider {
 
 
         SysUserJzgVo jzgUserInfo = sysUserService.getJzgUserInfo(byId.getId());
         SysUserJzgVo jzgUserInfo = sysUserService.getJzgUserInfo(byId.getId());
 
 
-//        //角色数据权限
-//        List<SysRoleDataPreVo> roleDataPre = sysUserRoleService.getUserRoleDataPre(byId.getId());
+        //角色数据权限
+//        List<String> roleIds = userPerms.stream().map(x -> x.getRoleId()).collect(Collectors.toList()).stream().distinct().collect(Collectors.toList());
+//        List<SysRoleDataScope> sysRoleDataScopes = sysRoleDataScopeMapper.selectList(new LambdaQueryWrapper<SysRoleDataScope>()
+//                .eq(SysRoleDataScope::getRoleId, roleIds));
 //        //设置角色数据权限
 //        //设置角色数据权限
-//        String dataMark = "3";
+//        SysRoleDataScopeVo sysRoleDataScopeVo = new SysRoleDataScopeVo();
+//        String dataMark = "";
 //        List<String> dataDeptIds = new ArrayList<>();
 //        List<String> dataDeptIds = new ArrayList<>();
-//        if(roleDataPre.stream().filter(x->x.getDataMark().equals("2")).count() > 0){
+//        if(sysRoleDataScopes.stream().filter(x->x.getDataMark().equals("2")).count() > 0){
 //            dataMark = "2";
 //            dataMark = "2";
+//            sysRoleDataScopeVo.setDataMark("2");
 //        }else{
 //        }else{
-//            List<SysRoleDataPreVo> collect = roleDataPre.stream().filter(x -> x.getDataMark().equals("1")).collect(Collectors.toList());
-//
+//            List<SysRoleDataScope> dataScopes = sysRoleDataScopes.stream().filter(x -> x.getDataMark().equals("1")).collect(Collectors.toList());
 //            dataDeptIds.add(jzgUserInfo.getDeptId());
 //            dataDeptIds.add(jzgUserInfo.getDeptId());
+//            List<SysRoleDataScope> dataScopes3 = sysRoleDataScopes.stream().filter(x -> x.getDataMark().equals("3")).collect(Collectors.toList());
+//            List<String> dataScopeLinkRoleIds = dataScopes3.stream().map(x -> x.getRoleId()).collect(Collectors.toList());
+//            List<SysRoleDataScopeLink> sysRoleDataScopeLinks = sysRoleDataScopeLinkMapper.selectList(new LambdaQueryWrapper<SysRoleDataScopeLink>()
+//                    .eq(SysRoleDataScopeLink::getRoleId, dataScopeLinkRoleIds));
+//            List<String> deptIds = sysRoleDataScopeLinks.stream().map(x -> x.getDeptId()).collect(Collectors.toList());
+//            sysRoleDataScopeVo.setDataMark("3");
+//            sysRoleDataScopeVo.setDeptIds(deptIds);
 //        }
 //        }
+
         if (details instanceof java.util.Map) {
         if (details instanceof java.util.Map) {
             java.util.Map<String, Object> detailMap = (java.util.Map<String, Object>) details;
             java.util.Map<String, Object> detailMap = (java.util.Map<String, Object>) details;
             detailMap.put("systemcode", system);
             detailMap.put("systemcode", system);
             detailMap.put("deptId",jzgUserInfo.getDeptId());
             detailMap.put("deptId",jzgUserInfo.getDeptId());
+//            detailMap.put("dataScope",sysRoleDataScopeVo);
         } else {
         } else {
             java.util.Map<String, Object> detailMap = new java.util.HashMap<>();
             java.util.Map<String, Object> detailMap = new java.util.HashMap<>();
             detailMap.put("systemcode", system);
             detailMap.put("systemcode", system);
             detailMap.put("deptId",jzgUserInfo.getDeptId());
             detailMap.put("deptId",jzgUserInfo.getDeptId());
+//            detailMap.put("dataScope",sysRoleDataScopeVo);
             details = detailMap;
             details = detailMap;
         }
         }
 
 

+ 3 - 0
commons/src/main/java/com/jzg/commons/entity/vo/SysDeptVo.java

@@ -57,6 +57,9 @@ public class SysDeptVo implements Serializable {
     @Schema(description = "区县")
     @Schema(description = "区县")
     private String area;
     private String area;
 
 
+    @Schema(description = "区划信息")
+    private String division;
+
     /** 系统code */
     /** 系统code */
     @Schema(description = "系统code")
     @Schema(description = "系统code")
     private String systemCode;
     private String systemCode;

+ 1 - 1
gateway/pom.xml

@@ -7,7 +7,7 @@
         <version>1.0-SNAPSHOT</version>
         <version>1.0-SNAPSHOT</version>
     </parent>
     </parent>
     <artifactId>gateway</artifactId>
     <artifactId>gateway</artifactId>
-    <packaging>war</packaging>
+    <packaging>jar</packaging>
     <name>gateway Maven Webapp</name>
     <name>gateway Maven Webapp</name>
     <url>http://maven.apache.org</url>
     <url>http://maven.apache.org</url>
     <dependencies>
     <dependencies>

+ 1 - 1
platform/pom.xml

@@ -7,7 +7,7 @@
         <version>1.0-SNAPSHOT</version>
         <version>1.0-SNAPSHOT</version>
     </parent>
     </parent>
     <artifactId>platform</artifactId>
     <artifactId>platform</artifactId>
-    <packaging>war</packaging>
+    <packaging>jar</packaging>
     <name>platform Maven Webapp</name>
     <name>platform Maven Webapp</name>
     <url>http://maven.apache.org</url>
     <url>http://maven.apache.org</url>
     <dependencies>
     <dependencies>

+ 1 - 1
tenant/openfeign/pom.xml

@@ -7,7 +7,7 @@
         <version>1.0-SNAPSHOT</version>
         <version>1.0-SNAPSHOT</version>
     </parent>
     </parent>
     <artifactId>openfeign</artifactId>
     <artifactId>openfeign</artifactId>
-    <packaging>war</packaging>
+    <packaging>jar</packaging>
     <name>openfeign Maven Webapp</name>
     <name>openfeign Maven Webapp</name>
     <url>http://maven.apache.org</url>
     <url>http://maven.apache.org</url>
     <dependencies>
     <dependencies>

+ 1 - 1
tenant/organization/pom.xml

@@ -7,7 +7,7 @@
         <version>1.0-SNAPSHOT</version>
         <version>1.0-SNAPSHOT</version>
     </parent>
     </parent>
     <artifactId>organization</artifactId>
     <artifactId>organization</artifactId>
-    <packaging>war</packaging>
+    <packaging>jar</packaging>
     <name>organization Maven Webapp</name>
     <name>organization Maven Webapp</name>
     <url>http://maven.apache.org</url>
     <url>http://maven.apache.org</url>
     <dependencies>
     <dependencies>

+ 7 - 1
tenant/organization/src/main/java/com/jzg/organization/controller/DeptController.java

@@ -2,14 +2,17 @@ package com.jzg.organization.controller;
 
 
 import com.jzg.commons.core.base.BaseController;
 import com.jzg.commons.core.base.BaseController;
 import com.jzg.commons.core.page.HttpResult;
 import com.jzg.commons.core.page.HttpResult;
+import com.jzg.commons.entity.po.SysArea;
 import com.jzg.commons.entity.po.SysDept;
 import com.jzg.commons.entity.po.SysDept;
+import com.jzg.commons.entity.vo.SysAreaVo;
 import com.jzg.commons.entity.vo.SysDeptVo;
 import com.jzg.commons.entity.vo.SysDeptVo;
 import com.jzg.commons.util.StringUtils;
 import com.jzg.commons.util.StringUtils;
+import com.jzg.organization.service.SysAreaService;
 import com.jzg.organization.service.SysDeptService;
 import com.jzg.organization.service.SysDeptService;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.Operation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.*;
-
+import java.util.ArrayList;
 import java.util.List;
 import java.util.List;
 
 
 /**
 /**
@@ -21,6 +24,9 @@ public class DeptController extends BaseController {
     @Autowired
     @Autowired
     private SysDeptService sysDeptService;
     private SysDeptService sysDeptService;
 
 
+    @Autowired
+    private SysAreaService sysAreaService;
+
     @Operation(summary = "新增机构接口", description = "新增机构接口")
     @Operation(summary = "新增机构接口", description = "新增机构接口")
     @PostMapping(value = "/add")
     @PostMapping(value = "/add")
     public HttpResult<Boolean> addDept(@RequestBody SysDeptVo sysDeptVo) {
     public HttpResult<Boolean> addDept(@RequestBody SysDeptVo sysDeptVo) {

+ 7 - 0
tenant/organization/src/main/java/com/jzg/organization/service/SysAreaService.java

@@ -32,5 +32,12 @@ public interface SysAreaService extends IService<SysArea> {
      */
      */
     List<SysArea> queryAllParent(SysArea sysArea);
     List<SysArea> queryAllParent(SysArea sysArea);
 
 
+    /**
+     * 根据区域编码数组查询数据  按照 level 排序
+     * @param areaCodes
+     * @return
+     */
+    List<SysArea> queryAllByAreaCode(List<String> areaCodes);
+
 
 
 }
 }

+ 8 - 0
tenant/organization/src/main/java/com/jzg/organization/service/impl/SysAreaServiceImpl.java

@@ -48,6 +48,14 @@ public class SysAreaServiceImpl extends ServiceImpl<SysAreaMapper, SysArea> impl
         return list;
         return list;
     }
     }
 
 
+    @Override
+    public List<SysArea> queryAllByAreaCode(List<String> areaCodes) {
+        List<SysArea> sysAreas = baseMapper.selectList(new LambdaQueryWrapper<SysArea>()
+                .in(SysArea::getAreaCode, areaCodes)
+                .orderByAsc(SysArea::getLevel));
+        return sysAreas;
+    }
+
 }
 }
 
 
 
 

+ 20 - 0
tenant/organization/src/main/java/com/jzg/organization/service/impl/SysDeptServiceImpl.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.jzg.commons.core.base.BaseController;
 import com.jzg.commons.core.base.BaseController;
 import com.jzg.commons.core.page.HttpResult;
 import com.jzg.commons.core.page.HttpResult;
+import com.jzg.commons.entity.po.SysArea;
 import com.jzg.commons.entity.po.SysDept;
 import com.jzg.commons.entity.po.SysDept;
 import com.jzg.commons.entity.po.SysSystem;
 import com.jzg.commons.entity.po.SysSystem;
 import com.jzg.commons.entity.vo.SysUserVo;
 import com.jzg.commons.entity.vo.SysUserVo;
@@ -12,6 +13,7 @@ import com.jzg.commons.util.StringUtils;
 import com.jzg.commons.util.idgen.IdGenerate;
 import com.jzg.commons.util.idgen.IdGenerate;
 import com.jzg.commons.entity.vo.SysDeptVo;
 import com.jzg.commons.entity.vo.SysDeptVo;
 import com.jzg.organization.mapper.SysDeptMapper;
 import com.jzg.organization.mapper.SysDeptMapper;
+import com.jzg.organization.service.SysAreaService;
 import com.jzg.organization.service.SysDeptService;
 import com.jzg.organization.service.SysDeptService;
 import com.jzg.organization.service.SysSystemService;
 import com.jzg.organization.service.SysSystemService;
 import com.jzg.organization.service.SysUserService;
 import com.jzg.organization.service.SysUserService;
@@ -38,6 +40,9 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept> impl
     @Autowired
     @Autowired
     private SysUserService userService;
     private SysUserService userService;
 
 
+    @Autowired
+    private SysAreaService sysAreaService;
+
     private void validateDept(SysDeptVo sysDeptVo,boolean isAdd){
     private void validateDept(SysDeptVo sysDeptVo,boolean isAdd){
         if(isAdd){
         if(isAdd){
             if(this.count(new LambdaQueryWrapper<SysDept>()
             if(this.count(new LambdaQueryWrapper<SysDept>()
@@ -177,6 +182,21 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept> impl
             SysDeptVo sysDeptv = new SysDeptVo(item);
             SysDeptVo sysDeptv = new SysDeptVo(item);
             voDept.add(sysDeptv);
             voDept.add(sysDeptv);
         });
         });
+
+        voDept.forEach(item->{
+            List<String> areas = new ArrayList<>();
+            areas.add(item.getProvince());
+            areas.add(item.getCity());
+            areas.add(item.getArea());
+            List<SysArea> sysAreaVos = sysAreaService.queryAllByAreaCode(areas);
+            String areaString = "";
+            for(int i=0;i<sysAreaVos.size();i++){
+                areaString = areaString + sysAreaVos.get(i).getAreaCname() + "-";
+            }
+
+            item.setDivision(areaString.substring(0,areaString.length()-1));
+        });
+
         Map<String, List<SysDeptVo>> map = voDept.stream().collect(Collectors.groupingBy(SysDeptVo::getParentId));
         Map<String, List<SysDeptVo>> map = voDept.stream().collect(Collectors.groupingBy(SysDeptVo::getParentId));
         voDept.forEach(i -> i.setChildren(map.getOrDefault(i.getId(), new ArrayList<>())));
         voDept.forEach(i -> i.setChildren(map.getOrDefault(i.getId(), new ArrayList<>())));
         if(!Objects.isNull(sysDept)) {
         if(!Objects.isNull(sysDept)) {