Browse Source

init cpdm

zzf 1 year ago
parent
commit
25f57aae20
100 changed files with 2641 additions and 0 deletions
  1. BIN
      .local-browser/win64-722234/chrome-win/Dictionaries/en-US-8-0.bdic
  2. 1 0
      .local-browser/win64-722234/chrome-win/First Run
  3. 8 0
      .local-browser/win64-722234/chrome-win/MEIPreload/manifest.json
  4. BIN
      .local-browser/win64-722234/chrome-win/MEIPreload/preloaded_data.pb
  5. BIN
      .local-browser/win64-722234/chrome-win/elevation_service.exe
  6. BIN
      .local-browser/win64-722234/chrome-win/eventlog_provider.dll
  7. BIN
      .local-browser/win64-722234/chrome-win/icudtl.dat
  8. BIN
      .local-browser/win64-722234/chrome-win/interactive_ui_tests.exe
  9. BIN
      .local-browser/win64-722234/chrome-win/libEGL.dll
  10. BIN
      .local-browser/win64-722234/chrome-win/libGLESv2.dll
  11. BIN
      .local-browser/win64-722234/chrome-win/locales/de.pak
  12. BIN
      .local-browser/win64-722234/chrome-win/locales/el.pak
  13. BIN
      .local-browser/win64-722234/chrome-win/locales/en-GB.pak
  14. BIN
      .local-browser/win64-722234/chrome-win/locales/en-US.pak
  15. BIN
      .local-browser/win64-722234/chrome-win/locales/es-419.pak
  16. BIN
      .local-browser/win64-722234/chrome-win/locales/es.pak
  17. BIN
      .local-browser/win64-722234/chrome-win/locales/et.pak
  18. BIN
      .local-browser/win64-722234/chrome-win/locales/fi.pak
  19. BIN
      .local-browser/win64-722234/chrome-win/locales/fil.pak
  20. BIN
      .local-browser/win64-722234/chrome-win/locales/fr.pak
  21. BIN
      .local-browser/win64-722234/chrome-win/locales/gu.pak
  22. BIN
      .local-browser/win64-722234/chrome-win/locales/he.pak
  23. BIN
      .local-browser/win64-722234/chrome-win/locales/hi.pak
  24. BIN
      .local-browser/win64-722234/chrome-win/locales/hr.pak
  25. BIN
      .local-browser/win64-722234/chrome-win/locales/hu.pak
  26. BIN
      .local-browser/win64-722234/chrome-win/locales/id.pak
  27. BIN
      .local-browser/win64-722234/chrome-win/locales/it.pak
  28. BIN
      .local-browser/win64-722234/chrome-win/locales/ja.pak
  29. BIN
      .local-browser/win64-722234/chrome-win/locales/kn.pak
  30. BIN
      .local-browser/win64-722234/chrome-win/locales/ko.pak
  31. BIN
      .local-browser/win64-722234/chrome-win/locales/lt.pak
  32. BIN
      .local-browser/win64-722234/chrome-win/locales/lv.pak
  33. BIN
      .local-browser/win64-722234/chrome-win/locales/ml.pak
  34. BIN
      .local-browser/win64-722234/chrome-win/locales/mr.pak
  35. BIN
      .local-browser/win64-722234/chrome-win/locales/ms.pak
  36. BIN
      .local-browser/win64-722234/chrome-win/locales/nb.pak
  37. BIN
      .local-browser/win64-722234/chrome-win/locales/nl.pak
  38. BIN
      .local-browser/win64-722234/chrome-win/locales/pl.pak
  39. BIN
      .local-browser/win64-722234/chrome-win/locales/pt-BR.pak
  40. BIN
      .local-browser/win64-722234/chrome-win/locales/pt-PT.pak
  41. BIN
      .local-browser/win64-722234/chrome-win/locales/ro.pak
  42. BIN
      .local-browser/win64-722234/chrome-win/locales/ru.pak
  43. BIN
      .local-browser/win64-722234/chrome-win/locales/sk.pak
  44. BIN
      .local-browser/win64-722234/chrome-win/locales/sl.pak
  45. BIN
      .local-browser/win64-722234/chrome-win/locales/sr.pak
  46. BIN
      .local-browser/win64-722234/chrome-win/locales/sv.pak
  47. BIN
      .local-browser/win64-722234/chrome-win/locales/ta.pak
  48. BIN
      .local-browser/win64-722234/chrome-win/locales/te.pak
  49. BIN
      .local-browser/win64-722234/chrome-win/locales/th.pak
  50. BIN
      .local-browser/win64-722234/chrome-win/locales/tr.pak
  51. BIN
      .local-browser/win64-722234/chrome-win/locales/uk.pak
  52. BIN
      .local-browser/win64-722234/chrome-win/locales/vi.pak
  53. BIN
      .local-browser/win64-722234/chrome-win/locales/zh-CN.pak
  54. BIN
      .local-browser/win64-722234/chrome-win/locales/zh-TW.pak
  55. BIN
      .local-browser/win64-722234/chrome-win/nacl_irt_x86_64.nexe
  56. BIN
      .local-browser/win64-722234/chrome-win/notification_helper.exe
  57. BIN
      .local-browser/win64-722234/chrome-win/resources.pak
  58. BIN
      .local-browser/win64-722234/chrome-win/swiftshader/libEGL.dll
  59. BIN
      .local-browser/win64-722234/chrome-win/swiftshader/libGLESv2.dll
  60. BIN
      .local-browser/win64-722234/chrome-win/v8_context_snapshot.bin
  61. 96 0
      replay_pid3588.log
  62. 1 0
      settings.gradle
  63. 161 0
      src/main/java/com/rf/psychological/PsychologicalApplication.java
  64. 464 0
      src/main/java/com/rf/psychological/SoftKey.java
  65. 196 0
      src/main/java/com/rf/psychological/TestPush.java
  66. 4 0
      src/main/java/com/rf/psychological/base/package-info.java
  67. 24 0
      src/main/java/com/rf/psychological/config/Properties.java
  68. 107 0
      src/main/java/com/rf/psychological/config/RedisConfig.java
  69. 54 0
      src/main/java/com/rf/psychological/config/Swagger2Config.java
  70. 25 0
      src/main/java/com/rf/psychological/config/SystemExcludeFilter.java
  71. 27 0
      src/main/java/com/rf/psychological/dao/cognizeModel/ECATEntity.java
  72. 31 0
      src/main/java/com/rf/psychological/dao/cognizeModel/EMEMEntity.java
  73. 29 0
      src/main/java/com/rf/psychological/dao/cognizeModel/ETB01Entity.java
  74. 28 0
      src/main/java/com/rf/psychological/dao/cognizeModel/FDOTEntity.java
  75. 64 0
      src/main/java/com/rf/psychological/dao/dto/InstitutionAuthConTaskDto.java
  76. 253 0
      src/main/java/com/rf/psychological/dao/dto/InstitutionAuthSubjectNameDto.java
  77. 16 0
      src/main/java/com/rf/psychological/dao/dto/InstitutionRecordingDTO.java
  78. 49 0
      src/main/java/com/rf/psychological/dao/dto/InstitutionRecordingUserDTO.java
  79. 66 0
      src/main/java/com/rf/psychological/dao/dto/InstitutionRecordingUsersDTO.java
  80. 18 0
      src/main/java/com/rf/psychological/dao/dto/JpaDto.java
  81. 99 0
      src/main/java/com/rf/psychological/dao/dto/JpaDtoConfig.java
  82. 21 0
      src/main/java/com/rf/psychological/dao/dto/ProgressDto.java
  83. 69 0
      src/main/java/com/rf/psychological/dao/dto/SubjectEntityDto.java
  84. 54 0
      src/main/java/com/rf/psychological/dao/dto/UserRecordsDto.java
  85. 36 0
      src/main/java/com/rf/psychological/dao/dto/scale/NewResultDto.java
  86. 2 0
      src/main/java/com/rf/psychological/dao/lombok.config
  87. 30 0
      src/main/java/com/rf/psychological/dao/model/DSTEntity.java
  88. 53 0
      src/main/java/com/rf/psychological/dao/model/DepressEntity.java
  89. 59 0
      src/main/java/com/rf/psychological/dao/model/DimensionEntity.java
  90. 47 0
      src/main/java/com/rf/psychological/dao/model/GBEEntity.java
  91. 50 0
      src/main/java/com/rf/psychological/dao/model/GONOGO2Entity.java
  92. 39 0
      src/main/java/com/rf/psychological/dao/model/GONOGOEntity.java
  93. 49 0
      src/main/java/com/rf/psychological/dao/model/GTCTEntity.java
  94. 31 0
      src/main/java/com/rf/psychological/dao/model/HaiKongJiZhanAndTanKeHongLiuEntity.java
  95. 48 0
      src/main/java/com/rf/psychological/dao/model/HearingTestEntity.java
  96. 38 0
      src/main/java/com/rf/psychological/dao/model/LifeEntity.java
  97. 60 0
      src/main/java/com/rf/psychological/dao/model/MemoryCheckEntity.java
  98. 46 0
      src/main/java/com/rf/psychological/dao/model/MemoryEntity.java
  99. 46 0
      src/main/java/com/rf/psychological/dao/model/MoodEntity.java
  100. 42 0
      src/main/java/com/rf/psychological/dao/model/MovementEntity.java

BIN
.local-browser/win64-722234/chrome-win/Dictionaries/en-US-8-0.bdic


+ 1 - 0
.local-browser/win64-722234/chrome-win/First Run

@@ -0,0 +1 @@
+krome 

+ 8 - 0
.local-browser/win64-722234/chrome-win/MEIPreload/manifest.json

@@ -0,0 +1,8 @@
+{
+  "description": "Contains preloaded data for Media Engagement", 
+  "icons": {}, 
+  "version": "1.0.5.0", 
+  "manifest_version": 2, 
+  "update_url": "https://clients2.google.com/service/update2/crx", 
+  "name": "MEI Preload"
+}

BIN
.local-browser/win64-722234/chrome-win/MEIPreload/preloaded_data.pb


BIN
.local-browser/win64-722234/chrome-win/elevation_service.exe


BIN
.local-browser/win64-722234/chrome-win/eventlog_provider.dll


BIN
.local-browser/win64-722234/chrome-win/icudtl.dat


BIN
.local-browser/win64-722234/chrome-win/interactive_ui_tests.exe


BIN
.local-browser/win64-722234/chrome-win/libEGL.dll


BIN
.local-browser/win64-722234/chrome-win/libGLESv2.dll


BIN
.local-browser/win64-722234/chrome-win/locales/de.pak


BIN
.local-browser/win64-722234/chrome-win/locales/el.pak


BIN
.local-browser/win64-722234/chrome-win/locales/en-GB.pak


BIN
.local-browser/win64-722234/chrome-win/locales/en-US.pak


BIN
.local-browser/win64-722234/chrome-win/locales/es-419.pak


BIN
.local-browser/win64-722234/chrome-win/locales/es.pak


BIN
.local-browser/win64-722234/chrome-win/locales/et.pak


BIN
.local-browser/win64-722234/chrome-win/locales/fi.pak


BIN
.local-browser/win64-722234/chrome-win/locales/fil.pak


BIN
.local-browser/win64-722234/chrome-win/locales/fr.pak


BIN
.local-browser/win64-722234/chrome-win/locales/gu.pak


BIN
.local-browser/win64-722234/chrome-win/locales/he.pak


BIN
.local-browser/win64-722234/chrome-win/locales/hi.pak


BIN
.local-browser/win64-722234/chrome-win/locales/hr.pak


BIN
.local-browser/win64-722234/chrome-win/locales/hu.pak


BIN
.local-browser/win64-722234/chrome-win/locales/id.pak


BIN
.local-browser/win64-722234/chrome-win/locales/it.pak


BIN
.local-browser/win64-722234/chrome-win/locales/ja.pak


BIN
.local-browser/win64-722234/chrome-win/locales/kn.pak


BIN
.local-browser/win64-722234/chrome-win/locales/ko.pak


BIN
.local-browser/win64-722234/chrome-win/locales/lt.pak


BIN
.local-browser/win64-722234/chrome-win/locales/lv.pak


BIN
.local-browser/win64-722234/chrome-win/locales/ml.pak


BIN
.local-browser/win64-722234/chrome-win/locales/mr.pak


BIN
.local-browser/win64-722234/chrome-win/locales/ms.pak


BIN
.local-browser/win64-722234/chrome-win/locales/nb.pak


BIN
.local-browser/win64-722234/chrome-win/locales/nl.pak


BIN
.local-browser/win64-722234/chrome-win/locales/pl.pak


BIN
.local-browser/win64-722234/chrome-win/locales/pt-BR.pak


BIN
.local-browser/win64-722234/chrome-win/locales/pt-PT.pak


BIN
.local-browser/win64-722234/chrome-win/locales/ro.pak


BIN
.local-browser/win64-722234/chrome-win/locales/ru.pak


BIN
.local-browser/win64-722234/chrome-win/locales/sk.pak


