Browse Source

添加机构编号接口、查询组织下人员接口

zsf 1 year ago
parent
commit
8969929910

+ 1 - 3
src/main/java/com/rf/psychological/filter/JWTInterceptorConfig.java

@@ -31,7 +31,7 @@ public class JWTInterceptorConfig implements WebMvcConfigurer {
         String[] webLogin = new String[]{"/user/authCode", "/user/saveUser", "/user/webLogin", "/user/webUpdatePassword", "/user/*/checkUser"};
         String[] automaticImport = new String[]{"/category/loadCategory", "/subjectInfo", "/importTest", "/subjectInfo/update"};
         String[] wxPay = new String[]{"/api/wx-pay/native/notify","/api/wx-pay/refunds/notify"};
-        String[] systemApi = new String[]{"/system/login","/system/adminLogin","/system/forgotPassword","/system/registerUser"};
+        String[] systemApi = new String[]{"/system/login","/user/findUserByStructureNo/**","/system/adminLogin","/system/forgotPassword","/system/registerUser","/institution/newNumber"};
         registry.addInterceptor(jwtInterceptor)
                 .addPathPatterns("/**")
                 .excludePathPatterns("/", "/index**", "/error")
@@ -41,7 +41,6 @@ public class JWTInterceptorConfig implements WebMvcConfigurer {
                 .excludePathPatterns(systemApi)
                 .excludePathPatterns("/user/saveUserV2", "/institution/saveUser")
                 .excludePathPatterns(webLogin)
-                .excludePathPatterns("/user/LANSaveUserInfo", "/user/LANLogin", "/user/LANUpdatePassword")
                 .excludePathPatterns("/file/**", "/result/download/**")
                 .excludePathPatterns("/download/**")
                 .excludePathPatterns("/apk/**")
@@ -62,7 +61,6 @@ public class JWTInterceptorConfig implements WebMvcConfigurer {
                 .excludePathPatterns(systemApi)
                 .excludePathPatterns("/user/saveUserV2", "/institution/saveUser")
                 .excludePathPatterns(webLogin)
-                .excludePathPatterns("/user/LANSaveUserInfo", "/user/LANLogin", "/user/LANUpdatePassword")
                 .excludePathPatterns("/file/**", "/result/download/**")
                 .excludePathPatterns("/download/**")
                 .excludePathPatterns("/apk/**")

+ 13 - 0
src/main/java/com/rf/psychological/institution/rest/InstitutionController.java

@@ -363,6 +363,19 @@ public class InstitutionController extends BaseController {
     }
 
 
+    @SafetyProcess
+    @GetMapping("/newNumber")
+    @ApiOperation("获取机构编号")
+    public Result newNumber()  {
+        try {
+            String number =  institutionService.newNumber();
+            return success(number);
+        }catch (Exception e){
+            e.printStackTrace();
+            return fail("操作失败");
+        }
+    }
+
 
 
 

+ 2 - 0
src/main/java/com/rf/psychological/institution/service/InstitutionService.java

@@ -51,4 +51,6 @@ public interface InstitutionService {
      * @return
      */
     Page<InstitutionEntity> findAllInstitution(int pageNum, int pageSize, String searchKey);
+
+    String newNumber();
 }

+ 19 - 0
src/main/java/com/rf/psychological/institution/service/impl/InstitutionServiceImpl.java

@@ -119,4 +119,23 @@ public class InstitutionServiceImpl implements InstitutionService {
     public InstitutionEntity findByInstitutionNo(String institutionNo) {
         return this.institutionRepository.findByInstitutionNo(institutionNo);
     }
+
+    @Override
+    public String newNumber() {
+        //编号要求自动生成五位数字且唯一,11000+现有数量保持有序增长
+        //获取到现有数量
+        List<InstitutionEntity> entityList = institutionRepository.findAll();
+        int number = Constant.START_NUMBER+ (CollectionUtils.isNotEmpty(entityList)?entityList.size():0);
+        return String.valueOf(checkNumber(number));
+    }
+
+    private int checkNumber(int number){
+        //根据编号获取到机构
+        InstitutionEntity entity = institutionRepository.findByInstitutionNo(String.valueOf(number));
+        if (entity == null){
+            return number;
+        }else {
+            return checkNumber(number+1);
+        }
+    }
 }

+ 1 - 1
src/main/java/com/rf/psychological/rest/ServerController.java

@@ -1065,7 +1065,7 @@ public class ServerController extends BaseController {
                     isExist = true;
                     continue;
                 }
-                if (Validator.isCitizenId(phone.toString())){
+                if (!Validator.isCitizenId(phone.toString())){
                     y = i + 1;
                     result.append("第" + y +"账号不符合身份证规则").append("\r\n");
                     isExist = true;

+ 14 - 0
src/main/java/com/rf/psychological/user/rest/UserController.java

@@ -21,6 +21,7 @@ import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
 import org.springframework.util.DigestUtils;
 import org.springframework.web.bind.annotation.*;
 
@@ -303,4 +304,17 @@ public class UserController extends BaseController {
         }
     }
 
+
+    @SafetyProcess
+    @GetMapping("/findUserByStructureNo")
+    @ApiOperation("根据组织架构查询用户")
+    public Result findUserByStructureNo( int pageNum,int pageSize, String institutionNo, String structureNo) throws Exception {
+        try {
+            Page page = userService.findUserByStructureNo(pageNum,pageSize,institutionNo,structureNo);
+            return success(page);
+        }catch (Exception e){
+            return fail("查询失败");
+        }
+    }
+
 }

+ 2 - 0
src/main/java/com/rf/psychological/user/service/UserService.java

@@ -224,4 +224,6 @@ public interface UserService {
     UserEntity findByPhoneAndPassword(String phone,String password,String roleType);
 
     List<UserEntity> findByStructureNo(String structureNo);
+
+    Page findUserByStructureNo(int pageNum, int pageSize, String institutionNo, String structureNo);
 }

+ 15 - 0
src/main/java/com/rf/psychological/user/service/impl/UserServiceImpl.java

@@ -337,6 +337,21 @@ public class UserServiceImpl implements UserService {
         return this.userRepository.findByStructureNo(structureNo);
     }
 
+    @Override
+    public Page findUserByStructureNo(int pageNum, int pageSize, String institutionNo, String structureNo) {
+        Specification specification = (Specification<UserEntity>) (root, query, cb) -> {
+            List<Predicate> list = new ArrayList<>();
+            list.add(cb.equal(root.get("institutionNo"),institutionNo));
+            list.add(cb.equal(root.get("structureNo"),structureNo));
+            query.where(cb.and(list.toArray(new Predicate[list.size()])));
+            //排序的升序和倒叙的写法
+            //query.orderBy(cb.desc(root.get("id")));
+            return query.getRestriction();
+        };
+        Page<UserEntity> result = userRepository.findAll(specification, PageRequestUtil.of(pageNum , pageSize));
+        return result;
+    }
+
 
     /**
      * 改变用户状态