소스 검색

统计脱敏处理

skcj 2 년 전
부모
커밋
26a9be2218
1개의 변경된 파일30개의 추가작업 그리고 17개의 파일을 삭제
  1. 30 17
      ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysDictTypeController.java

+ 30 - 17
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysDictTypeController.java

@@ -289,25 +289,38 @@ public class SysDictTypeController extends BaseController
             String paramType[] = new String[]{"in", "in", "in", "in", "in", "in", "in", "in", "in", "in", "in"};
             String paramDataType[] = new String[]{"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"};
             DBExecResult ret = db1.exeProcedureWithRet("getstatisticaldata", param, paramType, paramDataType);
-            if (ret.isSuccessed() && ret.dbResultsize > 0) {
-                String bt=ret.getDBResult(0).getString(0,0);
-                System.out.println(bt);
-                String[] masksl=new String [bt.split(",").length];
-                String[] filedl=new String [bt.split(",").length];
-                for (int i = 0; i <masksl.length ; i++) {
-                    masksl[i]="0";
-                    filedl[i]=bt.split(",")[i].split("[|]")[2];
-                    if (bt.split(",")[i].split("[|]").length==5)
-                    {
-                        masksl[i]=bt.split(",")[i].split("[|]")[4];
+            if (ret.isSuccessed() && ret.dbResultsize > 0 ) {
+                if(! (dicttype.equals("yljg_khqy") || dicttype.equals("yljg_rzqk")|| dicttype.equals("yljg_ygtj") || dicttype.equals("yljg_hlygdtj")|| dicttype.equals("yljg_gdwctj")|| dicttype.equals("yljg_khnltj"))) {
+                    String bt = ret.getDBResult(0).getString(0, 0);
+                    System.out.println(bt);
+                    String[] masksl = new String[bt.split(",").length];
+                    String[] filedl = new String[bt.split(",").length];
+                    for (int i = 0; i < masksl.length; i++) {
+                        masksl[i] = "0";
+                        filedl[i] = bt.split(",")[i].split("[|]")[2];
+                        if (bt.split(",")[i].split("[|]").length == 5) {
+                            masksl[i] = bt.split(",")[i].split("[|]")[4];
+                        }
+                    }
+                    for (int i = 0; i < ret.getDBResult(1).getRecordCount(); i++) {
+                        for (int j = 0; j < filedl.length; j++) {
+                            if (!masksl[j].equals("0")) {
+                                String value = SecurityUtils.masks(SecurityUtils.sm4decrypt_ECB(EncryptionUtils.key, ret.getDBResult(1).getString(i, filedl[j])), Integer.parseInt(masksl[j]));
+                                ret.getDBResult(1).setString(i, filedl[j], value);
+                            }
+                        }
                     }
                 }
-                for (int i = 0; i <ret.getDBResult(1).getRecordCount() ; i++) {
-                    for (int j = 0; j <filedl.length ; j++) {
-                        if (!masksl[j].equals("0"))
-                        {
-                           String value=SecurityUtils.masks(SecurityUtils.sm4decrypt_ECB(EncryptionUtils.key, ret.getDBResult(1).getString(i,filedl[j])),Integer.parseInt(masksl[j]));
-                           ret.getDBResult(1).setString(i,filedl[j],value);
+                else
+                {
+                    if (dicttype.equals("yljg_hlygdtj"))
+                    {
+                        for (int i = 0; i < ret.getDBResult(3).getRecordCount(); i++) {
+
+                                    String value = SecurityUtils.masks(SecurityUtils.sm4decrypt_ECB(EncryptionUtils.key, ret.getDBResult(3).getString(i, "xm")), 1);
+                                    ret.getDBResult(3).setString(i, "xm", value);
+                                    value = SecurityUtils.masks(SecurityUtils.sm4decrypt_ECB(EncryptionUtils.key, ret.getDBResult(3).getString(i, "sfzhm")), 2);
+                                    ret.getDBResult(3).setString(i, "sfzhm", value);
                         }
                     }
                 }