BIN
.local-browser/win64-722234/chrome-win/locales/sl.pak


BIN
.local-browser/win64-722234/chrome-win/locales/sr.pak


BIN
.local-browser/win64-722234/chrome-win/locales/sv.pak


BIN
.local-browser/win64-722234/chrome-win/locales/ta.pak


BIN
.local-browser/win64-722234/chrome-win/locales/te.pak


BIN
.local-browser/win64-722234/chrome-win/locales/th.pak


BIN
.local-browser/win64-722234/chrome-win/locales/tr.pak


BIN
.local-browser/win64-722234/chrome-win/locales/uk.pak


BIN
.local-browser/win64-722234/chrome-win/locales/vi.pak


BIN
.local-browser/win64-722234/chrome-win/locales/zh-CN.pak


BIN
.local-browser/win64-722234/chrome-win/locales/zh-TW.pak


BIN
.local-browser/win64-722234/chrome-win/nacl_irt_x86_64.nexe


BIN
.local-browser/win64-722234/chrome-win/notification_helper.exe


BIN
.local-browser/win64-722234/chrome-win/resources.pak


BIN
.local-browser/win64-722234/chrome-win/swiftshader/libEGL.dll


BIN
.local-browser/win64-722234/chrome-win/swiftshader/libGLESv2.dll


BIN
.local-browser/win64-722234/chrome-win/v8_context_snapshot.bin


File diff suppressed because it is too large
+ 96 - 0
replay_pid3588.log


+ 1 - 0
settings.gradle

@@ -0,0 +1 @@
+rootProject.name = 'psychological_camera'

+ 161 - 0
src/main/java/com/rf/psychological/PsychologicalApplication.java

@@ -0,0 +1,161 @@
+package com.rf.psychological;
+
+import com.querydsl.jpa.impl.JPAQueryFactory;
+import com.rf.psychological.config.SystemExcludeFilter;
+import lombok.extern.slf4j.Slf4j;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cache.annotation.EnableCaching;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.FilterType;
+import org.springframework.context.annotation.Profile;
+import org.springframework.core.env.Environment;
+import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
+import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
+import org.springframework.scheduling.annotation.EnableScheduling;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+
+import javax.persistence.EntityManager;
+
+/**
+ * @author zzf
+ */
+//@EnableCaching
+@EnableJpaRepositories(basePackages = {"com.rf.psychological"})
+@SpringBootApplication(scanBasePackages = {"com.rf.psychological"})
+//@ComponentScan(basePackages = {"com.rf.psychological"},excludeFilters = {@ComponentScan.Filter(type = FilterType.CUSTOM,classes ={ SystemExcludeFilter.class})})
+//@ComponentScan(excludeFilters = {@ComponentScan.Filter(type = FilterType.REGEX,pattern = "com.rf.psychological.wxpay.*")})
+
+@EnableJpaAuditing
+@EnableTransactionManagement
+@EnableScheduling
+@Slf4j
+//@EnableSwagger2
+public class PsychologicalApplication {
+
+    static Logger logger = LoggerFactory.getLogger(PsychologicalApplication.class);
+    @Autowired
+    static Environment environment;
+    @Value("${spring.profiles.active}")
+    static String profile;
+
+
+    public static void main(String[] args) {
+        //检查环境
+        //System.out.println("profile--"+profile);
+        //System.out.println("env--"+environment.getActiveProfiles()[0]);
+
+
+        SpringApplication.run(PsychologicalApplication.class, args);
+
+		/*if (CPUSerial.getCPUSerial().equals("BFEBFBFF000906EA1")){
+		}else {
+			System.out.println("无权限启动");
+		}*/
+    }
+
+    private static boolean checkDog() {
+        System.out.println(System.getProperty("java.library.path"));
+        int ret;
+        SoftKey ytsoftkey = new SoftKey();
+        String DevicePath;
+        DevicePath = ytsoftkey.FindPort(0);
+        if(ytsoftkey.get_LastError()!=0)
+        {
+            System.out.println("未找到加密锁,请插入加密锁后,再进行操作。");
+            logger.error("未找到加密锁,请插入加密锁后,再进行操作。");
+            return false;
+        }
+        if (ytsoftkey.CheckKeyByFindort_2() == 0)
+        {
+            System.out.println("使用普通算法一来检查:找到指定的加密锁");
+            logger.info("使用普通算法一来检查:找到指定的加密锁");
+        }
+        else
+        {
+            logger.error("使用普通算法一来检查:未能找到指定的加密锁");
+            System.out.println("使用普通算法一来检查:未能找到指定的加密锁");
+            return false;
+        }
+        ret = ytsoftkey.CheckKeyByEncstring();
+        if (ret == 1)
+        {
+            logger.error("你生成加密代码时没有设置该函数");
+            System.out.println( "你生成加密代码时没有设置该函数");
+            return false;
+        }
+        if (ret == 0)
+        {
+            logger.info("使用增强算法一来检查:找到指定的加密锁");
+            System.out.println("使用增强算法一来检查:找到指定的加密锁");
+        }
+        else
+        {
+            logger.error("使用增强算法一来检查:未能找到指定的加密锁");
+            System.out.println("使用增强算法一来检查:未能找到指定的加密锁");
+            return false;
+        }
+        ret = ytsoftkey.CheckKeyByEncstring_New();
+        if (ret == 0)
+        {
+            logger.info("使用增强算法二来检查:找到指定的加密锁");
+            System.out.println("使用增强算法二来检查:找到指定的加密锁");
+        }
+        else
+        {
+            if (ret < 0)
+            {
+                log.error("使用增强算法二来检查:未能找到指定的加密锁");
+                System.out.println("使用增强算法二来检查:未能找到指定的加密锁");
+                return false;
+            }
+            else
+            {
+                if (ret == 2)
+                {
+                    log.error("当前锁不支持这个功能。");
+                    System.out.println("当前锁不支持这个功能。");
+                    return false;
+                }
+            }
+        }
+        ret = ytsoftkey.CheckKeyByReadEprom();
+        if (ret == 1)
+        {
+            logger.error("你生成加密代码时没有设置该函数");
+            System.out.println("你生成加密代码时没有设置该函数");
+            return false;
+        }
+        if (ret == 0)
+        {
+            logger.info("使用读写储存器来检查:找到指定的加密锁");
+            System.out.println("使用读写储存器来检查:找到指定的加密锁");
+        }
+        else
+        {
+            logger.error("使用读写储存器来检查:未能找到指定的加密锁");
+            System.out.println("使用读写储存器来检查:未能找到指定的加密锁");
+            return false;
+        }
+        return  true;
+    }
+
+    /**
+     * 让Spring管理JPAQueryFactory
+     *
+     * @param entityManager
+     * @return
+     */
+    @Bean
+    public JPAQueryFactory jpaQueryFactory(EntityManager entityManager) {
+        return new JPAQueryFactory(entityManager);
+    }
+
+
+}

+ 464 - 0
src/main/java/com/rf/psychological/SoftKey.java

