snihwxf vor 1 Monat
Ursprung
Commit
3f8630e906

+ 22 - 0
src/main/java/com/xjrsoft/common/utils/FormatUtil.java

@@ -23,4 +23,26 @@ public final class FormatUtil {
         }
         return StrUtil.sub(format, 0, format.length() - valueStr.length()) + valueStr;
     }
+
+    public  static  String formatPhone(String value){
+        if(StrUtil.isEmpty(value))
+            return value;
+
+
+        if (value.length() != 11) {
+            return value;
+        }
+        return value.substring(0, 3) + "****" + value.substring(7);
+    }
+
+
+    public  static  String formatIdCard(String value){
+        if(StrUtil.isEmpty(value))
+            return value;
+
+        if (value.length() != 18) {
+            return value;
+        }
+        return value.substring(0, 6) + "****" + value.substring(14);
+    }
 }

+ 4 - 0
src/main/java/com/xjrsoft/common/utils/VoToColumnUtil.java

@@ -24,4 +24,8 @@ public class VoToColumnUtil {
     public static List<String> fieldsToColumns(Class<?> clz){
         return Arrays.stream(clz.getDeclaredFields()).map(Field::getName).filter(name -> !UID_STRING.equals(name)).collect(Collectors.toList());
     }
+
+    public static List<String> fieldsToColumns(Class<?> clz,List<String> excludeFields) {
+        return Arrays.stream(clz.getDeclaredFields()).map(Field::getName).filter(name -> !UID_STRING.equals(name) & !excludeFields.contains(name)).collect(Collectors.toList());
+    }
 }

+ 1 - 1
src/main/java/com/xjrsoft/config/SaTokenConfig.java

@@ -49,7 +49,7 @@ public class SaTokenConfig implements WebMvcConfigurer {
         registry.addInterceptor(getRateLimitInterceptor()).addPathPatterns("/**");
 
         //satoken 注解鉴权拦截器
-//        registry.addInterceptor(new SaInterceptor()).addPathPatterns("/**");
+        registry.addInterceptor(new SaInterceptor()).addPathPatterns("/**");
     }
 
     @Bean

+ 6 - 3
src/main/java/com/xjrsoft/module/attendance/controller/StudentStatisticsController.java

