Merge remote-tracking branch 'origin/main'
This commit is contained in:
commit
31cad54e46
16
.gitignore
vendored
Normal file
16
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
# IDEA
|
||||
.idea/
|
||||
*.iml
|
||||
|
||||
# 编译输出
|
||||
/out/
|
||||
target/
|
||||
build/
|
||||
|
||||
# 日志、临时文件
|
||||
*.log
|
||||
*.tmp
|
||||
|
||||
# 操作系统垃圾
|
||||
.DS_Store
|
||||
Thumbs.db
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="CheckStyle-IDEA" serialisationVersion="2">
|
||||
<checkstyleVersion>10.26.1</checkstyleVersion>
|
||||
<scanScope>JavaOnly</scanScope>
|
||||
<copyLibs>true</copyLibs>
|
||||
<option name="thirdPartyClasspath" />
|
||||
<option name="activeLocationIds" />
|
||||
<option name="locations">
|
||||
<list>
|
||||
<ConfigurationLocation id="bundled-sun-checks" type="BUNDLED" scope="All" description="Sun Checks">(bundled)</ConfigurationLocation>
|
||||
<ConfigurationLocation id="bundled-google-checks" type="BUNDLED" scope="All" description="Google Checks">(bundled)</ConfigurationLocation>
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
</project>
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
<?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="springbootmybatis" />
|
||||
</profile>
|
||||
</annotationProcessing>
|
||||
<bytecodeTargetLevel target="8" />
|
||||
</component>
|
||||
<component name="JavacSettings">
|
||||
<option name="ADDITIONAL_OPTIONS_OVERRIDE">
|
||||
<module name="springbootmybatis" options="-parameters" />
|
||||
</option>
|
||||
</component>
|
||||
</project>
|
||||
|
|
@ -1,20 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="dataSourceStorageLocal" created-in="IU-252.25557.131">
|
||||
<data-source name="surportdb@localhost" uuid="4dda967d-7d48-4880-aff4-fb7cd7b8baa4">
|
||||
<database-info product="MySQL" version="5.5.19" jdbc-version="4.2" driver-name="MySQL Connector/J" driver-version="mysql-connector-j-8.2.0 (Revision: 06a1f724497fd81c6a659131fda822c9e5085b6c)" dbms="MYSQL" exact-version="5.5.19" exact-driver-version="8.2">
|
||||
<extra-name-characters>#@</extra-name-characters>
|
||||
<identifier-quote-string>`</identifier-quote-string>
|
||||
</database-info>
|
||||
<case-sensitivity plain-identifiers="lower" quoted-identifiers="lower" />
|
||||
<secret-storage>master_key</secret-storage>
|
||||
<user-name>root</user-name>
|
||||
<schema-mapping>
|
||||
<introspection-scope>
|
||||
<node kind="schema" qname="@" />
|
||||
</introspection-scope>
|
||||
</schema-mapping>
|
||||
<load-sources>user_and_system_sources</load-sources>
|
||||
</data-source>
|
||||
</component>
|
||||
</project>
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="DataSourceManagerImpl" format="xml" multifile-model="true">
|
||||
<data-source source="LOCAL" name="surportdb@localhost" uuid="4dda967d-7d48-4880-aff4-fb7cd7b8baa4">
|
||||
<driver-ref>mysql.8</driver-ref>
|
||||
<synchronize>true</synchronize>
|
||||
<jdbc-driver>com.mysql.cj.jdbc.Driver</jdbc-driver>
|
||||
<jdbc-url>jdbc:mysql://localhost:3308/surportdb</jdbc-url>
|
||||
<jdbc-additional-properties>
|
||||
<property name="com.intellij.clouds.kubernetes.db.host.port" />
|
||||
<property name="com.intellij.clouds.kubernetes.db.enabled" value="false" />
|
||||
<property name="com.intellij.clouds.kubernetes.db.container.port" />
|
||||
</jdbc-additional-properties>
|
||||
<working-dir>$ProjectFileDir$</working-dir>
|
||||
</data-source>
|
||||
</component>
|
||||
</project>
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -1,2 +0,0 @@
|
|||
#n:information_schema
|
||||
!<md> [null, 0, null, null, -2147483648, -2147483648]
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
#n:mysql
|
||||
!<md> [null, 0, null, null, -2147483648, -2147483648]
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
#n:performance_schema
|
||||
!<md> [null, 0, null, null, -2147483648, -2147483648]
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="DataSourcePerFileMappings">
|
||||
<file url="file://$PROJECT_DIR$/src/main/resources/mapper/tbl/IconMapper.xml" value="4dda967d-7d48-4880-aff4-fb7cd7b8baa4" />
|
||||
</component>
|
||||
</project>
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="Encoding">
|
||||
<file url="file://$PROJECT_DIR$/src/main/java" charset="UTF-8" />
|
||||
</component>
|
||||
</project>
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"code": 403,
|
||||
"data": "",
|
||||
"message": "无访问权限"
|
||||
}
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
# domain path name value date
|
||||
localhost / JSESSIONID E291DD00A087DE0BB2F330B40FCCB213 -1
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
POST http://localhost:8099/scenarioOrgPost/getSelectedOrgId
|
||||
User-Agent: IntelliJ HTTP Client/IntelliJ IDEA 2025.2.1
|
||||
Accept-Encoding: br, deflate, gzip, x-gzip
|
||||
Accept: */*
|
||||
content-length: 0
|
||||
|
||||
<> 2025-09-09T171744.401.json
|
||||
|
||||
###
|
||||
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
<component name="InspectionProjectProfileManager">
|
||||
<profile version="1.0">
|
||||
<option name="myName" value="Project Default" />
|
||||
<inspection_tool class="AutoCloseableResource" enabled="true" level="WARNING" enabled_by_default="true">
|
||||
<option name="METHOD_MATCHER_CONFIG" value="java.util.Formatter,format,java.io.Writer,append,com.google.common.base.Preconditions,checkNotNull,org.hibernate.Session,close,java.io.PrintWriter,printf,java.io.PrintStream,printf,java.lang.foreign.Arena,ofAuto,java.lang.foreign.Arena,global,java.util.Map,remove" />
|
||||
</inspection_tool>
|
||||
</profile>
|
||||
</component>
|
||||
|
|
@ -1,20 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="RemoteRepositoriesConfiguration">
|
||||
<remote-repository>
|
||||
<option name="id" value="central" />
|
||||
<option name="name" value="central" />
|
||||
<option name="url" value="https://repo.maven.apache.org/maven2" />
|
||||
</remote-repository>
|
||||
<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>
|
||||
</component>
|
||||
</project>
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ASMIdeaPluginConfiguration">
|
||||
<asm skipDebug="false" skipFrames="false" skipCode="false" expandFrames="false" />
|
||||
<groovy codeStyle="LEGACY" />
|
||||
</component>
|
||||
<component name="ExternalStorageConfigurationManager" enabled="true" />
|
||||
<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" />
|
||||
</project>
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/springbootmybatis.iml" filepath="$PROJECT_DIR$/springbootmybatis.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
</project>
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="SqlDialectMappings">
|
||||
<file url="PROJECT" dialect="MySQL" />
|
||||
</component>
|
||||
</project>
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
||||
|
|
@ -1,460 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="AutoImportSettings">
|
||||
<option name="autoReloadType" value="SELECTIVE" />
|
||||
</component>
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="af4c07b7-4ec6-4591-87e0-621479a360cc" name="更改" comment="初次提交">
|
||||
<change afterPath="$PROJECT_DIR$/src/main/demo.html" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/main/java/com/hivekion/baseData/entity/OrgSupplier.java" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/main/java/com/hivekion/baseData/mapper/OrgSupplierMapper.java" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/main/java/com/hivekion/baseData/service/OrgSupplierService.java" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/main/java/com/hivekion/baseData/service/impl/OrgSupplierServiceImpl.java" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/main/java/com/hivekion/scenario/controller/ScenarioSupplierController.java" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/main/java/com/hivekion/scenario/controller/ScenarioTaskController.java" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/main/java/com/hivekion/scenario/entity/ScenarioSupplier.java" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/main/java/com/hivekion/scenario/entity/ScenarioTask.java" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/main/java/com/hivekion/scenario/mapper/ScenarioSupplierMapper.java" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/main/java/com/hivekion/scenario/mapper/ScenarioTaskMapper.java" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/main/java/com/hivekion/scenario/service/ScenarioSupplierService.java" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/main/java/com/hivekion/scenario/service/ScenarioTaskService.java" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/main/java/com/hivekion/scenario/service/impl/ScenarioSupplierServiceImpl.java" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/main/java/com/hivekion/scenario/service/impl/ScenarioTaskServiceImpl.java" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/main/resources/mapper/tbl/OrgSupplierMapper.xml" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/main/resources/mapper/tbl/ScenarioSupplierMapper.xml" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/src/main/resources/mapper/tbl/ScenarioTaskMapper.xml" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/target/classes/com/hivekion/baseData/entity/OrgSupplier.class" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/target/classes/com/hivekion/baseData/mapper/OrgSupplierMapper.class" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/target/classes/com/hivekion/baseData/service/OrgSupplierService.class" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/target/classes/com/hivekion/baseData/service/impl/OrgSupplierServiceImpl.class" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/target/classes/com/hivekion/scenario/bean/ScenarioWsParam.class" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/target/classes/com/hivekion/scenario/controller/ScenarioSupplierController.class" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/target/classes/com/hivekion/scenario/controller/ScenarioTaskController.class" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/target/classes/com/hivekion/scenario/entity/ScenarioSupplier.class" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/target/classes/com/hivekion/scenario/entity/ScenarioTask.class" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/target/classes/com/hivekion/scenario/mapper/ScenarioSupplierMapper.class" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/target/classes/com/hivekion/scenario/mapper/ScenarioTaskMapper.class" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/target/classes/com/hivekion/scenario/service/ScenarioSupplierService.class" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/target/classes/com/hivekion/scenario/service/ScenarioTaskService.class" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/target/classes/com/hivekion/scenario/service/TaskLogicService.class" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/target/classes/com/hivekion/scenario/service/impl/ScenarioSupplierServiceImpl.class" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/target/classes/com/hivekion/scenario/service/impl/ScenarioTaskServiceImpl.class" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/target/classes/com/hivekion/scenario/service/impl/TaskLogicServiceImpl.class" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/target/classes/com/hivekion/statistic/bean/AmmunitionInfo.class" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/target/classes/com/hivekion/statistic/bean/CountInfo.class" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/target/classes/com/hivekion/statistic/bean/FoodInfo.class" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/target/classes/com/hivekion/statistic/bean/FuelInfo.class" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/target/classes/com/hivekion/statistic/bean/MedicalInfo.class" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/target/classes/com/hivekion/statistic/bean/WaterInfo.class" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/target/classes/com/hivekion/statistic/service/StatisticService.class" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/target/classes/com/hivekion/statistic/service/impl/StatisticServiceImpl.class" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/target/classes/mapper/tbl/OrgSupplierMapper.xml" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/target/classes/mapper/tbl/ScenarioSupplierMapper.xml" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/target/classes/mapper/tbl/ScenarioTaskMapper.xml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||
</list>
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
|
||||
<option name="LAST_RESOLUTION" value="IGNORE" />
|
||||
</component>
|
||||
<component name="FileTemplateManagerImpl">
|
||||
<option name="RECENT_TEMPLATES">
|
||||
<list>
|
||||
<option value="Interface" />
|
||||
<option value="Class" />
|
||||
<option value="HTML File" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<component name="Git.Settings">
|
||||
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
|
||||
</component>
|
||||
<component name="HttpClientOnboardingState">{
|
||||
"isOnboardingCommentShown": true
|
||||
}</component>
|
||||
<component name="KubernetesApiPersistence">{}</component>
|
||||
<component name="KubernetesApiProvider">{
|
||||
"isMigrated": true
|
||||
}</component>
|
||||
<component name="MavenImportPreferences">
|
||||
<option name="generalSettings">
|
||||
<MavenGeneralSettings>
|
||||
<option name="userSettingsFile" value="D:\software\apache-maven-3.9.2\conf\settings.xml" />
|
||||
</MavenGeneralSettings>
|
||||
</option>
|
||||
</component>
|
||||
<component name="ProjectColorInfo">{
|
||||
"customColor": "",
|
||||
"associatedIndex": 2
|
||||
}</component>
|
||||
<component name="ProjectId" id="30xEDuypSMTWMYEEfYAu7JmzPDG" />
|
||||
<component name="ProjectViewState">
|
||||
<option name="hideEmptyMiddlePackages" value="true" />
|
||||
<option name="showLibraryContents" value="true" />
|
||||
</component>
|
||||
<component name="PropertiesComponent"><![CDATA[{
|
||||
"keyToString": {
|
||||
"DefaultHtmlFileTemplate": "HTML File",
|
||||
"HTTP 请求.generated-requests | #1.executor": "Run",
|
||||
"JUnit.ApplicationTest.executor": "Run",
|
||||
"JUnit.ApplicationTest.hello.executor": "Run",
|
||||
"JUnit.ApplicationTest.modStatus.executor": "Run",
|
||||
"JUnit.ApplicationTest.scenarioHistory.executor": "Run",
|
||||
"Maven.springbootmybatis [clean].executor": "Run",
|
||||
"Maven.springbootmybatis [compile].executor": "Run",
|
||||
"Maven.springbootmybatis [package].executor": "Run",
|
||||
"ModuleVcsDetector.initialDetectionPerformed": "true",
|
||||
"RequestMappingsPanelOrder0": "0",
|
||||
"RequestMappingsPanelOrder1": "1",
|
||||
"RequestMappingsPanelWidth0": "75",
|
||||
"RequestMappingsPanelWidth1": "75",
|
||||
"RunOnceActivity.ShowReadmeOnStart": "true",
|
||||
"RunOnceActivity.git.unshallow": "true",
|
||||
"SHARE_PROJECT_CONFIGURATION_FILES": "true",
|
||||
"Spring Boot.DemoApplication.executor": "Run",
|
||||
"git-widget-placeholder": "main",
|
||||
"kotlin-language-version-configured": "true",
|
||||
"node.js.detected.package.eslint": "true",
|
||||
"node.js.detected.package.tslint": "true",
|
||||
"node.js.selected.package.eslint": "(autodetect)",
|
||||
"node.js.selected.package.tslint": "(autodetect)",
|
||||
"nodejs_package_manager_path": "npm",
|
||||
"project.structure.last.edited": "SDK",
|
||||
"project.structure.proportion": "0.15",
|
||||
"project.structure.side.proportion": "0.2",
|
||||
"settings.editor.selected.configurable": "reference.projectsettings.compiler.javacompiler",
|
||||
"vue.rearranger.settings.migration": "true",
|
||||
"应用程序.CodeGenerator.executor": "Run",
|
||||
"应用程序.JsonTest.executor": "Run",
|
||||
"应用程序.ResponseData.executor": "Run",
|
||||
"应用程序.SimtoolWeather.executor": "Run"
|
||||
},
|
||||
"keyToStringList": {
|
||||
"DatabaseDriversLRU": [
|
||||
"mysql"
|
||||
]
|
||||
}
|
||||
}]]></component>
|
||||
<component name="ReactorSettings">
|
||||
<option name="notificationShown" value="true" />
|
||||
</component>
|
||||
<component name="RecentsManager">
|
||||
<key name="MoveClassesOrPackagesDialog.RECENTS_KEY">
|
||||
<recent name="com.hivekion" />
|
||||
</key>
|
||||
</component>
|
||||
<component name="RunDashboard">
|
||||
<option name="configurationStatuses">
|
||||
<map>
|
||||
<entry key="HttpClient.HttpRequestRunConfigurationType">
|
||||
<value>
|
||||
<map>
|
||||
<entry key="generated-requests | #1" value="STOPPED" />
|
||||
</map>
|
||||
</value>
|
||||
</entry>
|
||||
</map>
|
||||
</option>
|
||||
</component>
|
||||
<component name="RunManager" selected="Spring Boot.DemoApplication">
|
||||
<configuration name="CodeGenerator" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
|
||||
<option name="MAIN_CLASS_NAME" value="com.hivekion.CodeGenerator" />
|
||||
<module name="springbootmybatis" />
|
||||
<extension name="coverage">
|
||||
<pattern>
|
||||
<option name="PATTERN" value="com.hivekion.*" />
|
||||
<option name="ENABLED" value="true" />
|
||||
</pattern>
|
||||
</extension>
|
||||
<method v="2">
|
||||
<option name="Make" enabled="true" />
|
||||
</method>
|
||||
</configuration>
|
||||
<configuration name="SimtoolWeather" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
|
||||
<option name="MAIN_CLASS_NAME" value="com.hivekion.environment.entity.SimtoolWeather" />
|
||||
<module name="springbootmybatis" />
|
||||
<extension name="coverage">
|
||||
<pattern>
|
||||
<option name="PATTERN" value="com.hivekion.environment.entity.*" />
|
||||
<option name="ENABLED" value="true" />
|
||||
</pattern>
|
||||
</extension>
|
||||
<method v="2">
|
||||
<option name="Make" enabled="true" />
|
||||
</method>
|
||||
</configuration>
|
||||
<configuration name="generated-requests | #1" type="HttpClient.HttpRequestRunConfigurationType" factoryName="HTTP Request" temporary="true" nameIsGenerated="true" path="$APPLICATION_CONFIG_DIR$/scratches/generated-requests.http" executionIdentifier="#1" runType="运行单个请求">
|
||||
<method v="2" />
|
||||
</configuration>
|
||||
<configuration name="ApplicationTest" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
|
||||
<module name="springbootmybatis" />
|
||||
<extension name="coverage">
|
||||
<pattern>
|
||||
<option name="PATTERN" value="com.hivekion.*" />
|
||||
<option name="ENABLED" value="true" />
|
||||
</pattern>
|
||||
</extension>
|
||||
<option name="PACKAGE_NAME" value="com.hivekion" />
|
||||
<option name="MAIN_CLASS_NAME" value="com.hivekion.ApplicationTest" />
|
||||
<option name="TEST_OBJECT" value="class" />
|
||||
<method v="2">
|
||||
<option name="Make" enabled="true" />
|
||||
</method>
|
||||
</configuration>
|
||||
<configuration name="ApplicationTest.modStatus" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
|
||||
<module name="springbootmybatis" />
|
||||
<extension name="coverage">
|
||||
<pattern>
|
||||
<option name="PATTERN" value="com.hivekion.*" />
|
||||
<option name="ENABLED" value="true" />
|
||||
</pattern>
|
||||
</extension>
|
||||
<option name="PACKAGE_NAME" value="com.hivekion" />
|
||||
<option name="MAIN_CLASS_NAME" value="com.hivekion.ApplicationTest" />
|
||||
<option name="METHOD_NAME" value="modStatus" />
|
||||
<option name="TEST_OBJECT" value="method" />
|
||||
<method v="2">
|
||||
<option name="Make" enabled="true" />
|
||||
</method>
|
||||
</configuration>
|
||||
<configuration name="DemoApplication" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot" nameIsGenerated="true">
|
||||
<module name="springbootmybatis" />
|
||||
<option name="SPRING_BOOT_MAIN_CLASS" value="com.hivekion.DemoApplication" />
|
||||
<method v="2">
|
||||
<option name="Make" enabled="true" />
|
||||
</method>
|
||||
</configuration>
|
||||
<recent_temporary>
|
||||
<list>
|
||||
<item itemvalue="应用程序.CodeGenerator" />
|
||||
<item itemvalue="HTTP 请求.generated-requests | #1" />
|
||||
<item itemvalue="应用程序.SimtoolWeather" />
|
||||
<item itemvalue="JUnit.ApplicationTest.modStatus" />
|
||||
<item itemvalue="JUnit.ApplicationTest" />
|
||||
</list>
|
||||
</recent_temporary>
|
||||
</component>
|
||||
<component name="SharedIndexes">
|
||||
<attachedChunks>
|
||||
<set>
|
||||
<option value="bundled-jdk-9823dce3aa75-bf35d07a577b-intellij.indexing.shared.core-IU-252.25557.131" />
|
||||
<option value="bundled-js-predefined-d6986cc7102b-b598e85cdad2-JavaScript-IU-252.25557.131" />
|
||||
</set>
|
||||
</attachedChunks>
|
||||
</component>
|
||||
<component name="TaskManager">
|
||||
<task active="true" id="Default" summary="默认任务">
|
||||
<changelist id="af4c07b7-4ec6-4591-87e0-621479a360cc" name="更改" comment="" />
|
||||
<created>1754560710248</created>
|
||||
<option name="number" value="Default" />
|
||||
<option name="presentableId" value="Default" />
|
||||
<updated>1754560710248</updated>
|
||||
<workItem from="1754560714503" duration="2195000" />
|
||||
<workItem from="1754563543522" duration="8000" />
|
||||
<workItem from="1754564611042" duration="2016000" />
|
||||
<workItem from="1754567879649" duration="1208000" />
|
||||
<workItem from="1754614336718" duration="11404000" />
|
||||
<workItem from="1754631088525" duration="65000" />
|
||||
<workItem from="1754633571570" duration="1496000" />
|
||||
<workItem from="1754874206200" duration="13510000" />
|
||||
<workItem from="1754962724451" duration="10037000" />
|
||||
<workItem from="1754984981453" duration="2957000" />
|
||||
<workItem from="1754992631423" duration="3014000" />
|
||||
<workItem from="1755048980541" duration="2066000" />
|
||||
<workItem from="1755053436455" duration="1470000" />
|
||||
<workItem from="1755055996312" duration="565000" />
|
||||
<workItem from="1755057920828" duration="874000" />
|
||||
<workItem from="1755070571207" duration="572000" />
|
||||
<workItem from="1755078865960" duration="3173000" />
|
||||
<workItem from="1755082671077" duration="726000" />
|
||||
<workItem from="1755132776936" duration="22676000" />
|
||||
<workItem from="1755411808622" duration="144000" />
|
||||
<workItem from="1755564998541" duration="351000" />
|
||||
<workItem from="1755566075130" duration="9685000" />
|
||||
<workItem from="1755588219539" duration="3557000" />
|
||||
<workItem from="1755597064946" duration="2883000" />
|
||||
<workItem from="1755660166813" duration="7148000" />
|
||||
<workItem from="1755674487681" duration="299000" />
|
||||
<workItem from="1755739709488" duration="1736000" />
|
||||
<workItem from="1756343433194" duration="32119000" />
|
||||
<workItem from="1756429582447" duration="11015000" />
|
||||
<workItem from="1756693419024" duration="908000" />
|
||||
<workItem from="1756696042739" duration="7000" />
|
||||
<workItem from="1756777851977" duration="842000" />
|
||||
<workItem from="1756779843353" duration="9363000" />
|
||||
<workItem from="1756796244702" duration="922000" />
|
||||
<workItem from="1756810818498" duration="1042000" />
|
||||
<workItem from="1756861095122" duration="26709000" />
|
||||
<workItem from="1756952900077" duration="622000" />
|
||||
<workItem from="1757058212763" duration="1247000" />
|
||||
<workItem from="1757061103942" duration="1316000" />
|
||||
<workItem from="1757063897795" duration="203000" />
|
||||
<workItem from="1757226926931" duration="15123000" />
|
||||
<workItem from="1757247397897" duration="141000" />
|
||||
<workItem from="1757293603104" duration="7511000" />
|
||||
<workItem from="1757379564655" duration="27531000" />
|
||||
<workItem from="1757466364570" duration="7473000" />
|
||||
<workItem from="1757551777310" duration="27165000" />
|
||||
<workItem from="1757646901779" duration="1536000" />
|
||||
<workItem from="1757745562472" duration="11951000" />
|
||||
<workItem from="1757761044173" duration="32000" />
|
||||
<workItem from="1757813716738" duration="15793000" />
|
||||
</task>
|
||||
<task id="LOCAL-00001" summary="初次提交">
|
||||
<option name="closed" value="true" />
|
||||
<created>1754561049395</created>
|
||||
<option name="number" value="00001" />
|
||||
<option name="presentableId" value="LOCAL-00001" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1754561049395</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00002" summary="初次提交">
|
||||
<option name="closed" value="true" />
|
||||
<created>1754562853375</created>
|
||||
<option name="number" value="00002" />
|
||||
<option name="presentableId" value="LOCAL-00002" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1754562853375</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00003" summary="初次提交">
|
||||
<option name="closed" value="true" />
|
||||
<created>1754565249597</created>
|
||||
<option name="number" value="00003" />
|
||||
<option name="presentableId" value="LOCAL-00003" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1754565249597</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00004" summary="初次提交">
|
||||
<option name="closed" value="true" />
|
||||
<created>1754566593438</created>
|
||||
<option name="number" value="00004" />
|
||||
<option name="presentableId" value="LOCAL-00004" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1754566593438</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00005" summary="初次提交">
|
||||
<option name="closed" value="true" />
|
||||
<created>1754631103549</created>
|
||||
<option name="number" value="00005" />
|
||||
<option name="presentableId" value="LOCAL-00005" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1754631103549</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00006" summary="初次提交">
|
||||
<option name="closed" value="true" />
|
||||
<created>1754631112719</created>
|
||||
<option name="number" value="00006" />
|
||||
<option name="presentableId" value="LOCAL-00006" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1754631112719</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00007" summary="初次提交">
|
||||
<option name="closed" value="true" />
|
||||
<created>1754884616330</created>
|
||||
<option name="number" value="00007" />
|
||||
<option name="presentableId" value="LOCAL-00007" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1754884616330</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00008" summary="初次提交">
|
||||
<option name="closed" value="true" />
|
||||
<created>1757572201371</created>
|
||||
<option name="number" value="00008" />
|
||||
<option name="presentableId" value="LOCAL-00008" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1757572201371</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00009" summary="初次提交">
|
||||
<option name="closed" value="true" />
|
||||
<created>1757747521654</created>
|
||||
<option name="number" value="00009" />
|
||||
<option name="presentableId" value="LOCAL-00009" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1757747521654</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00010" summary="初次提交">
|
||||
<option name="closed" value="true" />
|
||||
<created>1757750237450</created>
|
||||
<option name="number" value="00010" />
|
||||
<option name="presentableId" value="LOCAL-00010" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1757750237450</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00011" summary="初次提交">
|
||||
<option name="closed" value="true" />
|
||||
<created>1757818188742</created>
|
||||
<option name="number" value="00011" />
|
||||
<option name="presentableId" value="LOCAL-00011" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1757818188742</updated>
|
||||
</task>
|
||||
<task id="LOCAL-00012" summary="初次提交">
|
||||
<option name="closed" value="true" />
|
||||
<created>1757830773257</created>
|
||||
<option name="number" value="00012" />
|
||||
<option name="presentableId" value="LOCAL-00012" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1757830773257</updated>
|
||||
</task>
|
||||
<option name="localTasksCounter" value="13" />
|
||||
<servers />
|
||||
</component>
|
||||
<component name="TypeScriptGeneratedFilesManager">
|
||||
<option name="version" value="3" />
|
||||
</component>
|
||||
<component name="VcsManagerConfiguration">
|
||||
<MESSAGE value="初次提交" />
|
||||
<option name="LAST_COMMIT_MESSAGE" value="初次提交" />
|
||||
</component>
|
||||
<component name="XDebuggerManager">
|
||||
<breakpoint-manager>
|
||||
<breakpoints>
|
||||
<line-breakpoint enabled="true" type="java-line">
|
||||
<url>file://$PROJECT_DIR$/src/main/java/com/hivekion/system/controller/UserLoginController.java</url>
|
||||
<line>179</line>
|
||||
<option name="timeStamp" value="2" />
|
||||
</line-breakpoint>
|
||||
<line-breakpoint enabled="true" type="java-line">
|
||||
<url>file://$PROJECT_DIR$/src/main/java/com/hivekion/baseData/controller/TreeController.java</url>
|
||||
<line>64</line>
|
||||
<option name="timeStamp" value="3" />
|
||||
</line-breakpoint>
|
||||
<line-breakpoint enabled="true" type="java-line">
|
||||
<url>file://$PROJECT_DIR$/src/test/java/com/hivekion/JsonTest.java</url>
|
||||
<line>40</line>
|
||||
<option name="timeStamp" value="8" />
|
||||
</line-breakpoint>
|
||||
<line-breakpoint enabled="true" type="java-line">
|
||||
<url>file://$PROJECT_DIR$/src/main/java/com/hivekion/environment/service/impl/SimtoolWeatherServiceImpl.java</url>
|
||||
<line>25</line>
|
||||
<option name="timeStamp" value="17" />
|
||||
</line-breakpoint>
|
||||
<line-breakpoint enabled="true" type="java-line">
|
||||
<url>file://$PROJECT_DIR$/src/main/java/com/hivekion/baseData/service/impl/TblEntityServiceImpl.java</url>
|
||||
<line>94</line>
|
||||
<option name="timeStamp" value="19" />
|
||||
</line-breakpoint>
|
||||
<line-breakpoint enabled="true" type="java-field">
|
||||
<url>file://$PROJECT_DIR$/src/main/java/com/hivekion/common/config/WebSecurityConfig.java</url>
|
||||
<line>34</line>
|
||||
<properties field="userDetailsService" class="com.hivekion.common.config.WebSecurityConfig" />
|
||||
<option name="timeStamp" value="12" />
|
||||
</line-breakpoint>
|
||||
<line-breakpoint enabled="true" type="java-method">
|
||||
<url>file://$PROJECT_DIR$/src/main/java/com/hivekion/baseData/service/impl/TblEntityServiceImpl.java</url>
|
||||
<line>251</line>
|
||||
<properties class="com.hivekion.baseData.service.impl.TblEntityServiceImpl">
|
||||
<option name="EMULATED" value="true" />
|
||||
<option name="WATCH_EXIT" value="false" />
|
||||
</properties>
|
||||
<option name="timeStamp" value="20" />
|
||||
</line-breakpoint>
|
||||
</breakpoints>
|
||||
</breakpoint-manager>
|
||||
</component>
|
||||
<component name="XSLT-Support.FileAssociations.UIState">
|
||||
<expand />
|
||||
<select />
|
||||
</component>
|
||||
</project>
|
||||
|
|
@ -1,10 +1,89 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Title</title>
|
||||
<meta charset="utf-8">
|
||||
<title>Google Map 绘制路线</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<style>
|
||||
html, body, #map {
|
||||
height: 100%;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
width: 100%;
|
||||
}
|
||||
#map {
|
||||
height: 100vh;
|
||||
width: 100vw;
|
||||
max-width: 100%;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="map"></div>
|
||||
<script>
|
||||
// 你的坐标点数据
|
||||
const coordinates = [
|
||||
[121.148362,25.007064],
|
||||
[121.147496,25.00752],
|
||||
[121.147192,25.007612],
|
||||
[121.146891,25.00789],
|
||||
[121.147089,25.008096],
|
||||
[121.148939,25.010199],
|
||||
[121.149814,25.01108],
|
||||
[121.150415,25.011655],
|
||||
[121.150568,25.011768],
|
||||
[121.151121,25.012033],
|
||||
[121.151473,25.012199],
|
||||
[121.153264,25.012971],
|
||||
[121.154028,25.013381],
|
||||
[121.155039,25.01385],
|
||||
[121.155173,25.013938],
|
||||
[121.155642,25.014328],
|
||||
[121.156141,25.01477],
|
||||
[121.156821,25.015341],
|
||||
[121.156284,25.015809],
|
||||
[121.156031,25.01598],
|
||||
[121.15582,25.016178],
|
||||
[121.15923,25.019152],
|
||||
[121.158644,25.019264],
|
||||
[121.157153,25.019622]
|
||||
].map(([lng, lat]) => ({lat: lat, lng: lng}));
|
||||
|
||||
function initMap() {
|
||||
// 地图居中点
|
||||
const center = coordinates[Math.floor(coordinates.length / 2)];
|
||||
const map = new google.maps.Map(document.getElementById('map'), {
|
||||
zoom: 15,
|
||||
center: center,
|
||||
mapTypeId: 'roadmap'
|
||||
});
|
||||
|
||||
// 绘制路线
|
||||
const routePath = new google.maps.Polyline({
|
||||
path: coordinates,
|
||||
geodesic: true,
|
||||
strokeColor: '#FF0000',
|
||||
strokeOpacity: 0.8,
|
||||
strokeWeight: 4
|
||||
});
|
||||
|
||||
routePath.setMap(map);
|
||||
|
||||
// 起点和终点标记
|
||||
new google.maps.Marker({
|
||||
position: coordinates[0],
|
||||
map: map,
|
||||
label: "起"
|
||||
});
|
||||
new google.maps.Marker({
|
||||
position: coordinates[coordinates.length - 1],
|
||||
map: map,
|
||||
label: "终"
|
||||
});
|
||||
}
|
||||
</script>
|
||||
<script async
|
||||
src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap">
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
100
src/main/java/com/hivekion/common/GeoPosition.java
Normal file
100
src/main/java/com/hivekion/common/GeoPosition.java
Normal file
|
|
@ -0,0 +1,100 @@
|
|||
package com.hivekion.common;
|
||||
|
||||
/**
|
||||
* [类的简要说明]
|
||||
* <p>
|
||||
* [详细描述,可选]
|
||||
* <p>
|
||||
*
|
||||
* @author LiDongYU
|
||||
* @since 2025/7/22
|
||||
*/
|
||||
public class GeoPosition {
|
||||
// 地球半径(单位:米)
|
||||
private static final double EARTH_RADIUS = 6371000.0;
|
||||
|
||||
// 角度转弧度
|
||||
public static double toRadians(double degree) {
|
||||
return degree * Math.PI / 180.0;
|
||||
}
|
||||
|
||||
// 弧度转角度
|
||||
public static double toDegrees(double radian) {
|
||||
return radian * 180.0 / Math.PI;
|
||||
}
|
||||
|
||||
// 球面距离(haversine公式)
|
||||
public static double haversine(double lat1, double lon1, double lat2, double lon2) {
|
||||
double dLat = toRadians(lat2 - lat1);
|
||||
double dLon = toRadians(lon2 - lon1);
|
||||
lat1 = toRadians(lat1);
|
||||
lat2 = toRadians(lat2);
|
||||
|
||||
double a = Math.sin(dLat/2) * Math.sin(dLat/2) +
|
||||
Math.cos(lat1) * Math.cos(lat2) *
|
||||
Math.sin(dLon/2) * Math.sin(dLon/2);
|
||||
double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
|
||||
return EARTH_RADIUS * c;
|
||||
}
|
||||
|
||||
// 球面线性插值(Slerp,大圆航线插值)
|
||||
public static double[] interpolate(double lat1, double lon1, double lat2, double lon2, double f) {
|
||||
// 转为弧度
|
||||
lat1 = toRadians(lat1);
|
||||
lon1 = toRadians(lon1);
|
||||
lat2 = toRadians(lat2);
|
||||
lon2 = toRadians(lon2);
|
||||
|
||||
double sinLat1 = Math.sin(lat1), cosLat1 = Math.cos(lat1);
|
||||
double sinLat2 = Math.sin(lat2), cosLat2 = Math.cos(lat2);
|
||||
double deltaLon = lon2 - lon1;
|
||||
|
||||
double a = Math.sin((1-f) * haversineAngle(lat1, lon1, lat2, lon2)) / Math.sin(haversineAngle(lat1, lon1, lat2, lon2));
|
||||
double b = Math.sin(f * haversineAngle(lat1, lon1, lat2, lon2)) / Math.sin(haversineAngle(lat1, lon1, lat2, lon2));
|
||||
|
||||
// 球面坐标
|
||||
double x = a * cosLat1 * Math.cos(lon1) + b * cosLat2 * Math.cos(lon2);
|
||||
double y = a * cosLat1 * Math.sin(lon1) + b * cosLat2 * Math.sin(lon2);
|
||||
double z = a * sinLat1 + b * sinLat2;
|
||||
|
||||
double lat = Math.atan2(z, Math.sqrt(x*x + y*y));
|
||||
double lon = Math.atan2(y, x);
|
||||
|
||||
return new double[] { toDegrees(lat), toDegrees(lon) };
|
||||
}
|
||||
|
||||
// 计算球面距离的角度(弧度)
|
||||
public static double haversineAngle(double lat1, double lon1, double lat2, double lon2) {
|
||||
double dLat = lat2 - lat1;
|
||||
double dLon = lon2 - lon1;
|
||||
double a = Math.sin(dLat/2) * Math.sin(dLat/2)
|
||||
+ Math.cos(lat1) * Math.cos(lat2)
|
||||
* Math.sin(dLon/2) * Math.sin(dLon/2);
|
||||
return 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
// 起点
|
||||
double lon1 = 121.148362;
|
||||
double lat1 = 25.007064;
|
||||
// 终点
|
||||
double lon2 = 121.147192;
|
||||
double lat2 = 25.007612;
|
||||
// 速度(米/秒)
|
||||
double speed = 5.0;
|
||||
// 已行驶时间(秒)
|
||||
double seconds = 30.0;
|
||||
|
||||
// 计算总距离
|
||||
double totalDist = haversine(lat1, lon1, lat2, lon2);
|
||||
// 已行驶距离
|
||||
double movedDist = speed * seconds;
|
||||
// 占比
|
||||
double f = Math.min(movedDist / totalDist, 1.0);
|
||||
|
||||
// 球面插值
|
||||
double[] pos = interpolate(lat1, lon1, lat2, lon2, f);
|
||||
|
||||
System.out.printf("当前位置:经度 %.6f, 纬度 %.6f\n", pos[1], pos[0]);
|
||||
}
|
||||
}
|
||||
121
src/main/java/com/hivekion/common/MultiPointGeoPosition.java
Normal file
121
src/main/java/com/hivekion/common/MultiPointGeoPosition.java
Normal file
|
|
@ -0,0 +1,121 @@
|
|||
package com.hivekion.common;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
public class MultiPointGeoPosition {
|
||||
private static final double EARTH_RADIUS = 6371000.0;
|
||||
|
||||
public static double toRadians(double degree) {
|
||||
return degree * Math.PI / 180.0;
|
||||
}
|
||||
|
||||
public static double toDegrees(double radian) {
|
||||
return radian * 180.0 / Math.PI;
|
||||
}
|
||||
|
||||
public static double haversine(double lat1, double lon1, double lat2, double lon2) {
|
||||
double dLat = toRadians(lat2 - lat1);
|
||||
double dLon = toRadians(lon2 - lon1);
|
||||
lat1 = toRadians(lat1);
|
||||
lat2 = toRadians(lat2);
|
||||
|
||||
double a = Math.sin(dLat/2) * Math.sin(dLat/2) +
|
||||
Math.cos(lat1) * Math.cos(lat2) *
|
||||
Math.sin(dLon/2) * Math.sin(dLon/2);
|
||||
double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
|
||||
return EARTH_RADIUS * c;
|
||||
}
|
||||
|
||||
public static double haversineAngle(double lat1, double lon1, double lat2, double lon2) {
|
||||
double dLat = toRadians(lat2 - lat1);
|
||||
double dLon = toRadians(lon2 - lon1);
|
||||
lat1 = toRadians(lat1);
|
||||
lat2 = toRadians(lat2);
|
||||
double a = Math.sin(dLat/2) * Math.sin(dLat/2)
|
||||
+ Math.cos(lat1) * Math.cos(lat2)
|
||||
* Math.sin(dLon/2) * Math.sin(dLon/2);
|
||||
return 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
|
||||
}
|
||||
|
||||
public static double[] interpolate(double lat1, double lon1, double lat2, double lon2, double f) {
|
||||
lat1 = toRadians(lat1);
|
||||
lon1 = toRadians(lon1);
|
||||
lat2 = toRadians(lat2);
|
||||
lon2 = toRadians(lon2);
|
||||
|
||||
double delta = haversineAngle(Math.toDegrees(lat1), Math.toDegrees(lon1), Math.toDegrees(lat2), Math.toDegrees(lon2));
|
||||
if (delta == 0) return new double[] { Math.toDegrees(lat1), Math.toDegrees(lon1) };
|
||||
double A = Math.sin((1 - f) * delta) / Math.sin(delta);
|
||||
double B = Math.sin(f * delta) / Math.sin(delta);
|
||||
|
||||
double x = A * Math.cos(lat1) * Math.cos(lon1) + B * Math.cos(lat2) * Math.cos(lon2);
|
||||
double y = A * Math.cos(lat1) * Math.sin(lon1) + B * Math.cos(lat2) * Math.sin(lon2);
|
||||
double z = A * Math.sin(lat1) + B * Math.sin(lat2);
|
||||
|
||||
double lat = Math.atan2(z, Math.sqrt(x * x + y * y));
|
||||
double lon = Math.atan2(y, x);
|
||||
|
||||
return new double[] { toDegrees(lat), toDegrees(lon) };
|
||||
}
|
||||
|
||||
public static class PositionResult {
|
||||
public final double latitude;
|
||||
public final double longitude;
|
||||
public final boolean reached;
|
||||
|
||||
public PositionResult(double latitude, double longitude, boolean reached) {
|
||||
this.latitude = latitude;
|
||||
this.longitude = longitude;
|
||||
this.reached = reached;
|
||||
}
|
||||
}
|
||||
|
||||
public static PositionResult getPosition(List<double[]> points, double speed, double seconds) {
|
||||
if (points == null || points.size() < 2) throw new IllegalArgumentException("点数必须≥2");
|
||||
List<Double> segDists = new ArrayList<>();
|
||||
double totalDist = 0.0;
|
||||
for (int i = 1; i < points.size(); i++) {
|
||||
double[] p1 = points.get(i - 1);
|
||||
double[] p2 = points.get(i);
|
||||
double d = haversine(p1[1], p1[0], p2[1], p2[0]);
|
||||
segDists.add(d);
|
||||
totalDist += d;
|
||||
}
|
||||
double movedDist = speed * seconds;
|
||||
if (movedDist >= totalDist) {
|
||||
double[] last = points.get(points.size() - 1);
|
||||
return new PositionResult(last[1], last[0], true);
|
||||
}
|
||||
double accum = 0.0;
|
||||
for (int i = 0; i < segDists.size(); i++) {
|
||||
double seg = segDists.get(i);
|
||||
if (movedDist <= accum + seg) {
|
||||
double remain = movedDist - accum;
|
||||
double f = remain / seg;
|
||||
double[] p1 = points.get(i);
|
||||
double[] p2 = points.get(i + 1);
|
||||
double[] pos = interpolate(p1[1], p1[0], p2[1], p2[0], f);
|
||||
return new PositionResult(pos[0], pos[1], false);
|
||||
}
|
||||
accum += seg;
|
||||
}
|
||||
double[] last = points.get(points.size() - 1);
|
||||
return new PositionResult(last[1], last[0], true);
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
List<double[]> points = Arrays.asList(
|
||||
new double[] {121.148362, 25.007064},
|
||||
new double[] {121.147192, 25.007612},
|
||||
new double[] {121.146891, 25.00789},
|
||||
new double[] {121.147089, 25.008096}
|
||||
);
|
||||
double speed = 5.0;
|
||||
double time = 30.0;
|
||||
|
||||
PositionResult pos = getPosition(points, speed, time);
|
||||
System.out.printf("当前位置:纬度 %.6f, 经度 %.6f, 是否到达:%s\n", pos.latitude, pos.longitude, pos.reached ? "是" : "否");
|
||||
}
|
||||
}
|
||||
14
src/main/java/com/hivekion/scenario/TaskFinishedCall.java
Normal file
14
src/main/java/com/hivekion/scenario/TaskFinishedCall.java
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
package com.hivekion.scenario;
|
||||
|
||||
/**
|
||||
* [类的简要说明]
|
||||
* <p>
|
||||
* [详细描述,可选]
|
||||
* <p>
|
||||
*
|
||||
* @author LiDongYU
|
||||
* @since 2025/7/22
|
||||
*/
|
||||
public interface TaskFinishedCall {
|
||||
void doneTask();
|
||||
}
|
||||
|
|
@ -14,5 +14,5 @@ import lombok.Data;
|
|||
@Data
|
||||
public class ScenarioWsParam {
|
||||
//放大倍数
|
||||
private Integer amg;
|
||||
private Integer mag;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,12 +1,15 @@
|
|||
package com.hivekion.scenario.controller;
|
||||
|
||||
import com.hivekion.Global;
|
||||
import com.hivekion.baseData.controller.BaseController;
|
||||
import com.hivekion.common.entity.PagedResultVo;
|
||||
import com.hivekion.common.entity.ResponseData;
|
||||
import com.hivekion.common.security.SecurityUtils;
|
||||
import com.hivekion.common.uuid.IdUtils;
|
||||
import com.hivekion.scenario.bean.ScenarioWsParam;
|
||||
import com.hivekion.scenario.entity.ScenarioRoom;
|
||||
import com.hivekion.scenario.service.ScenarioRoomService;
|
||||
import com.hivekion.scenario.service.ScenarioTaskService;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
|
@ -32,6 +35,8 @@ import org.springframework.web.bind.annotation.RestController;
|
|||
@RequestMapping("/scenario/room")
|
||||
public class ScenarioRoomController extends BaseController {
|
||||
|
||||
@Resource
|
||||
private ScenarioTaskService scenarioTaskService;
|
||||
@Resource
|
||||
private ScenarioRoomService scenarioRoomService;
|
||||
|
||||
|
|
@ -62,7 +67,7 @@ public class ScenarioRoomController extends BaseController {
|
|||
if (room.getId() == null) {
|
||||
room.setId(IdUtils.randomUUID());
|
||||
room.setCreateTime(LocalDateTime.now());
|
||||
room.setUserId( SecurityUtils.getCurrentLoginUser().getUserId());
|
||||
room.setUserId(SecurityUtils.getCurrentLoginUser().getUserId());
|
||||
}
|
||||
scenarioRoomService.saveOrUpdate(room);
|
||||
return ResponseData.success(room);
|
||||
|
|
@ -73,4 +78,42 @@ public class ScenarioRoomController extends BaseController {
|
|||
scenarioRoomService.removeById(id);
|
||||
return ResponseData.success(null);
|
||||
}
|
||||
|
||||
@PostMapping("/start")
|
||||
public ResponseData<Void> start(@RequestBody ScenarioRoom room) {
|
||||
scenarioTaskService.start(room.getScenarioId(), room.getId());
|
||||
return ResponseData.success(null);
|
||||
}
|
||||
|
||||
@PostMapping("/break")
|
||||
public ResponseData<Void> breakAWhile(@RequestBody ScenarioRoom room) {
|
||||
scenarioTaskService.sleepWhile(room.getScenarioId(), room.getId());
|
||||
return ResponseData.success(null);
|
||||
}
|
||||
|
||||
@PostMapping("/wakeUp")
|
||||
public ResponseData<Void> wakeUp(@RequestBody ScenarioRoom room) {
|
||||
scenarioTaskService.wakeup(room.getScenarioId(), room.getId());
|
||||
return ResponseData.success(null);
|
||||
}
|
||||
|
||||
@PostMapping("/mag")
|
||||
public ResponseData<Void> mag(@RequestBody ScenarioRoom room) {
|
||||
synchronized (this) {
|
||||
|
||||
if (Global.roomParamMap.get(room.getScenarioId() + "_" + room.getId()) == null) {
|
||||
Global.roomParamMap.put(room.getScenarioId() + "_" + room.getId(), new ScenarioWsParam());
|
||||
}
|
||||
ScenarioWsParam magValue = Global.roomParamMap.get(room.getScenarioId() + "_" + room.getId());
|
||||
magValue.setMag(room.getMag());
|
||||
}
|
||||
|
||||
return ResponseData.success(null);
|
||||
}
|
||||
@PostMapping("/stop")
|
||||
public ResponseData<Void> stop(@RequestBody ScenarioRoom room) {
|
||||
scenarioTaskService.stop(room.getScenarioId(), room.getId());
|
||||
return ResponseData.success(null);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -56,4 +56,5 @@ public class ScenarioTaskController {
|
|||
public ResponseData<ScenarioTask> view(@PathVariable("id") String id) {
|
||||
return ResponseData.success(scenarioTaskService.getById(id));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -31,11 +31,12 @@ public class ScenarioRoom extends SearchInputVo {
|
|||
private String roomName;
|
||||
@NotNull(message = "想定ID不能为空")
|
||||
@TableField(value="scenario_id")
|
||||
private String scenarioId;
|
||||
private Integer scenarioId;
|
||||
@TableField(value="user_id")
|
||||
private String userId;
|
||||
@TableField(value="create_time")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
@TableField(exist = false)
|
||||
private Integer mag;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -58,4 +58,5 @@ public class ScenarioTask implements Serializable {
|
|||
private String taskType;
|
||||
@TableField(exist = false)
|
||||
private String status;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
package com.hivekion.scenario.service;
|
||||
|
||||
import com.hivekion.baseData.entity.Scenario;
|
||||
import com.hivekion.scenario.TaskFinishedCall;
|
||||
import com.hivekion.scenario.entity.ScenarioTask;
|
||||
|
||||
/**
|
||||
|
|
@ -15,11 +16,11 @@ import com.hivekion.scenario.entity.ScenarioTask;
|
|||
public interface TaskLogicService {
|
||||
|
||||
//移动任务
|
||||
void handleMoveTask(ScenarioTask task, Scenario scenario, String roomId);
|
||||
void handleMoveTask(ScenarioTask task, Scenario scenario, String roomId,double speed,
|
||||
TaskFinishedCall call);
|
||||
//战斗任务
|
||||
void handleBattleTask(ScenarioTask task, Scenario scenario, String roomId);
|
||||
//整备
|
||||
void restTask(ScenarioTask task,Scenario scenario, String roomId);
|
||||
//保障任务
|
||||
|
||||
void supplierTask(ScenarioTask task,Scenario scenario, String roomId);
|
||||
|
||||
|
|
|
|||
|
|
@ -16,9 +16,8 @@ import com.hivekion.environment.service.SimtoolWeatherService;
|
|||
import com.hivekion.scenario.entity.ScenarioTask;
|
||||
import com.hivekion.scenario.mapper.ScenarioTaskMapper;
|
||||
import com.hivekion.scenario.service.ScenarioTaskService;
|
||||
import com.hivekion.scenario.service.TaskLogicService;
|
||||
import com.hivekion.thread.SpringGlobalTaskManager;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.List;
|
||||
import javax.annotation.Resource;
|
||||
|
|
@ -49,6 +48,8 @@ public class ScenarioTaskServiceImpl extends
|
|||
|
||||
@Resource
|
||||
private IWeatherResourceService weatherResourceService;
|
||||
@Resource
|
||||
private TaskLogicService taskLogicService;
|
||||
|
||||
@Override
|
||||
public void start(Integer id, String roomId) {
|
||||
|
|
@ -76,8 +77,7 @@ public class ScenarioTaskServiceImpl extends
|
|||
weatherTrigger(currentScenario, roomId);
|
||||
//任务触发
|
||||
taskTrigger(currentScenario, roomId);
|
||||
//物资变化
|
||||
supplierChangeUseUp(currentScenario, roomId);
|
||||
|
||||
});
|
||||
}).start();
|
||||
}
|
||||
|
|
@ -99,7 +99,7 @@ public class ScenarioTaskServiceImpl extends
|
|||
|
||||
private void increaseTime(Scenario currentScenario, String roomId) {
|
||||
int mag = Global.roomParamMap.get(currentScenario.getId() + "_" + roomId) == null ? 1
|
||||
: Global.roomParamMap.get(currentScenario.getId() + "_" + roomId).getAmg();
|
||||
: Global.roomParamMap.get(currentScenario.getId() + "_" + roomId).getMag();
|
||||
//获取当前状态
|
||||
Object statusObj = redisUtil.hget(roomId + "_" + currentScenario.getId(), "status");
|
||||
if (statusObj != null && statusObj.toString().equals("running")) {
|
||||
|
|
@ -128,7 +128,7 @@ public class ScenarioTaskServiceImpl extends
|
|||
responseCmdInfo.setScenarioId(currentScenario.getId());
|
||||
responseCmdInfo.setRoom(roomId);
|
||||
JSONArray weatherMsgArray = new JSONArray();
|
||||
for(WeatherResource weatherResource: weatherResourceList) {
|
||||
for (WeatherResource weatherResource : weatherResourceList) {
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
||||
jsonObject.putOnce("begTime", dtf.format(weatherResource.getLastBegTime()));
|
||||
|
|
@ -138,8 +138,8 @@ public class ScenarioTaskServiceImpl extends
|
|||
}
|
||||
responseCmdInfo.setData(weatherMsgArray);
|
||||
Global.sendCmdInfoQueue.add(responseCmdInfo);
|
||||
}catch (Exception ex){
|
||||
ex.printStackTrace();
|
||||
} catch (Exception ex) {
|
||||
|
||||
log.error(ex.getMessage());
|
||||
}
|
||||
|
||||
|
|
@ -147,10 +147,35 @@ public class ScenarioTaskServiceImpl extends
|
|||
}
|
||||
|
||||
private void taskTrigger(Scenario currentScenario, String roomId) {
|
||||
Object statusObj = redisUtil.hget(roomId + "_" + currentScenario.getId(), "status");
|
||||
if (statusObj != null && statusObj.toString().equals("running")) {
|
||||
Object taskListObj = redisUtil.hget(roomId + "_" + currentScenario.getId(), "taskList");
|
||||
if (taskListObj != null) {
|
||||
|
||||
}
|
||||
private void supplierChangeUseUp(Scenario currentScenario, String roomId) {
|
||||
if (taskListObj instanceof List<?>) {
|
||||
List<?> taskList = (List<?>) taskListObj;
|
||||
for (Object task : taskList) {
|
||||
|
||||
ScenarioTask scenarioTask = (ScenarioTask) task;
|
||||
switch (scenarioTask.getTaskType()) {
|
||||
case "1":
|
||||
taskLogicService.handleMoveTask(scenarioTask, currentScenario, roomId,18.0,null);
|
||||
break;
|
||||
case "2":
|
||||
taskLogicService.handleBattleTask(scenarioTask, currentScenario, roomId);
|
||||
break;
|
||||
case "4":
|
||||
case "5":
|
||||
case "6":
|
||||
case "7":
|
||||
default:
|
||||
taskLogicService.supplierTask(scenarioTask, currentScenario, roomId);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -158,7 +183,7 @@ public class ScenarioTaskServiceImpl extends
|
|||
public List<ScenarioTask> queryTaskList(ScenarioTask task) {
|
||||
QueryWrapper<ScenarioTask> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("scenario_id", task.getScenarioId());
|
||||
if(StringUtils.isNotBlank(task.getResourceId())){
|
||||
if (StringUtils.isNotBlank(task.getResourceId())) {
|
||||
queryWrapper.eq("resource_id", task.getResourceId());
|
||||
}
|
||||
return this.list(queryWrapper);
|
||||
|
|
|
|||
|
|
@ -1,9 +1,23 @@
|
|||
package com.hivekion.scenario.service.impl;
|
||||
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import com.hivekion.Global;
|
||||
import com.hivekion.baseData.entity.Scenario;
|
||||
import com.hivekion.common.MultiPointGeoPosition;
|
||||
import com.hivekion.common.MultiPointGeoPosition.PositionResult;
|
||||
import com.hivekion.common.entity.ResponseCmdInfo;
|
||||
import com.hivekion.common.redis.RedisUtil;
|
||||
import com.hivekion.scenario.TaskFinishedCall;
|
||||
import com.hivekion.scenario.entity.ScenarioTask;
|
||||
import com.hivekion.scenario.service.TaskLogicService;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import javax.annotation.Resource;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.web.reactive.function.client.WebClient;
|
||||
|
||||
/**
|
||||
* [类的简要说明]
|
||||
|
|
@ -17,9 +31,82 @@ import org.springframework.stereotype.Service;
|
|||
@Service
|
||||
public class TaskLogicServiceImpl implements TaskLogicService {
|
||||
|
||||
@Override
|
||||
public void handleMoveTask(ScenarioTask task, Scenario scenario, String roomId) {
|
||||
@Resource
|
||||
private RedisUtil redisUtil;
|
||||
@Value("${path.planning.url}")
|
||||
private String pathPlanningUrl;
|
||||
private final WebClient webClient = WebClient.create();
|
||||
|
||||
|
||||
@Override
|
||||
public void handleMoveTask(ScenarioTask scenarioTask, Scenario currentScenario, String roomId,
|
||||
double speed, TaskFinishedCall call) {
|
||||
ResponseCmdInfo<Map<String, Object>> cmdInfo = new ResponseCmdInfo<>();
|
||||
Map<String, Object> dataMap = new HashMap<>();
|
||||
cmdInfo.setData(dataMap);
|
||||
dataMap.put("resourceId", scenarioTask.getResourceId());
|
||||
|
||||
if (!"running".equals(scenarioTask.getStatus())) {
|
||||
scenarioTask.setStatus("running");
|
||||
|
||||
String url = pathPlanningUrl + "?profile=car&point=" + scenarioTask.getFromLat() + ","
|
||||
+ scenarioTask.getFromLng()
|
||||
+ "&point=" + scenarioTask.getToLat() + "," + scenarioTask.getToLng()
|
||||
+ "&points_encoded=false&algorithm=alternative_route&alternative_route.max_paths=3";
|
||||
String result = webClient.get()
|
||||
.uri(url)
|
||||
.retrieve()
|
||||
.bodyToMono(String.class)
|
||||
.block();
|
||||
com.alibaba.fastjson2.JSONObject resultObject = JSON.parseObject(result);
|
||||
if (resultObject != null) {
|
||||
cmdInfo.setCmdType("init_path_planning");
|
||||
cmdInfo.setScenarioId(scenarioTask.getScenarioId());
|
||||
cmdInfo.setRoom(roomId);
|
||||
|
||||
dataMap.put("points", resultObject);
|
||||
|
||||
redisUtil.hset(roomId + "_" + currentScenario.getId(),
|
||||
scenarioTask.getId() + "_path_points", resultObject.getJSONArray("paths"));
|
||||
}
|
||||
|
||||
} else {//更新坐标
|
||||
List<double[]> points = new ArrayList<>();
|
||||
cmdInfo.setCmdType("current_position");
|
||||
Object pathsObj = redisUtil.hget(roomId + "_" + currentScenario.getId(),
|
||||
scenarioTask.getId() + "_path_points");
|
||||
if (pathsObj != null) {
|
||||
com.alibaba.fastjson2.JSONArray paths = (com.alibaba.fastjson2.JSONArray) pathsObj;
|
||||
com.alibaba.fastjson2.JSONObject jsonObject = (com.alibaba.fastjson2.JSONObject) paths.get(
|
||||
0);
|
||||
com.alibaba.fastjson2.JSONArray pointsArray = jsonObject.getJSONObject("paths")
|
||||
.getJSONObject("points").getJSONArray("coordinates");
|
||||
|
||||
for (int i = 0; i < pointsArray.size(); i++) {
|
||||
com.alibaba.fastjson2.JSONArray coordinateArray = pointsArray.getJSONArray(i);
|
||||
double[] data = new double[coordinateArray.size()];
|
||||
for (int j = 0; j < coordinateArray.size(); j++) {
|
||||
data[j] = coordinateArray.getDouble(j);
|
||||
}
|
||||
points.add(data);
|
||||
}
|
||||
}
|
||||
//查看当前想定持续的时间
|
||||
Object duringObj = redisUtil.hget(roomId + "_" + currentScenario.getId(),
|
||||
"duringTime");
|
||||
if (duringObj != null) {
|
||||
int oldValue = duringObj instanceof Integer ? (Integer) duringObj : 0;
|
||||
PositionResult result = MultiPointGeoPosition.getPosition(points, speed,
|
||||
oldValue);
|
||||
dataMap.put("currentPosition", result);
|
||||
if (result.reached) {
|
||||
if(call!=null){
|
||||
call.doneTask();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Global.sendCmdInfoQueue.add(cmdInfo);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -27,13 +114,15 @@ public class TaskLogicServiceImpl implements TaskLogicService {
|
|||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void restTask(ScenarioTask task, Scenario scenario, String roomId) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void supplierTask(ScenarioTask task, Scenario scenario, String roomId) {
|
||||
|
||||
//运20速度
|
||||
handleMoveTask(task, scenario, roomId, 217,()->{
|
||||
//更新想定的物资
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -78,11 +78,11 @@ public class WsServer {
|
|||
|
||||
@OnMessage
|
||||
public void onMessage(String message, Session session, @PathParam("room") String room,
|
||||
@PathParam("scenarioId") String scenarioId) {
|
||||
@PathParam("scenarioId") Integer scenarioId) {
|
||||
try {
|
||||
log.info("onMessage::room: {}, message: {}", room, message);
|
||||
RequestCmdInfo requestCmdInfo = new RequestCmdInfo();
|
||||
requestCmdInfo.setScenarioId(Integer.parseInt(scenarioId));
|
||||
requestCmdInfo.setScenarioId((scenarioId));
|
||||
requestCmdInfo.setRoom(room);
|
||||
requestCmdInfo.setMessage(message);
|
||||
Global.receiveCmdInfoQueue.add(requestCmdInfo);
|
||||
|
|
|
|||
|
|
@ -44,3 +44,5 @@ get.all.user = http://127.0.0.1/oauth2Server/api/outside/syncUserAll
|
|||
#get.all.dept=http://127.0.0.1/oatuh2Server/api/outside/synDeptAll
|
||||
logout.url=http://127.0.0.1:99/oauth2Server/oauth2/logout
|
||||
|
||||
path.planning.url=http://192.168.0.53:8989/route
|
||||
|
||||
|
|
|
|||
|
|
@ -1,35 +0,0 @@
|
|||
spring.datasource.dynamic.primary=mysql
|
||||
spring.datasource.dynamic.strict=false
|
||||
spring.datasource.dynamic.datasource.mysql.url=jdbc:mysql://127.0.0.1:3308/surportdb?allowPublicKeyRetrieval=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&autoReconnect=true&nullCatalogMeansCurrent=true&serverTimezone=Asia/Shanghai
|
||||
spring.datasource.dynamic.datasource.mysql.driver-class-name=com.mysql.jdbc.Driver
|
||||
spring.datasource.dynamic.datasource.mysql.username=root
|
||||
spring.datasource.dynamic.datasource.mysql.password=123456
|
||||
#com.mysql.cj.jdbc.Driver
|
||||
#insert into sys_user(user_name,email,password,status,id)value ('admin','aaaa@123.com','06c2754c5d9989201e0eef0f3744abe4',0,1)
|
||||
spring.redis.database=0
|
||||
spring.redis.host=127.0.0.1
|
||||
spring.redis.port=6379
|
||||
spring.redis.jedis.pool.max-idle=10
|
||||
#spring.redis.password=123
|
||||
spring.redis.timeout=5000
|
||||
|
||||
server.port=8099
|
||||
|
||||
actable.table.auto=update
|
||||
actable.model.pack=com.hivekion.domain;com.hivekion.system.domain;
|
||||
actable.database.type=mysql
|
||||
uploadPath.temporary=C:/Users/sutao/Desktop/????/tes
|
||||
uploadPath.projectfile=/Volumes/HD/ProjectFile
|
||||
importFile.3D=E:/AutoPublish/projectmanage/java/basedatamanage_service/3Dmodel/
|
||||
spring.resources.static-locations = classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,file:${importFile.3D}
|
||||
uploadPath = D:/code/area
|
||||
uploadPath.file=D:/file
|
||||
spring.servlet.multipart.max-file-size=100MB
|
||||
spring.servlet.multipart.max-request-size=100MB
|
||||
mybatis-plus.mapper-locations=classpath*:com/gitee/sunchenbin/mybatis/actable/mapping/*/*.xml,classpath*:/mapper/**/*.xml
|
||||
mybatis-plus.configuration.map-underscore-to-camel-case=false
|
||||
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
|
||||
mybatis-plus.configuration.database-id=mysql
|
||||
user.default.password=1q2w3E*
|
||||
user.default.failsCount=5
|
||||
|
||||
|
|
@ -1,35 +0,0 @@
|
|||
#spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
|
||||
#spring.datasource.url=jdbc:mysql://localhost:3306/pro_xby?useSSL=false&useUnicode=true&characterEncoding=utf-8&autoReconnect=true&nullCatalogMeansCurrent=true&serverTimezone=Asia/Shanghai
|
||||
##spring.datasource.url=jdbc:mysql://192.168.75.177:3306/demo?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT
|
||||
#spring.datasource.username=root
|
||||
#spring.datasource.password=root
|
||||
spring.datasource.dynamic.primary=mysql
|
||||
spring.datasource.dynamic.strict=false
|
||||
spring.datasource.dynamic.datasource.mysql.url=jdbc:mysql://192.168.0.160:3306/xby_pro?useSSL=false&useUnicode=true&characterEncoding=utf-8&autoReconnect=true&nullCatalogMeansCurrent=true&serverTimezone=Asia/Shanghai
|
||||
spring.datasource.dynamic.datasource.mysql.driver-class-name=com.mysql.cj.jdbc.Driver
|
||||
spring.datasource.dynamic.datasource.mysql.username=root
|
||||
spring.datasource.dynamic.datasource.mysql.password=123456
|
||||
spring.datasource.dynamic.datasource.sqlserver.url=jdbc:sqlserver://180.76.174.106:1433;DatabaseName=xingboyuan
|
||||
spring.datasource.dynamic.datasource.sqlserver.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver
|
||||
spring.datasource.dynamic.datasource.sqlserver.username=sq1
|
||||
spring.datasource.dynamic.datasource.sqlserver.password=As123123
|
||||
spring.redis.database=0
|
||||
spring.redis.host=192.168.0.160
|
||||
spring.redis.port=6379
|
||||
spring.redis.jedis.pool.max-idle=10
|
||||
#spring.redis.password=
|
||||
spring.redis.timeout=5000
|
||||
server.port=9086
|
||||
actable.table.auto=update
|
||||
actable.model.pack=com.hivekion.domain;com.hivekion.*.domain;
|
||||
actable.database.type=mysql
|
||||
uploadPath.temporary=/usr/local/temporary
|
||||
uploadPath.projectfile=/usr/local/ProjectFile
|
||||
#uploadPath.temporary=E:/AutoPublish/projectmanage/java/xingboyuan/temporary
|
||||
#uploadPath.projectfile=E:/AutoPublish/projectmanage/java/xingboyuan/ProjectFile
|
||||
spring.servlet.multipart.max-file-size=100MB
|
||||
spring.servlet.multipart.max-request-size=100MB
|
||||
mybatis-plus.mapper-locations=classpath*:com/gitee/sunchenbin/mybatis/actable/mapping/*/*.xml
|
||||
mybatis-plus.configuration.map-underscore-to-camel-case=true
|
||||
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
|
||||
user.default.password=1q2w3E*
|
||||
|
|
@ -1,46 +0,0 @@
|
|||
spring.datasource.dynamic.primary=dm
|
||||
spring.datasource.dynamic.strict=false
|
||||
spring.datasource.dynamic.datasource.dm.url=jdbc:dm://192.168.0.53:5236/SIMULATION
|
||||
spring.datasource.dynamic.datasource.dm.driver-class-name=dm.jdbc.driver.DmDriver
|
||||
spring.datasource.dynamic.datasource.dm.username=simulation
|
||||
spring.datasource.dynamic.datasource.dm.password=Simulation001
|
||||
|
||||
spring.redis.database=0
|
||||
spring.redis.host=127.0.0.1
|
||||
spring.redis.port=6379
|
||||
spring.redis.jedis.pool.max-idle=10
|
||||
#spring.redis.password=123
|
||||
spring.redis.timeout=5000
|
||||
|
||||
server.port=8099
|
||||
|
||||
actable.table.auto=update
|
||||
actable.model.pack=com.hivekion.domain;com.hivekion.system.domain;
|
||||
actable.database.type=mysql
|
||||
uploadPath.temporary=C:/Users/sutao/Desktop/????/tes
|
||||
uploadPath.projectfile=/Volumes/HD/ProjectFile
|
||||
importFile.3D=E:/AutoPublish/projectmanage/java/basedatamanage_service/3Dmodel/
|
||||
spring.resources.static-locations = classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,file:${importFile.3D}
|
||||
uploadPath = D:/code/area
|
||||
uploadPath.file=D:/file
|
||||
spring.servlet.multipart.max-file-size=100MB
|
||||
spring.servlet.multipart.max-request-size=100MB
|
||||
mybatis-plus.mapper-locations=classpath*:/mapper/**/*.xml
|
||||
mybatis-plus.configuration.map-underscore-to-camel-case=false
|
||||
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
|
||||
mybatis-plus.configuration.database-id=dm
|
||||
user.default.password=1q2w3E*
|
||||
user.default.failsCount=5
|
||||
|
||||
## next is about the third login
|
||||
third.app.id=hello
|
||||
third.app.secret=hello
|
||||
#get.code.url= http://32.15.80.150:99/oauth2Server/oauth2/authorizeV2
|
||||
#app.redirect.url =http://127.0.0.1:8080/redirect
|
||||
get.token.url = http://127.0.0.1:99/oauth2Server/oauth2/token
|
||||
#refresh.token.url = http://127.0.0.1/oauth2Server/oauth2/refresh
|
||||
get.user.url = http://127.0.0.1:99/oauth2Server/oauth2/userinfo
|
||||
get.all.user = http://127.0.0.1/oauth2Server/api/outside/syncUserAll
|
||||
#get.all.dept=http://127.0.0.1/oatuh2Server/api/outside/synDeptAll
|
||||
logout.url=http://127.0.0.1:99/oauth2Server/oauth2/logout
|
||||
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
spring.profiles.active=prod
|
||||
#spring.profiles.active=dev
|
||||
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.
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
Block a user