@@ -0,0 +1,464 @@
+package com.rf.psychological;
+
+public class SoftKey {
+
+    com.softkey.jsyunew3 j9;
+    public SoftKey()
+    {
+        j9=new  com.softkey.jsyunew3();
+    }
+
+    private String myhex(byte indata)
+    {
+        String outString;
+        outString=String.format("%X",indata);
+        if(outString.length()<2)outString="0"+outString;
+        return outString;
+    }
+
+    //若某字节为负数则需将其转成无符号正数
+    private  long conver(byte temp){
+        long tempInt = (int)temp;
+        if(tempInt < 0){
+            tempInt += 256;
+        }
+        return tempInt;
+    }
+
+    //以下用于将16进制字符串转化为无符号长整型
+    private int HexToInt(String s)
+    {
+        String [] hexch = { "0", "1", "2", "3", "4", "5", "6", "7",
+                "8", "9", "A", "B", "C", "D", "E", "F"};
+        int i, j;
+        int r, n, k;
+        String ch;
+
+        k = 1; r = 0;
+        for (i = s.length(); i > 0; i--)
+        {
+            ch = s.substring(i - 1,  i-1+1);
+            n = 0;
+            for (j = 0; j < 16; j++)
+            {
+                if (ch.compareToIgnoreCase(hexch[j]) ==0 )
+                {
+                    n = j;
+                }
+            }
+            r += (n * k);
+            k *= 16;
+        }
+        return r;
+    }
+
+
+    public String  StrEnc(String InString , String Key)//使用增强算法,加密字符串
+    {
+
+        byte [] b,outb;
+        byte []temp_b=InString.getBytes();
+        byte [] temp=new byte[8],outtemp=new byte[8];
+        int n,i,nlen,outlen;
+        String outString;
+
+        nlen = temp_b.length;
+        nlen=nlen+1;
+        if( nlen < 8 )
+            outlen = 8;
+        else
+            outlen = nlen;
+        b=new byte[outlen];
+        outb=new byte[outlen];
+
+        for(n=0;n<nlen-1;n++)
+        {
+            b[n]=temp_b[n];
+        }
+
+        outb=b.clone();
+
+        for( n = 0; n<=outlen - 8 ;n=n+ 8)
+        {
+            for (i = 0; i < 8; i++) temp[i] = b[i + n];
+            EnCode(temp, outtemp, Key);
+            for( i = 0 ;i<8;i++) outb[i + n] = outtemp[i];
+        }
+
+        outString = "";
+        for (n = 0 ;n<= outlen - 1;n++)
+        {
+            outString = outString +myhex(outb[n]) ;
+        }
+        return outString;
+    }
+
+    public String  StrDec(String InString , String Key)//使用增强算法,解密字符串
+    {
+
+        byte [] b,outb;
+        byte [] temp=new byte[8],outtemp=new byte[8];
+        int n,i,nlen,outlen;
+        String outString,temp_String;
+
+
+        nlen = InString.length();
+        if( nlen < 16 ) outlen = 16;
+        outlen = nlen / 2;
+        b=new byte[outlen];
+        outb=new byte[outlen];
+
+        i = 0;
+        for (n = 1 ;n<= nlen ;n=n+2)
+        {
+            temp_String = InString.substring(n-1, n-1+2);
+            b[i] = (byte)HexToInt(temp_String);
+            i = i + 1;
+        }
+
+        outb=b.clone();
+
+        for( n = 0; n<=outlen - 8 ;n=n+ 8)
+        {
+            for (i = 0; i < 8; i++) temp[i] = b[i + n];
+            DeCode(temp, outtemp, Key);
+            for( i = 0 ;i<8;i++) outb[i + n] = outtemp[i];
+        }
+
+        outString=new String(outb);
+        outString=outString.trim();
+        return outString;
+    }
+
+    public void EnCode(byte[] inb, byte[] outb,  String Key )
+    {
+
+        long cnDelta,y,z,a,b,c,d,temp_2;
+        long [] buf=new long[16];
+        int n,i,nlen;
+        long sum;
+        long temp,temp_1;
+        long mask=4294967295L;
+
+        //UInt32 temp, temp_1;
+        String temp_String ;
+
+
+        cnDelta = 2654435769L;
+        sum = 0;
+
+        nlen = Key.length();
+        i = 0;
+        for( n = 1 ;n<= nlen ;n=n+2)
+        {
+            temp_String =Key.substring(n-1, n-1+2);
+            buf[i] =HexToInt(temp_String);
+            i = i + 1;
+        }
+        a = 0 ; b = 0 ; c = 0 ; d = 0;
+        for(n = 0;n<=3;n++)
+        {
+            a = (buf[n] << (n * 8)) | a;
+            b = (buf[n + 4] << (n * 8)) | b;
+            c = (buf[n + 4 + 4] << (n * 8)) | c;
+            d = (buf[n + 4 + 4 + 4] << (n * 8)) | d;
+        }
+
+
+        y = 0;
+        z = 0;
+        for(n = 0;n<=3;n++)
+        {
+            temp_2 = conver(inb[n]);
+            y = (temp_2 << (n * 8)) | y;
+            temp_2 = conver(inb[n + 4]);
+            z = (temp_2 << (n * 8)) | z;
+        }
+
+
+        n = 32;
+
+        while (n > 0)
+        {
+            sum = (cnDelta + sum)& mask;
+
+            temp = (z << 4) & mask;
+            temp = (temp + a) & mask;
+            temp_1 = (z + sum) & mask;
+            temp = (temp ^ temp_1) & mask;
+            temp_1 = (z >> 5) & mask;
+            temp_1 = (temp_1 + b) & mask;
+            temp = (temp ^ temp_1) & mask;
+            temp = (temp + y) & mask;
+            y = temp & mask;
+            /*y += ((z << 4) + a) ^ (z + sum) ^ ((z >> 5) + b); */
+
+            temp = (y << 4) & mask;
+            temp = (temp + c) & mask;
+            temp_1 = (y + sum) & mask;
+            temp = (temp ^ temp_1) & mask;
+            temp_1 = (y >> 5) & mask;
+            temp_1 = (temp_1 + d) & mask;
+            temp = (temp ^ temp_1) & mask;
+            temp = (z + temp) & mask;
+            z = temp & mask;
+            /* z += ((y << 4) + c) ^ (y + sum) ^ ((y >> 5) + d); */
+            n = n - 1;
+
+        }
+        for(n = 0;n<=3;n++)
+        {
+            outb[n] = (byte)((y >>> (n * 8)) & 255);
+            outb[n + 4] =(byte)((z >>> (n * 8)) & 255);
+        }
+    }
+
+    public void DeCode(byte[] inb, byte[] outb,  String Key )
+    {
+
+        long cnDelta,y,z,a,b,c,d,temp_2;
+        long [] buf=new long[16];
+        int n,i,nlen;
+        long sum;
+        long temp,temp_1;
+
+        long mask=4294967295L;
+
+        //UInt32 temp, temp_1;
+        String temp_String ;
+
+
+        cnDelta = 2654435769L;
+        sum = 3337565984L;
+
+        nlen = Key.length();
+        i = 0;
+        for( n = 1 ;n<= nlen ;n=n+2)
+        {
+            temp_String =Key.substring(n-1, n-1+2);
+            buf[i] =HexToInt(temp_String);
+            i = i + 1;
+        }
+        a = 0 ; b = 0 ; c = 0 ; d = 0;
+        for(n = 0;n<=3;n++)
+        {
+            a = (buf[n] << (n * 8)) | a;
+            b = (buf[n + 4] << (n * 8)) | b;
+            c = (buf[n + 4 + 4] << (n * 8)) | c;
+            d = (buf[n + 4 + 4 + 4] << (n * 8)) | d;
+        }
+
+
+        y = 0;
+        z = 0;
+        for(n = 0;n<=3;n++)
+        {
+            temp_2 = conver(inb[n]);
+            y = (temp_2 << (n * 8)) | y;
+            temp_2 = conver(inb[n + 4]);
+            z = (temp_2 << (n * 8)) | z;
+        }
+
+
+        n = 32;
+
+        while (n > 0)
+        {
+
+
+            temp = (y << 4) & mask;
+            temp = (temp + c) & mask;
+            temp_1 = (y + sum) & mask;
+            temp = (temp ^ temp_1) & mask;
+            temp_1 = (y >> 5) & mask;
+            temp_1 = (temp_1 + d) & mask;
+            temp = (temp ^ temp_1) & mask;
+            temp = (z - temp) & mask;
+            z = temp & mask;
+            /* z += ((y << 4) + c) ^ (y + sum) ^ ((y >> 5) + d); */
+
+            temp = (z << 4) & mask;
+            temp = (temp + a) & mask;
+            temp_1 = (z + sum) & mask;
+            temp = (temp ^ temp_1) & mask;
+            temp_1 = (z >> 5) & mask;
+            temp_1 = (temp_1 + b) & mask;
+            temp = (temp ^ temp_1) & mask;
+            temp = (y - temp ) & mask;
+            y = temp & mask;
+            /*y += ((z << 4) + a) ^ (z + sum) ^ ((z >> 5) + b); */
+
+            sum = (sum-cnDelta)& mask;
+            n = n - 1;
+
+        }
+        for(n = 0;n<=3;n++)
+        {
+            outb[n] = (byte)((y >>> (n * 8)) & 255);
+            outb[n + 4] =(byte)((z >>> (n * 8)) & 255);
+        }
+    }
+
+    public  long get_LastError()
+    {
+        return j9.get_LastError();
+    }
+
+    public String FindPort(int start)
+    {
+        return j9.FindPort(start);
+    }
+
+    public int CheckKeyByFindort_2()
+    {
+        //使用普通算法一查找指定的加密锁
+        String DevicePath = ""; //用于储存加密锁所在的路径
+        DevicePath = j9.FindPort_2(0, 1, 906093537);
+        int ret = (int)j9.get_LastError();
+        j9.CloseUsbHandle(DevicePath);
+        return ret;
+    }
+
+
+    //使用带长度的方法从指定的地址读取字符串
+    private String ReadStringEx(int addr, String DevicePath)
+    {
+        int nlen, ret;
+        byte[] buf = new byte[1];
+        //先从地址0读到以前写入的字符串的长度
+        ret = j9.YReadEx((short)addr, (short)1, "1A3C9CD6", "721238E7", DevicePath);
+        if (ret != 0) return "";
+        nlen = j9.GetBuf(0);
+        //再读取相应长度的字符串
+        return j9.NewReadString(addr + 1, nlen, "1A3C9CD6", "721238E7", DevicePath);
+
+    }
+    //使用从储存器读取相应数据的方式检查是否存在指定的加密锁
+    public int CheckKeyByReadEprom()
+    {
+        int n, ret;
+        String DevicePath = "";//用于储存加密锁所在的路径
+        String outString = "";
+        //@NoUseCode_data return 1;//如果没有使用这个功能,直接返回1
+        for (n = 0; n < 255; n++)
+        {
+            DevicePath= j9.FindPort(n );
+            if (j9.get_LastError() != 0) return (int)j9.get_LastError();
+            outString = ReadStringEx(10, DevicePath);
+            j9.CloseUsbHandle(DevicePath);
+            if ((j9.get_LastError() == 0) && (outString.compareTo("juemingtechpsychological") == 0))
+            {
+                return 0;
+            }
+        }
+        return -92;
+    }
+    //使用增强算法一检查加密锁,这个方法可以有效地防止仿真
+    public int CheckKeyByEncstring()
+    {
+        //推荐加密方案:生成随机数,让锁做加密运算,同时在程序中端使用代码做同样的加密运算,然后进行比较判断。
+
+        int n, ret;
+        String DevicePath = "";//用于储存加密锁所在的路径
+        String InString;
+
+        //@NoUseKeyEx return 1;//如果没有使用这个功能,直接返回1
+        int number1=(int)(Math.random()*65535)+1;
+        int number2=(int)(Math.random()*65535)+1;
+
+        InString = (new   Integer(number1)).toString() + (new   Integer(number2)).toString();
+
+        for (n = 0; n < 255; n++)
+        {
+            DevicePath= j9.FindPort(n );
+            if (j9.get_LastError() != 0) return (int)j9.get_LastError();
+            if (Sub_CheckKeyByEncString(InString, DevicePath) == 0)
+            {
+                return 0;
+            }
+        }
+        return -92;
+    }
+
+    private int Sub_CheckKeyByEncString(String InString, String DevicePath)
+    {
+        //使用增强算法一对字符串进行加密
+        int ret;
+        String outString = "";
+        String outString_2;
+        outString = j9.EncString(InString,DevicePath);
+        if (j9.get_LastError() != 0) return (int)j9.get_LastError();
+        outString_2 = StrEnc(InString, "BEB3509AF8C1E52E77E75CBF92761AC9");
+        if (outString_2.compareTo(outString) == 0)//比较结果是否相符
+        {
+            ret = 0;
+        }
+        else
+        {
+            ret = -92;
+        }
+        j9.CloseUsbHandle(DevicePath);
+        return ret;
+    }
+
+    //使用增强算法二检查是否存在对应的加密锁
+    public int CheckKeyByEncstring_New()
+    {
+        int n, ret;
+        String DevicePath = "";//用于储存加密锁所在的路径
+        String outString = "";
+        int myrnd = (int)(Math.random() * 500);
+        String[] EncInString ={ "4825","22097","277","22847","8030","22823","8027","10774","18914","8835","2192","16031","15311","24102","16749","28844","12205","1139","26830","19377","19239","19563","25005","3775","6408","15794","7459","20102","9017","25223",
+                "1129","14171","11460","6607","731","28461","3027","2314","12273","6034","9136","11867","6472","28599","32452","4739","11414","5747","2205","6885","16824","27700","26591","31618","17576","5390","30809","18686","32638","6835",
+                "25843","10905","1142","11892","25015","11317","14312","2885","1487","12373","31312","30644","17797","539","29255","26616","3140","1865","30343","16352","30355","4671","6123","13535","11296","21505","19306","20485","22962","28209",
+                "13346","4104","19253","9490","3403","11062","9650","12675","13374","29058","16723","13064","21111","20096","9058","16835","10127","27488","6218","8309","29504","28917","28050","3713","32612","27057","19432","14825","18933","17317",
+                "12564","20814","20238","29316","2560","13811","29415","12703","27829","19897","3036","26089","29279","29987","3174","8180","12616","4435","19743","15857","22232","16906","30400","11699","24986","13227","3110","20139","31544","4408",
+                "5193","29676","29309","5714","25665","1577","21842","16700","2381","17841","10945","9431","21186","11384","19700","23206","31772","28687","25397","5323","30454","9130","31726","20487","21769","31256","18089","9661","21040","10190",
+                "28177","15855","32355","25820","4591","24894","1982","3829","24876","10989","9337","27498","21460","23261","7408","2351","1296","18321","30107","17107","11562","28715","14614","24714","15244","11884","25114","23078","4289","2232",
+                "25985","14617","22641","9230","23622","6772","872","22034","19841","20713","24974","22278","6254","9932","23535","5068","32357","16397","20148","8165","19682","7231","808","18291","10110","14483","18867","16697","29171","20956",
+                "13280","154","23067","18059","28249","10133","497","6324","15081","6350","18829","4103","2681","10631","14635","31701","14099","29601","2852","5396","24032","18335","22001","83","22829","16035","22062","28611","23137","27758",
+                "22676","25913","9224","12644","17405","5158","25546","11396","17251","25499","11379","19826","4065","4171","4076","1648","23215","28295","22846","7776","22313","19522","26261","8899","25800","29453","9018","31163","22822","18972",
+                "8600","5132","27132","6207","21814","16149","14119","26088","27842","5851","29854","32554","19460","6143","13437","5560","9702","20929","20732","737","13937","14342","30326","10649","7378","5454","19815","30833","21839","7356",
+                "17510","2973","21333","7185","31277","28396","15214","19887","18329","32722","15682","19098","27041","28514","3485","7283","19296","25676","104","28538","28689","15586","17069","25747","32012","28951","13462","833","25549","5245",
+                "25452","19363","11246","30789","9116","26749","23846","27970","19117","306","2387","9702","2379","11201","30315","14402","25918","32462","26764","16392","21362","17307","3054","8332","29168","18442","32490","26302","25058","20636",
+                "31740","19248","16786","10868","9149","21526","18026","23890","26343","5952","30452","32155","4181","7200","1244","7760","28414","24009","18152","25362","8192","27885","21252","12836","30866","12765","14395","1640","4113","20108",
+                "22710","24926","27123","8332","25535","23851","16341","25358","28608","24208","27504","28901","13380","26349","28830","9859","25587","1608","10074","25593","9881","27966","1468","12026","13087","7958","2560","29911","2447","17326",
+                "17534","27779","19730","6538","434","6288","15861","1996","5173","26927","21407","20533","16065","32306","30363","24872","15920","2318","23187","18342","29564","20176","30802","16723","11712","18990","10177","28270","5173","28024",
+                "23018","9180","12340","1186","29430","23837","5945","14139","17458","20051","13533","10872","9733","5698","13530","17192","12795","4170","3338","1984" };
+        String[] EncOutString ={ "3F1B3DE135D03E09","CADD0B404E65FB85","6B581766C267623C","6DEE7D536F50C1D6","CE25247FF431AB3A","74F5D2DFD964206F","5AF29BE86EA0F510","3C9F5A2304F05C89","EFA7D80CFF709DD0","3552F1F3B4537267","DE01B9B5B78BF68C","0DFBB8FB95DBEE2F","35F5CD15590FB2A4","BC87119A73F73BCC","E3E5BC3896B738B6","BB1A595B7BC2411B","329E4B0C3DD150D2","4CCA7D30AEA9A2D6","761E764D49E32B5A","607A4D3AE9AC0967","B50F65D1F61CC696","06F29EAF3356E91A","4AA0FEF948984F28","18632DE203FEDFC7","A37114D9568E4279","D1645474D9334670","E7519DF79C46B33B","9C5526743C6CC1FC","E2CDFD6D0692355E","547E8E6373422FE3",
+                "50AFBE408DE2804B","1B255AEC1743B3B4","4974E357116F43CF","8DD34A56922A7DCC","D2608F2DE3216979","E4A68CB7D78E4403","577020502A799560","A3859970E09442C7","06ABAC39D92ACA28","C84E48503ED8DCA0","A627F65EA2E6FB3C","C0ADDEC824C7712E","BD8F89121AB9088F","36DAA0B2D95C6605","9EA9ADB38D9A2933","9493065B56CAA911","73D237A3E40A9F7A","CDEB70B5DCEE1DE1","CBFDD98387420E4F","92E01AC4B4144D9C","36E4159CE7517525","B487FA4D333B381B","D333ECC864DFA6CA","BD29ED01FDE44213","8856D2E4974B2F0D","CEE2828F2B3D134B","1BB7B5D96B2A274C","0B9DDCA29509C52A","4D6C6C8493C3B47F","EADD33CD816F623A",
+                "FFFBD05BA2E8D0FD","7970FB5C5A8E28BE","EE5E2A39330BB58F","BAB30065E8426519","F56940F4145E984C","FB82882CF8C19D0A","FD49BB7DAC1535CC","45F36354520B2F87","0CF9BF031F634C40","E18D7E4943174725","7E07F363D6FFD328","5CD5629655F10C3F","498CAF35D4A4AFC2","8C5BF9EDB24FBF9C","5E1188CE3215ED4F","E51998E333663AD1","5415C2D280CC6210","970AD41834992D0A","3E4517DACD48A065","67E991B7DB6891D6","0D06D2631B4F930A","D771836E42A87FFC","AE7449D28C4DA6FE","AD5B1E735CCBA92A","03FCA836D80917BF","69BD8C8C8E9BA59E","AD3BC0D1106EA7F9","67287DB3EF83E7D1","845642B77EBA3138","9B6EE848E771972D",
+                "E2B78C3E5D8FCB45","0B34DA3F8B7BB289","6C588DCE4D4253F8","3310F7D913257E24","92B2689C58E9D503","4B575475C2FA91A8","3CC1115AA57E8CE6","FA4802F54D032F76","A01A03C08365851D","30F60E06B08433BD","45A0D2D732C24E94","AE3932304708BB59","11BD1422F7176E28","87A3C7E1F2E0B68C","ECEA2AAACE4C5F60","73E2C6467A0CD6A2","A143037611A07AB5","2E1870FB715B968B","AE10DF0C9DF5EF43","857B0F0452FCC1E4","7FDEB418DC8F0FD7","F0C9369B81866417","D800C7F020DE30BE","4BCAE5EED4B7550E","3B596C8077D915C9","D560D5A007C81043","8FC2A34B1354F4A1","7AB9443BF19685F2","97EB87C0633D0DC3","A5EA3B3CACABBC51",
+                "8EF416CDF00B86E7","CFDBBDA2141F9BC7","1A573B62FBCA6D89","8A0553C323EF4907","0027F3F80D3AD64E","6758E705C629884C","6ACF54D1FBE5214A","76158789C60530C9","6A8D42A8DDDF3A4B","FA699A85C2817AD6","97A1189890EAE6E1","E34BB8A38F02AAFD","BF02F473E3B44C7D","5564D43CC38469C5","8954F95940F0C959","AB61AEA0E61251BC","FBCAB899F6E13AA7","108A7737D6E7BC21","B93198172D842B05","78992C39BD376AE4","D1A7845557192B61","DB65361283E4D3CF","349CA90442511DFE","D9C9FF32EDCC3FD3","663DB9FC7C36DFB5","D2A01FD793C6EB9E","5EB26E0A91987BD7","4058E2FE40D213DC","C19C97C75E74C969","E673DA8C3833FFC7",
+                "7F7327BDEF96E53F","5B051ECB8DE36475","414E503FA94B71E4","E5823E52F195B012","C724161A51F4517A","1E505A3A8BBDE4EA","98E7DCA90CB62CDA","F16AC65D49A69B9E","B4DC18B73FA32736","75A5766AFE412BE7","AD8D99D51ED305A1","8EFBEE25C45D2D24","792DF024D63C22B2","EB1BA836C522CBD2","CF4EEE06B99A8559","51AA39D6628E9977","DE29DBB003A03198","89D71C6D2E1718F8","66A10F1E273F2071","E06156BCF58F7558","43224EA1702DF900","C761F4F4874B3750","C1FC257B8C7965C3","C9BEC254E0DD5185","2B913264785A03FF","9325937C57F6905B","A106618344A2E5ED","F69D0AA3E094FE95","9564D1016D49A77B","5F7B6A494A09E45F",
+                "4F96EBE1B761966F","54B815CCBF6FC05F","7082791EA8CC93D4","9A5873206934F2F3","88406C68A067CD68","05F3F9C8803064E6","3A8D9488A5E5885F","A52807D079642507","51A4B62B3E7BE5B7","A0D097D1993BC4B8","63D5D6E334B17F3D","8DD7F7C3193984D3","FB544D69929E9403","B09511E12F778FAC","ED8F58528785364B","4CDC2C9831030D75","8CE5276263885114","B630CF5F76B1AD74","2ED87918B3465FFF","1CEF3652E51A74DE","23B039C25502472D","EC2ECD90C53E9505","2B8619E5F22C08CD","4A58F0F7FB198308","58B59F9BF05A8D82","57C9D65D665F5A93","E31A3C439BD1AF99","AC30B9B1E1C0D48A","04BB0D6750009981","84E78B49A278BFEF",
+                "36CCCE9A45FDA41F","2BFDF52BBE59674B","4F6332675288C804","3C7736CA07890901","5E4F214DDDD930D7","566B7E4FD652D61C","AEB51809691AB447","77D6586375E0B290","D53C80E61409C613","00AD328FEE8AE173","A65ADF53F759D219","BECDEAAC14BA0815","7E78CC3D875FB740","3F0C50F462B3BAAC","4A1F31D471B810C7","FF18900C10204186","86DF1383DA1FF13B","9FEC87B071979C21","047492C060D757DC","0CEAEB66505E036F","AF35D12EEFF0A847","604B2BB1675F3DB0","61385B32E9DA83A1","28474AA876019CBB","18F39E7044424E1A","ABDF0D72187CFACA","9B99336B3BF8FAA6","949362E1AD003873","D3E1509DE78A86A5","D140C99755A12D04",
+                "A1F43F2DF8D71647","A2A94C368C1D86FC","1CE999F1FAE0DFDD","4447CE77DB8E83DE","63A4B44D037F5CE5","0E718B32A76B6CED","FA88E56785A003F7","9ACCCBC49D687509","99CB5C0310EAE7B6","468D40659705A1BF","5B15D753BCAD5F1F","94431465B0655B16","8D3FF5498E0F5E43","295D4BEBDCB1095B","071FF735B83C4808","DCD28A158CE2E819","B2F5F36BCC04ADF5","E9BBAD0D77300B5B","ACEAEFCCFFA24E72","A8544C2103681D04","A852D11AD3EB7A42","1FCFB28016BBE8F0","82C8881CFF752C05","3E7E9F33A2369FC8","BE83DD9279BE319E","33575303D83D0F95","CB61BBA94088CC96","D849F95FAB34EF5F","D4B48F2B0F747510","555B8B6BA99D3FDD",
+                "F906068FDF947DD4","77F1E39695AE28CC","32FB90B0DEB9D1E3","CD3F11EEDCD3DE59","19853E62F4D26A69","BB3D59EDE88555FE","B36BD705E63478DE","2F1156A076CFF821","F1CAEDD30801BA36","BE038C0236F4512F","7BDB1FD114E57E7D","1CBABB557683552F","F7748D24C39A2740","DE5A9968C5953A97","D28A73C0401771CE","CB7A9887E552DE47","7DBAAAEB3CA0107E","4C367DA9DA7C4B4A","5AD02723DAA637F8","2A51D447872F1955","8A7FF09269E7D4B4","D3542B2397D86D25","9763644C184CE968","CEC00B174538B2EF","C1459847D59DB83F","2D1CBE5908F6E53F","E4FDBBB4ECE78FCD","9EDBA7AA9D431355","4519EC30A1AB8767","61362E1DF9EDB44A",
+                "C5AE7753F3C2C03F","C82E13D6459A1FA6","E1C61691F36D7564","07E70AD5DEA25DB6","1218C1F51E669769","DDDAB4889300780D","694C151D3AF9542F","EFBBF6F67CF79CA7","3973CB80B96374F8","17CD7DD21E25DD26","157D092755ADC54F","8C0E7482BC90FAC7","583D3687F2F30B45","E1CDDCB27CCBFA37","160213B796FE55B9","4EB8EF581026B3B1","D2164A3B635EE826","BAF9824EDDA47A22","EB2168D8D5D32CF0","F66C85F1424AE564","21773B7BC36F88F9","2CC14B755F9A479C","80B5CF87576F7D9D","ED31F3EC9622A188","F04638DFD4A7A0E8","837A3A4C7077DD7C","81F06F00F5EE81E7","90FA775E8A86B63F","C201A4E0094FE7E0","B5DFE1D27928BD4D",
+                "C5F703DDBF701E28","2FFFBAC59416A6E0","CFF020AC6CF6FE5F","1EAEB7043EDBF022","EB1BB2C6134FC5AF","EFF2C9D3754AB965","91CE76A166886ED3","5C538AFF569012F4","0A3AB423B86EA48A","AC71186615657CDD","5F87192EA68AE57E","561B3CAAE182ACD9","F82F16DDC60843ED","5EEFC556C46702DD","BCC88DBFA6DC6264","55F829CAEAAE4A47","ABBD7CD495133157","A7804BAB06C7A499","E1CDAD4C3736F371","842BA8773595FF2C","6C1A0BA0F90A9860","D874FA68BFDB6AB1","158A79103BE0A645","42154325B9D9FA5A","8B4867ED7208C82C","17FFB4D9B49C7CDC","4AA9427F09D55C9A","01B48FAB16806E79","AAD434A9D843D221","5651073281992FF7",
+                "14C5F33A8264156C","842B6AA4CD304D74","2BA718531F8FAF59","A3D58673BF64BAE7","63924429F9350EB7","E9281209B893578A","83347572B2AABC31","CFFB8A0CAE4BA7D3","A5C7FC17282C4FBA","77A8DDC4D399D9C2","90595B0484F62FBE","D2164A3B635EE826","36F54CA4B63A3784","A1562F7CDE3148AC","58DA3069DE7C1CBA","9EE9669648A6337B","88CA16BE09699B48","2637A485BB504E02","6E1F43DA8E841D30","B28331AFF29B1893","CFE841BF3E42B9C0","A093E0AFE2CA9C77","7A3AAEC82156A99A","C73FE298136878F4","9842F89D19745C1B","23A393ADA40819A7","25C65E7B688A7863","8D6625D7C6415F91","85DD67D9B039EB36","647DCFDFAA93FC30",
+                "C94F78EC13F3EEF5","2F835ED5DB7C89FE","5C0D32CC979E7528","8C3B15F6A677796C","62837CBE281B9C98","1A9FF67B76AE74FB","377835B907DDB901","DFE0FE9D06F1A938","53C4D469DF15BB18","BA8EA07F3D1C4A65","E9FDE2A920BF6ACE","4FFF2A58BDE306D9","2390F8408FC53E23","91379414C085A471","872B9D42C18A1242","3C6614D8728F17CD","36B17687606B4E2B","7C67E18CDD8D2A6F","54B8CE4ED0C1D6CC","A191FEBAE31E19AD","D6E8DC7027F7CBA1","EC4BE9AA9179C3CC","3F01C1C7BA8A2F2F","59FFE00A8F4C36B1","5BC832F82ADCFD5B","588A254BC14802E9","BED81A4A0C5CAA93","0091394EF49F9A97","7F3E7E187F3EF74B","0C43C77E0888863A",
+                "42A28CE2D9D1F7AE","3F594869A25DC890","06F1EC66E61574A4","C73FE298136878F4","B0B9BA46BF9B46C1","123C638DF93655D9","BBA509EA3E0F4A2A","64ECF8B82760AD7F","52AD3E39A369A45F","85CB0A99419682D2","B9015A062113AF09","BCE6EC0ECD9BC9ED","59146D7F82D54622","8EA29B72406E7653","DCFEEC7B8BAD5467","1AC626075B0B431B","ACC4E7DA781FCCC1","70CE309FD8CA7831","4824DDE2CE7BB046","CA6B6C95EC5B3792","BCC0A804F2F5B1B2","EC16599C96653A2F","1FE25DCD925B0AD8","8F3D53D3C6FD1CEB","052E6D3EFFA59E3D","9B78019C253A908D","0027F3F80D3AD64E","55E2E28B340D17F9","E29799F1C60311BB","D343B3E53B3F72FD",
+                "D15308E358887725","72613D0DE910B3A9","FE7631CE8703E7E6","B337576572E59479","84867FBCF619A8B1","596D8E70E99CAFF2","78E51FF5BDE3FD23","EB2D555F9C210D7D","C007EC8EB7401D1B","E0BE308CECF2ABD0","253B82B80BA867F7","52707F6A25253133","CB79D9E841152AF0","0EF05071E9C3FF72","9952EA6289BA38D4","23A57F56A8BB01CC","FC3EF21A1EE34369","F934706D8B1CEF93","8C83FF22EFD2E823","F9837249FE914492","A4249F905E0FAF6D","EA7B02838B284A58","257D476B0AC7717B","45A0D2D732C24E94","96EF12482DFCDD6E","1856D3A4C4E4B3B1","C4377707FE61780F","43F0047C23860CA3","C007EC8EB7401D1B","18E415ADAD32E6DB",
+                "4CB0BC638A940DF4","AB4432D5FDDD4552","6993EAE53DF45CB6","F621AAACC07491CF","035380F8D8768D8E","41A1A33E02F26395","BC7C42946BCDB31B","28D22A3DA85249BC","8B5D72C2EB6E67E6","76EACFC5D1AB431D","DEF168F7BD4BA72C","7CEB3FDC28C06E6F","00E9CAB43742BE9B","3CFEBEEBF3222C1E","D07E8311AD2C34D6","9FFB3507B32E1349","0C76D6873B84C605","F3BA574481362A2C","800680E086F1E10F","5F8BCA03191D558D" };
+        //@NoUseNewKeyEx return 1;//如果没有使用这个功能,直接返回1
+        //@NoSupNewKeyEx  return 2;//如果该锁不支持这个功能,直接返回2
+
+
+        for (n = 0; n < 255; n++)
+        {
+            DevicePath = j9.FindPort(n);
+            if (j9.get_LastError() != 0) return (int)j9.get_LastError();
+            outString = j9.EncString_New(EncInString[myrnd], DevicePath);
+            j9.CloseUsbHandle(DevicePath);
+            if ((j9.get_LastError() == 0) && (outString.compareTo(EncOutString[myrnd]) == 0))
+            {
+                return 0;
+            }
+        }
+        return -92;
+    }
+
+
+}

