首次提交
commit
c3b59c306e
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module version="4">
|
||||
<component name="SonarLintModuleSettings">
|
||||
<option name="uniqueId" value="1988a420-6503-4d08-b4e3-879a2b2e7503" />
|
||||
</component>
|
||||
</module>
|
||||
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="AnalysisProjectProfileManager">
|
||||
<option name="PROJECT_PROFILE" />
|
||||
<option name="USE_PROJECT_LEVEL_SETTINGS" value="false" />
|
||||
<list size="0" />
|
||||
</component>
|
||||
<component name="SuppressionsComponent">
|
||||
<option name="suppComments" value="[]" />
|
||||
</component>
|
||||
</project>
|
||||
@ -0,0 +1,8 @@
|
||||
# 默认忽略的文件
|
||||
/shelf/
|
||||
/workspace.xml
|
||||
# 基于编辑器的 HTTP 客户端请求
|
||||
/httpRequests/
|
||||
# Datasource local storage ignored files
|
||||
/dataSources/
|
||||
/dataSources.local.xml
|
||||
@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="CompilerConfiguration">
|
||||
<annotationProcessing>
|
||||
<profile name="Maven default annotation processors profile" enabled="true">
|
||||
<sourceOutputDir name="target/generated-sources/annotations" />
|
||||
<sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
|
||||
<outputRelativeToContentRoot value="true" />
|
||||
<module name="GetDataInterface" />
|
||||
</profile>
|
||||
</annotationProcessing>
|
||||
</component>
|
||||
<component name="JavacSettings">
|
||||
<option name="ADDITIONAL_OPTIONS_OVERRIDE">
|
||||
<module name="GetDataInterface" options="-parameters" />
|
||||
</option>
|
||||
</component>
|
||||
</project>
|
||||
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="Encoding" defaultCharsetForPropertiesFiles="UTF-8">
|
||||
<file url="file://$PROJECT_DIR$/src/main/java" charset="UTF-8" />
|
||||
<file url="PROJECT" charset="UTF-8" />
|
||||
</component>
|
||||
</project>
|
||||
@ -0,0 +1,42 @@
|
||||
<component name="InspectionProjectProfileManager">
|
||||
<profile version="1.0">
|
||||
<option name="myName" value="Project Default" />
|
||||
<inspection_tool class="AlibabaVarargsParameter" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||
<inspection_tool class="DuplicatedCode" enabled="true" level="WEAK WARNING" enabled_by_default="true">
|
||||
<Languages>
|
||||
<language minSize="69" name="Java" />
|
||||
</Languages>
|
||||
</inspection_tool>
|
||||
<inspection_tool class="JavaDoc" enabled="true" level="WARNING" enabled_by_default="true">
|
||||
<option name="TOP_LEVEL_CLASS_OPTIONS">
|
||||
<value>
|
||||
<option name="ACCESS_JAVADOC_REQUIRED_FOR" value="none" />
|
||||
<option name="REQUIRED_TAGS" value="" />
|
||||
</value>
|
||||
</option>
|
||||
<option name="INNER_CLASS_OPTIONS">
|
||||
<value>
|
||||
<option name="ACCESS_JAVADOC_REQUIRED_FOR" value="none" />
|
||||
<option name="REQUIRED_TAGS" value="" />
|
||||
</value>
|
||||
</option>
|
||||
<option name="METHOD_OPTIONS">
|
||||
<value>
|
||||
<option name="ACCESS_JAVADOC_REQUIRED_FOR" value="none" />
|
||||
<option name="REQUIRED_TAGS" value="@return@param@throws or @exception" />
|
||||
</value>
|
||||
</option>
|
||||
<option name="FIELD_OPTIONS">
|
||||
<value>
|
||||
<option name="ACCESS_JAVADOC_REQUIRED_FOR" value="none" />
|
||||
<option name="REQUIRED_TAGS" value="" />
|
||||
</value>
|
||||
</option>
|
||||
<option name="IGNORE_DEPRECATED" value="false" />
|
||||
<option name="IGNORE_JAVADOC_PERIOD" value="true" />
|
||||
<option name="IGNORE_DUPLICATED_THROWS" value="false" />
|
||||
<option name="IGNORE_POINT_TO_ITSELF" value="false" />
|
||||
<option name="myAdditionalJavadocTags" value="Author,Date,Description,Author:,Date:,Description:,,Param:,return:,date,author:,date:,description:" />
|
||||
</inspection_tool>
|
||||
</profile>
|
||||
</component>
|
||||
@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="RemoteRepositoriesConfiguration">
|
||||
<remote-repository>
|
||||
<option name="id" value="central" />
|
||||
<option name="name" value="Maven Central repository" />
|
||||
<option name="url" value="https://repo1.maven.org/maven2" />
|
||||
</remote-repository>
|
||||
<remote-repository>
|
||||
<option name="id" value="jboss.community" />
|
||||
<option name="name" value="JBoss Community repository" />
|
||||
<option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
|
||||
</remote-repository>
|
||||
<remote-repository>
|
||||
<option name="id" value="central" />
|
||||
<option name="name" value="Central Repository" />
|
||||
<option name="url" value="https://maven.aliyun.com/repository/public" />
|
||||
</remote-repository>
|
||||
</component>
|
||||
</project>
|
||||
@ -0,0 +1,27 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ExternalStorageConfigurationManager" enabled="true" />
|
||||
<component name="FindBugsConfigurable">
|
||||
<option name="make" value="true" />
|
||||
<option name="effort" value="default" />
|
||||
<option name="priority" value="Medium" />
|
||||
<option name="excludeFilter" value="" />
|
||||
</component>
|
||||
<component name="FrameworkDetectionExcludesConfiguration">
|
||||
<file type="web" url="file://$PROJECT_DIR$" />
|
||||
</component>
|
||||
<component name="MavenProjectsManager">
|
||||
<option name="originalFiles">
|
||||
<list>
|
||||
<option value="$PROJECT_DIR$/pom.xml" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK" />
|
||||
<component name="ProjectType">
|
||||
<option name="id" value="jpab" />
|
||||
</component>
|
||||
<component name="SuppressionsComponent">
|
||||
<option name="suppComments" value="[]" />
|
||||
</component>
|
||||
</project>
|
||||
@ -0,0 +1,465 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="AnalysisProjectProfileManager">
|
||||
<option name="PROJECT_PROFILE" value="Project Default" />
|
||||
<option name="USE_PROJECT_LEVEL_SETTINGS" value="false" />
|
||||
<scopes />
|
||||
<profiles>
|
||||
<profile profile_name="Project Default" version="1.0" is_locked="false">
|
||||
<coding_rule class="AM_CREATES_EMPTY_JAR_FILE_ENTRY" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="AM_CREATES_EMPTY_ZIP_FILE_ENTRY" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="AT_OPERATION_SEQUENCE_ON_CONCURRENT_ABSTRACTION" level="CRITICAL" enabled="false" />
|
||||
<coding_rule class="BAC_BAD_APPLET_CONSTRUCTOR" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="BC_BAD_CAST_TO_ABSTRACT_COLLECTION" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="BC_BAD_CAST_TO_CONCRETE_COLLECTION" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="BC_EQUALS_METHOD_SHOULD_WORK_FOR_ALL_OBJECTS" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="BC_IMPOSSIBLE_CAST" level="BLOCKER" enabled="true" />
|
||||
<coding_rule class="BC_IMPOSSIBLE_DOWNCAST" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="BC_IMPOSSIBLE_DOWNCAST_OF_TOARRAY" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="BC_IMPOSSIBLE_INSTANCEOF" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="BC_UNCONFIRMED_CAST" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="BC_UNCONFIRMED_CAST_OF_RETURN_VALUE" level="CRITICAL" enabled="false" />
|
||||
<coding_rule class="BC_VACUOUS_INSTANCEOF" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="BIT_ADD_OF_SIGNED_BYTE" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="BIT_AND" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="BIT_AND_ZZ" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="BIT_IOR" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="BIT_IOR_OF_SIGNED_BYTE" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="BIT_SIGNED_CHECK" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="BIT_SIGNED_CHECK_HIGH_BIT" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="BOA_BADLY_OVERRIDDEN_ADAPTER" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="BSHIFT_WRONG_ADD_PRIORITY" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="BX_BOXING_IMMEDIATELY_UNBOXED" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="BX_BOXING_IMMEDIATELY_UNBOXED_TO_PERFORM_COERCION" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="BX_UNBOXED_AND_COERCED_FOR_TERNARY_OPERATOR" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="BX_UNBOXING_IMMEDIATELY_REBOXED" level="CRITICAL" enabled="false" />
|
||||
<coding_rule class="CAA_COVARIANT_ARRAY_ELEMENT_STORE" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="CAA_COVARIANT_ARRAY_FIELD" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="CAA_COVARIANT_ARRAY_LOCAL" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="CAA_COVARIANT_ARRAY_RETURN" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="CD_CIRCULAR_DEPENDENCY" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="CI_CONFUSED_INHERITANCE" level="MINOR" enabled="true" />
|
||||
<coding_rule class="CNT_ROUGH_CONSTANT_VALUE" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="CN_IDIOM" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="CN_IDIOM_NO_SUPER_CALL" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="CN_IMPLEMENTS_CLONE_BUT_NOT_CLONEABLE" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="CO_ABSTRACT_SELF" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="CO_COMPARETO_INCORRECT_FLOATING" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="CO_COMPARETO_RESULTS_MIN_VALUE" level="CRITICAL" enabled="false" />
|
||||
<coding_rule class="CO_SELF_NO_OBJECT" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="DB_DUPLICATE_BRANCHES" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="DB_DUPLICATE_SWITCH_CLAUSES" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="DC_DOUBLECHECK" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="DC_PARTIALLY_CONSTRUCTED" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="DE_MIGHT_DROP" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="DE_MIGHT_IGNORE" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="DLS_DEAD_LOCAL_INCREMENT_IN_RETURN" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="DLS_DEAD_LOCAL_STORE" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="DLS_DEAD_LOCAL_STORE_IN_RETURN" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="DLS_DEAD_LOCAL_STORE_OF_NULL" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="DLS_DEAD_LOCAL_STORE_SHADOWS_FIELD" level="CRITICAL" enabled="false" />
|
||||
<coding_rule class="DLS_DEAD_STORE_OF_CLASS_LITERAL" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="DLS_OVERWRITTEN_INCREMENT" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="DL_SYNCHRONIZATION_ON_BOOLEAN" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="DL_SYNCHRONIZATION_ON_BOXED_PRIMITIVE" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="DL_SYNCHRONIZATION_ON_SHARED_CONSTANT" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="DL_SYNCHRONIZATION_ON_UNSHARED_BOXED_PRIMITIVE" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="DMI_ANNOTATION_IS_NOT_VISIBLE_TO_REFLECTION" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="DMI_ARGUMENTS_WRONG_ORDER" level="CRITICAL" enabled="false" />
|
||||
<coding_rule class="DMI_BAD_MONTH" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="DMI_BIGDECIMAL_CONSTRUCTED_FROM_DOUBLE" level="CRITICAL" enabled="false" />
|
||||
<coding_rule class="DMI_BLOCKING_METHODS_ON_URL" level="BLOCKER" enabled="true" />
|
||||
<coding_rule class="DMI_CALLING_NEXT_FROM_HASNEXT" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="DMI_COLLECTIONS_SHOULD_NOT_CONTAIN_THEMSELVES" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="DMI_COLLECTION_OF_URLS" level="BLOCKER" enabled="true" />
|
||||
<coding_rule class="DMI_CONSTANT_DB_PASSWORD" level="BLOCKER" enabled="true" />
|
||||
<coding_rule class="DMI_DOH" level="CRITICAL" enabled="false" />
|
||||
<coding_rule class="DMI_EMPTY_DB_PASSWORD" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="DMI_ENTRY_SETS_MAY_REUSE_ENTRY_OBJECTS" level="CRITICAL" enabled="false" />
|
||||
<coding_rule class="DMI_FUTILE_ATTEMPT_TO_CHANGE_MAXPOOL_SIZE_OF_SCHEDULED_THREAD_POOL_EXECUTOR" level="MINOR" enabled="true" />
|
||||
<coding_rule class="DMI_HARDCODED_ABSOLUTE_FILENAME" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="DMI_INVOKING_HASHCODE_ON_ARRAY" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="DMI_INVOKING_TOSTRING_ON_ANONYMOUS_ARRAY" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="DMI_INVOKING_TOSTRING_ON_ARRAY" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="DMI_LONG_BITS_TO_DOUBLE_INVOKED_ON_INT" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="DMI_NONSERIALIZABLE_OBJECT_WRITTEN" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="DMI_RANDOM_USED_ONLY_ONCE" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="DMI_SCHEDULED_THREAD_POOL_EXECUTOR_WITH_ZERO_CORE_THREADS" level="MINOR" enabled="true" />
|
||||
<coding_rule class="DMI_THREAD_PASSED_WHERE_RUNNABLE_EXPECTED" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="DMI_UNSUPPORTED_METHOD" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="DMI_USELESS_SUBSTRING" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="DMI_USING_REMOVEALL_TO_CLEAR_COLLECTION" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="DMI_VACUOUS_CALL_TO_EASYMOCK_METHOD" level="MINOR" enabled="true" />
|
||||
<coding_rule class="DMI_VACUOUS_SELF_COLLECTION_CALL" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="DM_BOOLEAN_CTOR" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="DM_BOXED_PRIMITIVE_FOR_COMPARE" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="DM_BOXED_PRIMITIVE_FOR_PARSING" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="DM_BOXED_PRIMITIVE_TOSTRING" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="DM_CONVERT_CASE" level="INFO" enabled="true" />
|
||||
<coding_rule class="DM_DEFAULT_ENCODING" level="CRITICAL" enabled="false" />
|
||||
<coding_rule class="DM_EXIT" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="DM_FP_NUMBER_CTOR" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="DM_GC" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="DM_INVALID_MIN_MAX" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="DM_MONITOR_WAIT_ON_CONDITION" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="DM_NEW_FOR_GETCLASS" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="DM_NEXTINT_VIA_NEXTDOUBLE" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="DM_NUMBER_CTOR" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="DM_RUN_FINALIZERS_ON_EXIT" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="DM_STRING_CTOR" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="DM_STRING_TOSTRING" level="INFO" enabled="true" />
|
||||
<coding_rule class="DM_STRING_VOID_CTOR" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="DM_USELESS_THREAD" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="DP_CREATE_CLASSLOADER_INSIDE_DO_PRIVILEGED" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="DP_DO_INSIDE_DO_PRIVILEGED" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="EC_ARRAY_AND_NONARRAY" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="EC_BAD_ARRAY_COMPARE" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="EC_INCOMPATIBLE_ARRAY_COMPARE" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="EC_NULL_ARG" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="EC_UNRELATED_CLASS_AND_INTERFACE" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="EC_UNRELATED_INTERFACES" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="EC_UNRELATED_TYPES" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="EC_UNRELATED_TYPES_USING_POINTER_EQUALITY" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="EI_EXPOSE_REP" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="EI_EXPOSE_REP2" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="EI_EXPOSE_STATIC_REP2" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="EQ_ABSTRACT_SELF" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="EQ_ALWAYS_FALSE" level="BLOCKER" enabled="true" />
|
||||
<coding_rule class="EQ_ALWAYS_TRUE" level="BLOCKER" enabled="true" />
|
||||
<coding_rule class="EQ_CHECK_FOR_OPERAND_NOT_COMPATIBLE_WITH_THIS" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="EQ_COMPARETO_USE_OBJECT_EQUALS" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="EQ_COMPARING_CLASS_NAMES" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="EQ_DOESNT_OVERRIDE_EQUALS" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="EQ_DONT_DEFINE_EQUALS_FOR_ENUM" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="EQ_GETCLASS_AND_CLASS_CONSTANT" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="EQ_OTHER_NO_OBJECT" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="EQ_OTHER_USE_OBJECT" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="EQ_OVERRIDING_EQUALS_NOT_SYMMETRIC" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="EQ_SELF_NO_OBJECT" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="EQ_SELF_USE_OBJECT" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="EQ_UNUSUAL" level="MINOR" enabled="true" />
|
||||
<coding_rule class="ES_COMPARING_PARAMETER_STRING_WITH_EQ" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="ES_COMPARING_STRINGS_WITH_EQ" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="ESync_EMPTY_SYNC" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="FB_MISSING_EXPECTED_WARNING" level="CRITICAL" enabled="false" />
|
||||
<coding_rule class="FB_UNEXPECTED_WARNING" level="CRITICAL" enabled="false" />
|
||||
<coding_rule class="FE_FLOATING_POINT_EQUALITY" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="FE_TEST_IF_EQUAL_TO_NOT_A_NUMBER" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="FI_EMPTY" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="FI_EXPLICIT_INVOCATION" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="FI_FINALIZER_NULLS_FIELDS" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="FI_FINALIZER_ONLY_NULLS_FIELDS" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="FI_MISSING_SUPER_CALL" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="FI_NULLIFY_SUPER" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="FI_PUBLIC_SHOULD_BE_PROTECTED" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="FI_USELESS" level="MINOR" enabled="true" />
|
||||
<coding_rule class="FL_MATH_USING_FLOAT_PRECISION" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="GC_UNCHECKED_TYPE_IN_GENERIC_CALL" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="GC_UNRELATED_TYPES" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="HE_EQUALS_NO_HASHCODE" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="HE_EQUALS_USE_HASHCODE" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="HE_HASHCODE_NO_EQUALS" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="HE_HASHCODE_USE_OBJECT_EQUALS" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="HE_INHERITS_EQUALS_USE_HASHCODE" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="HE_SIGNATURE_DECLARES_HASHING_OF_UNHASHABLE_CLASS" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="HE_USE_OF_UNHASHABLE_CLASS" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="HRS_REQUEST_PARAMETER_TO_COOKIE" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="HRS_REQUEST_PARAMETER_TO_HTTP_HEADER" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="HSC_HUGE_SHARED_STRING_CONSTANT" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="IA_AMBIGUOUS_INVOCATION_OF_INHERITED_OR_OUTER_METHOD" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="ICAST_BAD_SHIFT_AMOUNT" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="ICAST_IDIV_CAST_TO_DOUBLE" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="ICAST_INTEGER_MULTIPLY_CAST_TO_LONG" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="ICAST_INT_2_LONG_AS_INSTANT" level="CRITICAL" enabled="false" />
|
||||
<coding_rule class="ICAST_INT_CAST_TO_DOUBLE_PASSED_TO_CEIL" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="ICAST_INT_CAST_TO_FLOAT_PASSED_TO_ROUND" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="ICAST_QUESTIONABLE_UNSIGNED_RIGHT_SHIFT" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="IC_INIT_CIRCULARITY" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="IC_SUPERCLASS_USES_SUBCLASS_DURING_INITIALIZATION" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="IIL_ELEMENTS_GET_LENGTH_IN_LOOP" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="IIL_PATTERN_COMPILE_IN_LOOP" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="IIL_PATTERN_COMPILE_IN_LOOP_INDIRECT" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="IIL_PREPARE_STATEMENT_IN_LOOP" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="IIO_INEFFICIENT_INDEX_OF" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="IIO_INEFFICIENT_LAST_INDEX_OF" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="IJU_ASSERT_METHOD_INVOKED_FROM_RUN_METHOD" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="IJU_BAD_SUITE_METHOD" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="IJU_NO_TESTS" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="IJU_SETUP_NO_SUPER" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="IJU_SUITE_NOT_STATIC" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="IJU_TEARDOWN_NO_SUPER" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="IL_CONTAINER_ADDED_TO_ITSELF" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="IL_INFINITE_LOOP" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="IL_INFINITE_RECURSIVE_LOOP" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="IMA_INEFFICIENT_MEMBER_ACCESS" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="IMSE_DONT_CATCH_IMSE" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="IM_AVERAGE_COMPUTATION_COULD_OVERFLOW" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="IM_BAD_CHECK_FOR_ODD" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="IM_MULTIPLYING_RESULT_OF_IREM" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="INT_BAD_COMPARISON_WITH_INT_VALUE" level="CRITICAL" enabled="false" />
|
||||
<coding_rule class="INT_BAD_COMPARISON_WITH_NONNEGATIVE_VALUE" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="INT_BAD_COMPARISON_WITH_SIGNED_BYTE" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="INT_BAD_REM_BY_1" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="INT_VACUOUS_BIT_OPERATION" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="INT_VACUOUS_COMPARISON" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="IO_APPENDING_TO_OBJECT_OUTPUT_STREAM" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="IP_PARAMETER_IS_DEAD_BUT_OVERWRITTEN" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="IS2_INCONSISTENT_SYNC" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="ISC_INSTANTIATE_STATIC_CLASS" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="IS_FIELD_NOT_GUARDED" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="ITA_INEFFICIENT_TO_ARRAY" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="IT_NO_SUCH_ELEMENT" level="MINOR" enabled="true" />
|
||||
<coding_rule class="J2EE_STORE_OF_NON_SERIALIZABLE_OBJECT_INTO_SESSION" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="JCIP_FIELD_ISNT_FINAL_IN_IMMUTABLE_CLASS" level="MINOR" enabled="true" />
|
||||
<coding_rule class="JLM_JSR166_LOCK_MONITORENTER" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="JLM_JSR166_UTILCONCURRENT_MONITORENTER" level="CRITICAL" enabled="false" />
|
||||
<coding_rule class="JML_JSR166_CALLING_WAIT_RATHER_THAN_AWAIT" level="CRITICAL" enabled="false" />
|
||||
<coding_rule class="LG_LOST_LOGGER_DUE_TO_WEAK_REFERENCE" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="LI_LAZY_INIT_STATIC" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="LI_LAZY_INIT_UPDATE_STATIC" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="ME_ENUM_FIELD_SETTER" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="ME_MUTABLE_ENUM_FIELD" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="MF_CLASS_MASKS_FIELD" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="MF_METHOD_MASKS_FIELD" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="ML_SYNC_ON_FIELD_TO_GUARD_CHANGING_THAT_FIELD" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="ML_SYNC_ON_UPDATED_FIELD" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="MSF_MUTABLE_SERVLET_FIELD" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="MS_CANNOT_BE_FINAL" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="MS_EXPOSE_REP" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="MS_FINAL_PKGPROTECT" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="MS_MUTABLE_ARRAY" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="MS_MUTABLE_COLLECTION" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="MS_MUTABLE_COLLECTION_PKGPROTECT" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="MS_MUTABLE_HASHTABLE" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="MS_OOI_PKGPROTECT" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="MS_PKGPROTECT" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="MS_SHOULD_BE_FINAL" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="MS_SHOULD_BE_REFACTORED_TO_BE_FINAL" level="CRITICAL" enabled="false" />
|
||||
<coding_rule class="MTIA_SUSPECT_SERVLET_INSTANCE_FIELD" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="MTIA_SUSPECT_STRUTS_INSTANCE_FIELD" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="MWN_MISMATCHED_NOTIFY" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="MWN_MISMATCHED_WAIT" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="NM_BAD_EQUAL" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="NM_CLASS_NAMING_CONVENTION" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="NM_CLASS_NOT_EXCEPTION" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="NM_CONFUSING" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="NM_FIELD_NAMING_CONVENTION" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="NM_FUTURE_KEYWORD_USED_AS_IDENTIFIER" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="NM_FUTURE_KEYWORD_USED_AS_MEMBER_IDENTIFIER" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="NM_LCASE_HASHCODE" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="NM_LCASE_TOSTRING" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="NM_METHOD_CONSTRUCTOR_CONFUSION" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="NM_METHOD_NAMING_CONVENTION" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="NM_SAME_SIMPLE_NAME_AS_INTERFACE" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="NM_SAME_SIMPLE_NAME_AS_SUPERCLASS" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="NM_VERY_CONFUSING" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="NM_VERY_CONFUSING_INTENTIONAL" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="NM_WRONG_PACKAGE" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="NM_WRONG_PACKAGE_INTENTIONAL" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="NN_NAKED_NOTIFY" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="NOISE_FIELD_REFERENCE" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="NOISE_METHOD_CALL" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="NOISE_NULL_DEREFERENCE" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="NOISE_OPERATION" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="NO_NOTIFY_NOT_NOTIFYALL" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="NP_ALWAYS_NULL" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="NP_ALWAYS_NULL_EXCEPTION" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="NP_ARGUMENT_MIGHT_BE_NULL" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="NP_BOOLEAN_RETURN_NULL" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="NP_CLONE_COULD_RETURN_NULL" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="NP_CLOSING_NULL" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="NP_DEREFERENCE_OF_READLINE_VALUE" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="NP_EQUALS_SHOULD_HANDLE_NULL_ARGUMENT" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="NP_GUARANTEED_DEREF" level="BLOCKER" enabled="true" />
|
||||
<coding_rule class="NP_GUARANTEED_DEREF_ON_EXCEPTION_PATH" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="NP_IMMEDIATE_DEREFERENCE_OF_READLINE" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="NP_LOAD_OF_KNOWN_NULL_VALUE" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="NP_METHOD_PARAMETER_TIGHTENS_ANNOTATION" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="NP_METHOD_RETURN_RELAXING_ANNOTATION" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR" level="CRITICAL" enabled="false" />
|
||||
<coding_rule class="NP_NONNULL_PARAM_VIOLATION" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="NP_NONNULL_RETURN_VIOLATION" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="NP_NULL_INSTANCEOF" level="BLOCKER" enabled="true" />
|
||||
<coding_rule class="NP_NULL_ON_SOME_PATH" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="NP_NULL_ON_SOME_PATH_EXCEPTION" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="NP_NULL_ON_SOME_PATH_MIGHT_BE_INFEASIBLE" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="NP_NULL_PARAM_DEREF" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="NP_NULL_PARAM_DEREF_ALL_TARGETS_DANGEROUS" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="NP_NULL_PARAM_DEREF_NONVIRTUAL" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="NP_OPTIONAL_RETURN_NULL" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="NP_PARAMETER_MUST_BE_NONNULL_BUT_MARKED_AS_NULLABLE" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="NP_STORE_INTO_NONNULL_FIELD" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="NP_SYNC_AND_NULL_CHECK_FIELD" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="NP_TOSTRING_COULD_RETURN_NULL" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="NP_UNWRITTEN_FIELD" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="NP_UNWRITTEN_PUBLIC_OR_PROTECTED_FIELD" level="CRITICAL" enabled="false" />
|
||||
<coding_rule class="NS_DANGEROUS_NON_SHORT_CIRCUIT" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="NS_NON_SHORT_CIRCUIT" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="OBL_UNSATISFIED_OBLIGATION" level="CRITICAL" enabled="false" />
|
||||
<coding_rule class="OBL_UNSATISFIED_OBLIGATION_EXCEPTION_EDGE" level="CRITICAL" enabled="false" />
|
||||
<coding_rule class="ODR_OPEN_DATABASE_RESOURCE" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="ODR_OPEN_DATABASE_RESOURCE_EXCEPTION_PATH" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="OS_OPEN_STREAM" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="OS_OPEN_STREAM_EXCEPTION_PATH" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="PS_PUBLIC_SEMAPHORES" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="PT_ABSOLUTE_PATH_TRAVERSAL" level="CRITICAL" enabled="false" />
|
||||
<coding_rule class="PT_RELATIVE_PATH_TRAVERSAL" level="CRITICAL" enabled="false" />
|
||||
<coding_rule class="PZLA_PREFER_ZERO_LENGTH_ARRAYS" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="PZ_DONT_REUSE_ENTRY_OBJECTS_IN_ITERATORS" level="CRITICAL" enabled="false" />
|
||||
<coding_rule class="QBA_QUESTIONABLE_BOOLEAN_ASSIGNMENT" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="QF_QUESTIONABLE_FOR_LOOP" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="RANGE_ARRAY_INDEX" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="RANGE_ARRAY_LENGTH" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="RANGE_ARRAY_OFFSET" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="RANGE_STRING_INDEX" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="RCN_REDUNDANT_COMPARISON_OF_NULL_AND_NONNULL_VALUE" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="RCN_REDUNDANT_COMPARISON_TWO_NULL_VALUES" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="RCN_REDUNDANT_NULLCHECK_OF_NULL_VALUE" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="RC_REF_COMPARISON" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="RC_REF_COMPARISON_BAD_PRACTICE" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="RC_REF_COMPARISON_BAD_PRACTICE_BOOLEAN" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="REC_CATCH_EXCEPTION" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="RE_BAD_SYNTAX_FOR_REGULAR_EXPRESSION" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="RE_CANT_USE_FILE_SEPARATOR_AS_REGULAR_EXPRESSION" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="RE_POSSIBLE_UNINTENDED_PATTERN" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="RI_REDUNDANT_INTERFACES" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="RR_NOT_CHECKED" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="RS_READOBJECT_SYNC" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="RU_INVOKE_RUN" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="RV_01_TO_INT" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="RV_ABSOLUTE_VALUE_OF_HASHCODE" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="RV_ABSOLUTE_VALUE_OF_RANDOM_INT" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="RV_CHECK_COMPARETO_FOR_SPECIFIC_RETURN_VALUE" level="CRITICAL" enabled="false" />
|
||||
<coding_rule class="RV_CHECK_FOR_POSITIVE_INDEXOF" level="MINOR" enabled="true" />
|
||||
<coding_rule class="RV_DONT_JUST_NULL_CHECK_READLINE" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="RV_EXCEPTION_NOT_THROWN" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="RV_NEGATING_RESULT_OF_COMPARETO" level="CRITICAL" enabled="false" />
|
||||
<coding_rule class="RV_REM_OF_HASHCODE" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="RV_REM_OF_RANDOM_INT" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="RV_RETURN_VALUE_IGNORED" level="MINOR" enabled="true" />
|
||||
<coding_rule class="RV_RETURN_VALUE_IGNORED_BAD_PRACTICE" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="RV_RETURN_VALUE_IGNORED_INFERRED" level="CRITICAL" enabled="false" />
|
||||
<coding_rule class="RV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="RV_RETURN_VALUE_OF_PUTIFABSENT_IGNORED" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="RpC_REPEATED_CONDITIONAL_TEST" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="SA_FIELD_DOUBLE_ASSIGNMENT" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="SA_FIELD_SELF_ASSIGNMENT" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="SA_FIELD_SELF_COMPARISON" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="SA_FIELD_SELF_COMPUTATION" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="SA_LOCAL_DOUBLE_ASSIGNMENT" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="SA_LOCAL_SELF_ASSIGNMENT" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="SA_LOCAL_SELF_ASSIGNMENT_INSTEAD_OF_FIELD" level="CRITICAL" enabled="false" />
|
||||
<coding_rule class="SA_LOCAL_SELF_COMPARISON" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="SA_LOCAL_SELF_COMPUTATION" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="SBSC_USE_STRINGBUFFER_CONCATENATION" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="SC_START_IN_CTOR" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="SE_BAD_FIELD" level="MINOR" enabled="false" />
|
||||
<coding_rule class="SE_BAD_FIELD_INNER_CLASS" level="MINOR" enabled="true" />
|
||||
<coding_rule class="SE_BAD_FIELD_STORE" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="SE_COMPARATOR_SHOULD_BE_SERIALIZABLE" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="SE_INNER_CLASS" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="SE_METHOD_MUST_BE_PRIVATE" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="SE_NONFINAL_SERIALVERSIONID" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="SE_NONLONG_SERIALVERSIONID" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="SE_NONSTATIC_SERIALVERSIONID" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="SE_NO_SERIALVERSIONID" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="SE_NO_SUITABLE_CONSTRUCTOR" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="SE_NO_SUITABLE_CONSTRUCTOR_FOR_EXTERNALIZATION" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="SE_PRIVATE_READ_RESOLVE_NOT_INHERITED" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="SE_READ_RESOLVE_IS_STATIC" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="SE_READ_RESOLVE_MUST_RETURN_OBJECT" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="SE_TRANSIENT_FIELD_NOT_RESTORED" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="SE_TRANSIENT_FIELD_OF_NONSERIALIZABLE_CLASS" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="SF_DEAD_STORE_DUE_TO_SWITCH_FALLTHROUGH" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="SF_DEAD_STORE_DUE_TO_SWITCH_FALLTHROUGH_TO_THROW" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="SF_SWITCH_FALLTHROUGH" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="SF_SWITCH_NO_DEFAULT" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="SIC_INNER_SHOULD_BE_STATIC" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="SIC_INNER_SHOULD_BE_STATIC_ANON" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="SIC_INNER_SHOULD_BE_STATIC_NEEDS_THIS" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="SIC_THREADLOCAL_DEADLY_EMBRACE" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="SIO_SUPERFLUOUS_INSTANCEOF" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="SI_INSTANCE_BEFORE_FINALS_ASSIGNED" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="SP_SPIN_ON_FIELD" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="SQL_BAD_PREPARED_STATEMENT_ACCESS" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="SQL_BAD_RESULTSET_ACCESS" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="SQL_PREPARED_STATEMENT_GENERATED_FROM_NONCONSTANT_STRING" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="SR_NOT_CHECKED" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="SS_SHOULD_BE_STATIC" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="STCAL_INVOKE_ON_STATIC_CALENDAR_INSTANCE" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="STCAL_INVOKE_ON_STATIC_DATE_FORMAT_INSTANCE" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="STCAL_STATIC_CALENDAR_INSTANCE" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="STCAL_STATIC_SIMPLE_DATE_FORMAT_INSTANCE" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="STI_INTERRUPTED_ON_CURRENTTHREAD" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="STI_INTERRUPTED_ON_UNKNOWNTHREAD" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="SWL_SLEEP_WITH_LOCK_HELD" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="SW_SWING_METHODS_INVOKED_IN_SWING_THREAD" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="TLW_TWO_LOCK_WAIT" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="TQ_ALWAYS_VALUE_USED_WHERE_NEVER_REQUIRED" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="TQ_COMPARING_VALUES_WITH_INCOMPATIBLE_TYPE_QUALIFIERS" level="CRITICAL" enabled="false" />
|
||||
<coding_rule class="TQ_EXPLICIT_UNKNOWN_SOURCE_VALUE_REACHES_ALWAYS_SINK" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="TQ_EXPLICIT_UNKNOWN_SOURCE_VALUE_REACHES_NEVER_SINK" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="TQ_MAYBE_SOURCE_VALUE_REACHES_ALWAYS_SINK" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="TQ_MAYBE_SOURCE_VALUE_REACHES_NEVER_SINK" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="TQ_NEVER_VALUE_USED_WHERE_ALWAYS_REQUIRED" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="TQ_UNKNOWN_VALUE_USED_WHERE_ALWAYS_STRICTLY_REQUIRED" level="CRITICAL" enabled="false" />
|
||||
<coding_rule class="UCF_USELESS_CONTROL_FLOW" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="UCF_USELESS_CONTROL_FLOW_NEXT_LINE" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="UC_USELESS_CONDITION" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="UC_USELESS_CONDITION_TYPE" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="UC_USELESS_OBJECT" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="UC_USELESS_OBJECT_STACK" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="UC_USELESS_VOID_METHOD" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="UG_SYNC_SET_UNSYNC_GET" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="UI_INHERITANCE_UNSAFE_GETRESOURCE" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="UL_UNRELEASED_LOCK" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="UL_UNRELEASED_LOCK_EXCEPTION_PATH" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="UMAC_UNCALLABLE_METHOD_OF_ANONYMOUS_CLASS" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="UM_UNNECESSARY_MATH" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="UPM_UNCALLED_PRIVATE_METHOD" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="URF_UNREAD_FIELD" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD" level="CRITICAL" enabled="false" />
|
||||
<coding_rule class="UR_UNINIT_READ" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="UR_UNINIT_READ_CALLED_FROM_SUPER_CONSTRUCTOR" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="USM_USELESS_ABSTRACT_METHOD" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="USM_USELESS_SUBCLASS_METHOD" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="UUF_UNUSED_FIELD" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="UUF_UNUSED_PUBLIC_OR_PROTECTED_FIELD" level="CRITICAL" enabled="false" />
|
||||
<coding_rule class="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="UWF_NULL_FIELD" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="UWF_UNWRITTEN_FIELD" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="UWF_UNWRITTEN_PUBLIC_OR_PROTECTED_FIELD" level="CRITICAL" enabled="false" />
|
||||
<coding_rule class="UW_UNCOND_WAIT" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="VA_FORMAT_STRING_BAD_ARGUMENT" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="VA_FORMAT_STRING_BAD_CONVERSION" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="VA_FORMAT_STRING_BAD_CONVERSION_FROM_ARRAY" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="VA_FORMAT_STRING_BAD_CONVERSION_TO_BOOLEAN" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="VA_FORMAT_STRING_EXPECTED_MESSAGE_FORMAT_SUPPLIED" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="VA_FORMAT_STRING_EXTRA_ARGUMENTS_PASSED" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="VA_FORMAT_STRING_ILLEGAL" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="VA_FORMAT_STRING_MISSING_ARGUMENT" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="VA_FORMAT_STRING_NO_PREVIOUS_ARGUMENT" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="VA_FORMAT_STRING_USES_NEWLINE" level="CRITICAL" enabled="false" />
|
||||
<coding_rule class="VA_PRIMITIVE_ARRAY_PASSED_TO_OBJECT_VARARG" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="VO_VOLATILE_INCREMENT" level="CRITICAL" enabled="false" />
|
||||
<coding_rule class="VO_VOLATILE_REFERENCE_TO_ARRAY" level="MAJOR" enabled="true" />
|
||||
<coding_rule class="VR_UNRESOLVABLE_REFERENCE" level="MAJOR" enabled="false" />
|
||||
<coding_rule class="WA_AWAIT_NOT_IN_LOOP" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="WA_NOT_IN_LOOP" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="WL_USING_GETCLASS_RATHER_THAN_CLASS_LITERAL" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="WMI_WRONG_MAP_ITERATOR" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="WS_WRITEOBJECT_SYNC" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="XFB_XML_FACTORY_BYPASS" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="XSS_REQUEST_PARAMETER_TO_JSP_WRITER" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="XSS_REQUEST_PARAMETER_TO_SEND_ERROR" level="CRITICAL" enabled="true" />
|
||||
<coding_rule class="XSS_REQUEST_PARAMETER_TO_SERVLET_WRITER" level="CRITICAL" enabled="true" />
|
||||
</profile>
|
||||
</profiles>
|
||||
<list size="0" />
|
||||
</component>
|
||||
</project>
|
||||
@ -0,0 +1,124 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="Palette2">
|
||||
<group name="Swing">
|
||||
<item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
|
||||
</item>
|
||||
<item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
|
||||
</item>
|
||||
<item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
|
||||
</item>
|
||||
<item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.png" removable="false" auto-create-binding="false" can-attach-label="true">
|
||||
<default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
|
||||
</item>
|
||||
<item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
|
||||
<initial-values>
|
||||
<property name="text" value="Button" />
|
||||
</initial-values>
|
||||
</item>
|
||||
<item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
|
||||
<initial-values>
|
||||
<property name="text" value="RadioButton" />
|
||||
</initial-values>
|
||||
</item>
|
||||
<item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
|
||||
<initial-values>
|
||||
<property name="text" value="CheckBox" />
|
||||
</initial-values>
|
||||
</item>
|
||||
<item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
|
||||
<initial-values>
|
||||
<property name="text" value="Label" />
|
||||
</initial-values>
|
||||
</item>
|
||||
<item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
|
||||
<preferred-size width="150" height="-1" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
|
||||
<preferred-size width="150" height="-1" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
|
||||
<preferred-size width="150" height="-1" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||
<preferred-size width="150" height="50" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||
<preferred-size width="150" height="50" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||
<preferred-size width="150" height="50" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
|
||||
</item>
|
||||
<item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||
<preferred-size width="150" height="50" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
|
||||
<preferred-size width="150" height="50" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||
<preferred-size width="150" height="50" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
|
||||
<preferred-size width="200" height="200" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
|
||||
<preferred-size width="200" height="200" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
|
||||
</item>
|
||||
<item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
|
||||
</item>
|
||||
<item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
|
||||
</item>
|
||||
<item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
|
||||
</item>
|
||||
<item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
|
||||
<preferred-size width="-1" height="20" />
|
||||
</default-constraints>
|
||||
</item>
|
||||
<item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||
<default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
|
||||
</item>
|
||||
<item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||
<default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
|
||||
</item>
|
||||
</group>
|
||||
</component>
|
||||
</project>
|
||||
@ -0,0 +1,303 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>com.nmggs</groupId>
|
||||
<artifactId>GetDataInterface</artifactId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
<packaging>war</packaging>
|
||||
<name>GetDataInterface</name>
|
||||
<description>GetDataInterface</description>
|
||||
<properties>
|
||||
<java.version>1.8</java.version>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
||||
<spring-boot.version>2.3.7.RELEASE</spring-boot.version>
|
||||
</properties>
|
||||
<parent>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-parent</artifactId>
|
||||
<version>2.2.13.RELEASE</version>
|
||||
<relativePath/> <!-- lookup parent from repository -->
|
||||
</parent>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-devtools</artifactId>
|
||||
<optional>true</optional>
|
||||
</dependency>
|
||||
<!-- 内置tomcat-->
|
||||
<!-- <dependency>-->
|
||||
<!-- <groupId>org.springframework.boot</groupId>-->
|
||||
<!-- <artifactId>spring-boot-starter-web</artifactId>-->
|
||||
<!-- </dependency>-->
|
||||
<!-- 外置-->
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-web</artifactId>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-tomcat</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cn.hutool</groupId>
|
||||
<artifactId>hutool-all</artifactId>
|
||||
<version>5.8.1</version>
|
||||
</dependency>
|
||||
<!-- 外置依赖-->
|
||||
<dependency>
|
||||
<groupId>javax.servlet</groupId>
|
||||
<artifactId>javax.servlet-api</artifactId>
|
||||
<version>4.0.1</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.baomidou</groupId>
|
||||
<artifactId>mybatis-plus-boot-starter</artifactId>
|
||||
<version>3.5.2</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-tomcat</artifactId>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<!--验证码 -->
|
||||
<dependency>
|
||||
<groupId>com.github.penggle</groupId>
|
||||
<artifactId>kaptcha</artifactId>
|
||||
<version>2.3.2</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.commons</groupId>
|
||||
<artifactId>commons-lang3</artifactId>
|
||||
<version>3.12.0</version>
|
||||
</dependency>
|
||||
<!--JWT鉴权-->
|
||||
<dependency>
|
||||
<groupId>com.auth0</groupId>
|
||||
<artifactId>java-jwt</artifactId>
|
||||
<version>4.0.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.vaadin.external.google</groupId>
|
||||
<artifactId>android-json</artifactId>
|
||||
<version>0.0.20131108.vaadin1</version>
|
||||
</dependency>
|
||||
<!-- session 配置-->
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-data-redis</artifactId>
|
||||
<version>${spring-boot.version}</version>
|
||||
</dependency>
|
||||
<!--spring-session-->
|
||||
<dependency>
|
||||
<groupId>org.springframework.session</groupId>
|
||||
<artifactId>spring-session-data-redis</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.session</groupId>
|
||||
<artifactId>spring-session-jdbc</artifactId>
|
||||
</dependency>
|
||||
<!-- 数据库链接包-->
|
||||
|
||||
<!-- <dependency>-->
|
||||
<!-- <groupId>com.alibaba</groupId>-->
|
||||
<!-- <artifactId>druid</artifactId>-->
|
||||
<!-- <version>1.2.11</version>-->
|
||||
<!-- </dependency>-->
|
||||
<dependency>
|
||||
<groupId>com.oracle.database.jdbc</groupId>
|
||||
<artifactId>ojdbc8</artifactId>
|
||||
<scope>runtime</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.oracle.database.nls</groupId>
|
||||
<artifactId>orai18n</artifactId>
|
||||
<scope>runtime</scope>
|
||||
</dependency>
|
||||
|
||||
|
||||
<dependency>
|
||||
<groupId>mysql</groupId>
|
||||
<artifactId>mysql-connector-java</artifactId>
|
||||
<scope>runtime</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.microsoft</groupId>
|
||||
<artifactId>sqljdbc4</artifactId>
|
||||
<version>3.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.alibaba</groupId>
|
||||
<artifactId>druid-spring-boot-starter</artifactId>
|
||||
<version>1.1.10</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>log4j</groupId>
|
||||
<artifactId>log4j</artifactId>
|
||||
<version>1.2.17</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
<dependency>
|
||||
<groupId>org.projectlombok</groupId>
|
||||
<artifactId>lombok</artifactId>
|
||||
<optional>true</optional>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.alibaba</groupId>
|
||||
<artifactId>fastjson</artifactId>
|
||||
<version>2.0.12</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.alibaba</groupId>
|
||||
<artifactId>druid</artifactId>
|
||||
<version>1.1.10</version>
|
||||
</dependency>
|
||||
<!-- 密码加密-->
|
||||
<dependency>
|
||||
<groupId>com.enc</groupId>
|
||||
<artifactId>EndPassJava</artifactId>
|
||||
<version>1.0.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>dom4j</groupId>
|
||||
<artifactId>dom4j</artifactId>
|
||||
<version>1.6.1</version>
|
||||
</dependency>
|
||||
<!-- 解析HTML-->
|
||||
<dependency>
|
||||
<groupId>org.jsoup</groupId>
|
||||
<artifactId>jsoup</artifactId>
|
||||
<version>1.15.3</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>commons-io</groupId>
|
||||
<artifactId>commons-io</artifactId>
|
||||
<version>2.6</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-test</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>joda-time</groupId>
|
||||
<artifactId>joda-time</artifactId>
|
||||
<version>2.10.13</version>
|
||||
</dependency>
|
||||
<!-- goldendb驱动 -->
|
||||
<dependency>
|
||||
<groupId>com.zte.goldendb</groupId> <!-- 假设的groupId -->
|
||||
<artifactId>gdb_mysql-connector-java</artifactId> <!-- 假设的artifactId -->
|
||||
<version>5.1.46.67</version> <!-- 版本号 -->
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.google.guava</groupId>
|
||||
<artifactId>guava</artifactId>
|
||||
<version>33.3.1-jre</version>
|
||||
</dependency>
|
||||
<!-- 通过HttpClient实现请求发送、接收文件 -->
|
||||
<dependency>
|
||||
<groupId>org.apache.httpcomponents</groupId>
|
||||
<artifactId>httpclient</artifactId>
|
||||
<version>4.5.13</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.httpcomponents</groupId>
|
||||
<artifactId>httpmime</artifactId>
|
||||
<version>4.5.13</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.squareup.okhttp3</groupId>
|
||||
<artifactId>okhttp</artifactId>
|
||||
<version>4.9.0</version>
|
||||
</dependency>
|
||||
<!-- SM4加密依赖包 -->
|
||||
<dependency>
|
||||
<groupId>org.bouncycastle</groupId>
|
||||
<artifactId>bcprov-jdk18on</artifactId>
|
||||
<version>1.78.1</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<dependencyManagement>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-dependencies</artifactId>
|
||||
<version>${spring-boot.version}</version>
|
||||
<type>pom</type>
|
||||
<scope>import</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</dependencyManagement>
|
||||
|
||||
<build>
|
||||
<finalName>GetDataInterface</finalName>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-war-plugin</artifactId>
|
||||
<!-- <configuration>-->
|
||||
<!-- <packagingExcludes>-->
|
||||
<!-- WEB-INF/classes/application.yml-->
|
||||
<!-- WEB-INF\classes\application.yml-->
|
||||
<!-- </packagingExcludes>-->
|
||||
<!-- </configuration>-->
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<version>3.8.1</version>
|
||||
<configuration>
|
||||
<source>1.8</source>
|
||||
<target>1.8</target>
|
||||
<encoding>UTF-8</encoding>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||
<version>2.3.7.RELEASE</version>
|
||||
<configuration>
|
||||
<mainClass>com.nmggs.query.GetDataInterfaceApplication</mainClass>
|
||||
</configuration>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>repackage</id>
|
||||
<goals>
|
||||
<goal>repackage</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
<resources>
|
||||
<resource>
|
||||
<directory>src/main/java</directory>
|
||||
<includes>
|
||||
<include>**/*.xml</include>
|
||||
</includes>
|
||||
<filtering>false</filtering>
|
||||
</resource>
|
||||
<!--打包时去除配置文件-->
|
||||
<resource>
|
||||
<directory>src/main/resources</directory>
|
||||
<excludes>
|
||||
<exclude>*.properties</exclude>
|
||||
</excludes>
|
||||
<!-- <includes>-->
|
||||
<!-- <include>static/*.properties</include>-->
|
||||
<!-- </includes>-->
|
||||
</resource>
|
||||
</resources>
|
||||
|
||||
</build>
|
||||
|
||||
</project>
|
||||
|
||||
@ -0,0 +1,20 @@
|
||||
package com.nmggs.query;
|
||||
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.boot.builder.SpringApplicationBuilder;
|
||||
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
|
||||
import org.springframework.scheduling.annotation.EnableAsync;
|
||||
|
||||
@EnableAsync
|
||||
@SpringBootApplication
|
||||
public class GetDataInterfaceApplication extends SpringBootServletInitializer {
|
||||
@Override
|
||||
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
|
||||
return builder.sources(GetDataInterfaceApplication.class);
|
||||
}
|
||||
public static void main(String[] args) {
|
||||
SpringApplication.run(GetDataInterfaceApplication.class, args);
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,66 @@
|
||||
package com.nmggs.query.common.config;
|
||||
|
||||
/**
|
||||
* 启用跨域配置
|
||||
* 编写SpringMVCConfig类使用FilterConfig中的配置
|
||||
*
|
||||
* @author Administrator
|
||||
*/
|
||||
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.web.cors.CorsConfiguration;
|
||||
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
|
||||
import org.springframework.web.filter.CorsFilter;
|
||||
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
|
||||
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
@Configuration
|
||||
public class CorsConfig implements WebMvcConfigurer {
|
||||
|
||||
@Resource
|
||||
private FilterConfig filterconfig;
|
||||
|
||||
|
||||
@Override
|
||||
public void addInterceptors(InterceptorRegistry registry) {
|
||||
// 设置拦截类
|
||||
registry.addInterceptor(filterconfig)
|
||||
.addPathPatterns("/**")
|
||||
// 是否允许证书
|
||||
.excludePathPatterns(
|
||||
"/recaptureDataByDate**",
|
||||
"/getData**",
|
||||
"/baseinfo/**",
|
||||
"/ManualGetFeeEvasionInfo**",
|
||||
"/ManualSendProBlackList**",
|
||||
"/ReceptionProBlackList**"
|
||||
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 跨越配置
|
||||
*/
|
||||
@Bean
|
||||
public CorsFilter corsFilter() {
|
||||
CorsConfiguration config = new CorsConfiguration();
|
||||
// 设置容许跨域请求的域名
|
||||
//config.addAllowedOriginPattern("*");
|
||||
config.addAllowedOrigin("*");
|
||||
// 设置容许的方法
|
||||
config.addAllowedMethod("*");
|
||||
// 容许任何头
|
||||
config.addAllowedHeader("*");
|
||||
config.addExposedHeader("token");
|
||||
//是否支持cookie跨域
|
||||
config.setAllowCredentials(true);
|
||||
UrlBasedCorsConfigurationSource configSource = new UrlBasedCorsConfigurationSource();
|
||||
configSource.registerCorsConfiguration("/**", config);
|
||||
return new CorsFilter(configSource);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,17 @@
|
||||
package com.nmggs.query.common.config;
|
||||
|
||||
import org.springframework.boot.web.server.ErrorPage;
|
||||
import org.springframework.boot.web.server.ErrorPageRegistrar;
|
||||
import org.springframework.boot.web.server.ErrorPageRegistry;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@Component
|
||||
public class ErrorConfig implements ErrorPageRegistrar {
|
||||
|
||||
@Override
|
||||
public void registerErrorPages(ErrorPageRegistry registry) {
|
||||
ErrorPage error404Page = new ErrorPage(HttpStatus.NOT_FOUND, "/index.html");
|
||||
registry.addErrorPages(error404Page);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,71 @@
|
||||
package com.nmggs.query.common.config;
|
||||
|
||||
/**
|
||||
* 允许跨域请求
|
||||
*
|
||||
* @author Administrator
|
||||
*/
|
||||
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.nmggs.query.common.utils.TokenUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.web.servlet.HandlerInterceptor;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.PrintWriter;
|
||||
|
||||
|
||||
@Component
|
||||
@Slf4j
|
||||
public class FilterConfig implements HandlerInterceptor {
|
||||
|
||||
@Override
|
||||
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
|
||||
response.setHeader("Access-Control-Allow-Origin", request.getHeader("Origin"));//支持跨域请求
|
||||
response.setHeader("Access-Control-Allow-Credentials", "true");//是否支持cookie跨域
|
||||
response.setHeader("Access-Control-Allow-Methods", "*");//X-forwared-port,X-forwarded-host,
|
||||
response.setHeader("Access-Control-Allow-Headers", "Authorization,Origin, X-Requested-With, Content-Type, Accept,Access-Token");//Origin, X-Requested-With, Content-Type, Accept,Access-Token
|
||||
String token = request.getHeader("token");
|
||||
if (token == null) {
|
||||
response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
|
||||
response.setCharacterEncoding("UTF-8");
|
||||
response.setContentType("application/json; charset=utf-8");
|
||||
JSONObject res = new JSONObject();
|
||||
res.put("status", "-2");
|
||||
res.put("msg", "登录超时请重新登陆");
|
||||
PrintWriter out;
|
||||
out = response.getWriter();
|
||||
out.write(res.toString());
|
||||
out.flush();
|
||||
out.close();
|
||||
return false;
|
||||
}
|
||||
if(token.equals("test")){
|
||||
return true;
|
||||
}
|
||||
try {
|
||||
boolean result = TokenUtil.verify(token);
|
||||
//判断绑定
|
||||
if (result) {
|
||||
//log.info("通过拦截器");
|
||||
response.setHeader("token", TokenUtil.reToken(token, request));
|
||||
return true;
|
||||
}
|
||||
} catch (Exception ignored) {
|
||||
}
|
||||
response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
|
||||
response.setCharacterEncoding("UTF-8");
|
||||
response.setContentType("application/json; charset=utf-8");
|
||||
JSONObject res = new JSONObject();
|
||||
res.put("status", "-1");
|
||||
res.put("msg", "鉴权失败");
|
||||
PrintWriter out;
|
||||
out = response.getWriter();
|
||||
out.write(res.toString());
|
||||
out.flush();
|
||||
out.close();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,131 @@
|
||||
package com.nmggs.query.common.config;
|
||||
|
||||
|
||||
import com.nmggs.query.common.emnu.Constant;
|
||||
import com.nmggs.query.common.utils.PathUtil;
|
||||
import com.nmggs.query.common.utils.PropertiesUtil;
|
||||
import com.trkf.PasswordEncryption.PassWordUtils;
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.env.EnvironmentPostProcessor;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.core.env.ConfigurableEnvironment;
|
||||
import org.springframework.core.env.PropertiesPropertySource;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.net.UnknownHostException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Properties;
|
||||
|
||||
@Configuration
|
||||
public class MyEnvironmentPostProcessor implements EnvironmentPostProcessor {
|
||||
|
||||
@Override
|
||||
public void postProcessEnvironment(ConfigurableEnvironment configurableEnvironment, SpringApplication application) {
|
||||
System.out.println("GetDataInterface读取公用配置文件");
|
||||
//公用配置文件路径
|
||||
String path = PathUtil.applicationPath;
|
||||
//本项目配置文件路径
|
||||
String NewPath = PathUtil.projectApplicationPath;
|
||||
System.out.println("Loading local settings from : " + path);
|
||||
System.out.println("Loading local settings from : " + NewPath);
|
||||
Properties properties = new Properties();
|
||||
Properties Newproperties = new Properties();
|
||||
try {
|
||||
File fileproperties = new File(path);
|
||||
File fileNewproperties = new File(NewPath);
|
||||
// 判断文件夹是否存在
|
||||
if (!fileproperties.exists()) {
|
||||
fileproperties.createNewFile();
|
||||
}
|
||||
if (!fileNewproperties.exists()) {
|
||||
fileNewproperties.createNewFile();
|
||||
}
|
||||
properties.load(new FileInputStream(path));
|
||||
String DBType = properties.getProperty("DBType") == null ? "1" : properties.getProperty("DBType");
|
||||
Newproperties.load(new FileInputStream(NewPath));
|
||||
//获取是否是goldenDB数据库
|
||||
String IsGolDen = properties.getProperty("IsGolDen") == null ? "0" : properties.getProperty("IsGolDen");
|
||||
properties.setProperty("spring.logback.logPath", PathUtil.TomcatPath + "/logs");
|
||||
properties.setProperty("spring.datasource.url", properties.getProperty("DBUrl"));
|
||||
properties.setProperty("spring.datasource.username", properties.getProperty("DBUserName"));
|
||||
properties.setProperty("spring.datasource.password", PassWordUtils.decrypt(properties.getProperty("DBPassWord")));
|
||||
if(Constant.STR_ONE.equals(IsGolDen)){
|
||||
properties.setProperty("spring.datasource.driver-class-name", Newproperties.getProperty("GoldenDBClassName"));
|
||||
properties.setProperty("spring.datasource.validationQuery", Newproperties.getProperty("GoldenvalidationQuery"));
|
||||
properties.setProperty("spring.datasource.hikari.connection-test-query", Newproperties.getProperty("GoldenvalidationQuery"));
|
||||
}else {
|
||||
switch (DBType) {
|
||||
case "1":
|
||||
properties.setProperty("spring.datasource.driver-class-name", Newproperties.getProperty("sqlClassName"));
|
||||
properties.setProperty("spring.datasource.validationQuery", Newproperties.getProperty("sqlvalidationQuery"));
|
||||
properties.setProperty("spring.datasource.hikari.connection-test-query", Newproperties.getProperty("sqlvalidationQuery"));
|
||||
break;
|
||||
case "3":
|
||||
properties.setProperty("spring.datasource.driver-class-name", Newproperties.getProperty("DMClassName"));
|
||||
properties.setProperty("spring.datasource.validationQuery", Newproperties.getProperty("DMvalidationQuery"));
|
||||
properties.setProperty("spring.datasource.hikari.connection-test-query", Newproperties.getProperty("DMvalidationQuery"));
|
||||
break;
|
||||
case "4":
|
||||
properties.setProperty("spring.datasource.driver-class-name", Newproperties.getProperty("MySQLClassName"));
|
||||
properties.setProperty("spring.datasource.validationQuery", Newproperties.getProperty("MySQLvalidationQuery"));
|
||||
properties.setProperty("spring.datasource.hikari.connection-test-query", Newproperties.getProperty("MySQLvalidationQuery"));
|
||||
break;
|
||||
case "2":
|
||||
default:
|
||||
properties.setProperty("spring.datasource.driver-class-name", Newproperties.getProperty("OracleClassName"));
|
||||
properties.setProperty("spring.datasource.validationQuery", Newproperties.getProperty("OraclevalidationQuery"));
|
||||
properties.setProperty("spring.datasource.hikari.connection-test-query", Newproperties.getProperty("OraclevalidationQuery"));
|
||||
}
|
||||
}
|
||||
System.out.println("--------------------------GetDataInterface-本次载入数据库----------------------");
|
||||
System.out.println(" server.port : " + properties.getProperty("server.port"));
|
||||
System.out.println(" url : " + properties.getProperty("spring.datasource.url"));
|
||||
System.out.println(" username : " + properties.getProperty("spring.datasource.username"));
|
||||
System.out.println(" password : " + properties.getProperty("spring.datasource.password"));
|
||||
String appName=Newproperties.getProperty("spring.logback.appName");
|
||||
String versionPath =PathUtil.versionPath;
|
||||
File resourceDir = new File(versionPath);
|
||||
String version = getVersionFileName(resourceDir);
|
||||
new PropertiesUtil(PathUtil.applicationTextPath).set(appName+"Version",version);
|
||||
System.out.println(" version : "+appName+"--->"+version);
|
||||
//环境名称随意取,但尽量不能和其他环境名称相同,避免不生效
|
||||
PropertiesPropertySource propertySource = new PropertiesPropertySource("environmentPostProcessor", properties);
|
||||
PropertiesPropertySource newPropertySource = new PropertiesPropertySource("newEnvironmentPostProcessor", Newproperties);
|
||||
//外部的文件是最先导入的
|
||||
configurableEnvironment.getPropertySources().addFirst(propertySource);
|
||||
//如果公用配置文件没有配置的则使用本项目的配置文件
|
||||
configurableEnvironment.getPropertySources().addLast(newPropertySource);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public static void main(String[] args) throws UnknownHostException {
|
||||
String s = "123456";
|
||||
String decrypt = PassWordUtils.encrypt(s);
|
||||
System.out.println(decrypt);
|
||||
String decrypt2 = PassWordUtils.decrypt("Kzo+eTY8OC47WWN1OSw9VTR6V2VCcF03");
|
||||
System.out.println(decrypt2);
|
||||
}
|
||||
private static String getVersionFileName(File dir) {
|
||||
String version="";
|
||||
List<String> fileNames = new ArrayList<>();
|
||||
if (dir == null || !dir.exists() || !dir.isDirectory()) {
|
||||
return version;
|
||||
}
|
||||
File[] files = dir.listFiles();
|
||||
if (files != null) {
|
||||
for (File file : files) {
|
||||
if (file.isFile() && file.getName().endsWith(".txt")) {
|
||||
fileNames.add(file.getName());
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!fileNames.isEmpty()) {
|
||||
version = fileNames.get(0).replace(".txt", "");
|
||||
}
|
||||
return version;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,68 @@
|
||||
package com.nmggs.query.common.emnu;
|
||||
|
||||
/**
|
||||
* @author: shuguang
|
||||
* @date: 2022年10月16日 17:24
|
||||
* @description: 返回结果代码枚举
|
||||
*/
|
||||
public enum MessageEnum {
|
||||
/**
|
||||
* 成功
|
||||
*/
|
||||
成功("0", "成功"),
|
||||
/**
|
||||
* 参数校验
|
||||
*/
|
||||
鉴权码不存在("701", "鉴权码不存在"),
|
||||
md5校验失败("702", "md5校验失败"),
|
||||
POST参数校验失败("703", "POST参数校验失败"),
|
||||
请求文件名参数校验失败("704", "请求文件名参数校验失败"),
|
||||
请求数据不存在("705", "请求数据不存在"),
|
||||
当前数据已为最新("706", "当前数据已为最新"),
|
||||
最小费额文件不存在("707", "最小费额文件不存在"),
|
||||
|
||||
/**
|
||||
* 异常
|
||||
*/
|
||||
复制文件失败("20001", "复制文件失败"),
|
||||
文件移动重命名失败("20002", "文件移动重命名失败"),
|
||||
返回数据格式错误("20003", "返回数据格式错误"),
|
||||
查询数据失败("20004", "查询数据失败"),
|
||||
插入数据失败("20005", "插入数据失败"),
|
||||
|
||||
|
||||
登录鉴权失败("20006", "登录鉴权失败"),
|
||||
数据库连接异常("20007", "数据库连接异常"),
|
||||
数据库执行sql失败("20008", "数据库执行sql失败"),
|
||||
推送省内黑名单数据失败("20009", "推送省内黑名单数据失败"),
|
||||
获取逃费记录数据失败("20010", "获取逃费记录数据失败"),
|
||||
生成密钥失败("20011", "生成密钥失败"),
|
||||
加密失败("20012", "加密失败"),
|
||||
解密失败("20013", "解密失败"),
|
||||
请求接口失败("20014", "请求接口失败"),
|
||||
系统异常("99999","操作失败"),
|
||||
;
|
||||
private String code;
|
||||
private String message;
|
||||
|
||||
MessageEnum(String code, String message) {
|
||||
this.code = code;
|
||||
this.message = message;
|
||||
}
|
||||
|
||||
public String getCode() {
|
||||
return code;
|
||||
}
|
||||
|
||||
public void setCode(String code) {
|
||||
this.code = code;
|
||||
}
|
||||
|
||||
public String getMessage() {
|
||||
return message;
|
||||
}
|
||||
|
||||
public void setMessage(String message) {
|
||||
this.message = message;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,49 @@
|
||||
package com.nmggs.query.common.exception;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
/**
|
||||
*
|
||||
*/
|
||||
/**
|
||||
* @author: shuguang
|
||||
* @date: 2022年10月15日 16:27
|
||||
* @description: 业务自定义异常
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
public class PPException extends RuntimeException{
|
||||
/**
|
||||
* 异常代码
|
||||
*/
|
||||
private String errorCode;
|
||||
/**
|
||||
* 异常信息
|
||||
*/
|
||||
private String errorMessage;
|
||||
|
||||
public PPException(String errorCode, String errorMessage) {
|
||||
super(errorCode);
|
||||
this.errorCode = errorCode;
|
||||
this.errorMessage = errorMessage;
|
||||
}
|
||||
|
||||
public PPException(String message, String errorCode, String errorMessage) {
|
||||
super(message);
|
||||
this.errorCode = errorCode;
|
||||
this.errorMessage = errorMessage;
|
||||
}
|
||||
|
||||
public PPException(String message, Throwable cause, String errorCode, String errorMessage) {
|
||||
super(message, cause);
|
||||
this.errorCode = errorCode;
|
||||
this.errorMessage = errorMessage;
|
||||
}
|
||||
|
||||
public PPException(Throwable cause, String errorCode, String errorMessage) {
|
||||
super(cause);
|
||||
this.errorCode = errorCode;
|
||||
this.errorMessage = errorMessage;
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,40 @@
|
||||
package com.nmggs.query.common.exception;
|
||||
|
||||
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import com.nmggs.query.common.emnu.MessageEnum;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.web.bind.annotation.ExceptionHandler;
|
||||
import org.springframework.web.bind.annotation.RestControllerAdvice;
|
||||
|
||||
/**
|
||||
* @author: shuguang
|
||||
* @date: 2022年10月11日 16:27
|
||||
* @description: 自定义异常处理类
|
||||
*/
|
||||
@RestControllerAdvice
|
||||
@Slf4j
|
||||
public class PPExceptionHandler {
|
||||
|
||||
/**
|
||||
* 处理业务自定义异常
|
||||
*/
|
||||
@ExceptionHandler(PPException.class)
|
||||
public <T> T handlePPException(PPException e) {
|
||||
Result res = Result.error(e.getErrorCode(), e.getErrorMessage());
|
||||
log.error("异常处理模块出参:{}", JSON.toJSONString(res));
|
||||
return (T) JSON.toJSONString(res);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 处理其他异常
|
||||
*/
|
||||
@ExceptionHandler(Exception.class)
|
||||
public <T> T handleException(Exception e) {
|
||||
log.info(e.getMessage(),e);
|
||||
Result res = Result.error(MessageEnum.系统异常.getCode(), MessageEnum.系统异常.getMessage());
|
||||
log.error("异常处理模块出参:{}", JSON.toJSONString(res));
|
||||
return (T) JSON.toJSONString(res);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,43 @@
|
||||
package com.nmggs.query.common.exception;
|
||||
|
||||
import com.nmggs.query.common.emnu.MessageEnum;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author: shuguang
|
||||
* @date: 2022年10月16日 16:01
|
||||
* @description: 返回结果
|
||||
*/
|
||||
@Data
|
||||
public class Result<T> {
|
||||
private String code;
|
||||
private String msg;
|
||||
private T data;
|
||||
public Result() {
|
||||
}
|
||||
|
||||
public Result(T data) {
|
||||
this.data = data;
|
||||
}
|
||||
|
||||
public static Result success() {
|
||||
Result result = new Result<>();
|
||||
result.setCode(MessageEnum.成功.getCode());
|
||||
result.setMsg(MessageEnum.成功.getMessage());
|
||||
return result;
|
||||
}
|
||||
|
||||
public static <T> Result<T> success(T data) {
|
||||
Result<T> result = new Result<>(data);
|
||||
result.setCode(MessageEnum.成功.getCode());
|
||||
result.setMsg(MessageEnum.成功.getMessage());
|
||||
return result;
|
||||
}
|
||||
|
||||
public static Result error(String code, String msg) {
|
||||
Result result = new Result();
|
||||
result.setCode(code);
|
||||
result.setMsg(msg);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,48 @@
|
||||
package com.nmggs.query.common.utils;
|
||||
|
||||
import com.nmggs.query.common.emnu.MessageEnum;
|
||||
import com.nmggs.query.common.exception.PPException;
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* @author: shuguang
|
||||
* @date: 2025年04月21日 9:51
|
||||
* @description: 校验工具类
|
||||
*/
|
||||
public class CheckUtils {
|
||||
|
||||
|
||||
public static void checkAddParams(String authKey, String reqAuthKey, String reqMd5, String verifyMd5) {
|
||||
if (ObjectUtils.isEmpty(reqAuthKey)) {
|
||||
throw new PPException(MessageEnum.鉴权码不存在.getCode(), MessageEnum.鉴权码不存在.getMessage());
|
||||
}
|
||||
|
||||
if (!Objects.equals(verifyMd5, reqMd5)) {
|
||||
throw new PPException(MessageEnum.md5校验失败.getCode(), MessageEnum.md5校验失败.getMessage());
|
||||
}
|
||||
if (!authKey.equals(reqAuthKey)) {
|
||||
throw new PPException(MessageEnum.POST参数校验失败.getCode(), MessageEnum.POST参数校验失败.getMessage());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public static void checkParams(String authKey, String reqAuthKey, String reqMd5, String fileName) {
|
||||
if (ObjectUtils.isEmpty(reqAuthKey)) {
|
||||
throw new PPException(MessageEnum.鉴权码不存在.getCode(), MessageEnum.鉴权码不存在.getMessage());
|
||||
}
|
||||
if (ObjectUtils.isEmpty(fileName) || !fileName.contains("_REQ_15_") || !fileName.endsWith(".json")) {
|
||||
throw new PPException(MessageEnum.请求文件名参数校验失败.getCode(), MessageEnum.请求文件名参数校验失败.getMessage());
|
||||
}
|
||||
|
||||
String md5 = MD5Util.md5(fileName + authKey);
|
||||
if (!Objects.equals(md5, reqMd5)) {
|
||||
throw new PPException(MessageEnum.md5校验失败.getCode(), MessageEnum.md5校验失败.getMessage());
|
||||
}
|
||||
if (!authKey.equals(reqAuthKey)) {
|
||||
throw new PPException(MessageEnum.POST参数校验失败.getCode(), MessageEnum.POST参数校验失败.getMessage());
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,46 @@
|
||||
package com.nmggs.query.common.utils;
|
||||
|
||||
import java.sql.Clob;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author: shuguang
|
||||
* @date: 2024年06月05日 14:43
|
||||
* @description:
|
||||
*/
|
||||
public class ClobUtils {
|
||||
public static String clobToString(Clob clob){
|
||||
String result="";
|
||||
try {
|
||||
if (clob instanceof Clob) {
|
||||
result=(clob != null ? clob.getSubString(1, (int) clob.length()) : null);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
// TODO: handle exception
|
||||
}
|
||||
return result;
|
||||
}
|
||||
public static List<Map<String, Object>> clobToStringByList(List<Map<String, Object>> mapList){
|
||||
if(mapList==null){
|
||||
return mapList;
|
||||
}
|
||||
for (Map<String, Object> map : mapList) {
|
||||
clobToStringByMap((HashMap<String, Object>) map);
|
||||
}
|
||||
return mapList;
|
||||
}
|
||||
public static HashMap<String,Object> clobToStringByMap(HashMap<String,Object> map){
|
||||
if(map==null){
|
||||
return map;
|
||||
}
|
||||
for (Map.Entry<String, Object> entry : map.entrySet()) {
|
||||
Object t1=entry.getValue();
|
||||
if(t1 instanceof Clob){//将所有Clob类型的字段都转换为String类型
|
||||
entry.setValue(clobToString((Clob)t1));
|
||||
}
|
||||
}
|
||||
return map;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,50 @@
|
||||
package com.nmggs.query.common.utils;
|
||||
|
||||
import java.math.BigInteger;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.security.MessageDigest;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
|
||||
/**
|
||||
* @author: shuguang
|
||||
* @date: 2022年10月16日 16:46
|
||||
* @description: MD5加密工具
|
||||
*/
|
||||
public class MD5Util {
|
||||
/**
|
||||
* 对字符串进行MD5加密
|
||||
*
|
||||
* @param password 字符串
|
||||
* @return java.lang.String
|
||||
* @author shuguang
|
||||
* @date 2022-10-16 13:30
|
||||
*/
|
||||
public static String md5(String password) {
|
||||
if (password == null) {
|
||||
return null;
|
||||
}
|
||||
try {
|
||||
// 使用UTF-8编码将字符串转换为字节数组
|
||||
byte[] bytes = password.getBytes(StandardCharsets.UTF_8);
|
||||
MessageDigest md = MessageDigest.getInstance("MD5");
|
||||
md.update(bytes);
|
||||
byte[] digest = md.digest();
|
||||
BigInteger no = new BigInteger(1, digest);
|
||||
String hashtext = no.toString(16);
|
||||
while (hashtext.length() < 32) {
|
||||
hashtext = "0" + hashtext;
|
||||
}
|
||||
return hashtext;
|
||||
} catch (NoSuchAlgorithmException e) {
|
||||
// 记录错误日志
|
||||
System.err.println("MD5 algorithm not found: " + e.getMessage());
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
String input = "蒙BF626772025-04-202025-04-278c602c65fe6f57c4b721c5078bb8a916";
|
||||
String md5 = MD5Util.md5(input);
|
||||
System.out.println("MD5: " + md5);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,72 @@
|
||||
package com.nmggs.query.common.utils;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author: shuguang
|
||||
* @date: 2025年04月23日 11:04
|
||||
* @description:
|
||||
*/
|
||||
public class NewFileUtils {
|
||||
|
||||
/**
|
||||
* 根据解压路径获取json文件的绝对路径
|
||||
*
|
||||
* @param destDir 存放json文件的文件夹路径
|
||||
* @return java.util.List<java.lang.String>
|
||||
* @author shuguang
|
||||
* @date 2023-02-08 9:48
|
||||
*/
|
||||
public static List<String> getJsonPaths(String destDir) {
|
||||
List<String> jsonPathList = new ArrayList<>();
|
||||
File file = new File(destDir);
|
||||
File[] files = file.listFiles();
|
||||
if (files != null && files.length > 0) {
|
||||
for (File file1 : files) {
|
||||
jsonPathList.add(destDir + file1.getName());
|
||||
|
||||
}
|
||||
}
|
||||
return jsonPathList;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据路径创建文件夹
|
||||
*
|
||||
* @param path 路径
|
||||
* @author shuguang
|
||||
* @date 2022-10-16 13:07
|
||||
*/
|
||||
public static void fileCreat(String path) {
|
||||
File file = new File(path);
|
||||
if (!file.isDirectory()) {
|
||||
file.mkdirs();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除指定文件夹下的全部内容
|
||||
*
|
||||
* @param file 指定文件夹
|
||||
*/
|
||||
public static void removeFiles(File file) {
|
||||
//将file子目录及子文件放进文件数组
|
||||
File[] files = file.listFiles();
|
||||
//如果包含文件进行删除操作
|
||||
if (files != null && files.length > 0) {
|
||||
for (File value : files) {
|
||||
//删除子文件
|
||||
if (value.isFile()) {
|
||||
value.delete();
|
||||
//通过递归方法删除子目录的文件
|
||||
} else if (value.isDirectory()) {
|
||||
removeFiles(value);
|
||||
}
|
||||
value.delete();//删除子目录
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,32 @@
|
||||
package com.nmggs.query.common.utils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author: shuguang
|
||||
* @date: 2024年07月18日 15:40
|
||||
* @description: Object转换工具类
|
||||
*/
|
||||
public class ObjectUtils {
|
||||
/**
|
||||
* Object转成List<String>
|
||||
*
|
||||
* @param obj Object
|
||||
* @return java.util.List<java.lang.String>
|
||||
* @author shuguang
|
||||
* @date 2024-07-18 15:42
|
||||
*/
|
||||
public static List<String> objToList(Object obj) {
|
||||
List<String> result = new ArrayList<>();
|
||||
if (obj != null) {
|
||||
if (obj instanceof List<?>) {
|
||||
for (Object o : (List<?>) obj) {
|
||||
result.add((String) o);
|
||||
}
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,84 @@
|
||||
package com.nmggs.query.common.utils;
|
||||
|
||||
import org.springframework.util.ClassUtils;
|
||||
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.net.Inet4Address;
|
||||
import java.net.InetAddress;
|
||||
import java.net.NetworkInterface;
|
||||
import java.net.SocketException;
|
||||
import java.net.URLDecoder;
|
||||
import java.net.UnknownHostException;
|
||||
import java.util.Enumeration;
|
||||
import java.util.Objects;
|
||||
import java.util.Properties;
|
||||
|
||||
public class PathUtil {
|
||||
public static String TomcatPath = System.getProperty("catalina.home");
|
||||
public static String webappsPath;
|
||||
public static String applicationPath;
|
||||
public static String applicationTextPath;
|
||||
public static String projectApplicationPath = Objects.requireNonNull(Objects.requireNonNull(ClassUtils.getDefaultClassLoader()).getResource("")).getPath() + "static/application.properties";
|
||||
public static String uploadPath;
|
||||
public static String hostAddress;
|
||||
public static String tomcatUserXMLPath;
|
||||
public static String versionPath;
|
||||
|
||||
public static String webName = "GetDataInterface";
|
||||
|
||||
public static String downFile;
|
||||
/**
|
||||
* 加密文件路径
|
||||
*/
|
||||
public static String encryptedFile;
|
||||
/**
|
||||
* 解密文件路径
|
||||
*/
|
||||
public static String decryptedFile;
|
||||
public static String downZipInsertBackup;
|
||||
/**
|
||||
* zip解压成json文件文件夹
|
||||
*/
|
||||
public static String unZip;
|
||||
|
||||
|
||||
static {
|
||||
Properties props = System.getProperties();
|
||||
String os = props.getProperty("os.name").toLowerCase();
|
||||
try {
|
||||
if (os.startsWith("win")) {
|
||||
webappsPath = java.net.URLDecoder.decode(TomcatPath + "\\webapps\\", "utf-8");
|
||||
uploadPath = java.net.URLDecoder.decode("\\uploadfiles\\" + webName, "utf-8");
|
||||
downFile = java.net.URLDecoder.decode(uploadPath + "\\downFile\\", "utf-8");
|
||||
encryptedFile = java.net.URLDecoder.decode(uploadPath + "\\encryptedFile\\", "utf-8");
|
||||
decryptedFile = java.net.URLDecoder.decode(uploadPath + "\\decryptedFile\\", "utf-8");
|
||||
unZip = java.net.URLDecoder.decode(uploadPath + "\\unZip\\", "utf-8");
|
||||
downZipInsertBackup = java.net.URLDecoder.decode(uploadPath + "\\downZipInsertBackup\\", "utf-8");
|
||||
if (projectApplicationPath.charAt(0) == '/' || projectApplicationPath.charAt(0) == '\\') {
|
||||
projectApplicationPath = java.net.URLDecoder.decode(projectApplicationPath.substring(1), "utf-8");
|
||||
}
|
||||
versionPath = URLDecoder.decode(Objects.requireNonNull(ClassUtils.getDefaultClassLoader().getResource("")).getPath(), "UTF-8") + "version/";
|
||||
} else {
|
||||
webappsPath = java.net.URLDecoder.decode(TomcatPath + "/webapps/", "utf-8");
|
||||
uploadPath = java.net.URLDecoder.decode("/uploadfiles/" + webName, "utf-8");
|
||||
downFile = java.net.URLDecoder.decode(uploadPath + "/downFile/", "utf-8");
|
||||
encryptedFile = java.net.URLDecoder.decode(uploadPath + "/encryptedFile/", "utf-8");
|
||||
decryptedFile = java.net.URLDecoder.decode(uploadPath + "/decryptedFile/", "utf-8");
|
||||
unZip = java.net.URLDecoder.decode(uploadPath + "/unZip/", "utf-8");
|
||||
downZipInsertBackup = java.net.URLDecoder.decode(uploadPath + "/downZipInsertBackup/", "utf-8");
|
||||
versionPath = Objects.requireNonNull(ClassUtils.getDefaultClassLoader().getResource("")).getPath() + "version/";
|
||||
}
|
||||
} catch (UnsupportedEncodingException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
applicationPath = webappsPath + "application.properties";
|
||||
applicationTextPath = webappsPath + "/applicationText.properties";
|
||||
tomcatUserXMLPath = TomcatPath + "/conf/tomcat-users.xml";
|
||||
|
||||
try {
|
||||
hostAddress = Inet4Address.getLocalHost().getHostAddress();
|
||||
} catch (UnknownHostException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,51 @@
|
||||
package com.nmggs.query.common.utils;
|
||||
|
||||
|
||||
import com.nmggs.query.common.emnu.Constant;
|
||||
import org.apache.commons.codec.digest.HmacUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author: shuguang
|
||||
* @date: 2025年04月18日 9:20
|
||||
* @description:
|
||||
*/
|
||||
public class SignUtil {
|
||||
/**
|
||||
* 生成签名
|
||||
*/
|
||||
public static String generateSign(String timestamp) {
|
||||
Map<String, String> params = new HashMap<>();
|
||||
params.put("timestamp", timestamp);
|
||||
// 生成签名
|
||||
return createSign(params);
|
||||
}
|
||||
public static String generateSign2(String timestamp,String date) {
|
||||
Map<String, String> params = new HashMap<>();
|
||||
params.put("date", date);
|
||||
params.put("timestamp", timestamp);
|
||||
// 生成签名
|
||||
return createSign(params);
|
||||
}
|
||||
|
||||
public static String createSign(Map<String, String> params) {
|
||||
List<String> keys = new ArrayList<>(params.keySet());
|
||||
Collections.sort(keys);
|
||||
|
||||
StringBuilder signStrBuilder = new StringBuilder();
|
||||
for (String key : keys) {
|
||||
if (signStrBuilder.length() > 0) {
|
||||
signStrBuilder.append("&");
|
||||
}
|
||||
signStrBuilder.append(key).append("=").append(params.get(key));
|
||||
}
|
||||
|
||||
String signStr = signStrBuilder.toString();
|
||||
return HmacUtils.hmacSha256Hex(Constant.APP_SECRET.getBytes(), signStr.getBytes());
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,69 @@
|
||||
package com.nmggs.query.common.utils;
|
||||
|
||||
import java.text.DecimalFormat;
|
||||
|
||||
/**
|
||||
* @author: shuguang
|
||||
* @date: 2025年03月07日 14:37
|
||||
* @description:
|
||||
*/
|
||||
public class StringUtils {
|
||||
public static void main(String[] args) {
|
||||
long flag = 2252350106386944L;
|
||||
System.out.println(GetFlagValue(flag));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 转换flag的值
|
||||
*
|
||||
* @param flag flag值
|
||||
* @return java.lang.String
|
||||
* @author shuguang
|
||||
* @date 2025-03-11 10:19
|
||||
*/
|
||||
public static String GetFlagValue(long flag) {
|
||||
String flagValue = "";
|
||||
if (flag == 0) {
|
||||
flagValue = "0";
|
||||
} else if (flag == 1) {
|
||||
flagValue = "1";
|
||||
} else {
|
||||
String binaryString = Long.toBinaryString(flag);
|
||||
int postion = 1;
|
||||
for (int i = binaryString.length() - 1; i >= 0; i--, postion++) {
|
||||
if (binaryString.charAt(i) == '1') {
|
||||
flagValue += postion + ",";
|
||||
}
|
||||
}
|
||||
flagValue = flagValue.substring(0, flagValue.length() - 1);
|
||||
}
|
||||
|
||||
return flagValue;
|
||||
|
||||
}
|
||||
|
||||
private static final DecimalFormat DECIMAL_FORMAT = new DecimalFormat("0.00");
|
||||
|
||||
|
||||
/**
|
||||
* 计算结果保留两位小数
|
||||
*/
|
||||
public static String formattedResult(double num1, double num2) {
|
||||
if (num2 == 0) {
|
||||
//throw new IllegalArgumentException("除数不能为0");
|
||||
return "0.00";
|
||||
}
|
||||
double result = (double) num1 / num2;
|
||||
return DECIMAL_FORMAT.format(result);
|
||||
}
|
||||
|
||||
public static String roundResult(long num1, long num2) {
|
||||
if (num2 == 0) {
|
||||
//throw new IllegalArgumentException("除数不能为0");
|
||||
return "0.00";
|
||||
}
|
||||
long result = num1 / num2;
|
||||
return Long.toString(result);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,14 @@
|
||||
package com.nmggs.query.common.utils;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @author: shuguang
|
||||
* @date: 2022年10月25日 18:01
|
||||
* @description: 生成uuid区分请求
|
||||
*/
|
||||
public class UuidUtil {
|
||||
public static String getUuid() {
|
||||
return UUID.randomUUID().toString().replace("-","");
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,29 @@
|
||||
package com.nmggs.query.controller;
|
||||
|
||||
import com.nmggs.query.common.utils.UuidUtil;
|
||||
import com.nmggs.query.service.GetDataService;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author: shuguang
|
||||
* @date: 2025年04月18日 15:43
|
||||
* @description: 基础信息下载接口
|
||||
*/
|
||||
@RestController
|
||||
public class GetDataController {
|
||||
|
||||
@Resource
|
||||
private GetDataService getDataService;
|
||||
|
||||
|
||||
@PostMapping("/getData")
|
||||
public String getData(@RequestBody Map<String, Object> params) {
|
||||
String uuid = UuidUtil.getUuid();
|
||||
return getDataService.getData(params, uuid);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,65 @@
|
||||
package com.nmggs.query.controller;
|
||||
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import com.nmggs.query.common.utils.PropertiesUtil;
|
||||
import com.nmggs.query.common.utils.UuidUtil;
|
||||
import com.nmggs.query.entity.Res;
|
||||
import com.nmggs.query.entity.sendproblacklist.LoginAuthentication;
|
||||
import com.nmggs.query.service.SendProBlackListService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
/**
|
||||
* @author: shuguang
|
||||
* @date: 2025年06月26日 16:26
|
||||
* @description: 手动下发省内黑名单到指定接口
|
||||
*/
|
||||
@RestController
|
||||
@Slf4j
|
||||
public class ManualSendProBlackListController {
|
||||
@Resource
|
||||
private SendProBlackListService sendProBlackListService;
|
||||
|
||||
@GetMapping("/ManualGetFeeEvasionInfo")
|
||||
public Res manualGetFeeEvasionInfo() {
|
||||
String uuid = UuidUtil.getUuid();
|
||||
String loginAuthenticationAccount = PropertiesUtil.getValue("loginAuthenticationAccount");
|
||||
String loginAuthenticationPassword = PropertiesUtil.getValue("loginAuthenticationPassword");
|
||||
String loginAuthenticationUrl = PropertiesUtil.getValue("loginAuthenticationUrl");
|
||||
String getFeeEvasionInfoUrl = PropertiesUtil.getValue("sendProBlackListUrl");
|
||||
log.info("[uuid:{}]-手动执行获取逃费车辆信息,获取到的配置文件参数loginAuthenticationAccount={},loginAuthenticationPassword={},loginAuthenticationUrl={},sendProBlackListUrl={}"
|
||||
, uuid, loginAuthenticationAccount, loginAuthenticationPassword, loginAuthenticationUrl, getFeeEvasionInfoUrl);
|
||||
sendProBlackListService.getFeeEvasionInfo(uuid, loginAuthenticationAccount, loginAuthenticationPassword, loginAuthenticationUrl, getFeeEvasionInfoUrl);
|
||||
log.info("[uuid:{}]-手动执行获取逃费车辆信息完成", uuid);
|
||||
return Res.success();
|
||||
}
|
||||
@GetMapping("/ManualSendProBlackList")
|
||||
public Res manualSendProBlackList() {
|
||||
String uuid = UuidUtil.getUuid();
|
||||
String loginAuthenticationAccount = PropertiesUtil.getValue("loginAuthenticationAccount");
|
||||
String loginAuthenticationPassword = PropertiesUtil.getValue("loginAuthenticationPassword");
|
||||
String loginAuthenticationUrl = PropertiesUtil.getValue("loginAuthenticationUrl");
|
||||
String sendProBlackListUrl = PropertiesUtil.getValue("sendProBlackListUrl");
|
||||
log.info("[uuid:{}]-手动执行下发省内黑名单,获取到的配置文件参数loginAuthenticationAccount={},loginAuthenticationPassword={},loginAuthenticationUrl={},sendProBlackListUrl={}"
|
||||
, uuid, loginAuthenticationAccount, loginAuthenticationPassword, loginAuthenticationUrl, sendProBlackListUrl);
|
||||
sendProBlackListService.sendProBlackListToInterface(uuid, loginAuthenticationAccount, loginAuthenticationPassword, loginAuthenticationUrl, sendProBlackListUrl);
|
||||
log.info("[uuid:{}]-手动执行下发省内黑名单完成", uuid);
|
||||
return Res.success();
|
||||
}
|
||||
|
||||
@PostMapping("/ReceptionProBlackList")
|
||||
public String receptionProBlackList(@RequestBody String json) {
|
||||
System.out.println(json);
|
||||
LoginAuthentication loginAuthentication = new LoginAuthentication();
|
||||
loginAuthentication.setCode(200);
|
||||
loginAuthentication.setData("推送成功");
|
||||
loginAuthentication.setMessage("请求成功");
|
||||
loginAuthentication.setSuccess(true);
|
||||
return JSON.toJSONString(loginAuthentication);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,29 @@
|
||||
package com.nmggs.query.controller;
|
||||
|
||||
import com.nmggs.query.common.utils.UuidUtil;
|
||||
import com.nmggs.query.entity.Res;
|
||||
import com.nmggs.query.service.RequestInterfaceService;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author: shuguang
|
||||
* @date: 2025年06月17日 8:30
|
||||
* @description:
|
||||
*/
|
||||
@RestController
|
||||
public class RecaptureDataController {
|
||||
@Resource
|
||||
private RequestInterfaceService requestInterfaceService;
|
||||
@PostMapping("/recaptureDataByDate")
|
||||
public Res queryProgramVersion(@RequestBody Map<String, Object> map) {
|
||||
String uuid = UuidUtil.getUuid();
|
||||
String dateString = map.get("dT").toString();
|
||||
requestInterfaceService.getRequestInterface(uuid,dateString);
|
||||
return Res.success();
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,38 @@
|
||||
package com.nmggs.query.entity;
|
||||
|
||||
|
||||
import com.nmggs.query.common.emnu.MessageEnum;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @author: shuguang
|
||||
* @date: 2022年11月14日 14:54
|
||||
* @description: 返回结果集
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class Res implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
private Integer code;
|
||||
private Object data = "";
|
||||
private String message = "";
|
||||
public static Res success() {
|
||||
Res result = new Res();
|
||||
result.setCode(Integer.valueOf(MessageEnum.成功.getCode()));
|
||||
result.setMessage(MessageEnum.成功.getMessage());
|
||||
return result;
|
||||
}
|
||||
|
||||
public static Res success(Object data) {
|
||||
Res result = new Res();
|
||||
result.setCode(Integer.valueOf(MessageEnum.成功.getCode()));
|
||||
result.setMessage(MessageEnum.成功.getMessage());
|
||||
result.setData(data);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,21 @@
|
||||
package com.nmggs.query.entity;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author: shuguang
|
||||
* @date: 2025年08月20日 9:22
|
||||
* @description: 封装密钥和加密数据
|
||||
*/
|
||||
@Data
|
||||
public class ResData {
|
||||
/**
|
||||
* 密钥
|
||||
*/
|
||||
private String key;
|
||||
/**
|
||||
* 加密后的数据
|
||||
*/
|
||||
private String data;
|
||||
|
||||
}
|
||||
@ -0,0 +1,18 @@
|
||||
package com.nmggs.query.entity;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author: shuguang
|
||||
* @date: 2025年04月18日 10:19
|
||||
* @description: 验签返回结果
|
||||
*/
|
||||
@Data
|
||||
public class Signature {
|
||||
private Integer code;
|
||||
private String message;
|
||||
private List data;
|
||||
private Trace trace;
|
||||
}
|
||||
@ -0,0 +1,15 @@
|
||||
package com.nmggs.query.entity;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author: shuguang
|
||||
* @date: 2025年04月18日 10:17
|
||||
* @description:
|
||||
*/
|
||||
@Data
|
||||
public class Trace {
|
||||
private String request_id;
|
||||
private Long timestamp;
|
||||
private Integer take_time;
|
||||
}
|
||||
@ -0,0 +1,47 @@
|
||||
package com.nmggs.query.entity.sendproblacklist;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @author: shuguang
|
||||
* @date: 2025年06月30日 8:18
|
||||
* @description: 接口获取逃费记录
|
||||
*/
|
||||
@Data
|
||||
@TableName("FEE_EVASION_INFO_JAVA")
|
||||
public class FeeEvasionInfo {
|
||||
/**
|
||||
* 预警地点
|
||||
*/
|
||||
@TableField("ADDRESS")
|
||||
private String address;
|
||||
/**
|
||||
* 车牌号
|
||||
*/
|
||||
@TableField("PLATENUMBER")
|
||||
private String plateNumber;
|
||||
/**
|
||||
* 预警时间
|
||||
*/
|
||||
@TableField("WARNINGTIME")
|
||||
private Date warningTime;
|
||||
/**
|
||||
* 预警设备编号
|
||||
*/
|
||||
@TableField("DEVICEID")
|
||||
private String deviceId;
|
||||
/**
|
||||
* 车牌颜色
|
||||
*/
|
||||
@TableField("PLATECOLOR")
|
||||
private String plateColor;
|
||||
/**
|
||||
* 入库时间
|
||||
*/
|
||||
@TableField("INSERTTIME")
|
||||
private Date insertTime;
|
||||
}
|
||||
@ -0,0 +1,23 @@
|
||||
package com.nmggs.query.entity.sendproblacklist;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @author: shuguang
|
||||
* @date: 2025年06月26日 8:55
|
||||
* @description: 省内黑名单
|
||||
*/
|
||||
@Data
|
||||
public class ProBlackList {
|
||||
private String begdate;
|
||||
private String cardid;
|
||||
private String cardno;
|
||||
private String dt;
|
||||
private String platecolor;
|
||||
private Integer verno;
|
||||
private Long cash;
|
||||
private Integer type;
|
||||
}
|
||||
@ -0,0 +1,19 @@
|
||||
package com.nmggs.query.entity.sendproblacklist;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author: shuguang
|
||||
* @date: 2025年06月30日 8:52
|
||||
* @description:
|
||||
*/
|
||||
@Data
|
||||
public class ResponseData {
|
||||
private Integer code;
|
||||
private String key;
|
||||
private String data;
|
||||
private String message;
|
||||
private boolean success;
|
||||
}
|
||||
@ -0,0 +1,24 @@
|
||||
package com.nmggs.query.mapper;
|
||||
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author: shuguang
|
||||
* @date: 2025年04月27日 10:39
|
||||
* @description:
|
||||
*/
|
||||
@Mapper
|
||||
public interface AddInterfaceMapper {
|
||||
int getNodefeeMaxIdx();
|
||||
|
||||
List<Map<String, Object>> selectNodefeeList();
|
||||
|
||||
int getNoderelationMaxIdx();
|
||||
|
||||
List<Map<String, Object>> selectNoderelationList();
|
||||
|
||||
List<Map<String, Object>> selectExStationTransList( String vehiclePlate, String dateStart, String dateEnd);
|
||||
}
|
||||
@ -0,0 +1,65 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<!--你的mapper路径-->
|
||||
<mapper namespace="com.nmggs.query.mapper.AddInterfaceMapper">
|
||||
|
||||
|
||||
<select id="getNodefeeMaxIdx" resultType="java.lang.Integer">
|
||||
SELECT MAX(idx)
|
||||
FROM NODEFEE_TABLE
|
||||
</select>
|
||||
<select id="selectNodefeeList" resultType="java.util.Map">
|
||||
SELECT "IDX" AS "version",
|
||||
"TOLLINTERVALID" AS "id",
|
||||
"VEHTYPE" AS "vehType",
|
||||
TO_CHAR("VALIDTIME", 'YYYY-MM-DD') AS "validTime"
|
||||
FROM "NODEFEE_TABLE"
|
||||
WHERE "IDX" = (SELECT MAX("IDX") FROM "NODEFEE_TABLE")
|
||||
</select>
|
||||
<select id="getNoderelationMaxIdx" resultType="java.lang.Integer">
|
||||
SELECT MAX(idx)
|
||||
FROM NODERELATION_TABLE
|
||||
</select>
|
||||
<select id="selectNoderelationList" resultType="java.util.Map">
|
||||
SELECT "IDX" AS "version",
|
||||
"ENROADNODEID" AS "enRoadNodeId",
|
||||
"EXROADNODEID" AS "exRoadNodeId",
|
||||
"MILES" AS "miles"
|
||||
FROM "NODERELATION_TABLE"
|
||||
WHERE "IDX" = (SELECT MAX("IDX") FROM "NODERELATION_TABLE")
|
||||
</select>
|
||||
<select id="selectExStationTransList" resultType="java.util.Map">
|
||||
SELECT
|
||||
a."enStationId",
|
||||
a."enLaneId",
|
||||
a."enPassTime",
|
||||
n.GBSTATIONID AS "exStationId",
|
||||
s.GBID AS "exLaneId" ,
|
||||
a."exPassTime",
|
||||
a."fee",
|
||||
a."fee_pay"
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
ENTOLLSTATIONHEX AS "enStationId",
|
||||
ENTOLLLANEID AS "enLaneId",
|
||||
IDT AS "enPassTime",
|
||||
stano,
|
||||
PORTNO,
|
||||
DT AS "exPassTime",
|
||||
( INCASH + PAYCASH ) AS "fee_pay",
|
||||
CASH AS "fee"
|
||||
FROM
|
||||
out_port
|
||||
WHERE
|
||||
ACARNO = #{vehiclePlate}
|
||||
AND DT >= TO_DATE( #{dateStart}, 'yyyy-MM-dd' )
|
||||
AND DT <= TO_DATE( #{dateEnd}, 'yyyy-MM-dd' )
|
||||
) a
|
||||
LEFT JOIN NAME_TABLE n ON n.STANO = a.STANO
|
||||
LEFT JOIN SETUP_TABLE s ON s.STANO = a.STANO
|
||||
AND s.PORTNO = a.PORTNO
|
||||
</select>
|
||||
</mapper>
|
||||
@ -0,0 +1,14 @@
|
||||
package com.nmggs.query.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.nmggs.query.entity.sendproblacklist.FeeEvasionInfo;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
* @author: shuguang
|
||||
* @date: 2025年06月30日 8:33
|
||||
* @description:
|
||||
*/
|
||||
@Mapper
|
||||
public interface FeeEvasionInfoMapper extends BaseMapper<FeeEvasionInfo> {
|
||||
}
|
||||
@ -0,0 +1,14 @@
|
||||
package com.nmggs.query.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.nmggs.query.entity.GDCpcPayInfo;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
* @author: shuguang
|
||||
* @date: 2025年04月18日 14:06
|
||||
* @description:
|
||||
*/
|
||||
@Mapper
|
||||
public interface GDCpcPayInfoMapper extends BaseMapper<GDCpcPayInfo> {
|
||||
}
|
||||
@ -0,0 +1,30 @@
|
||||
package com.nmggs.query.mapper;
|
||||
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author: shuguang
|
||||
* @date: 2025年04月18日 15:48
|
||||
* @description:
|
||||
*/
|
||||
@Mapper
|
||||
public interface InterfaceQueryMapper {
|
||||
List<Map<String, Object>> getBasicLinkOwnerDownloadReq15();
|
||||
|
||||
List<Map<String, Object>> getBasicTollRoadDownloadReq15();
|
||||
|
||||
List<Map<String, Object>> getBasicSectionDownloadReq15();
|
||||
|
||||
List<Map<String, Object>> getBasicVerticalSectionDownloadReq15();
|
||||
|
||||
List<Map<String, Object>> getBasicTollStationDownloadReq15();
|
||||
|
||||
List<Map<String, Object>> getBasicTollPlazaDownloadReq15();
|
||||
|
||||
List<Map<String, Object>> getBasicTollLaneDownloadReq15();
|
||||
|
||||
List<Map<String, Object>> getBasicTollPointDownloadReq15();
|
||||
}
|
||||
@ -0,0 +1,195 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<!--你的mapper路径-->
|
||||
<mapper namespace="com.nmggs.query.mapper.InterfaceQueryMapper">
|
||||
|
||||
<select id="getBasicLinkOwnerDownloadReq15" resultType="java.util.Map">
|
||||
SELECT "GBID" AS "id",
|
||||
"COMNAME" AS "name",
|
||||
"GBCONTACT" AS "contact",
|
||||
"GBTEL" AS "tel",
|
||||
"GBADDRESS" AS "address",
|
||||
"BANK" AS "bank",
|
||||
"BANKADDR" AS "bankAddr",
|
||||
"BANKACCOUNT" AS "bankAccount",
|
||||
"TAXPAYERCODE" AS "taxpayerCode",
|
||||
"CREDITCODE" AS "creditCode"
|
||||
FROM "COMPANY_TABLE"
|
||||
|
||||
|
||||
</select>
|
||||
<select id="getBasicTollRoadDownloadReq15" resultType="java.util.Map">
|
||||
SELECT "GBID" AS "id",
|
||||
"GBLINENAME" AS "name",
|
||||
"GBLEVEL" AS "TECHLEVEL",
|
||||
"GBSTARTSITE" AS "startSite",
|
||||
"GBSTARTSTAKENUM" AS "startStakeNum",
|
||||
"GBSTARTLAT" AS "startLat",
|
||||
"GBSTARTLNG" AS "startLng",
|
||||
"GBSTARTSTATIONID" AS "startStationId",
|
||||
"GBENDSITE" AS "endSite",
|
||||
"GBENDSTAKENUM" AS "endStakeNum",
|
||||
"GBENDLAT" AS "endLat",
|
||||
"GBENDLNG" AS "endLng",
|
||||
"GBENDSTATIONID" AS "endStationId"
|
||||
FROM "ROAD_LINE_TABLE"
|
||||
|
||||
</select>
|
||||
<select id="getBasicSectionDownloadReq15" resultType="java.util.Map">
|
||||
SELECT "GBLINEID" AS "id",
|
||||
"LINENAME" AS "name",
|
||||
"GBROADTYPE" AS "type",
|
||||
"GBMILES" * 1000 AS "length",
|
||||
"GBSTARTLAT" AS "startLat",
|
||||
"GBSTARTLNG" AS "startLng",
|
||||
"GBSTARTSTAKENUM" AS "startStakeNum",
|
||||
"GBENDSTAKENUM" AS "endStakeNum",
|
||||
"GBENDLAT" AS "endLat",
|
||||
"GBENDLNG" AS "endLng",
|
||||
"GBTAX" AS "tax",
|
||||
"GBTAXRATE" AS "taxRate",
|
||||
"GBSECTIONOWNERID" AS "sectionOwnerId",
|
||||
"GBCHARGETYPE" AS "chargeType",
|
||||
"GBTOLLROADS" AS "tollRoads",
|
||||
"GBBUILTTIME" AS "builtTime",
|
||||
"GBSTARTTIME" AS "startTime",
|
||||
"GBENDTIME" AS "endTime"
|
||||
FROM "LINE_TABLE"
|
||||
|
||||
</select>
|
||||
<select id="getBasicVerticalSectionDownloadReq15" resultType="java.util.Map">
|
||||
SELECT "ID" AS "id",
|
||||
"NAME" AS "name",
|
||||
"TYPE" AS "type",
|
||||
"LENGTH" AS "length",
|
||||
"STARTLAT" AS "startLat",
|
||||
"STARTLNG" AS "startLng",
|
||||
"STARTSTAKENUM" AS "startStakeNum",
|
||||
"ENDSTAKENUM" AS "endStakeNum",
|
||||
"ENDLAT" AS "endLat",
|
||||
"ENDLNG" AS "endLng",
|
||||
"TOLLROADS" AS "tollRoads",
|
||||
"PROVINCETYPE" AS "provinceType",
|
||||
"ENDTIME" AS "endTime"
|
||||
FROM "FEEUNIT_TABLE"
|
||||
|
||||
</select>
|
||||
<select id="getBasicTollStationDownloadReq15" resultType="java.util.Map">
|
||||
SELECT "GBSTATIONID" AS "id",
|
||||
"STANAME" AS "name",
|
||||
"GBTOLLPLAZACOUNT" AS "tollPlazaCount",
|
||||
"STATIONHEX" AS "stationHex",
|
||||
"LINETYPE" AS "lineType",
|
||||
"OPERATORS" AS "operators",
|
||||
"DATAMERGEPOINT" AS "dataMergePoint",
|
||||
"IMEI" AS "imei",
|
||||
"IP" AS "ip",
|
||||
"SNMPVERSION" AS "snmpVersion",
|
||||
"SNMPPORT" AS "snmpPort",
|
||||
"COMMUNITY" AS "community",
|
||||
"SECURITYNAME" AS "securityName",
|
||||
"SECURITYLEVEL" AS "securityLevel",
|
||||
"AUTHENTICATION" AS "authentication",
|
||||
"AUTHKEY" AS "authKey",
|
||||
"ENCRYPTION" AS "encryption",
|
||||
"SECRETKEY" AS "secretKey"
|
||||
FROM "NAME_TABLE"
|
||||
WHERE LENGTH("GBSTATIONID") > 2
|
||||
|
||||
</select>
|
||||
<select id="getBasicTollPlazaDownloadReq15" resultType="java.util.Map">
|
||||
SELECT "GBID" AS "id",
|
||||
"GBNAME" AS "name",
|
||||
"GBPLAZATYPE" AS "plazaType",
|
||||
"GBLAT" AS "Lat",
|
||||
"GBLNG" AS "Lng",
|
||||
"GBSTAKENUM" AS "stakeNum",
|
||||
"GBETCLANECOUNT" AS "ETCLaneCount",
|
||||
"GBMTCLANECOUNT" AS "MTCLaneCount",
|
||||
"GBMIXLANECOUNT" AS "mixLaneCount"
|
||||
FROM "TOLLPLAZA_TABLE"
|
||||
</select>
|
||||
<select id="getBasicTollLaneDownloadReq15" resultType="java.util.Map">
|
||||
SELECT "GBID" AS "id",
|
||||
"GBTYPE" AS "type",
|
||||
"GBTIDALTIME" AS "tidalTime",
|
||||
"GBSTARTTIME" AS "startTime",
|
||||
"GBENDTIME" AS "endTime",
|
||||
"GBSTATUS" AS "status",
|
||||
"LANEHEX" AS "laneHex",
|
||||
"RSUMANUID" AS "rsuManUID",
|
||||
"RSUMODEL" AS "rsuModel",
|
||||
"RSUID" AS "rsuID"
|
||||
FROM "SETUP_TABLE"
|
||||
</select>
|
||||
<select id="getBasicTollPointDownloadReq15" resultType="java.util.Map">
|
||||
SELECT "ID" AS "id",
|
||||
"NAME" AS "name",
|
||||
"TYPE" AS "type",
|
||||
"BOUNDARYTYPE" AS "boundaryType",
|
||||
"TOLLINTERVALS" AS "tollIntervals",
|
||||
"LAT" AS "lat",
|
||||
"LNG" AS "lng",
|
||||
"PILENUM" AS "pileNumber",
|
||||
"STATUS" AS "status",
|
||||
"STARTTIME" AS "startTime",
|
||||
"ENDTIME" AS "endTime",
|
||||
"GANTRYHEX" AS "etcGantryHex",
|
||||
"RSUMANUID" AS "rsuManUID",
|
||||
"RSUMODEL" AS "rsuModel",
|
||||
"RSUID" AS "rsuID",
|
||||
"VPLRUID" AS "vplrUID",
|
||||
"VPLRMODEL" AS "vplrModel",
|
||||
"VPLRID" AS "vplrID",
|
||||
"HDVUID" AS "hdvUID",
|
||||
"HDVMODEL" AS "hdvModel",
|
||||
"HDVID" AS "hdvID",
|
||||
"CONTROLLERUID" AS "controllerUID",
|
||||
"CONTROLLERMODEL" AS "controllerModel",
|
||||
"CONTROLLERID" AS "controllerID",
|
||||
"CONTROLLERSYSVER" AS "controllerSysVer",
|
||||
"SERVERUID" AS "serverUID",
|
||||
"SERVERMODEL" AS "serverModel",
|
||||
"SERVERID" AS "serverID",
|
||||
"SERVERSYSVER" AS "serverSysVer",
|
||||
"SERVERDBVER" AS "serverDBVer",
|
||||
"VEHDETECTORUID" AS "vehDetectorUID",
|
||||
"VEHDETECTORMODEL" AS "vehDetectorModel",
|
||||
"VEHDETECTORID" AS "vehDetectorID",
|
||||
"WEATHERDETECTORUID" AS "weatherDetectorUID",
|
||||
"WEATHERDETECTORMODEL" AS "weatherDetectorModel",
|
||||
"WEATHERDETECTORID" AS "weatherDetectorID",
|
||||
"CLASSDETECTORUID" AS "classDetectorUID",
|
||||
"CLASSDETECTORMODEL" AS "classDetectorModel",
|
||||
"CLASSDETECTORID" AS "classDetectorID",
|
||||
"LOADDETECTIONUID" AS "loadDetectionUID",
|
||||
"LOADDETECTIONMODEL" AS "loadDetectionModel",
|
||||
"LOADDETECTIONID" AS "loadDetectionID",
|
||||
"TEMPCONTROLLERUID" AS "tempControllerUID",
|
||||
"TEMPCONTROLLERMODEL" AS "tempControllerModel",
|
||||
"TEMPCONTROLLERID" AS "tempControllerID",
|
||||
"POWERCONTROLLERUID" AS "powerControllerUID",
|
||||
"POWERCONTROLLERMODEL" AS "powerControllerModel",
|
||||
"POWERCONTROLLERID" AS "powerControllerID",
|
||||
"SAFEEQUIPUID" AS "safeEquipUID",
|
||||
"SAFEEQUIPMODEL" AS "safeEquipModel",
|
||||
"SAFEEQUIPID" AS "safeEquipID",
|
||||
"LINETYPE" AS "lineType",
|
||||
"OPERATORS" AS "operators",
|
||||
"DATAMERGEPOINT" AS "dataMergePoint",
|
||||
"IMEI" AS "imei",
|
||||
"IP" AS "ip",
|
||||
"SNMPVERSION" AS "snmpVersion",
|
||||
"SNMPPORT" AS "snmpPort",
|
||||
"COMMUNITY" AS "community",
|
||||
"SECURITYNAME" AS "securityName",
|
||||
"SECURITYLEVEL" AS "securityLevel",
|
||||
"AUTHENTICATION" AS "authentication",
|
||||
"AUTHKEY" AS "authKey",
|
||||
"ENCRYPTION" AS "encryption",
|
||||
"SECRETKEY" AS "secretKey"
|
||||
FROM "GANTRY_TABLE"
|
||||
</select>
|
||||
</mapper>
|
||||
@ -0,0 +1,14 @@
|
||||
package com.nmggs.query.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.nmggs.query.entity.Summary;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
* @author: shuguang
|
||||
* @date: 2025年04月23日 8:28
|
||||
* @description:
|
||||
*/
|
||||
@Mapper
|
||||
public interface SummaryMapper extends BaseMapper<Summary> {
|
||||
}
|
||||
@ -0,0 +1,52 @@
|
||||
package com.nmggs.query.service;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author: shuguang
|
||||
* @date: 2025年04月27日 9:51
|
||||
* @description:
|
||||
*/
|
||||
public interface AddInterfaceService {
|
||||
/**
|
||||
* 查询收费门架费率
|
||||
*
|
||||
* @param params 查询参数
|
||||
* @param uuid uuid
|
||||
* @return java.lang.String
|
||||
* @author shuguang
|
||||
* @date 2025-04-27 9:53
|
||||
*/
|
||||
String gantryfee(Map<String, Object> params, String uuid);
|
||||
/**
|
||||
* 查询连通关系
|
||||
*
|
||||
* @param params 查询参数
|
||||
* @param uuid uuid
|
||||
* @return java.lang.String
|
||||
* @author shuguang
|
||||
* @date 2025-04-27 9:53
|
||||
*/
|
||||
String gantryinfo(Map<String, Object> params, String uuid);
|
||||
/**
|
||||
* 根据参数下载最小费额文件
|
||||
*
|
||||
* @param params 参数
|
||||
* @param uuid uuid
|
||||
* @param response HttpServletResponse
|
||||
* @author shuguang
|
||||
* @date 2025-04-27 9:53
|
||||
*/
|
||||
void minPath(Map<String, Object> params, String uuid, HttpServletResponse response);
|
||||
/**
|
||||
* 出口交易查询
|
||||
*
|
||||
* @param params 查询参数
|
||||
* @param uuid uuid
|
||||
* @return java.lang.String
|
||||
* @author shuguang
|
||||
* @date 2025-04-27 9:53
|
||||
*/
|
||||
String QueryExStationTrans(Map<String, Object> params, String uuid);
|
||||
}
|
||||
@ -0,0 +1,20 @@
|
||||
package com.nmggs.query.service;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author: shuguang
|
||||
* @date: 2025年04月18日 15:44
|
||||
* @description:
|
||||
*/
|
||||
public interface GetDataService {
|
||||
/**
|
||||
*获取基础信息
|
||||
* @author shuguang
|
||||
* @date 2025-04-18 15:51
|
||||
* @param params 参数
|
||||
* @param uuid uuid
|
||||
* @return java.lang.String
|
||||
*/
|
||||
String getData(Map<String, Object> params, String uuid);
|
||||
}
|
||||
@ -0,0 +1,16 @@
|
||||
package com.nmggs.query.service;
|
||||
|
||||
/**
|
||||
* @author: shuguang
|
||||
* @date: 2025年04月18日 14:03
|
||||
* @description:
|
||||
*/
|
||||
public interface RequestInterfaceService {
|
||||
/**
|
||||
* 请求接口获取国道CPC对账数据
|
||||
*
|
||||
* @author shuguang
|
||||
* @date 2025-04-18 14:05
|
||||
*/
|
||||
void getRequestInterface(String uuid,String beforeDateString);
|
||||
}
|
||||
@ -0,0 +1,35 @@
|
||||
package com.nmggs.query.service;
|
||||
|
||||
/**
|
||||
* @author: shuguang
|
||||
* @date: 2025年06月26日 15:31
|
||||
* @description:
|
||||
*/
|
||||
public interface SendProBlackListService {
|
||||
|
||||
/**
|
||||
* 拉取内蒙省内拍照执法设备预警的逃费车辆信息
|
||||
*
|
||||
* @param uuid uuid
|
||||
* @param loginAuthenticationAccount 登录用户名
|
||||
* @param loginAuthenticationPassword 登录密码
|
||||
* @param loginAuthenticationUrl 登录鉴权接口地址
|
||||
* @param getFeeEvasionInfoUrl 获取逃费记录接口地址
|
||||
* @author shuguang
|
||||
* @date 2025-06-30 8:34
|
||||
*/
|
||||
void getFeeEvasionInfo(String uuid, String loginAuthenticationAccount, String loginAuthenticationPassword, String loginAuthenticationUrl, String getFeeEvasionInfoUrl);
|
||||
|
||||
/**
|
||||
* 推送全量省内黑名单到指定接口
|
||||
*
|
||||
* @param uuid uuid
|
||||
* @param loginAuthenticationAccount 登录用户名
|
||||
* @param loginAuthenticationPassword 登录密码
|
||||
* @param loginAuthenticationUrl 登录鉴权接口地址
|
||||
* @param sendProBlackListUrl 推送全量省内黑名单接口地址
|
||||
* @author shuguang
|
||||
* @date 2025-06-27 8:34
|
||||
*/
|
||||
void sendProBlackListToInterface(String uuid, String loginAuthenticationAccount, String loginAuthenticationPassword, String loginAuthenticationUrl, String sendProBlackListUrl);
|
||||
}
|
||||
@ -0,0 +1,102 @@
|
||||
package com.nmggs.query.test;
|
||||
|
||||
/**
|
||||
* @author: shuguang
|
||||
* @date: 2025年05月23日 14:56
|
||||
* @description:
|
||||
*/
|
||||
public class GreenQRInfo {
|
||||
public static final int CARD_TYPE_PASS = 2;
|
||||
public static final int CARD_TYPE_TICKET = 5;
|
||||
public static final int CARD_TYPE_STORE = 22;
|
||||
public static final int CARD_TYPE_TOLLY = 23;
|
||||
|
||||
public static final int MEDIA_TYPE_OBU = 1;
|
||||
public static final int MEDIA_TYPE_CPC = 2;
|
||||
public static final int MEDIA_TYPE_TICKET = 3;
|
||||
public static final int MEDIA_TYPE_UNKNOWN = 9;
|
||||
|
||||
public static final int PAY_TYPE_STORE = 1;
|
||||
public static final int PAY_TYPE_TOLLY = 2;
|
||||
|
||||
public static String getVehPlateAll(String vehPlate, int vehPlateColor) {
|
||||
if (vehPlate.isEmpty()) {
|
||||
return "";
|
||||
}
|
||||
return vehPlate + "_" + vehPlateColor;
|
||||
}
|
||||
|
||||
|
||||
public static String getGreenQRInfo(String vehPlate, int vehPlateColor, String enStationId, String exStationId,
|
||||
int enWeight, int exWeight, int cardTP, String id, String passId,
|
||||
long exTime, int payType, int cash, int inCash, int vehSign, String appointId, int provCount) {
|
||||
int mediaType = cardTP2MediaType(cardTP);
|
||||
int transPayType = 0;
|
||||
if (payType == PAY_TYPE_STORE || payType == PAY_TYPE_TOLLY) {
|
||||
transPayType = 2;
|
||||
if (cardTP == CARD_TYPE_TOLLY || cardTP == CARD_TYPE_STORE) {
|
||||
transPayType = 1;
|
||||
}
|
||||
}
|
||||
|
||||
String sVehSign = "0xFF";
|
||||
if (!(appointId.isEmpty() || "0".equals(appointId))) {
|
||||
sVehSign = String.format("0x%02X", vehSign);
|
||||
}
|
||||
|
||||
String sExWeight = "";
|
||||
if (exWeight > 1000) {
|
||||
sExWeight = Integer.toString(exWeight);
|
||||
}
|
||||
|
||||
if (transPayType != 0) {
|
||||
return String.format("%s|%s|%s|%d|%s|%d|%s|%s|%s|%d|%d|%d|%s|%d",
|
||||
getVehPlateAll(vehPlate, vehPlateColor), enStationId, exStationId, enWeight, sExWeight, mediaType,
|
||||
id, passId, DateTime2Str(exTime), transPayType, inCash, cash, sVehSign, provCount);
|
||||
} else {
|
||||
return String.format("%s|%s|%s|%d|%s|%d|%s|%s|%s|%s|%d|%d|%s|%d",
|
||||
getVehPlateAll(vehPlate, vehPlateColor), enStationId, exStationId, enWeight, sExWeight, mediaType,
|
||||
id, passId, DateTime2Str(exTime), "", cash, cash, sVehSign, provCount);
|
||||
}
|
||||
}
|
||||
|
||||
public static int cardTP2MediaType(int cardTP) {
|
||||
switch (cardTP) {
|
||||
case CARD_TYPE_STORE:
|
||||
case CARD_TYPE_TOLLY:
|
||||
return MEDIA_TYPE_OBU;
|
||||
case CARD_TYPE_PASS:
|
||||
return MEDIA_TYPE_CPC;
|
||||
case CARD_TYPE_TICKET:
|
||||
return MEDIA_TYPE_TICKET;
|
||||
default:
|
||||
return MEDIA_TYPE_UNKNOWN;
|
||||
}
|
||||
}
|
||||
|
||||
public static String DateTime2Str(long exTime) {
|
||||
return String.format("%tF %<tT", exTime);
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
String vehPlate = "蒙A12345";
|
||||
int vehPlateColor = 1;
|
||||
String enStationId = "Station1";
|
||||
String exStationId = "Station2";
|
||||
int enWeight = 1000;
|
||||
int exWeight = 1500;
|
||||
int cardTP = CARD_TYPE_STORE;
|
||||
String id = "ID123";
|
||||
String passId = "Pass123";
|
||||
long exTime = System.currentTimeMillis();
|
||||
int payType = PAY_TYPE_STORE;
|
||||
int cash = 100;
|
||||
int inCash = 50;
|
||||
int vehSign = 1;
|
||||
String appointId = "0";
|
||||
int provCount = 1;
|
||||
|
||||
String result = getGreenQRInfo(vehPlate, vehPlateColor, enStationId, exStationId, enWeight, exWeight, cardTP, id, passId, exTime, payType, cash, inCash, vehSign, appointId, provCount);
|
||||
System.out.println(result);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,40 @@
|
||||
package com.nmggs.query.test;
|
||||
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import com.nmggs.query.common.utils.SM4Utils;
|
||||
import com.nmggs.query.entity.sendproblacklist.FeeEvasionInfo;
|
||||
import com.nmggs.query.entity.sendproblacklist.ResponseData;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author: shuguang
|
||||
* @date: 2025年08月19日 16:17
|
||||
* @description:
|
||||
*/
|
||||
public class SM4Test {
|
||||
public static void main(String[] args) {
|
||||
//String json ="{\n" +
|
||||
// " \"code\": 200,\n" +
|
||||
// " \"data\": \"2LonWjWevKWg6YuJXsKEOw==\",\n" +
|
||||
// " \"key\": \"59ed0a9d89beab40c6ed6c60a1c7fee8\",\n" +
|
||||
// " \"message\": \"请求成功\",\n" +
|
||||
// " \"success\": true\n" +
|
||||
// "}";
|
||||
String json = "{\n" +
|
||||
" \"code\": 200,\n" +
|
||||
" \"data\": \"nj5H0P2zjoF8ulj2is8r0zFaaGRT5sqoStWyR7Ez6/zkRY4ISPYPhhaiCrxaNpqk2+63i5pA/85ecY2iCV0WmGOFmPNWvZRnSEhTaEz7Fc1O9G/LyKnhN6DHuC18wYuzDwsNfFQgA9j+se/YpUflCuK87tGeSiJ/7YpEysIERTW3fYNCOw6x3z4RzujxXWGW/3lKzYaKEkMxMMXGgDBIlYE+rUqZoYbjImqAS1UxLbz8Qpfj8lgdZFEPMW8wKEJcO79dR61M1NW0QXpGHdm6YisF7T7s0B2V+TWvgbZ9VUM=\",\n" +
|
||||
" \"key\": \"25c5aae35c7e932519e43caba8671ffe\",\n" +
|
||||
" \"message\": \"请求成功\",\n" +
|
||||
" \"success\": true\n" +
|
||||
"}";
|
||||
ResponseData responseData = JSON.parseObject(json, ResponseData.class);
|
||||
System.out.println(responseData.getData());
|
||||
System.out.println(responseData.getKey());
|
||||
String s = SM4Utils.sm4Decrypt(responseData.getData(), responseData.getKey());
|
||||
System.out.println(s);
|
||||
List<FeeEvasionInfo> feeEvasionInfos =
|
||||
JSON.parseArray(s, FeeEvasionInfo.class);
|
||||
System.out.println(feeEvasionInfos.size());
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,2 @@
|
||||
org.springframework.boot.env.EnvironmentPostProcessor=\
|
||||
com.nmggs.query.common.config.MyEnvironmentPostProcessor
|
||||
@ -0,0 +1,81 @@
|
||||
#\u65E5\u5FD7\u9ED8\u8BA4\u914D\u7F6E
|
||||
spring.logback.appName=GetDataInterface
|
||||
spring.logback.level=INFO
|
||||
spring.logback.myMaxHistory=30
|
||||
spring.logback.myFileSize=10MB
|
||||
spring.logback.myTotalSizeCap=2GB
|
||||
#\u7F16\u7801\u8BBE\u7F6E
|
||||
spring.http.encoding.charset=UTF-8
|
||||
spring.http.encoding.enabled=true
|
||||
spring.http.encoding.force=true
|
||||
spring.messages.encoding=UTF-8
|
||||
spring.profiles.active=dev
|
||||
server.resources.static-locations=classpath:/resources/,classpath:/static/
|
||||
# \u8FDE\u63A5\u6C60\u914D\u7F6E
|
||||
spring.datasource.name=com.zaxxer.hikari.HikariConfig
|
||||
spring.datasource.type=com.zaxxer.hikari.HikariConfig
|
||||
spring.datasource.hikari.maximum-pool-size=25
|
||||
spring.datasource.hikari.auto-commit=true
|
||||
spring.datasource.hikari.idle-timeout=0
|
||||
spring.datasource.hikari.pool-name=DatebookHikariCP
|
||||
spring.datasource.hikari.max-lifetime=300000
|
||||
spring.datasource.hikari.connection-timeout=60000
|
||||
spring.datasource.hikari.minimum-idle=1
|
||||
spring.datasource.hikari.allow-pool-suspension: true
|
||||
spring.datasource.hikari.register-mbeans: true
|
||||
spring.datasource.hikari.leak-detection-threshold: 60000
|
||||
# xml\u5730\u5740
|
||||
spring.mybatis-plus.mapper-locations=com.nmggs.query.mapper/*Mapper.xml
|
||||
# \u5B9E\u4F53\u626B\u63CF\uFF0C\u591A\u4E2Apackage\u7528\u9017\u53F7\u6216\u8005\u5206\u53F7\u5206\u9694
|
||||
#\u81EA\u5DF1\u7684\u5B9E\u4F53\u7C7B\u5730\u5740
|
||||
spring.mybatis-plus.type-aliases-package=com.nmggs.query.entity
|
||||
# \u670D\u52A1\u6A21\u5757
|
||||
# \u70ED\u90E8\u7F72\u5F00\u5173
|
||||
spring.devtools.restart.enabled=true
|
||||
#\u91CD\u542F\u76EE\u5F55
|
||||
spring.devtools.restart.additional-paths=src/main
|
||||
#redis
|
||||
|
||||
spring.session.store-type=none
|
||||
#spring-session
|
||||
spring.session.timeout: PT30M
|
||||
|
||||
spring.datasource.initialization-mode=always
|
||||
|
||||
|
||||
#\u53BB\u9664\u9644\u4EF6\u5927\u5C0F\u9650\u5236
|
||||
#\u8BF7\u6C42\u53C2\u6570\u957F\u5EA6
|
||||
server.tomcat.max-http-form-post-size=10MB
|
||||
server.max-http-header-size=10MB
|
||||
|
||||
#\u6700\u5927\u4E0A\u4F20\u6587\u4EF6\u5927\u5C0F(10MB)
|
||||
|
||||
spring.servlet.multipart.max-file-size = -1
|
||||
spring.servlet.multipart.max-request-size = -1
|
||||
server.tomcat.max-swallow-size = -1
|
||||
server.tomcat.max-threads=1000
|
||||
#\u4E0D\u53EF\u914D\u7F6E\u7684\u914D\u7F6E\u9879
|
||||
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
|
||||
logging.level.com.nmgs.ssmpback.mapper=debug
|
||||
sqlClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver
|
||||
sqlvalidationQuery=SELECT 1
|
||||
OracleClassName=oracle.jdbc.driver.OracleDriver
|
||||
OraclevalidationQuery=SELECT 1 from dual
|
||||
DMClassName=dm.jdbc.driver.DmDriver
|
||||
DMvalidationQuery=SELECT 1
|
||||
MySQLClassName=com.mysql.cj.jdbc.Driver
|
||||
MySQLvalidationQuery=SELECT 1
|
||||
GoldenDBClassName=com.goldendb.jdbc.Driver
|
||||
GoldenvalidationQuery=SELECT 1 FROM DUAL
|
||||
mybatis-plus.configuration.map-underscore-to-camel-case=false
|
||||
spring.jackson.time-zone=GMT+8
|
||||
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
|
||||
|
||||
|
||||
|
||||
|
||||
#前端vue
|
||||
spring.web.resources.static-locations= classpath:/static/
|
||||
|
||||
|
||||
|
||||
@ -0,0 +1,7 @@
|
||||
#每4小时执行一次
|
||||
time.corn1 = 0 0 0/4 * * ?
|
||||
#每天1点执行一次
|
||||
time.corn2 = 0 0 1 * * ?
|
||||
#每天3点执行一次
|
||||
time.corn3 = 0 0 3 * * ?
|
||||
|
||||
@ -0,0 +1,9 @@
|
||||
Manifest-Version: 1.0
|
||||
Created-By: IntelliJ IDEA
|
||||
Built-By: shuguang
|
||||
Build-Jdk: Oracle OpenJDK version 1.8.0_181
|
||||
Implementation-Title: GetDataInterface
|
||||
Implementation-Version: 0.0.1-SNAPSHOT
|
||||
Implementation-Vendor-Id: com.nmggs
|
||||
Main-Class: ${start-class}
|
||||
|
||||
@ -0,0 +1,2 @@
|
||||
org.springframework.boot.env.EnvironmentPostProcessor=\
|
||||
com.nmggs.query.common.config.MyEnvironmentPostProcessor
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue