首次提交
commit
60ee109c9b
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module version="4">
|
||||
<component name="SonarLintModuleSettings">
|
||||
<option name="uniqueId" value="d931ae4c-9246-4c76-8069-40536858e278" />
|
||||
</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="FortressGetDataInterface" />
|
||||
</profile>
|
||||
</annotationProcessing>
|
||||
</component>
|
||||
<component name="JavacSettings">
|
||||
<option name="ADDITIONAL_OPTIONS_OVERRIDE">
|
||||
<module name="FortressGetDataInterface" 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="96" 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,316 @@
|
||||
<?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>FortressGetDataInterface</artifactId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
<packaging>war</packaging>
|
||||
<name>FortressGetDataInterface</name>
|
||||
<description>FortressGetDataInterface</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>
|
||||
<!-- MyBatis的多数据源 -->
|
||||
<dependency>
|
||||
<groupId>com.baomidou</groupId>
|
||||
<artifactId>dynamic-datasource-spring-boot-starter</artifactId>
|
||||
<version>3.5.2</version>
|
||||
</dependency>
|
||||
<!--Spring AOP-->
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-aop</artifactId>
|
||||
</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>FortressGetDataInterface</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.FortressGetDataInterfaceApplication</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,18 @@
|
||||
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;
|
||||
|
||||
@SpringBootApplication
|
||||
public class FortressGetDataInterfaceApplication extends SpringBootServletInitializer {
|
||||
@Override
|
||||
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
|
||||
return builder.sources(FortressGetDataInterfaceApplication.class);
|
||||
}
|
||||
public static void main(String[] args) {
|
||||
SpringApplication.run(FortressGetDataInterfaceApplication.class, args);
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,28 @@
|
||||
package com.nmggs.query.common.config;
|
||||
|
||||
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.http.converter.FormHttpMessageConverter;
|
||||
import org.springframework.http.converter.HttpMessageConverter;
|
||||
import org.springframework.web.client.RestTemplate;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author: shuguang
|
||||
* @date: 2025年09月09日 17:32
|
||||
* @description:
|
||||
*/
|
||||
@Configuration
|
||||
public class AppConfig {
|
||||
@Bean
|
||||
public RestTemplate restTemplate() {
|
||||
RestTemplate restTemplate = new RestTemplate();
|
||||
List<HttpMessageConverter<?>> messageConverters = new ArrayList<>(restTemplate.getMessageConverters());
|
||||
messageConverters.add(new FormHttpMessageConverter());
|
||||
restTemplate.setMessageConverters(messageConverters);
|
||||
return restTemplate;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,64 @@
|
||||
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(
|
||||
"/ZDYH/**",
|
||||
"/DCPC/**",
|
||||
"/ReceptionMobileWeighInfo",
|
||||
"/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,16 @@
|
||||
package com.nmggs.query.common.config;
|
||||
|
||||
import java.lang.annotation.ElementType;
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.lang.annotation.Target;
|
||||
|
||||
/**
|
||||
* @author: shuguang
|
||||
* @date: 2025年08月06日 11:34
|
||||
* @description: 注解和切面类--用于标记需要计算执行时间的方法
|
||||
*/
|
||||
@Target(ElementType.METHOD) // 注解仅适用于方法
|
||||
@Retention(RetentionPolicy.RUNTIME) // 注解在运行时保留
|
||||
public @interface ExecutionTimeLogger {
|
||||
}
|
||||
@ -0,0 +1,56 @@
|
||||
package com.nmggs.query.common.config;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.aspectj.lang.ProceedingJoinPoint;
|
||||
import org.aspectj.lang.annotation.Around;
|
||||
import org.aspectj.lang.annotation.Aspect;
|
||||
import org.aspectj.lang.reflect.MethodSignature;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
|
||||
/**
|
||||
* @author: shuguang
|
||||
* @date: 2025年08月06日 11:36
|
||||
* @description:
|
||||
*/
|
||||
@Aspect
|
||||
@Component
|
||||
@Slf4j
|
||||
public class ExecutionTimeLoggerAspect {
|
||||
|
||||
/**
|
||||
* 指定拦截带有 ExecutionTimeLogger 注解的方法
|
||||
*
|
||||
* @return java.lang.Object
|
||||
* @author shuguang
|
||||
* @date 2025-08-06 11:37
|
||||
*/
|
||||
@Around("@annotation(ExecutionTimeLogger)")
|
||||
public Object logExecutionTime(ProceedingJoinPoint joinPoint) throws Throwable {
|
||||
long startTime = System.currentTimeMillis();
|
||||
|
||||
Object[] args = joinPoint.getArgs();
|
||||
MethodSignature signature = (MethodSignature) joinPoint.getSignature();
|
||||
String[] parameterNames = signature.getParameterNames();
|
||||
|
||||
String uuid = null;
|
||||
for (int i = 0; i < parameterNames.length; i++) {
|
||||
if ("uuid".equals(parameterNames[i]) && args[i] instanceof String) {
|
||||
uuid = (String) args[i];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Object result = joinPoint.proceed();
|
||||
|
||||
long executionTime = System.currentTimeMillis() - startTime;
|
||||
|
||||
if (uuid != null) {
|
||||
log.info("[uuid:{}]-{}方法在{}毫秒内执行完毕", uuid, joinPoint.getSignature().getName(), executionTime);
|
||||
} else {
|
||||
log.info("{}方法在{}毫秒内执行完毕", joinPoint.getSignature().getName(), executionTime);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
@ -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,84 @@
|
||||
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 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("FortressGetDataInterface读取公用配置文件");
|
||||
//公用配置文件路径
|
||||
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));
|
||||
Newproperties.load(new FileInputStream(NewPath));
|
||||
properties.setProperty("spring.logback.logPath", PathUtil.TomcatPath + "/logs");
|
||||
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();
|
||||
}
|
||||
}
|
||||
|
||||
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,73 @@
|
||||
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", "最小费额文件不存在"),
|
||||
检测数据序号不能为空("10001", "检测数据序号不能为空"),
|
||||
请求类型错误("10002", "请求类型错误"),
|
||||
|
||||
/**
|
||||
* 异常
|
||||
*/
|
||||
复制文件失败("20001", "复制文件失败"),
|
||||
文件移动重命名失败("20002", "文件移动重命名失败"),
|
||||
返回数据格式错误("20003", "返回数据格式错误"),
|
||||
查询数据失败("20004", "查询数据失败"),
|
||||
插入数据失败("20005", "插入数据失败"),
|
||||
|
||||
|
||||
登录鉴权失败("20006", "登录鉴权失败"),
|
||||
数据库连接异常("20007", "数据库连接异常"),
|
||||
数据库执行sql失败("20008", "数据库执行sql失败"),
|
||||
推送省内黑名单数据失败("20009", "推送省内黑名单数据失败"),
|
||||
获取逃费记录数据失败("20010", "获取逃费记录数据失败"),
|
||||
生成密钥失败("20011", "生成密钥失败"),
|
||||
加密失败("20012", "加密失败"),
|
||||
解密失败("20013", "解密失败"),
|
||||
请求接口失败("20014", "请求接口失败"),
|
||||
文件加密失败("20015", "文件加密失败"),
|
||||
接收移动称重数据异常("20016", "接收移动称重数据异常"),
|
||||
转换json数据异常("20017", "转换json数据异常"),
|
||||
系统异常("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 msg_code;
|
||||
/**
|
||||
* 异常信息
|
||||
*/
|
||||
private String msg_info;
|
||||
|
||||
public PPException(String msg_code, String msg_info) {
|
||||
super(msg_code);
|
||||
this.msg_code = msg_code;
|
||||
this.msg_info = msg_info;
|
||||
}
|
||||
|
||||
public PPException(String message, String msg_code, String msg_info) {
|
||||
super(message);
|
||||
this.msg_code = msg_code;
|
||||
this.msg_info = msg_info;
|
||||
}
|
||||
|
||||
public PPException(String message, Throwable cause, String msg_code, String msg_info) {
|
||||
super(message, cause);
|
||||
this.msg_code = msg_code;
|
||||
this.msg_info = msg_info;
|
||||
}
|
||||
|
||||
public PPException(Throwable cause, String msg_code, String msg_info) {
|
||||
super(cause);
|
||||
this.msg_code = msg_code;
|
||||
this.msg_info = msg_info;
|
||||
}
|
||||
|
||||
}
|
||||
@ -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.getMsg_code(), e.getMsg_info());
|
||||
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 msg_code;
|
||||
private String msg_info;
|
||||
private T data;
|
||||
public Result() {
|
||||
}
|
||||
|
||||
public Result(T data) {
|
||||
this.data = data;
|
||||
}
|
||||
|
||||
public static Result success() {
|
||||
Result result = new Result<>();
|
||||
result.setMsg_code(MessageEnum.成功.getCode());
|
||||
result.setMsg_info(MessageEnum.成功.getMessage());
|
||||
return result;
|
||||
}
|
||||
|
||||
public static <T> Result<T> success(T data) {
|
||||
Result<T> result = new Result<>(data);
|
||||
result.setMsg_code(MessageEnum.成功.getCode());
|
||||
result.setMsg_info(MessageEnum.成功.getMessage());
|
||||
return result;
|
||||
}
|
||||
|
||||
public static Result error(String code, String msg) {
|
||||
Result result = new Result();
|
||||
result.setMsg_code(code);
|
||||
result.setMsg_info(msg);
|
||||
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,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,279 @@
|
||||
package com.nmggs.query.controller;
|
||||
|
||||
import com.nmggs.query.common.config.ExecutionTimeLogger;
|
||||
import com.nmggs.query.common.utils.PropertiesUtil;
|
||||
import com.nmggs.query.common.utils.UuidUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.http.HttpEntity;
|
||||
import org.springframework.http.HttpHeaders;
|
||||
import org.springframework.http.HttpMethod;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.util.LinkedMultiValueMap;
|
||||
import org.springframework.util.MultiValueMap;
|
||||
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.RequestHeader;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.client.RestTemplate;
|
||||
import org.springframework.web.util.UriComponentsBuilder;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author: shuguang
|
||||
* @date: 2025年09月09日 11:33
|
||||
* @description: 内网转发请求外网接口
|
||||
*/
|
||||
@RestController
|
||||
@Slf4j
|
||||
public class InForwardOutController {
|
||||
|
||||
@Resource
|
||||
private RestTemplate restTemplate;
|
||||
|
||||
|
||||
/**
|
||||
*请求接口获取国道DCPC对账数据
|
||||
*/
|
||||
@GetMapping("/DCPC/getDCPCData")
|
||||
@ExecutionTimeLogger
|
||||
public ResponseEntity<String> getDCPCData(@RequestHeader Map<String, String> headers,
|
||||
@RequestParam Map<String, String> params) {
|
||||
String uuid = UuidUtil.getUuid();
|
||||
log.info("[uuid:{}]-接收到请求,请求头:{},请求参数:{}", uuid, headers, params);
|
||||
|
||||
// 构造请求头
|
||||
HttpHeaders requestHeaders = new HttpHeaders();
|
||||
headers.forEach(requestHeaders::add);
|
||||
|
||||
// 构造查询参数
|
||||
MultiValueMap<String, String> queryParams = new LinkedMultiValueMap<>();
|
||||
params.forEach(queryParams::add);
|
||||
|
||||
// 构造请求体
|
||||
HttpEntity<Void> requestEntity = new HttpEntity<>(requestHeaders);
|
||||
|
||||
// 构造完整 URL
|
||||
String url = PropertiesUtil.getValue("reconciliationInterfaceUrl");
|
||||
UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(url);
|
||||
queryParams.forEach((key, value) -> builder.queryParam(key, value.toArray(new String[0])));
|
||||
|
||||
// 调用接口
|
||||
ResponseEntity<String> response = restTemplate.exchange(
|
||||
builder.build().toUri(),
|
||||
HttpMethod.GET,
|
||||
requestEntity,
|
||||
String.class
|
||||
);
|
||||
|
||||
// 返回接口的响应
|
||||
log.info("[uuid:{}]-请求接口{}成功,响应状态码:{},响应体:{}", uuid, url, response.getStatusCode(), response.getBody());
|
||||
return new ResponseEntity<>(response.getBody(), response.getStatusCode());
|
||||
}
|
||||
|
||||
/**
|
||||
*DCPC请求验签接口
|
||||
*/
|
||||
@GetMapping("/DCPC/verify")
|
||||
@ExecutionTimeLogger
|
||||
public ResponseEntity<String> verify(@RequestHeader Map<String, String> headers,
|
||||
@RequestParam Map<String, String> params) {
|
||||
String uuid = UuidUtil.getUuid();
|
||||
log.info("[uuid:{}]-接收到请求,请求头:{},请求参数:{}", uuid, headers, params);
|
||||
|
||||
// 构造请求头
|
||||
HttpHeaders requestHeaders = new HttpHeaders();
|
||||
headers.forEach(requestHeaders::add);
|
||||
|
||||
// 构造查询参数
|
||||
MultiValueMap<String, String> queryParams = new LinkedMultiValueMap<>();
|
||||
params.forEach(queryParams::add);
|
||||
|
||||
// 构造请求体
|
||||
HttpEntity<Void> requestEntity = new HttpEntity<>(requestHeaders);
|
||||
|
||||
// 构造完整 URL
|
||||
String verifyInterfaceUrl = PropertiesUtil.getValue("verifyInterfaceUrl");
|
||||
UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(verifyInterfaceUrl);
|
||||
queryParams.forEach((key, value) -> builder.queryParam(key, value.toArray(new String[0])));
|
||||
|
||||
// 调用接口
|
||||
ResponseEntity<String> response = restTemplate.exchange(
|
||||
builder.build().toUri(),
|
||||
HttpMethod.GET,
|
||||
requestEntity,
|
||||
String.class
|
||||
);
|
||||
|
||||
// 返回接口的响应
|
||||
log.info("[uuid:{}]-请求接口{}成功,响应状态码:{},响应体:{}", uuid, verifyInterfaceUrl, response.getStatusCode(), response.getBody());
|
||||
return new ResponseEntity<>(response.getBody(), response.getStatusCode());
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
*重点隐患车辆车辆验证token接口
|
||||
*/
|
||||
@PostMapping("/ZDYH/verifyToken")
|
||||
@ExecutionTimeLogger
|
||||
public ResponseEntity<String> verifyToken(@RequestHeader Map<String, String> headers,
|
||||
@RequestParam Map<String, String> params) {
|
||||
String uuid = UuidUtil.getUuid();
|
||||
log.info("[uuid:{}]-接收到请求,请求头:{},请求体:{}", uuid, headers, params);
|
||||
|
||||
// 构造请求头
|
||||
HttpHeaders requestHeaders = new HttpHeaders();
|
||||
headers.forEach(requestHeaders::add);
|
||||
requestHeaders.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
|
||||
|
||||
// 构造请求体
|
||||
MultiValueMap<String, String> formBody = new LinkedMultiValueMap<>();
|
||||
params.forEach(formBody::add);
|
||||
|
||||
HttpEntity<MultiValueMap<String, String>> requestEntity = new HttpEntity<>(formBody, requestHeaders);
|
||||
|
||||
// 调用接口
|
||||
String loginAuthenticationUrl = PropertiesUtil.getValue("loginAuthenticationUrl");
|
||||
ResponseEntity<String> response = restTemplate.postForEntity(loginAuthenticationUrl, requestEntity, String.class);
|
||||
|
||||
// 返回接口的响应
|
||||
log.info("[uuid:{}]-请求接口{}成功,响应状态码:{},响应体:{}", uuid, loginAuthenticationUrl, response.getStatusCode(), response.getBody());
|
||||
return new ResponseEntity<>(response.getBody(), response.getStatusCode());
|
||||
}
|
||||
/**
|
||||
*推送全量省内黑名单到指定接口
|
||||
*/
|
||||
@PostMapping("/ZDYH/sendProBlackListToInterface")
|
||||
@ExecutionTimeLogger
|
||||
public ResponseEntity<String> sendProBlackListToInterface(@RequestHeader Map<String, String> headers, @RequestBody Map<String, Object> body) {
|
||||
String uuid = UuidUtil.getUuid();
|
||||
log.info("[uuid:{}]-接收到请求,请求头:{}",uuid, headers);
|
||||
// 构造请求头
|
||||
HttpHeaders requestHeaders = new HttpHeaders();
|
||||
headers.forEach(requestHeaders::add);
|
||||
// 构造请求体
|
||||
HttpEntity<Map<String, Object>> requestEntity = new HttpEntity<>(body, requestHeaders);
|
||||
// 调用接口
|
||||
String sendProBlackListUrl = PropertiesUtil.getValue("sendProBlackListUrl");
|
||||
ResponseEntity<String> response = restTemplate.postForEntity(sendProBlackListUrl, requestEntity, String.class);
|
||||
|
||||
// 返回接口的响应
|
||||
log.info("[uuid:{}]-请求接口{}成功,响应状态码:{},响应体:{}", uuid, sendProBlackListUrl, response.getStatusCode(), response.getBody());
|
||||
return new ResponseEntity<>(response.getBody(), response.getStatusCode());
|
||||
}
|
||||
/**
|
||||
*拉取内蒙省内拍照执法设备预警的逃费车辆信息
|
||||
*/
|
||||
@GetMapping("/ZDYH/getFeeEvasionInfo")
|
||||
@ExecutionTimeLogger
|
||||
public ResponseEntity<String> getFeeEvasionInfo(@RequestHeader Map<String, String> headers,
|
||||
@RequestParam Map<String, String> params) {
|
||||
String uuid = UuidUtil.getUuid();
|
||||
log.info("[uuid:{}]-接收到请求,请求头:{},请求参数:{}", uuid, headers, params);
|
||||
|
||||
// 构造请求头
|
||||
HttpHeaders requestHeaders = new HttpHeaders();
|
||||
headers.forEach(requestHeaders::add);
|
||||
|
||||
// 构造查询参数
|
||||
MultiValueMap<String, String> queryParams = new LinkedMultiValueMap<>();
|
||||
params.forEach(queryParams::add);
|
||||
|
||||
// 构造请求体
|
||||
HttpEntity<Void> requestEntity = new HttpEntity<>(requestHeaders);
|
||||
|
||||
// 构造完整 URL
|
||||
String sendProBlackListUrl = PropertiesUtil.getValue("sendProBlackListUrl");
|
||||
UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(sendProBlackListUrl);
|
||||
queryParams.forEach((key, value) -> builder.queryParam(key, value.toArray(new String[0])));
|
||||
|
||||
// 调用接口
|
||||
ResponseEntity<String> response = restTemplate.exchange(
|
||||
builder.build().toUri(),
|
||||
HttpMethod.GET,
|
||||
requestEntity,
|
||||
String.class
|
||||
);
|
||||
|
||||
// 返回接口的响应
|
||||
log.info("[uuid:{}]-请求接口{}成功,响应状态码:{},响应体:{}", uuid, sendProBlackListUrl, response.getStatusCode(), response.getBody());
|
||||
return new ResponseEntity<>(response.getBody(), response.getStatusCode());
|
||||
}
|
||||
@PostMapping("/DCPC/getLanePass")
|
||||
@ExecutionTimeLogger
|
||||
public ResponseEntity<String> getLanePass(@RequestHeader Map<String, String> headers, @RequestBody Map<String, Object> body) {
|
||||
String uuid = UuidUtil.getUuid();
|
||||
log.info("[uuid:{}]-接收到请求,请求头:{},请求体:{}",uuid, headers, body);
|
||||
// 构造请求头
|
||||
HttpHeaders requestHeaders = new HttpHeaders();
|
||||
headers.forEach(requestHeaders::add);
|
||||
// 构造请求体
|
||||
HttpEntity<Map<String, Object>> requestEntity = new HttpEntity<>(body, requestHeaders);
|
||||
// 调用接口
|
||||
String dCPCLanePassInterfaceUrl = PropertiesUtil.getValue("DCPCLanePassInterfaceUrl");
|
||||
ResponseEntity<String> response = restTemplate.postForEntity(dCPCLanePassInterfaceUrl, requestEntity, String.class);
|
||||
|
||||
// 返回接口的响应
|
||||
log.info("[uuid:{}]-请求接口{}成功,响应状态码:{},响应体:{}", uuid, dCPCLanePassInterfaceUrl, response.getStatusCode(), response.getBody());
|
||||
return new ResponseEntity<>(response.getBody(), response.getStatusCode());
|
||||
}
|
||||
@PostMapping("/DCPC/getFeepay")
|
||||
@ExecutionTimeLogger
|
||||
public ResponseEntity<String> getFeepay(@RequestHeader Map<String, String> headers, @RequestBody Map<String, Object> body) {
|
||||
String uuid = UuidUtil.getUuid();
|
||||
log.info("[uuid:{}]-接收到请求,请求头:{},请求体:{}",uuid, headers, body);
|
||||
// 构造请求头
|
||||
HttpHeaders requestHeaders = new HttpHeaders();
|
||||
headers.forEach(requestHeaders::add);
|
||||
// 构造请求体
|
||||
HttpEntity<Map<String, Object>> requestEntity = new HttpEntity<>(body, requestHeaders);
|
||||
// 调用接口
|
||||
String dCPCFeePayInterfaceUrl = PropertiesUtil.getValue("DCPCFeePayInterfaceUrl");
|
||||
ResponseEntity<String> response = restTemplate.postForEntity(dCPCFeePayInterfaceUrl, requestEntity, String.class);
|
||||
|
||||
// 返回接口的响应
|
||||
log.info("[uuid:{}]-请求接口{}成功,响应状态码:{},响应体:{}", uuid, dCPCFeePayInterfaceUrl, response.getStatusCode(), response.getBody());
|
||||
return new ResponseEntity<>(response.getBody(), response.getStatusCode());
|
||||
}
|
||||
@PostMapping("/DCPC/getRunawayfeepay")
|
||||
@ExecutionTimeLogger
|
||||
public ResponseEntity<String> getRunawayfeepay(@RequestHeader Map<String, String> headers, @RequestBody Map<String, Object> body) {
|
||||
String uuid = UuidUtil.getUuid();
|
||||
log.info("[uuid:{}]-接收到请求,请求头:{},请求体:{}",uuid, headers, body);
|
||||
// 构造请求头
|
||||
HttpHeaders requestHeaders = new HttpHeaders();
|
||||
headers.forEach(requestHeaders::add);
|
||||
// 构造请求体
|
||||
HttpEntity<Map<String, Object>> requestEntity = new HttpEntity<>(body, requestHeaders);
|
||||
// 调用接口
|
||||
String dCPCRunAwayInterfaceUrl = PropertiesUtil.getValue("DCPCRunAwayInterfaceUrl");
|
||||
ResponseEntity<String> response = restTemplate.postForEntity(dCPCRunAwayInterfaceUrl, requestEntity, String.class);
|
||||
|
||||
// 返回接口的响应
|
||||
log.info("[uuid:{}]-请求接口{}成功,响应状态码:{},响应体:{}", uuid, dCPCRunAwayInterfaceUrl, response.getStatusCode(), response.getBody());
|
||||
return new ResponseEntity<>(response.getBody(), response.getStatusCode());
|
||||
}
|
||||
@PostMapping("/DCPC/getReversalfeepay")
|
||||
@ExecutionTimeLogger
|
||||
public ResponseEntity<String> getReversalfeepay(@RequestHeader Map<String, String> headers, @RequestBody Map<String, Object> body) {
|
||||
String uuid = UuidUtil.getUuid();
|
||||
log.info("[uuid:{}]-接收到请求,请求头:{},请求体:{}",uuid, headers, body);
|
||||
// 构造请求头
|
||||
HttpHeaders requestHeaders = new HttpHeaders();
|
||||
headers.forEach(requestHeaders::add);
|
||||
// 构造请求体
|
||||
HttpEntity<Map<String, Object>> requestEntity = new HttpEntity<>(body, requestHeaders);
|
||||
// 调用接口
|
||||
String dCPCRefundInterfaceUrl = PropertiesUtil.getValue("DCPCRefundInterfaceUrl");
|
||||
ResponseEntity<String> response = restTemplate.postForEntity(dCPCRefundInterfaceUrl, requestEntity, String.class);
|
||||
|
||||
// 返回接口的响应
|
||||
log.info("[uuid:{}]-请求接口{}成功,响应状态码:{},响应体:{}", uuid, dCPCRefundInterfaceUrl, response.getStatusCode(), response.getBody());
|
||||
return new ResponseEntity<>(response.getBody(), response.getStatusCode());
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,193 @@
|
||||
package com.nmggs.query.controller;
|
||||
|
||||
import com.nmggs.query.common.config.ExecutionTimeLogger;
|
||||
import com.nmggs.query.common.emnu.Constant;
|
||||
import com.nmggs.query.common.utils.PropertiesUtil;
|
||||
import com.nmggs.query.common.utils.UuidUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.http.HttpEntity;
|
||||
import org.springframework.http.HttpHeaders;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestHeader;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.client.RestTemplate;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author: shuguang
|
||||
* @date: 2025年09月09日 11:43
|
||||
* @description: 外网转发请求内网接口
|
||||
*/
|
||||
@RestController
|
||||
@Slf4j
|
||||
public class OutForwardInController {
|
||||
|
||||
@Resource
|
||||
private RestTemplate restTemplate;
|
||||
|
||||
|
||||
@PostMapping("/ZDYH/getEquipmentInfo")
|
||||
@ExecutionTimeLogger
|
||||
public ResponseEntity<String> getEquipmentInfo(@RequestHeader Map<String, String> headers, @RequestBody Map<String, Object> body) {
|
||||
String uuid = UuidUtil.getUuid();
|
||||
log.info("[uuid:{}]-接收到请求,请求头:{},请求体:{}",uuid, headers, body);
|
||||
String intranetIp = PropertiesUtil.getValue("IntranetIp");
|
||||
String intranetPort = PropertiesUtil.getValue("IntranetPort");
|
||||
// 构造请求头
|
||||
HttpHeaders requestHeaders = new HttpHeaders();
|
||||
headers.forEach(requestHeaders::add);
|
||||
|
||||
// 构造请求体
|
||||
HttpEntity<Map<String, Object>> requestEntity = new HttpEntity<>(body, requestHeaders);
|
||||
|
||||
// 调用接口
|
||||
String url = urlSplicing(intranetIp, intranetPort,Constant.INTRANET_ZDYH_GET_EQUIPMENT_INFO);
|
||||
ResponseEntity<String> response = restTemplate.postForEntity(url, requestEntity, String.class);
|
||||
|
||||
// 返回接口的响应
|
||||
log.info("[uuid:{}]-请求接口{}成功,响应状态码:{},响应体:{}", uuid, url, response.getStatusCode(), response.getBody());
|
||||
return new ResponseEntity<>(response.getBody(), response.getStatusCode());
|
||||
}
|
||||
|
||||
|
||||
@PostMapping("/DCPC/baseinfo/gantryfee")
|
||||
@ExecutionTimeLogger
|
||||
public ResponseEntity<String> gantryFee(@RequestHeader Map<String, String> headers, @RequestBody Map<String, Object> body) {
|
||||
String uuid = UuidUtil.getUuid();
|
||||
log.info("[uuid:{}]-接收到请求,请求头:{},请求体:{}",uuid, headers, body);
|
||||
String intranetIp = PropertiesUtil.getValue("IntranetIp");
|
||||
String intranetPort = PropertiesUtil.getValue("IntranetPort");
|
||||
// 构造请求头
|
||||
HttpHeaders requestHeaders = new HttpHeaders();
|
||||
headers.forEach(requestHeaders::add);
|
||||
|
||||
// 构造请求体
|
||||
HttpEntity<Map<String, Object>> requestEntity = new HttpEntity<>(body, requestHeaders);
|
||||
|
||||
// 调用接口
|
||||
String url = urlSplicing(intranetIp, intranetPort,Constant.INTRANET_DCPC_BASE_INFO_GANTRY_FEE);
|
||||
ResponseEntity<String> response = restTemplate.postForEntity(url, requestEntity, String.class);
|
||||
|
||||
// 返回接口的响应
|
||||
log.info("[uuid:{}]-请求接口{}成功,响应状态码:{}", uuid, url, response.getStatusCode());
|
||||
return new ResponseEntity<>(response.getBody(), response.getStatusCode());
|
||||
}
|
||||
@PostMapping("/DCPC/baseinfo/gantryinfo")
|
||||
@ExecutionTimeLogger
|
||||
public ResponseEntity<String> gantryinfo(@RequestHeader Map<String, String> headers, @RequestBody Map<String, Object> body) {
|
||||
String uuid = UuidUtil.getUuid();
|
||||
log.info("[uuid:{}]-接收到请求,请求头:{},请求体:{}",uuid, headers, body);
|
||||
String intranetIp = PropertiesUtil.getValue("IntranetIp");
|
||||
String intranetPort = PropertiesUtil.getValue("IntranetPort");
|
||||
// 构造请求头
|
||||
HttpHeaders requestHeaders = new HttpHeaders();
|
||||
headers.forEach(requestHeaders::add);
|
||||
|
||||
// 构造请求体
|
||||
HttpEntity<Map<String, Object>> requestEntity = new HttpEntity<>(body, requestHeaders);
|
||||
|
||||
// 调用接口
|
||||
String url = urlSplicing(intranetIp, intranetPort,Constant.INTRANET_DCPC_BASE_INFO_GANTRY_INFO);
|
||||
ResponseEntity<String> response = restTemplate.postForEntity(url, requestEntity, String.class);
|
||||
|
||||
// 返回接口的响应
|
||||
log.info("[uuid:{}]-请求接口{}成功,响应状态码:{}", uuid, url, response.getStatusCode());
|
||||
return new ResponseEntity<>(response.getBody(), response.getStatusCode());
|
||||
}
|
||||
@PostMapping("/DCPC/baseinfo/minPath")
|
||||
@ExecutionTimeLogger
|
||||
public ResponseEntity<String> minPath(@RequestHeader Map<String, String> headers, @RequestBody Map<String, Object> body) {
|
||||
String uuid = UuidUtil.getUuid();
|
||||
log.info("[uuid:{}]-接收到请求,请求头:{},请求体:{}",uuid, headers, body);
|
||||
String intranetIp = PropertiesUtil.getValue("IntranetIp");
|
||||
String intranetPort = PropertiesUtil.getValue("IntranetPort");
|
||||
// 构造请求头
|
||||
HttpHeaders requestHeaders = new HttpHeaders();
|
||||
headers.forEach(requestHeaders::add);
|
||||
|
||||
// 构造请求体
|
||||
HttpEntity<Map<String, Object>> requestEntity = new HttpEntity<>(body, requestHeaders);
|
||||
|
||||
// 调用接口
|
||||
String url = urlSplicing(intranetIp, intranetPort,Constant.INTRANET_DCPC_BASE_INFO_MIN_PATH);
|
||||
ResponseEntity<String> response = restTemplate.postForEntity(url, requestEntity, String.class);
|
||||
|
||||
// 返回接口的响应
|
||||
log.info("[uuid:{}]-请求接口{}成功,响应状态码:{}", uuid, url, response.getStatusCode());
|
||||
return new ResponseEntity<>(response.getBody(), response.getStatusCode());
|
||||
}
|
||||
@PostMapping("/DCPC/baseinfo/QueryExStationTrans")
|
||||
@ExecutionTimeLogger
|
||||
public ResponseEntity<String> queryExStationTrans(@RequestHeader Map<String, String> headers, @RequestBody Map<String, Object> body) {
|
||||
String uuid = UuidUtil.getUuid();
|
||||
log.info("[uuid:{}]-接收到请求,请求头:{},请求体:{}",uuid, headers, body);
|
||||
String intranetIp = PropertiesUtil.getValue("IntranetIp");
|
||||
String intranetPort = PropertiesUtil.getValue("IntranetPort");
|
||||
// 构造请求头
|
||||
HttpHeaders requestHeaders = new HttpHeaders();
|
||||
headers.forEach(requestHeaders::add);
|
||||
|
||||
// 构造请求体
|
||||
HttpEntity<Map<String, Object>> requestEntity = new HttpEntity<>(body, requestHeaders);
|
||||
|
||||
// 调用接口
|
||||
String url = urlSplicing(intranetIp, intranetPort,Constant.INTRANET_DCPC_BASE_INFO_QUERY_EX_STATION);
|
||||
ResponseEntity<String> response = restTemplate.postForEntity(url, requestEntity, String.class);
|
||||
|
||||
// 返回接口的响应
|
||||
log.info("[uuid:{}]-请求接口{}成功,响应状态码:{}", uuid, url, response.getStatusCode());
|
||||
return new ResponseEntity<>(response.getBody(), response.getStatusCode());
|
||||
}
|
||||
@PostMapping("/DCPC/getData")
|
||||
@ExecutionTimeLogger
|
||||
public ResponseEntity<String> getData(@RequestHeader Map<String, String> headers, @RequestBody Map<String, Object> body) {
|
||||
String uuid = UuidUtil.getUuid();
|
||||
log.info("[uuid:{}]-接收到请求,请求头:{},请求体:{}",uuid, headers, body);
|
||||
String intranetIp = PropertiesUtil.getValue("IntranetIp");
|
||||
String intranetPort = PropertiesUtil.getValue("IntranetPort");
|
||||
// 构造请求头
|
||||
HttpHeaders requestHeaders = new HttpHeaders();
|
||||
headers.forEach(requestHeaders::add);
|
||||
|
||||
// 构造请求体
|
||||
HttpEntity<Map<String, Object>> requestEntity = new HttpEntity<>(body, requestHeaders);
|
||||
|
||||
// 调用接口
|
||||
String url = urlSplicing(intranetIp, intranetPort,Constant.INTRANET_DCPC_GET_DATA);
|
||||
ResponseEntity<String> response = restTemplate.postForEntity(url, requestEntity, String.class);
|
||||
|
||||
// 返回接口的响应
|
||||
log.info("[uuid:{}]-请求接口{}成功,响应状态码:{}", uuid, url, response.getStatusCode());
|
||||
return new ResponseEntity<>(response.getBody(), response.getStatusCode());
|
||||
}
|
||||
@PostMapping("/ReceptionMobileWeighInfo")
|
||||
@ExecutionTimeLogger
|
||||
public ResponseEntity<String> receptionMobileWeighInfo(@RequestHeader Map<String, String> headers, @RequestBody Map<String, Object> body) {
|
||||
String uuid = UuidUtil.getUuid();
|
||||
log.info("[uuid:{}]-接收到请求,请求头:{},请求体:{}",uuid, headers, body);
|
||||
String intranetIp = PropertiesUtil.getValue("IntranetIp");
|
||||
String intranetPort = PropertiesUtil.getValue("IntranetPort");
|
||||
// 构造请求头
|
||||
HttpHeaders requestHeaders = new HttpHeaders();
|
||||
headers.forEach(requestHeaders::add);
|
||||
|
||||
// 构造请求体
|
||||
HttpEntity<Map<String, Object>> requestEntity = new HttpEntity<>(body, requestHeaders);
|
||||
|
||||
// 调用接口
|
||||
String url = urlSplicing(intranetIp, intranetPort,Constant.INTRANET_MOBILE_WEIGH);
|
||||
ResponseEntity<String> response = restTemplate.postForEntity(url, requestEntity, String.class);
|
||||
|
||||
// 返回接口的响应
|
||||
log.info("[uuid:{}]-请求接口{}成功,响应状态码:{},响应体:{}", uuid, url, response.getStatusCode(), response.getBody());
|
||||
return new ResponseEntity<>(response.getBody(), response.getStatusCode());
|
||||
}
|
||||
private String urlSplicing(String fortressIp, String fortressPort, String interfaceAddress) {
|
||||
return Constant.HTTP + fortressIp + Constant.STR_COLON + fortressPort + Constant.STR_SLASH+ interfaceAddress;
|
||||
|
||||
}
|
||||
}
|
||||
@ -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,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,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=FortressGetDataInterface
|
||||
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,3 @@
|
||||
序号 日期 版本号 说明
|
||||
1 2025年09月09日 1.0.0 堡垒机中间转发内外网请求
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@ -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: FortressGetDataInterface
|
||||
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.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,81 @@
|
||||
#\u65E5\u5FD7\u9ED8\u8BA4\u914D\u7F6E
|
||||
spring.logback.appName=FortressGetDataInterface
|
||||
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,3 @@
|
||||
序号 日期 版本号 说明
|
||||
1 2025年09月09日 1.0.0 堡垒机中间转发内外网请求
|
||||
|
||||
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.
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