+ 196 - 0
src/main/java/com/rf/psychological/TestPush.java

@@ -0,0 +1,196 @@
+package com.rf.psychological;
+
+import java.io.*;
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.List;
+
+import com.rf.psychological.security.AesEncryptUtils;
+import com.rf.psychological.utils.ExcelUtil;
+import lombok.SneakyThrows;
+import org.apache.http.HttpResponse;
+import org.apache.http.HttpStatus;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.entity.StringEntity;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClients;
+import org.apache.http.message.BasicHeader;
+import org.apache.http.protocol.HTTP;
+
+import com.alibaba.fastjson.JSONObject;
+
+/**
+ * 压力测试
+ * @author Administrator
+ *
+ */
+public class TestPush {
+	
+	
+	public static void main(String[] args)throws Exception {
+		
+		File file = new File("C:/Users/Administrator/Desktop/弹型导入模板.xlsx");
+		String fileName = "弹型导入模板.xlsx";
+        FileInputStream fileInputStream = new FileInputStream(file);
+		List<List<List<Object>>> datas = ExcelUtil.getBankListByExcelSheet(fileInputStream, fileName);
+        //获取题目信息并入库
+        List<List<Object>> sheet0 = datas.get(0);
+        List<JSONObject> jsonObjects = new ArrayList<>();
+        for (int i = 0;i <sheet0.size();i++){
+            List<Object> scales = sheet0.get(i);
+            JSONObject jsonObject = new JSONObject();
+            jsonObject.put("institutionNo",scales.get(0));
+            jsonObject.put("phone",scales.get(1));
+            jsonObject.put("password", "205db300b8a350ba594747ff58fa94f1");
+            JSONObject jsonObject2 = new JSONObject();
+            jsonObject2.put("data", AesEncryptUtils.encrypt(jsonObject.toJSONString()));
+            jsonObjects.add(jsonObject2);
+        }
+
+        /*for (JSONObject obj:jsonObjects) {
+        //创建线程登录
+            MyThread t = new MyThread(obj);
+            t.start();
+        }*/
+		//登录
+    	/*String loginUrl = "https://www.jue-ming.com:8848/user/login";
+    	JSONObject jsonObject = new JSONObject();
+    	//{"phone":"test","password":"e10adc3949ba59abbe56e057f20f883e","institutionNo":"10000"}
+    	jsonObject.put("phone", "test");
+    	jsonObject.put("password", "96e79218965eb72c92a549dd5a330112");
+    	jsonObject.put("institutionNo", "10000");
+    	JSONObject jsonObject2 = new JSONObject();
+    	jsonObject2.put("data",AesEncryptUtils.encrypt(jsonObject.toJSONString()));
+
+
+
+		String response = sendPost(jsonObject2, loginUrl);
+		System.out.println(response);
+		String respStringDecrypt = AesEncryptUtils.decrypt(response.substring(1, response.length()-2));
+		System.out.println(respStringDecrypt);
+		JSONObject jsonObject3 = JSONObject.parseObject(respStringDecrypt);
+		String token = jsonObject3.getJSONObject("data").getString("token");
+		System.out.println(token);
+		System.out.println("-------------------------------------------------");
+		String url = "https://www.jue-ming.com:8848/category/getCategoryList?institutionNo=10000&gId=0";
+		String getResponse = sendRequest("Bearer "+token,url,"GET");
+		System.out.println(getResponse);*/
+	}
+	
+	
+	
+	/**
+	 * 发送POST请求
+	 * @param json
+	 * @param URL
+	 * @return
+	 */
+    public static String sendPost(JSONObject json,String URL) {
+        CloseableHttpClient client = HttpClients.createDefault();
+        HttpPost post = new HttpPost(URL);
+        post.setHeader("Content-Type", "application/json");
+        post.addHeader("Authorization", "Basic YWRtaW46");
+        String result = "";
+        try {
+            StringEntity s = new StringEntity(json.toString(), "utf-8");
+            s.setContentType(new BasicHeader(HTTP.CONTENT_TYPE,
+                    "application/json"));
+            post.setEntity(s);
+            // ��������
+            HttpResponse httpResponse = client.execute(post);
+            // ��ȡ��Ӧ������
+            InputStream inStream = httpResponse.getEntity().getContent();
+            BufferedReader reader = new BufferedReader(new InputStreamReader(
+                    inStream, "utf-8"));
+            StringBuilder strber = new StringBuilder();
+            String line;
+            while ((line = reader.readLine()) != null) {
+                strber.append(line + "\n");
+            }
+            inStream.close();
+            result = strber.toString();
+            if (httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
+                System.out.println("---------------------");
+            } else {
+                System.out.println("---------------------------");
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return result;
+    }
+    /**
+     * 发送GET请求
+     * @param urlParam
+     * @param requestType
+     * @return
+     */
+    public static String sendRequest(String cookie ,String urlParam,String requestType) {
+
+        HttpURLConnection con = null;  
+
+        BufferedReader buffer = null; 
+        StringBuffer resultBuffer = null;  
+//        String cookie = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJwZXROYW1lIjoi5rWL6K-V5Lq65ZGYIiwidXNlclBob25lIjoidGVzdCIsImdyb3VwSWQiOiIwIiwidHlwZSI6InVzZXIiLCJleHAiOjE2NTMyODUyMzMsInVzZXJJZCI6ImZmODA4MTgxN2M2ZDNkODYwMTdjNmQ0NzE2YjMwMDAxIiwiaW5zdGl0dXRpb25ObyI6IjEwMDAwIn0.xyNl0_6VTB6d7edTFPwHucK7VQiHwxx20kpbgG2MWRM";
+        try {
+            URL url = new URL(urlParam); 
+            //�õ����Ӷ���
+            con = (HttpURLConnection) url.openConnection();
+            con.addRequestProperty("Authorization", cookie);
+            //������������
+            con.setRequestMethod(requestType);  
+            //����������Ҫ���ص��������ͺ��ַ�������
+            con.setRequestProperty("Content-Type", "application/json;charset=utf-8");  
+            //�����
+            con.setDoOutput(true);
+            //�������
+            con.setDoInput(true);
+            //��ʹ�û���
+            con.setUseCaches(false);
+            //�õ���Ӧ��
+            int responseCode = con.getResponseCode();
+
+            if(responseCode == HttpURLConnection.HTTP_OK){
+                //�õ���Ӧ��
+                InputStream inputStream = con.getInputStream();
+                //����Ӧ��ת�����ַ���
+                resultBuffer = new StringBuffer();
+                String line;
+                buffer = new BufferedReader(new InputStreamReader(inputStream, "utf-8"));
+                while ((line = buffer.readLine()) != null) {
+                    resultBuffer.append(line);
+                }
+                return resultBuffer.toString();
+            }
+
+        }catch(Exception e) {
+            e.printStackTrace();
+        }
+        return "";
+    }
+    
+    static class MyThread extends Thread{
+        JSONObject jsonObject2;
+        public MyThread(JSONObject jsonObject2){
+            this.jsonObject2 = jsonObject2;
+        }
+    	@SneakyThrows
+        @Override
+    	public void run() {
+    		// TODO Auto-generated method stub
+    		super.run();
+            String loginUrl = "https://www.jue-ming.com:8848/user/login";
+            String response = sendPost(jsonObject2, loginUrl);
+            String respStringDecrypt = AesEncryptUtils.decrypt(response.substring(1, response.length()-2));
+            JSONObject jsonObject3 = JSONObject.parseObject(respStringDecrypt);
+            String token = jsonObject3.getJSONObject("data").getString("token");
+            System.out.println(token);
+            System.out.println("-------------------------------------------------");
+            String url = "https://www.jue-ming.com:8848/category/getCategoryList?institutionNo=10000&gId=0";
+            String getResponse = sendRequest("Bearer "+token,url,"GET");
+            System.out.println(AesEncryptUtils.decrypt(getResponse));
+    	}
+    }
+
+}

+ 4 - 0
src/main/java/com/rf/psychological/base/package-info.java

@@ -0,0 +1,4 @@
+package com.rf.psychological.base;
+/**
+ * 基础信息
+ */

+ 24 - 0
src/main/java/com/rf/psychological/config/Properties.java

@@ -0,0 +1,24 @@
+package com.rf.psychological.config;
+
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.stereotype.Component;
+
+import java.time.Duration;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * @Author:zzf
+ * @Date:2022/7/5:18:15
+ * @Description:
+ */
+@Component
+@ConfigurationProperties(prefix = "redis-config")
+
+public class Properties {
+    private final Map<String, Duration> initCaches = new HashMap<>();
+    public Map<String ,Duration> getInitCache(){
+
+        return initCaches;
+    }
+}

+ 107 - 0
src/main/java/com/rf/psychological/config/RedisConfig.java

@@ -0,0 +1,107 @@
+package com.rf.psychological.config;
+
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.PropertyAccessor;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.jsontype.impl.LaissezFaireSubTypeValidator;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.cache.CacheManager;
+import org.springframework.cache.annotation.CachingConfigurerSupport;
+import org.springframework.cache.annotation.EnableCaching;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.data.redis.cache.CacheKeyPrefix;
+import org.springframework.data.redis.cache.RedisCacheConfiguration;
+import org.springframework.data.redis.cache.RedisCacheManager;
+import org.springframework.data.redis.cache.RedisCacheWriter;
+import org.springframework.data.redis.connection.RedisConfiguration;
+import org.springframework.data.redis.connection.RedisConnectionFactory;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
+import org.springframework.data.redis.serializer.RedisSerializationContext;
+import org.springframework.data.redis.serializer.StringRedisSerializer;
+
+import java.time.Duration;
+import java.util.HashSet;
+import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
+
+/**
+ * @Description:Redis缓存时间、序列化、反序列化等配置
+ * @Author: zsf
+ * @Date: 2022/7/1
+ */
+@Configuration
+@EnableCaching
+@Slf4j
+public class RedisConfig extends CachingConfigurerSupport {
+    @Autowired
+    private Properties properties;
+
+    @Bean
+    public CacheManager cacheManager(RedisConnectionFactory factory) {
+        RedisCacheConfiguration cacheConfiguration = RedisCacheConfiguration
+                .defaultCacheConfig()
+                .entryTtl(Duration.ofDays(1))
+                .disableCachingNullValues()//不允许缓存空值
+                .serializeValuesWith(RedisSerializationContext.SerializationPair.fromSerializer(jackson2JsonRedisSerializer()));
+        RedisCacheWriter redisCacheWriter = RedisCacheWriter.nonLockingRedisCacheWriter(factory);
+        Set<String> cacheNames = new HashSet<>();
+        ConcurrentHashMap<String, RedisCacheConfiguration> cacheConfig = new ConcurrentHashMap<>();
+
+        properties.getInitCache().forEach((key, value) -> {
+            cacheNames.add(key);
+            cacheConfig.put(key,cacheConfiguration.entryTtl(value));
+        });
+        /*return RedisCacheManager
+                .builder(RedisCacheWriter.nonLockingRedisCacheWriter(factory))
+                .cacheDefaults(cacheConfiguration)
+                .transactionAware()
+                .build();*/
+        return RedisCacheManager.builder(redisCacheWriter)
+                .cacheDefaults(cacheConfiguration)
+                .initialCacheNames(cacheNames)
+                .withInitialCacheConfigurations(cacheConfig)
+                .build();
+    }
+
+
+    @Bean
+    public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) {
+        RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
+        redisTemplate.setConnectionFactory(redisConnectionFactory);
+        // 用Jackson2JsonRedisSerializer来序列化和反序列化redis的value值
+        redisTemplate.setValueSerializer(jackson2JsonRedisSerializer());
+
+        StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();
+        // 使用StringRedisSerializer来序列化和反序列化redis的key值
+        redisTemplate.setKeySerializer(stringRedisSerializer);
+
+        // hash的key也采用String的序列化方式
+        redisTemplate.setHashKeySerializer(stringRedisSerializer);
+        // hash的value序列化方式采用jackson
+        redisTemplate.setHashValueSerializer(jackson2JsonRedisSerializer());
+        redisTemplate.afterPropertiesSet();
+        return redisTemplate;
+    }
+
+    /**
+     * 配置Jackson2JsonRedisSerializer序列化策略
+     */
+    @Bean
+    public Jackson2JsonRedisSerializer<Object> jackson2JsonRedisSerializer() {
+        // 使用Jackson2JsonRedisSerializer来序列化和反序列化redis的value值
+        Jackson2JsonRedisSerializer<Object> jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer<>(Object.class);
+        ObjectMapper objectMapper = new ObjectMapper();
+
+        // 指定要序列化的域,field,get和set,以及修饰符范围,ANY是都有包括private和public
+        objectMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
+
+        // 指定序列化输入的类型,类必须是非final修饰的,final修饰的类,比如String,Integer等会跑出异常
+        objectMapper.activateDefaultTyping(LaissezFaireSubTypeValidator.instance, ObjectMapper.DefaultTyping.NON_FINAL);
+
+        jackson2JsonRedisSerializer.setObjectMapper(objectMapper);
+        return jackson2JsonRedisSerializer;
+    }
+}

+ 54 - 0
src/main/java/com/rf/psychological/config/Swagger2Config.java

@@ -0,0 +1,54 @@
+package com.rf.psychological.config;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Profile;
+import springfox.documentation.builders.ApiInfoBuilder;
+import springfox.documentation.builders.ParameterBuilder;
+import springfox.documentation.builders.PathSelectors;
+import springfox.documentation.builders.RequestHandlerSelectors;
+import springfox.documentation.schema.ModelRef;
+import springfox.documentation.service.ApiInfo;
+import springfox.documentation.service.Parameter;
+import springfox.documentation.spi.DocumentationType;
+import springfox.documentation.spring.web.plugins.Docket;
+import springfox.documentation.swagger2.annotations.EnableSwagger2;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author lpf
+ * @description:swagger 配置
+ * @date 2022/3/14 19:25
+ */
+@Configuration
+@EnableSwagger2
+@Profile({"test","lan"})
+public class Swagger2Config {
+
+    @Bean
+    public Docket createRestApi() {
+        //添加head参数配置start
+        ParameterBuilder tokenPar = new ParameterBuilder();
+        List<Parameter> pars = new ArrayList<>();
+        // Authorization,可以自定义名称-->token
+        tokenPar.name("Authorization").description("token令牌,格式为Bearer Token(可从/test/token接口处获取临时测试token)").modelRef(new ModelRef("string")).parameterType("header").required(false).build();
+        pars.add(tokenPar.build());
+        //添加head参数配置end
+        return new Docket(DocumentationType.SWAGGER_2)
+                .apiInfo(apiInfo())
+                .select()
+                .apis(RequestHandlerSelectors.basePackage("com.rf.psychological"))
+                .paths(PathSelectors.any())
+                .build()
+                .globalOperationParameters(pars);//注意这里
+    }
+
+    private ApiInfo apiInfo() {
+        return new ApiInfoBuilder()
+                .title("机构版后台接口")
+                .version("1.1")
+                .build();
+    }
+}

+ 25 - 0
src/main/java/com/rf/psychological/config/SystemExcludeFilter.java

@@ -0,0 +1,25 @@
+package com.rf.psychological.config;
+
+import com.rf.psychological.utils.Constant;
+import org.springframework.core.type.ClassMetadata;
+import org.springframework.core.type.classreading.MetadataReader;
+import org.springframework.core.type.classreading.MetadataReaderFactory;
+import org.springframework.core.type.filter.TypeFilter;
+
+/**
+ * @Author:zzf
+ * @Date:2022/7/24:11:36
+ * @Description:
+ */
+@Deprecated
+//@Profile("lan")
+public class SystemExcludeFilter implements TypeFilter {
+
+    @Override
+    public boolean match(MetadataReader metadataReader, MetadataReaderFactory metadataReaderFactory) {
+        ClassMetadata classMetadata = metadataReader.getClassMetadata();
+        String name = classMetadata.getClassName();
+        System.out.println("package-"+name);
+        return name.contains(Constant.EXCLUDE_PACKAGE_NAME);
+    }
+}

+ 27 - 0
src/main/java/com/rf/psychological/dao/cognizeModel/ECATEntity.java

@@ -0,0 +1,27 @@
+package com.rf.psychological.dao.cognizeModel;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @author lpf
+ * @description: 情绪分类任务
+ * @date 2022/4/19 8:50
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class ECATEntity {
+
+    private String index;
+
+    // 情绪类型 Pos, Neg
+    private String wordType;
+
+    //用户选择的情绪类型 1,0
+    private String userSelectWordType;
+
+    private String responseTime;
+
+}

+ 31 - 0
src/main/java/com/rf/psychological/dao/cognizeModel/EMEMEntity.java

@@ -0,0 +1,31 @@
+package com.rf.psychological.dao.cognizeModel;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @author lpf
+ * @description: 情绪识别记忆任务
+ * @date 2022/4/19 8:50
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class EMEMEntity {
+
+    private String index;
+
+    // "positive/negtive",词语类型
+    private String wordType;
+
+    //是否出现过0(否) 1(是)
+    private String appearedOrNot;
+
+    private String responseTime;
+
+    //反应是否正确0(错误),1(正确)
+    private String correct;
+
+
+}

+ 29 - 0
src/main/java/com/rf/psychological/dao/cognizeModel/ETB01Entity.java

@@ -0,0 +1,29 @@
+package com.rf.psychological.dao.cognizeModel;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @author lpf
+ * @description:
+ * @date 2022/4/19 8:50
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class ETB01Entity {
+
+    private String index;
+
+    private String emoType;
+
+    private String emoAmp;
+
+    private String userSelectEmoType;
+
+    private String responseTime;
+
+    private String correct;
+
+}

+ 28 - 0
src/main/java/com/rf/psychological/dao/cognizeModel/FDOTEntity.java

@@ -0,0 +1,28 @@
+package com.rf.psychological.dao.cognizeModel;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @author lpf
+ * @description:
+ * @date 2022/5/22 16:44
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class FDOTEntity {
+
+    private Integer index;
+
+    private String emoType;
+
+    private Integer dotPos;
+
+    private String responseTime;
+
+    private Integer correct;
+
+    private Integer type;
+}

+ 64 - 0
src/main/java/com/rf/psychological/dao/dto/InstitutionAuthConTaskDto.java

@@ -0,0 +1,64 @@
+package com.rf.psychological.dao.dto;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @author lpf
+ * @description:
+ * @date 26/10/2021上午11:18
+ */
+@JpaDto
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class InstitutionAuthConTaskDto {
+
+    //机构权限id
+    private String id;
+
+    //认知任务id
+    private String bid;
+
+    private String institutionNo;
+
+    private String type;
+
+    private String taskCode;
+
+    private String description;
+
+    private String name;
+
+    private String imageUrl;
+
+    private String imageName;
+
+    private String testDescription;
+
+    private Integer testNum;
+
+    private String pageUrl;
+
+    private String testExplain;
+
+    private String status;
+
+    private String scaleLimit;
+
+    private Integer no;
+
+
+    private String mobileDescription;
+
+
+    private String mobilePageUrl;
+
+
+    private String mobileTestDescription;
+
+
+    private String mobileStatus;
+
+}

+ 253 - 0
src/main/java/com/rf/psychological/dao/dto/InstitutionAuthSubjectNameDto.java

@@ -0,0 +1,253 @@
+package com.rf.psychological.dao.dto;
+
+import com.rf.psychological.security.EncryptDecodeConverter;
+
+import javax.persistence.Convert;
+
+/**
+ * @author lpf
+ * @description:
+ * @date 26/10/2021上午11:18
+ */
+@JpaDto
+public class InstitutionAuthSubjectNameDto {
+
+    //机构权限id
+    private String id;
+
+    private String bid;
+
+    private String institutionNo;
+
+    @Convert(converter = EncryptDecodeConverter.class)
+    private String description;
+
+    private String ename;
+
+    private String flag;
+
+    private String imageUrl;
+
+    private String isHot;
+
+    private String isNew;
+
+    private String name;
+
+    private int testNum;
+
+    private String type;
+
+    private String uploader;
+
+    private String fileName;
+
+    private String scoringPrinciple;
+
+    private String status;
+
+    private String scaleLimit;
+
+    private int no;
+
+    private String men;
+
+    private String iconInfo;
+
+    private Integer reportVersion;
+
+    public InstitutionAuthSubjectNameDto(String id, String bid, String institutionNo, String description, String ename, String flag, String imageUrl, String isHot, String isNew, String name, int testNum, String type, String uploader, String fileName, String scoringPrinciple, String status, String scaleLimit, int no, String men, String iconInfo, Integer reportVersion) {
+        this.id = id;
+        this.bid = bid;
+        this.institutionNo = institutionNo;
+        this.description = description;
+        this.ename = ename;
+        this.flag = flag;
+        this.imageUrl = imageUrl;
+        this.isHot = isHot;
+        this.isNew = isNew;
+        this.name = name;
+        this.testNum = testNum;
+        this.type = type;
+        this.uploader = uploader;
+        this.fileName = fileName;
+        this.scoringPrinciple = scoringPrinciple;
+        this.status = status;
+        this.scaleLimit = scaleLimit;
+        this.no = no;
+        this.men = men;
+        this.iconInfo = iconInfo;
+        this.reportVersion = reportVersion;
+    }
+
+    public InstitutionAuthSubjectNameDto() {
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getbid() {
+        return bid;
+    }
+
+    public void setbid(String bId) {
+        this.bid = bId;
+    }
+
+    public String getInstitutionNo() {
+        return institutionNo;
+    }
+
+    public void setInstitutionNo(String institutionNo) {
+        this.institutionNo = institutionNo;
+    }
+
+    public String getDescription() {
+        return description;
+    }
+
+    public void setDescription(String description) {
+        this.description = description;
+    }
+
+    public String getEname() {
+        return ename;
+    }
+
+    public void setEname(String ename) {
+        this.ename = ename;
+    }
+
+    public String getFlag() {
+        return flag;
+    }
+
+    public void setFlag(String flag) {
+        this.flag = flag;
+    }
+
+    public String getImageUrl() {
+        return imageUrl;
+    }
+
+    public void setImageUrl(String imageUrl) {
+        this.imageUrl = imageUrl;
+    }
+
+    public String getIsHot() {
+        return isHot;
+    }
+
+    public void setIsHot(String isHot) {
+        this.isHot = isHot;
+    }
+
+    public String getIsNew() {
+        return isNew;
+    }
+
+    public void setIsNew(String isNew) {
+        this.isNew = isNew;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public int getTestNum() {
+        return testNum;
+    }
+
+    public void setTestNum(int testNum) {
+        this.testNum = testNum;
+    }
+
+    public String getType() {
+        return type;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    public String getUploader() {
+        return uploader;
+    }
+
+    public void setUploader(String uploader) {
+        this.uploader = uploader;
+    }
+
+    public String getFileName() {
+        return fileName;
+    }
+
+    public void setFileName(String fileName) {
+        this.fileName = fileName;
+    }
+
+    public String getScoringPrinciple() {
+        return scoringPrinciple;
+    }
+
+    public void setScoringPrinciple(String scoringPrinciple) {
+        this.scoringPrinciple = scoringPrinciple;
+    }
+
+    public String getStatus() {
+        return status;
+    }
+
+    public void setStatus(String status) {
+        this.status = status;
+    }
+
+    public String getScaleLimit() {
+        return scaleLimit;
+    }
+
+    public void setScaleLimit(String scaleLimit) {
+        this.scaleLimit = scaleLimit;
+    }
+
+    public int getNo() {
+        return no;
+    }
+
+    public void setNo(int no) {
+        this.no = no;
+    }
+
+    public String getMen() {
+        return men;
+    }
+
+    public void setMen(String men) {
+        this.men = men;
+    }
+
+    public String getIconInfo() {
+        return iconInfo;
+    }
+
+    public void setIconInfo(String iconInfo) {
+        this.iconInfo = iconInfo;
+    }
+
+    public Integer getReportVersion() {
+        return reportVersion;
+    }
+
+    public void setReportVersion(Integer reportVersion) {
+        this.reportVersion = reportVersion;
+    }
+}

+ 16 - 0
src/main/java/com/rf/psychological/dao/dto/InstitutionRecordingDTO.java

@@ -0,0 +1,16 @@
+package com.rf.psychological.dao.dto;
+
+/**
+ * @author lpf
+ * @description: 机构下用户测试记录实体类
+ * @date 22/9/2021下午7:30
+ */
+public interface InstitutionRecordingDTO {
+
+    public String getName();
+
+    public String getFlag();
+
+    public String getType();
+
+}

+ 49 - 0
src/main/java/com/rf/psychological/dao/dto/InstitutionRecordingUserDTO.java

@@ -0,0 +1,49 @@
+package com.rf.psychological.dao.dto;
+
+import javax.xml.soap.Text;
+
+/**
+ * @author lpf
+ * @description:
+ * @date 23/9/2021上午10:30
+ */
+
+public interface InstitutionRecordingUserDTO {
+
+    public String getPhone();
+
+    public String getPetName();
+
+    public String getPassword();
+
+    public String getGender();
+
+    public String getBirthday();
+
+    public String getProfession();
+
+    public String getInstitutionName();
+
+    public String getInstitutionNo();
+
+    public String getUserStatus();
+
+    public String getAdditionInfo();
+
+    public String getTestResults();
+
+    public String getImg();
+
+    /**
+     * 记录表id
+     *
+     * @return
+     */
+    public String getId();
+
+    public String getTestDate();
+
+    public String getTestResult();
+
+
+}

+ 66 - 0
src/main/java/com/rf/psychological/dao/dto/InstitutionRecordingUsersDTO.java

@@ -0,0 +1,66 @@
+package com.rf.psychological.dao.dto;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @author lpf
+ * @description: 与InstitutionRecordingUsersDTO相比多了用户表的参数
+ * @date 23/9/2021上午10:30
+ */
+@JpaDto
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class InstitutionRecordingUsersDTO {
+
+    private String userId;
+
+    private String recordingId;
+
+    private String phone;
+
+    private String modelPhone;
+
+    private String petName;
+
+    private String gender;
+
+    private String birthday;
+
+    private String profession;
+
+    private String institutionName;
+
+    private String institutionNo;
+
+    private String userStatus;
+
+    private String additionInfo;
+
+    private String groupId;
+
+    private String flag;
+
+    private String name;
+
+    private String testDate;
+
+    private String testResult;
+
+    private String testResults;
+
+    private String fileName;
+
+    private String img;
+
+    private String type;
+
+    private String testRecord;
+
+    private String testPlanId;
+
+
+
+}

+ 18 - 0
src/main/java/com/rf/psychological/dao/dto/JpaDto.java

@@ -0,0 +1,18 @@
+package com.rf.psychological.dao.dto;
+
+import org.springframework.stereotype.Component;
+
+import java.lang.annotation.*;
+
+/**
+ * @author lpf
+ * @description: 自定义注解类,加载dto上表示这是个JpaDto类,解决jpa原生不能返回dto的问题
+ * @date 2022/4/6 21:08
+ */
+
+@Documented
+@Component
+@Target(value = {ElementType.TYPE})
+@Retention(RetentionPolicy.RUNTIME)
+public @interface JpaDto {
+}

+ 99 - 0
src/main/java/com/rf/psychological/dao/dto/JpaDtoConfig.java

@@ -0,0 +1,99 @@
+package com.rf.psychological.dao.dto;
+
+import com.rf.psychological.security.DESede;
+import com.rf.psychological.security.EncryptDecodeConverter;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.FatalBeanException;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.core.convert.support.DefaultConversionService;
+import org.springframework.core.convert.support.GenericConversionService;
+
+import javax.annotation.PostConstruct;
+import javax.persistence.Convert;
+import java.beans.PropertyDescriptor;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.lang.reflect.Modifier;
+import java.util.Map;
+
+/**
+ * @author lpf
+ * @description: 对加有@JpaDto的类注解的类进行实现converter方法
+ * @date 2022/4/6 21:12
+ */
+@Slf4j
+@Configuration
+public class JpaDtoConfig {
+
+    @Autowired
+    private ApplicationContext applicationContext;
+
+    /**
+     * 初始化注入@JpaDto对应的Converter
+     */
+    @PostConstruct
+    public void init() {
+        Map<String, Object> map = applicationContext.getBeansWithAnnotation(JpaDto.class);
+        for (Object o : map.values()) {
+            Class c = o.getClass();
+            log.info("Jpa添加Converter,class={}", c.getName());
+            GenericConversionService genericConversionService = ((GenericConversionService) DefaultConversionService.getSharedInstance());
+            genericConversionService.addConverter(Map.class, c, m -> {
+                try {
+                    Object obj = c.newInstance();
+                    // 这里可以扩展,注入的converter,实现sql查询出的结果为数据库中带下划线的字段,通过程序转为驼峰命名再设置到实体中
+                    // 也可以做类型转换判断,这里未做类型判断,直接copy到dto中,类型不匹配的时候可能会出错
+                    return copyMapToObj(m, obj);
+                } catch (Exception e) {
+                    throw new FatalBeanException("Jpa结果转换出错,class=" + c.getName(), e);
+                }
+            });
+        }
+    }
+
+    /**
+     * 将map中的值copy到bean中对应的字段上
+     *
+     * @param map
+     * @param target
+     * @return
+     */
+    private Object copyMapToObj(Map<String, Object> map, Object target) {
+        if (map == null || target == null || map.isEmpty()) {
+            return target;
+        }
+        Class<?> actualEditable = target.getClass();
+        PropertyDescriptor[] targetPds = BeanUtils.getPropertyDescriptors(actualEditable);
+        for (PropertyDescriptor targetPd : targetPds) {
+            if (targetPd.getWriteMethod() == null) {
+                continue;
+            }
+            try {
+                String key = targetPd.getName();
+                Object value = map.get(key);
+                if (value == null) {
+                    continue;
+                }
+                //对需要进行解密的字段进行解密处理
+                Field field = actualEditable.getDeclaredField(key);
+                Convert annotation = field.getAnnotation(Convert.class);
+                if (annotation != null) {
+                    if (annotation.converter() == EncryptDecodeConverter.class) {
+                        value = DESede.decryptString((String) value);
+                    }
+                }
+                Method writeMethod = targetPd.getWriteMethod();
+                if (!Modifier.isPublic(writeMethod.getDeclaringClass().getModifiers())) {
+                    writeMethod.setAccessible(true);
+                }
+                writeMethod.invoke(target, value);
+            } catch (Exception ex) {
+                throw new FatalBeanException("Could not copy properties from source to target", ex);
+            }
+        }
+        return target;
+    }
+}

+ 21 - 0
src/main/java/com/rf/psychological/dao/dto/ProgressDto.java

@@ -0,0 +1,21 @@
+package com.rf.psychological.dao.dto;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @author lpf
+ * @description:
+ * @date 2022/5/5 18:02
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class ProgressDto {
+
+    private long maxNum;
+
+    private long havingDoNum;
+
+}

+ 69 - 0
src/main/java/com/rf/psychological/dao/dto/SubjectEntityDto.java

@@ -0,0 +1,69 @@
+package com.rf.psychological.dao.dto;
+
+import com.rf.psychological.dao.model.CategorySubjectEntity;
+import com.rf.psychological.scale.dao.model.SubjectEntity;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * @author zzf
+ * @description:
+ * @date 2021/8/11 14:38
+ */
+@Getter
+@Setter
+public class SubjectEntityDto {
+
+
+    //private final String people;
+
+    private int no;
+
+    private String flag;
+
+    private String name;
+
+    private String type;
+
+    private String description;
+
+    private String isHot;
+
+    private int testNum;
+
+    private int isNew;
+
+    private String imageUrl;
+
+    private String uploader;
+
+    private String eName;
+
+    private String fileName;
+
+    private String scoringPrinciple;
+
+    private String scaleLimit;
+
+    private List<CategorySubjectEntity> category;
+
+    public SubjectEntityDto(SubjectEntity subjectEntity) {
+        this.no = subjectEntity.getNo();
+        this.flag = subjectEntity.getFlag();
+        this.name = subjectEntity.getName();
+        this.type = subjectEntity.getType();
+        this.description = subjectEntity.getDescription();
+        this.isHot = subjectEntity.getIsHot();
+        this.testNum = subjectEntity.getTestNum();
+        this.isNew = subjectEntity.getIsNew();
+        this.imageUrl = subjectEntity.getImageUrl();
+        this.uploader = subjectEntity.getUploader();
+        this.eName = subjectEntity.getEName();
+        this.fileName = subjectEntity.getFileName();
+        this.scoringPrinciple = subjectEntity.getScoringPrinciple();
+        this.scaleLimit = subjectEntity.getScaleLimit();
+        //this.people = subjectEntity.getMen();
+    }
+}

+ 54 - 0
src/main/java/com/rf/psychological/dao/dto/UserRecordsDto.java

@@ -0,0 +1,54 @@
+package com.rf.psychological.dao.dto;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import javax.persistence.Column;
+
+/**
+ * @author lpf
+ * @description: 用户测试记录界面返回参数(去除返回参数中的答题参数testRecord,testResults(老的数据格式)减少传参大小)
+ * @date 2022/5/12 15:39
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class UserRecordsDto {
+
+    private String id;
+
+    private String subjectOrCognitiveId;
+
+    private String phone;
+
+
+    private String institutionNo;
+
+
+    private String flag;
+
+
+    private String name;
+
+
+    private String testDate;
+
+
+    private String testResult;
+
+
+
+    private String fileName;
+
+
+    private String img;
+
+
+    private String type;
+
+
+    private String testPlanId;
+
+}

+ 36 - 0
src/main/java/com/rf/psychological/dao/dto/scale/NewResultDto.java

@@ -0,0 +1,36 @@
+package com.rf.psychological.dao.dto.scale;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @author lpf
+ * @description:
+ * @date 2022/4/20 12:44
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class NewResultDto {
+
+    private String name;
+
+    private String score;
+
+    private String symptom;
+
+    private String improvementSuggestions;
+
+    private String flag;
+
+    private String reference;
+
+    private String nameExplain;
+
+    private String suggestion;
+
+    private String isTotalScoreExplain;
+
+
+}

+ 2 - 0
src/main/java/com/rf/psychological/dao/lombok.config

@@ -0,0 +1,2 @@
+config.stopbubbling=true
+lombok.equalsandhashcode.callsuper=call

+ 30 - 0
src/main/java/com/rf/psychological/dao/model/DSTEntity.java

@@ -0,0 +1,30 @@
+package com.rf.psychological.dao.model;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @author lpf
+ * @description:
+ * @date 2022/3/21 15:34
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class DSTEntity {
+
+    private String index;
+
+    private String diff;
+
+    private String type;
+
+    private String qNumberSequence;
+
+    private String userResponseSequence;
+
+    private String rightOrWrong;
+
+    private String responseTime;
+}

+ 53 - 0
src/main/java/com/rf/psychological/dao/model/DepressEntity.java

@@ -0,0 +1,53 @@
+package com.rf.psychological.dao.model;
+
+import com.rf.psychological.base.model.BaseEntity;
+import lombok.*;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Table;
+
+/**
+ * @author zzf
+ * @description:抑郁焦虑压力量表
+ * @date 2021/1/20 18:31
+ */
+@Entity
+@Data
+@Getter
+@Setter
+@NoArgsConstructor
+@AllArgsConstructor
+@Table(name = "t_depress_info")
+@org.hibernate.annotations.Table(appliesTo = "t_depress_info", comment = "抑郁焦虑压力量表")
+public class DepressEntity extends BaseEntity {
+    /**
+     * 编号
+     */
+    @Column(name = "no", columnDefinition = "int (10) comment '编号'")
+    private int no;
+
+    /**
+     * 内容
+     */
+    @Column(name = "content", columnDefinition = "text comment '内容'")
+    private String content;
+
+    /**
+     * 选项
+     */
+    @Column(name = "check_items", columnDefinition = "text comment '选项'")
+    private String checkItems;
+
+    /**
+     * 默认选项
+     */
+    @Column(name = "checked", columnDefinition = "text comment '默认选项'")
+    private String checked;
+
+    /**
+     * 类型
+     */
+    @Column(name = "type", columnDefinition = "varchar(2) comment '类型 1压力指数  2焦虑指数  3抑郁指数'")
+    private String type;
+}

+ 59 - 0
src/main/java/com/rf/psychological/dao/model/DimensionEntity.java

@@ -0,0 +1,59 @@
+package com.rf.psychological.dao.model;
+
+import com.rf.psychological.base.model.BaseEntity;
+import com.rf.psychological.security.EncryptDecodeConverter;
+import lombok.*;
+import org.hibernate.annotations.DynamicUpdate;
+
+import javax.persistence.Column;
+import javax.persistence.Convert;
+import javax.persistence.Entity;
+import javax.persistence.Table;
+
+/**
+ * @author zzf
+ * @description:量表维度实体类
+ * @date 2021/5/13 11:02
+ */
+@Entity
+@Data
+@Getter
+@Setter
+@NoArgsConstructor
+@AllArgsConstructor
+@Table(name = "t_dimension_info")
+@org.hibernate.annotations.Table(appliesTo = "t_dimension_info", comment = "量表维度表")
+@DynamicUpdate
+public class DimensionEntity extends BaseEntity {
+
+    @Convert(converter = EncryptDecodeConverter.class)
+    @Column(name = "name", columnDefinition = "varchar(400) comment '维度名称'")
+    private String name;
+
+    @Convert(converter = EncryptDecodeConverter.class)
+    @Column(name = "question_no", columnDefinition = "varchar(600) comment '所含题号'")
+    private String questionNo;
+
+    @Column(name = "flag", columnDefinition = "varchar(50) comment '标识:所属量表'")
+    private String flag;
+
+    @Column(name = "is_icon_flag", columnDefinition = "varchar(2) default '0' comment '表示当前字段是否需要在图表展示:0---否,1---是'")
+    private String isIconFlag;
+
+    ///**
+    // * 加密
+    // */
+    //public void encrypt() {
+    //    this.questionNo = DESede.encryptString(this.questionNo);
+    //    this.name = DESede.encryptString(this.name);
+    //}
+    //
+    ///**
+    // * 进行解密
+    // */
+    //public void decrypt() {
+    //    this.questionNo = DESede.decryptString(this.questionNo);
+    //    this.name = DESede.decryptString(this.name);
+    //}
+
+}

+ 47 - 0
src/main/java/com/rf/psychological/dao/model/GBEEntity.java

@@ -0,0 +1,47 @@
+package com.rf.psychological.dao.model;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @author lpf
+ * @description: 枪林弹雨
+ * @date 6/12/2021下午12:13
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class GBEEntity {
+
+    //游戏关卡
+    private String level;
+
+    //是否通过
+    private String isPassed;
+
+    //反应时间
+    private String responseTimeDanger1;
+
+    //反应时间
+    private String responseTimeDanger2;
+
+    //反应时间
+    private String responseTimeDanger3;
+
+    //反应时间
+    private String responseTimeDanger4;
+
+    //得分
+    private String score;
+
+    //错误个数
+    private String errorNum;
+
+    //道路个数
+    private String roadNum;
+
+    //正确率
+    private String rightRate;
+
+}

+ 50 - 0
src/main/java/com/rf/psychological/dao/model/GONOGO2Entity.java

@@ -0,0 +1,50 @@
+package com.rf.psychological.dao.model;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @author zsy
+ * @description:GO/NO-GO测试2实体类
+ * @date 2021/2/1 15:12
+ */
+
+@NoArgsConstructor
+@AllArgsConstructor
+@Data
+public class GONOGO2Entity {
+
+    /**
+     * 箭头朝向 0向左,1向右
+     */
+    private String arrowDirection;
+
+    /**
+     * 信号颜色 0红色,1绿色
+     */
+
+    private String color;
+
+    /**
+     * 是否需要反应 0无需反应,1需反应
+     */
+    private String needResponse;
+
+    /**
+     * 用户点击方向 0向左,1向右
+     */
+
+    private String userDirection;
+
+    /**
+     * 反应是否正确
+     */
+    private String responseTrue;
+
+    /**
+     * 用户反应时间
+     */
+    private String responseTime;
+
+}

+ 39 - 0
src/main/java/com/rf/psychological/dao/model/GONOGOEntity.java

@@ -0,0 +1,39 @@
+package com.rf.psychological.dao.model;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @author zzf
+ * @description:GO/NO-GO测试实体类
+ * @date 2021/2/1 15:12
+ */
+
+@NoArgsConstructor
+@AllArgsConstructor
+@Data
+public class GONOGOEntity {
+
+    /**
+     * 轮次
+     */
+    private String circle;
+
+    /**
+     * 信号颜色
+     */
+
+    private String color;
+
+    /**
+     * 本轮出现次数
+     */
+    private String times;
+
+    /**
+     * 响应时间
+     */
+    private int rspTime;
+
+}

+ 49 - 0
src/main/java/com/rf/psychological/dao/model/GTCTEntity.java

@@ -0,0 +1,49 @@
+package com.rf.psychological.dao.model;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+
+/**
+ * @author zsy
+ * @description:目标追踪认知任务
+ * @date 2021/1/19 16:31
+ */
+@Getter
+@Setter
+@NoArgsConstructor
+@AllArgsConstructor
+public class GTCTEntity {
+
+    /**
+     * 正确率(%)
+     */
+    private String raghtRate;
+
+    /**
+     * 运动速度(秒)
+     */
+    private String velocity;
+
+    /**
+     * 运动时长
+     */
+    private String duration;
+
+    /**
+     * 追踪目标数
+     */
+    private int targetNum;
+
+    /**
+     * 难度等级
+     */
+    private int diff;
+
+    /**
+     * 序号
+     */
+    private int index;
+
+}

+ 31 - 0
src/main/java/com/rf/psychological/dao/model/HaiKongJiZhanAndTanKeHongLiuEntity.java

@@ -0,0 +1,31 @@
+package com.rf.psychological.dao.model;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @author lpf
+ * @description:
+ * @date 2022/1/1415:05
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class HaiKongJiZhanAndTanKeHongLiuEntity {
+
+    //关卡数
+    private String levelNum;
+
+    //每关反应时间
+    private String everyReactionTimes;
+
+    //每关平均反应时间
+    private String averageSlideTimes;
+
+    //每关得分
+    private String scores;
+
+    //每关正确率
+    private String correctRate;
+}

+ 48 - 0
src/main/java/com/rf/psychological/dao/model/HearingTestEntity.java

@@ -0,0 +1,48 @@
+package com.rf.psychological.dao.model;
+
+import com.rf.psychological.base.model.BaseEntity;
+import lombok.*;
+import org.hibernate.annotations.DynamicUpdate;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Table;
+
+/**
+ * @author zsf
+ * @description:听觉词语学习测验(华山版)
+ * @date 2021/5/13 11:02
+ */
+@Entity
+@Data
+@Getter
+@Setter
+@NoArgsConstructor
+@AllArgsConstructor
+@Table(name = "t_hearing_test" )
+@org.hibernate.annotations.Table(appliesTo = "t_hearing_test", comment = "听觉词语学习测验(华山版)表")
+@DynamicUpdate
+public class HearingTestEntity extends BaseEntity {
+
+    @Column(name = "phone",columnDefinition = "varchar(11) not null comment '用户手机号'")
+    private String phone;
+
+    @Column(name = "round",columnDefinition = "varchar(5) not null comment '所属轮次'")
+    private String round;
+
+    @Column(name = "correct_no",columnDefinition = "int(4) comment '正确数'")
+    private String correctNo;
+
+    @Column(name = "grade",columnDefinition = "int(4) comment '得分'")
+    private String grade;
+
+    @Column(name = "status",columnDefinition = "int(2) not null comment '状态:0-已结束;1-进行中'")
+    private int status;
+
+    @Column(name = "test_date",columnDefinition = "varchar(50) not null comment '测试日期'")
+    private String testDate;
+
+    @Column(name = "correlation",columnDefinition = "varchar(36) comment '关联测试id'")
+    private String correlation;
+
+}

+ 38 - 0
src/main/java/com/rf/psychological/dao/model/LifeEntity.java

@@ -0,0 +1,38 @@
+package com.rf.psychological.dao.model;
+
+import com.rf.psychological.base.model.BaseEntity;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.hibernate.annotations.DynamicUpdate;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Table;
+
+/**
+ * @author zzf
+ * @description:
+ * @date 2021/2/1 16:46
+ */
+@Data
+@Entity
+@NoArgsConstructor
+@AllArgsConstructor
+@Table(name = "t_life_info")
+@org.hibernate.annotations.Table(appliesTo = "t_life_info", comment = "生活事件量表")
+@DynamicUpdate
+public class LifeEntity extends BaseEntity {
+
+    @Column(name = "no", columnDefinition = "int(10) comment '题号'")
+    private int no;
+
+    @Column(name = "content", columnDefinition = "varchar(200) comment '内容'")
+    private String content;
+
+    @Column(name = "checked", columnDefinition = "varchar(10) comment '发生次数'")
+    private String checked;
+
+    @Column(name = "score", columnDefinition = "int(10) comment '单次分值'")
+    private int score;
+}

+ 60 - 0
src/main/java/com/rf/psychological/dao/model/MemoryCheckEntity.java

@@ -0,0 +1,60 @@
+package com.rf.psychological.dao.model;
+
+import com.rf.psychological.base.model.BaseEntity;
+import lombok.*;
+import org.hibernate.annotations.DynamicUpdate;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Table;
+
+/**
+ * @author zzf
+ * @description:记忆检查实体类
+ * @date 2021/5/13 11:02
+ */
+@Entity
+@Data
+@Getter
+@Setter
+@NoArgsConstructor
+@AllArgsConstructor
+@Table(name = "t_memory_check" )
+@org.hibernate.annotations.Table(appliesTo = "t_memory_check", comment = "记忆检查结果表")
+@DynamicUpdate
+public class MemoryCheckEntity extends BaseEntity {
+
+    @Column(name = "phone",columnDefinition = "varchar(11) not null comment '用户手机号'")
+    private String phone;
+
+    @Column(name = "question_no",columnDefinition = "varchar(5) not null comment '所属题号'")
+    private String questionNo;
+
+    @Column(name = "gradea",columnDefinition = "int(4) comment '成绩a'")
+    private String gradea;
+
+    @Column(name = "gradeb",columnDefinition = "int(4) comment '成绩b'")
+    private String gradeb;
+
+    @Column(name = "gradec",columnDefinition = "int(4) comment '成绩c'")
+    private String gradec;
+
+    @Column(name = "mina",columnDefinition = "varchar(15) comment '时长a'")
+    private String mina;
+
+    @Column(name = "minb",columnDefinition = "varchar(15) comment '时长b'")
+    private String minb;
+
+    @Column(name = "memory_type" ,columnDefinition = "int(2) not null comment '记忆类型:0-无需记忆;1-即时记忆;2-延时记忆'")
+    private int memoryType;
+
+    @Column(name = "status",columnDefinition = "int(2) not null comment '状态:0-已结束;1-进行中'")
+    private int status;
+
+    @Column(name = "test_date",columnDefinition = "varchar(50) not null comment '测试日期'")
+    private String testDate;
+
+    @Column(name = "correlation_emory",columnDefinition = "varchar(36) comment '关联记忆id'")
+    private String correlationMemory;
+
+}

+ 46 - 0
src/main/java/com/rf/psychological/dao/model/MemoryEntity.java

@@ -0,0 +1,46 @@
+package com.rf.psychological.dao.model;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+
+/**
+ * @author zzf
+ * @description:工作记忆能力测试实体对象
+ * @date 2021/3/4 16:54
+ */
+@Getter
+@Setter
+@NoArgsConstructor
+@AllArgsConstructor
+public class MemoryEntity {
+
+    /**
+     * 任务种类  0-back    1-back  2-back
+     * 0 ,1 , 2
+     */
+    private int backCount;
+
+    /**
+     * 组块序号:每种任务6个组块
+     */
+    private int groupCount;
+
+    /**
+     * 字母序号:0-17
+     */
+    private int charShowCount;
+
+    /**
+     * 字母
+     */
+    private String charStr;
+
+    /**
+     * 响应时间
+     */
+    private int time;
+
+
+}

+ 46 - 0
src/main/java/com/rf/psychological/dao/model/MoodEntity.java

@@ -0,0 +1,46 @@
+package com.rf.psychological.dao.model;
+
+import com.rf.psychological.base.model.BaseEntity;
+import lombok.*;
+import org.hibernate.annotations.DynamicUpdate;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Table;
+
+/**
+ * @author zzf
+ * @description:正性负性情绪量表
+ * @date 2021/1/20 18:40
+ */
+@Entity
+@Data
+@Getter
+@Setter
+@NoArgsConstructor
+@AllArgsConstructor
+@Table(name = "t_mood_info")
+@org.hibernate.annotations.Table(appliesTo = "t_mood_info", comment = "正性负性情绪量表")
+@DynamicUpdate
+public class MoodEntity extends BaseEntity {
+    /**
+     * 编号
+     */
+    @Column(name = "no", columnDefinition = "int(10) comment '编号'")
+    private int no;
+
+    /**
+     * 内容
+     */
+    @Column(name = "content", columnDefinition = "text comment '内容'")
+    private String content;
+
+    /**
+     * 类型:1 正向情绪 0 反向情绪
+     */
+    @Column(name = "type", columnDefinition = "varchar(2) comment '类型:1正向情绪 0反向情绪'")
+    private String type;
+
+    @Column(name = "checked", columnDefinition = "varchar(50) comment '选择项'")
+    private String checked;
+}

+ 42 - 0
src/main/java/com/rf/psychological/dao/model/MovementEntity.java

@@ -0,0 +1,42 @@
+package com.rf.psychological.dao.model;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @author lpf
+ * @description:
+ * @date 14/12/2021下午10:10
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class MovementEntity {
+
+    /**
+     * 序号
+     */
+    private String index;
+
+    /**
+     * 难度系数
+     */
+    private String diff;
+
+    /**
+     * 运动方向
+     */
+    private String direction;
+
+    /**
+     * 用户反应方向
+     */
+    private String userResponse;
+
+    /**
+     * 反应时间
+     */
+    private String responseTime;
+
+}

Some files were not shown because too many files changed in this diff