@@ -200,11 +200,14 @@ public class StudentStatisticsController {
                 .selectAs(BaseClass::getName, StudentStatisticsPageVo::getClassName)
                 .select("t3.name", StudentStatisticsPageVo::getTeacherName)
                 .selectAs(User::getName, StudentStatisticsPageVo::getStudentName)
-                .selectAs(User::getMobile, StudentStatisticsPageVo::getMobile)
+
+
+                .select("CONCAT(LEFT(t.mobile, 3), '****', RIGHT(t.mobile, 4))", StudentStatisticsPageVo::getMobile)
                 .selectAs(User::getId, StudentStatisticsPageVo::getUserId)
-                .selectAs(BaseStudentFamily::getTelephone, StudentStatisticsPageVo::getGuardianPhone)
+                .select("CONCAT(LEFT(t4.telephone, 3), '****', RIGHT(t4.telephone, 4))", StudentStatisticsPageVo::getGuardianPhone)
                 .selectAs(DictionaryDetail::getName, StudentStatisticsPageVo::getStduyStatusCn)
-                .selectAs(User::getCredentialNumber, StudentStatisticsPageVo::getCredentialNumber)
+                .select("CONCAT(LEFT(t.credential_number, 6), '****', RIGHT(t.credential_number, 4))", StudentStatisticsPageVo::getCredentialNumber)
+
                 .innerJoin(BaseStudentSchoolRoll.class, BaseStudentSchoolRoll::getUserId, User::getId)
                 .innerJoin(BaseClass.class, BaseClass::getId, BaseStudentSchoolRoll::getClassId)
                 .leftJoin(User.class, User::getId, BaseClass::getTeacherId)

+ 4 - 2
src/main/java/com/xjrsoft/module/organization/controller/UserController.java

@@ -196,7 +196,8 @@ public class UserController {
                     .select("d1.name", UserPageVo::getEmployWay)
                     .select("d2.name", UserPageVo::getEmployType)
                     .selectAs(BaseStudentSchoolRoll::getClassId, UserPageVo::getClassId)
-                    .select(User.class, x -> VoToColumnUtil.fieldsToColumns(UserPageVo.class).contains(x.getProperty()))
+                    .select(User.class, x -> VoToColumnUtil.fieldsToColumns(UserPageVo.class,List.of("mobile")).contains(x.getProperty()))
+                    .select("CONCAT(LEFT(t.mobile, 3), '****', RIGHT(t.mobile, 4))",UserPageVo::getMobile)
                     .leftJoin(UserDeptRelation.class, UserDeptRelation::getUserId, User::getId)
                     .leftJoin(UserRoleRelation.class, UserRoleRelation::getUserId, User::getId)
                     .leftJoin(BaseTeacher.class, BaseTeacher::getUserId, User::getId)
@@ -261,7 +262,8 @@ public class UserController {
                     .select("d1.name", UserPageVo::getEmployWay)
                     .select("d2.name", UserPageVo::getEmployType)
                     .selectAs(BaseStudentSchoolRoll::getClassId, UserPageVo::getClassId)
-                    .select(User.class, x -> VoToColumnUtil.fieldsToColumns(UserPageVo.class).contains(x.getProperty()))
+                    .select(User.class, x -> VoToColumnUtil.fieldsToColumns(UserPageVo.class,List.of("mobile")).contains(x.getProperty()))
+                    .select("CONCAT(LEFT(t.mobile, 3), '****', RIGHT(t.mobile, 4))",UserPageVo::getMobile)
                     .leftJoin(UserRoleRelation.class, UserRoleRelation::getUserId, User::getId)
                     .leftJoin(BaseStudentSchoolRoll.class, BaseStudentSchoolRoll::getUserId, User::getId)
                     .leftJoin(UserDeptRelation.class, UserDeptRelation::getUserId, User::getId)

+ 5 - 3
src/main/java/com/xjrsoft/module/outint/controller/StudentOutInRecordController.java

@@ -17,6 +17,7 @@ import com.xjrsoft.common.utils.LocalDateTimeUtil;
 import com.xjrsoft.common.utils.VoToColumnUtil;
 import com.xjrsoft.module.base.entity.BaseClass;
 import com.xjrsoft.module.base.service.IBaseClassService;
+import com.xjrsoft.module.organization.vo.UserPageVo;
 import com.xjrsoft.module.outint.dto.AddStudentOutInRecordDto;
 import com.xjrsoft.module.outint.dto.StudentOutInRecordPageDto;
 import com.xjrsoft.module.outint.dto.UpdateStudentOutInRecordDto;
@@ -66,9 +67,10 @@ public class StudentOutInRecordController {
                 .eq(ObjectUtil.isNotEmpty(dto.getStatus()), StudentOutInRecord::getStatus, dto.getStatus())
                 .select(StudentOutInRecord::getId)
                 .select(StudentOutInRecord.class, x -> VoToColumnUtil.fieldsToColumns(StudentOutInRecordPageVo.class).contains(x.getProperty()))
-                .leftJoin(XjrUser.class, XjrUser::getId, StudentOutInRecord::getUserId,
-                        ext -> ext.selectAs(XjrUser::getCredentialNumber, StudentOutInRecordPageVo::getIdentityCard)
-                                .selectAs(XjrUser::getMobile, StudentOutInRecordPageVo::getPhone)
+                .leftJoin(XjrUser.class,"t1", XjrUser::getId, StudentOutInRecord::getUserId,
+                        ext -> ext
+                                .select("CONCAT(LEFT(t1.credential_number, 6), '****', RIGHT(t1.credential_number, 4))", StudentOutInRecordPageVo::getIdentityCard)
+                                .select("CONCAT(LEFT(t1.mobile, 3), '****', RIGHT(t1.mobile, 4))", StudentOutInRecordPageVo::getPhone)
                                 .select(XjrUser::getName)
                                 .leftJoin(DictionaryDetail.class, DictionaryDetail::getCode, XjrUser::getGender,
                                         genderExt -> genderExt.selectAs(DictionaryDetail::getName, StudentOutInRecordPageVo::getGender)))

+ 1 - 1
src/main/java/com/xjrsoft/module/outint/vo/StudentOutInRecordPageVo.java

@@ -94,7 +94,7 @@ public class StudentOutInRecordPageVo {
      * 手机号码
      */
     @ApiModelProperty("手机号码")
-    private Long phone;
+    private String phone;
     /**
      * 性别
      */

+ 4 - 2
src/main/java/com/xjrsoft/module/personnel/controller/StundentFaceProcessController.java

@@ -115,8 +115,10 @@ public class StundentFaceProcessController {
                         .leftJoin(BaseClass.class, BaseClass::getId, StundentFaceProcess::getClassId, ext -> ext.selectAs(BaseClass::getName, StundentFaceProcessPageVo::getClassCn))
                         .leftJoin(XjrUser.class, XjrUser::getId, StundentFaceProcess::getTeacherId, ext -> ext.selectAs(XjrUser::getName, StundentFaceProcessPageVo::getTeacherCn))
                         .selectAs(XjrUser::getName, StundentFaceProcess::getName)
-                        .select("t2.file_url AS face_photo_url,t1.user_name AS user_name,t1.mobile")
-                        .leftJoin(BaseStudent.class, BaseStudent::getUserId, StundentFaceProcess::getUserId, ext -> ext.selectAs(BaseStudent::getStudentId, StundentFaceProcessPageVo::getStudentId))
+
+                        .select("t2.file_url AS face_photo_url,t1.user_name AS user_name,CONCAT(LEFT(t1.mobile, 3), '****', RIGHT(t1.mobile, 4)) mobile")
+                        .leftJoin(BaseStudent.class, BaseStudent::getUserId, StundentFaceProcess::getUserId, ext ->
+                                ext.select("CONCAT(LEFT(t9.student_id, 6), '****', RIGHT(t9.student_id, 4))", StundentFaceProcessPageVo::getStudentId))
         );
         PageOutput<StundentFaceProcessPageVo> pageOutput = ConventPage.getPageOutput(page, StundentFaceProcessPageVo.class);
         return RT.ok(pageOutput);

+ 5 - 0
src/main/java/com/xjrsoft/module/student/controller/BaseStudentInfoController.java

@@ -10,6 +10,7 @@ import com.xjrsoft.common.enums.ArchivesStatusEnum;
 import com.xjrsoft.common.model.result.RT;
 import com.xjrsoft.common.page.ConventPage;
 import com.xjrsoft.common.page.PageOutput;
+import com.xjrsoft.common.utils.FormatUtil;
 import com.xjrsoft.module.base.entity.WhitelistManagement;
 import com.xjrsoft.module.base.service.IWhitelistManagementService;
 import com.xjrsoft.module.student.dto.BaseStudentInfoDetailDto;
@@ -98,6 +99,10 @@ public class BaseStudentInfoController {
         if (detailVo == null) {
             return RT.error("找不到此数据!");
         }
+
+        detailVo.setPhone(FormatUtil.formatPhone(detailVo.getPhone()));
+        detailVo.setCredentialNumber(FormatUtil.formatIdCard(detailVo.getCredentialNumber()));
+        detailVo.setStudentId(FormatUtil.formatIdCard(detailVo.getStudentId()));
         return RT.ok(BeanUtil.toBean(detailVo, BaseStudentInfoDetailVo.class));
     }
 

+ 5 - 2
src/main/java/com/xjrsoft/module/student/controller/PbCseFeeobjupdateController.java

@@ -7,6 +7,7 @@ import com.alibaba.excel.support.ExcelTypeEnum;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import com.xjrsoft.common.annotation.XjrLog;
 import com.xjrsoft.common.enums.DeleteMark;
 import com.xjrsoft.common.enums.EnrollTypeEnum;
@@ -122,9 +123,11 @@ public class PbCseFeeobjupdateController {
     @SaCheckPermission("pbcsefeeobjupdate:page")
     @XjrLog(value = "列表(分页)")
     public RT<PageOutput<PbCseFeeobjupdatePageVo>> page(@Valid PbCseFeeobjupdatePageDto dto) {
-        LambdaQueryWrapper<PbCseFeeobjupdate> queryWrapper = new LambdaQueryWrapper<>();
+        MPJLambdaWrapper<PbCseFeeobjupdate> queryWrapper = new MPJLambdaWrapper<>();
         queryWrapper
-                .select(PbCseFeeobjupdate.class, x -> VoToColumnUtil.fieldsToColumns(PbCseFeeobjupdatePageVo.class).contains(x.getProperty()))
+                .select(PbCseFeeobjupdate.class, x -> VoToColumnUtil.fieldsToColumns(PbCseFeeobjupdatePageVo.class, List.of("personalid", "telephone")).contains(x.getProperty()))
+                .select("CONCAT(LEFT(t.personalid, 6), '****', RIGHT(t.personalid, 4))", PbCseFeeobjupdate::getPersonalid)
+                .select("CONCAT(LEFT(t.telephone, 3), '****', RIGHT(t.telephone, 4))", PbCseFeeobjupdate::getTelephone)
                 .orderByDesc(PbCseFeeobjupdate::getCratetime)
         ;
         IPage<PbCseFeeobjupdate> page = pbCseFeeobjupdateService.page(ConventPage.getPage(dto), queryWrapper);

+ 6 - 0
src/main/java/com/xjrsoft/module/student/service/impl/BaseStudentGraduateServiceImpl.java

@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.yulichang.base.MPJBaseServiceImpl;
 import com.xjrsoft.common.enums.ArchivesStatusEnum;
+import com.xjrsoft.common.utils.FormatUtil;
 import com.xjrsoft.module.room.mapper.RoomBedMapper;
 import com.xjrsoft.module.student.dto.AddBaseStudentGraduateDto;
 import com.xjrsoft.module.student.dto.BaseStudentGraduatePageDto;
@@ -50,6 +51,11 @@ public class BaseStudentGraduateServiceImpl extends MPJBaseServiceImpl<BaseStude
             if (record.getAppendixId() != null) {
                 record.setFileInfos(fileService.list(Wrappers.<File>query().lambda().eq(File::getFolderId, record.getAppendixId())));
             }
+
+            record.setPhone(FormatUtil.formatPhone(record.getPhone()));
+            record.setCertificateNumber(FormatUtil.formatIdCard(record.getCertificateNumber()));
+            record.setStudentId(FormatUtil.formatIdCard(record.getStudentId()));
+
         }
         return voPage;
     }

+ 8 - 0
src/main/java/com/xjrsoft/module/student/service/impl/BaseStudentSchoolRollServiceImpl.java

@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.yulichang.base.MPJBaseServiceImpl;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import com.xjrsoft.common.enums.*;
+import com.xjrsoft.common.utils.FormatUtil;
 import com.xjrsoft.common.utils.VoToColumnUtil;
 import com.xjrsoft.module.base.entity.BaseClass;
 import com.xjrsoft.module.base.mapper.BaseClassMapper;
@@ -96,6 +97,13 @@ public class BaseStudentSchoolRollServiceImpl extends MPJBaseServiceImpl<BaseStu
             record.setSsf(jfztMaps.get(record.getStudentId() + "103042766003001") == null ? "欠费" : jfztMaps.get(record.getStudentId() + "103042766003001"));
             record.setJxf(jfztMaps.get(record.getStudentId() + "999010604") == null ? "欠费" : jfztMaps.get(record.getStudentId() + "999010604"));
             record.setJcf(jfztMaps.get(record.getStudentId() + "999010603") == null ? "欠费" : jfztMaps.get(record.getStudentId() + "999010603"));
+
+
+            record.setGuardianPhone(FormatUtil.formatPhone(record.getGuardianPhone()));
+            record.setTeacherPhone(FormatUtil.formatPhone(record.getTeacherPhone()));
+            record.setPhone(FormatUtil.formatPhone(record.getPhone()));
+            record.setCredentialNumber(FormatUtil.formatIdCard(record.getCredentialNumber()));
+            record.setStudentId(FormatUtil.formatIdCard(record.getStudentId()));
         }
         return mobilePage;
     }

+ 2 - 2
src/main/resources/mapper/student/BaseStudentMapper.xml

@@ -51,8 +51,8 @@
         INNER JOIN base_student t2 ON t1.id = t2.user_id
     </select>
     <select id="getStudentPage" parameterType="com.xjrsoft.module.student.dto.BaseStudentUserPageDto" resultType="com.xjrsoft.module.student.vo.BaseStudentUserPageVo">
-        SELECT t1.id,t4.name AS class_name,t5.name AS teacher_name,t1.name,t6.name AS gender_cn,t1.credential_number,t1.user_name,t4.id as class_id,
-        t1.mobile,t7.name AS archives_status_cn ,t8.name AS stduy_status_cn,t9.name AS student_type_cn,t10.name as learn_status_cn FROM xjr_user t1
+        SELECT t1.id,t4.name AS class_name,t5.name AS teacher_name,t1.name,t6.name AS gender_cn,CONCAT(LEFT(t1.credential_number, 6), '****', RIGHT(t1.credential_number, 4)) credential_number,t1.user_name,t4.id as class_id,
+        CONCAT(LEFT(t1.mobile, 3), '****', RIGHT(t1.mobile, 4)) mobile,t7.name AS archives_status_cn ,t8.name AS stduy_status_cn,t9.name AS student_type_cn,t10.name as learn_status_cn FROM xjr_user t1
         INNER JOIN base_student t2 ON t1.id = t2.user_id
         LEFT JOIN base_student_school_roll t3 ON t1.id = t3.user_id
         LEFT JOIN base_class t4 ON t4.id = t3.class_id