添加新的项目
This commit is contained in:
commit
52319416ca
33
.gitignore
vendored
Normal file
33
.gitignore
vendored
Normal file
|
@ -0,0 +1,33 @@
|
|||
HELP.md
|
||||
target/
|
||||
!.mvn/wrapper/maven-wrapper.jar
|
||||
!**/src/main/**/target/
|
||||
!**/src/test/**/target/
|
||||
|
||||
### STS ###
|
||||
.apt_generated
|
||||
.classpath
|
||||
.factorypath
|
||||
.project
|
||||
.settings
|
||||
.springBeans
|
||||
.sts4-cache
|
||||
|
||||
### IntelliJ IDEA ###
|
||||
.idea
|
||||
*.iws
|
||||
*.iml
|
||||
*.ipr
|
||||
|
||||
### NetBeans ###
|
||||
/nbproject/private/
|
||||
/nbbuild/
|
||||
/dist/
|
||||
/nbdist/
|
||||
/.nb-gradle/
|
||||
build/
|
||||
!**/src/main/**/build/
|
||||
!**/src/test/**/build/
|
||||
|
||||
### VS Code ###
|
||||
.vscode/
|
10
.idea/.gitignore
vendored
Normal file
10
.idea/.gitignore
vendored
Normal file
|
@ -0,0 +1,10 @@
|
|||
# 默认忽略的文件
|
||||
/shelf/
|
||||
/workspace.xml
|
||||
# 基于编辑器的 HTTP 客户端请求
|
||||
/httpRequests/
|
||||
# 依赖于环境的 Maven 主目录路径
|
||||
/mavenHomeManager.xml
|
||||
# Datasource local storage ignored files
|
||||
/dataSources/
|
||||
/dataSources.local.xml
|
14
.idea/compiler.xml
Normal file
14
.idea/compiler.xml
Normal file
|
@ -0,0 +1,14 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="CompilerConfiguration">
|
||||
<annotationProcessing>
|
||||
<profile default="true" name="Default" enabled="true" />
|
||||
<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="SimulationService" />
|
||||
</profile>
|
||||
</annotationProcessing>
|
||||
</component>
|
||||
</project>
|
30
.idea/dataSources.local.xml
Normal file
30
.idea/dataSources.local.xml
Normal file
|
@ -0,0 +1,30 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="dataSourceStorageLocal" created-in="IU-251.23774.435">
|
||||
<data-source name="SupportDB@127.0.0.1" uuid="1a857940-0a66-47dc-a5d7-2131554509f4">
|
||||
<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>
|
||||
<data-source name="0@127.0.0.1" uuid="a819c07c-fb1e-4a4b-954f-1a0efe084978">
|
||||
<database-info product="Redis Standalone" version="3.2.100" jdbc-version="4.2" driver-name="Redis JDBC Driver" driver-version="1.5" dbms="REDIS" exact-version="3.2.100" exact-driver-version="1.5" />
|
||||
<case-sensitivity plain-identifiers="mixed" quoted-identifiers="mixed" />
|
||||
<secret-storage>master_key</secret-storage>
|
||||
<schema-mapping>
|
||||
<introspection-scope>
|
||||
<node kind="schema" qname="@" />
|
||||
</introspection-scope>
|
||||
</schema-mapping>
|
||||
</data-source>
|
||||
</component>
|
||||
</project>
|
29
.idea/dataSources.xml
Normal file
29
.idea/dataSources.xml
Normal file
|
@ -0,0 +1,29 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="DataSourceManagerImpl" format="xml" multifile-model="true">
|
||||
<data-source source="LOCAL" name="SupportDB@127.0.0.1" uuid="1a857940-0a66-47dc-a5d7-2131554509f4">
|
||||
<driver-ref>mysql.8</driver-ref>
|
||||
<synchronize>true</synchronize>
|
||||
<jdbc-driver>com.mysql.cj.jdbc.Driver</jdbc-driver>
|
||||
<jdbc-url>jdbc:mysql://127.0.0.1:3306/SupportDB</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>
|
||||
<data-source source="LOCAL" name="0@127.0.0.1" uuid="a819c07c-fb1e-4a4b-954f-1a0efe084978">
|
||||
<driver-ref>redis</driver-ref>
|
||||
<synchronize>true</synchronize>
|
||||
<jdbc-driver>jdbc.RedisDriver</jdbc-driver>
|
||||
<jdbc-url>jdbc:redis://127.0.0.1:6379/0</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>
|
30863
.idea/dataSources/1a857940-0a66-47dc-a5d7-2131554509f4.xml
Normal file
30863
.idea/dataSources/1a857940-0a66-47dc-a5d7-2131554509f4.xml
Normal file
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,2 @@
|
|||
#n:information_schema
|
||||
!<md> [null, 0, null, null, -2147483648, -2147483648]
|
|
@ -0,0 +1,2 @@
|
|||
#n:mysql
|
||||
!<md> [null, 0, null, null, -2147483648, -2147483648]
|
|
@ -0,0 +1,2 @@
|
|||
#n:performance_schema
|
||||
!<md> [null, 0, null, null, -2147483648, -2147483648]
|
26
.idea/dataSources/a819c07c-fb1e-4a4b-954f-1a0efe084978.xml
Normal file
26
.idea/dataSources/a819c07c-fb1e-4a4b-954f-1a0efe084978.xml
Normal file
|
@ -0,0 +1,26 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<dataSource name="0@127.0.0.1">
|
||||
<database-model serializer="dbm" dbms="REDIS" family-id="REDIS" format-version="4.53">
|
||||
<root id="1">
|
||||
<ServerVersion>3.2.100</ServerVersion>
|
||||
</root>
|
||||
<schema id="2" parent="1" name="0">
|
||||
<Current>1</Current>
|
||||
</schema>
|
||||
<schema id="3" parent="1" name="1"/>
|
||||
<schema id="4" parent="1" name="10"/>
|
||||
<schema id="5" parent="1" name="11"/>
|
||||
<schema id="6" parent="1" name="12"/>
|
||||
<schema id="7" parent="1" name="13"/>
|
||||
<schema id="8" parent="1" name="14"/>
|
||||
<schema id="9" parent="1" name="15"/>
|
||||
<schema id="10" parent="1" name="2"/>
|
||||
<schema id="11" parent="1" name="3"/>
|
||||
<schema id="12" parent="1" name="4"/>
|
||||
<schema id="13" parent="1" name="5"/>
|
||||
<schema id="14" parent="1" name="6"/>
|
||||
<schema id="15" parent="1" name="7"/>
|
||||
<schema id="16" parent="1" name="8"/>
|
||||
<schema id="17" parent="1" name="9"/>
|
||||
</database-model>
|
||||
</dataSource>
|
7
.idea/encodings.xml
Normal file
7
.idea/encodings.xml
Normal file
|
@ -0,0 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="Encoding">
|
||||
<file url="file://$PROJECT_DIR$/src/main/java" charset="UTF-8" />
|
||||
<file url="file://$PROJECT_DIR$/src/main/resources" charset="UTF-8" />
|
||||
</component>
|
||||
</project>
|
25
.idea/jarRepositories.xml
Normal file
25
.idea/jarRepositories.xml
Normal file
|
@ -0,0 +1,25 @@
|
|||
<?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 Repository" />
|
||||
<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="central" />
|
||||
<option name="name" value="Central Repository" />
|
||||
<option name="url" value="http://maven.aliyun.com/nexus/content/groups/public" />
|
||||
</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>
|
10
.idea/material_theme_project_new.xml
Normal file
10
.idea/material_theme_project_new.xml
Normal file
|
@ -0,0 +1,10 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="MaterialThemeProjectNewConfig">
|
||||
<option name="metadata">
|
||||
<MTProjectMetadataState>
|
||||
<option name="userId" value="d332453:19946490ddb:-7fff" />
|
||||
</MTProjectMetadataState>
|
||||
</option>
|
||||
</component>
|
||||
</project>
|
75
.idea/mbg-plugin.xml
Normal file
75
.idea/mbg-plugin.xml
Normal file
|
@ -0,0 +1,75 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="persistentStateService">
|
||||
<option name="generatorProperties">
|
||||
<GeneratorProperties>
|
||||
<option name="commonProperties">
|
||||
<CommonProperties>
|
||||
<option name="author" value="frankly" />
|
||||
<option name="basePackage" value="com.simulationservice" />
|
||||
<option name="basePath" value="src/main/java" />
|
||||
<option name="databaseComboBoxValue" value="SupportDB@127.0.0.1:3306:MySQL" />
|
||||
<option name="entityRelativePackage" value="entity" />
|
||||
<option name="frameworkTypeComboBoxValue" value="MyBatis" />
|
||||
<option name="frameworkTypeComboBoxValues">
|
||||
<list>
|
||||
<option value="MyBatis" />
|
||||
<option value="TkMyBatis" />
|
||||
<option value="MyBatisPlus" />
|
||||
</list>
|
||||
</option>
|
||||
<option name="moduleName" value="SimulationService" />
|
||||
<option name="modulePath" value="$PROJECT_DIR$" />
|
||||
</CommonProperties>
|
||||
</option>
|
||||
<option name="controllerProperties">
|
||||
<ControllerProperties>
|
||||
<option name="namePattern" value="%sController" />
|
||||
<option name="packageName" value="com.simulationservice.controller" />
|
||||
<option name="path" value="$PROJECT_DIR$/src/main/java/com/simulationservice/controller" />
|
||||
</ControllerProperties>
|
||||
</option>
|
||||
<option name="entityProperties">
|
||||
<EntityProperties>
|
||||
<option name="exampleNamePattern" value="%sExample" />
|
||||
<option name="namePattern" value="%s" />
|
||||
<option name="packageName" value="com.simulationservice.entity" />
|
||||
<option name="path" value="$PROJECT_DIR$/src/main/java/com/simulationservice/entity" />
|
||||
</EntityProperties>
|
||||
</option>
|
||||
<option name="mapperProperties">
|
||||
<MapperProperties>
|
||||
<option name="namePattern" value="%sMapper" />
|
||||
<option name="packageName" value="com.simulationservice.mapper" />
|
||||
<option name="path" value="$PROJECT_DIR$/src/main/java/com/simulationservice/mapper" />
|
||||
<option name="superMapperClass" value="" />
|
||||
</MapperProperties>
|
||||
</option>
|
||||
<option name="mapperXmlProperties">
|
||||
<MapperXmlProperties>
|
||||
<option name="namePattern" value="%sMapper" />
|
||||
<option name="path" value="$PROJECT_DIR$/src/main/resources/mapper" />
|
||||
</MapperXmlProperties>
|
||||
</option>
|
||||
<option name="serviceImplProperties">
|
||||
<ServiceImplProperties>
|
||||
<option name="namePattern" value="%sServiceImpl" />
|
||||
<option name="packageName" value="com.simulationservice.service.impl" />
|
||||
<option name="path" value="$PROJECT_DIR$/src/main/java/com/simulationservice/service/impl" />
|
||||
<option name="selectedGenerateCheckBox" value="true" />
|
||||
<option name="superServiceImplClass" value="" />
|
||||
</ServiceImplProperties>
|
||||
</option>
|
||||
<option name="serviceProperties">
|
||||
<ServiceProperties>
|
||||
<option name="namePattern" value="I%sService" />
|
||||
<option name="packageName" value="com.simulationservice.service" />
|
||||
<option name="path" value="$PROJECT_DIR$/src/main/java/com/simulationservice/service" />
|
||||
<option name="selectedGenerateCheckBox" value="true" />
|
||||
<option name="superServiceClass" value="" />
|
||||
</ServiceProperties>
|
||||
</option>
|
||||
</GeneratorProperties>
|
||||
</option>
|
||||
</component>
|
||||
</project>
|
14
.idea/misc.xml
Normal file
14
.idea/misc.xml
Normal file
|
@ -0,0 +1,14 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<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" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
|
||||
<output url="file://$PROJECT_DIR$/out" />
|
||||
</component>
|
||||
</project>
|
45
.idea/mybatis-generator-config.xml
Normal file
45
.idea/mybatis-generator-config.xml
Normal file
|
@ -0,0 +1,45 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="MyBatisGeneratorConfiguration">
|
||||
<option name="credentials">
|
||||
<map>
|
||||
<entry key="jdbc:mysql://127.0.0.1:3306/SupportDB">
|
||||
<value>
|
||||
<Credential>
|
||||
<option name="username" value="root" />
|
||||
</Credential>
|
||||
</value>
|
||||
</entry>
|
||||
</map>
|
||||
</option>
|
||||
<option name="tableConfigs">
|
||||
<map>
|
||||
<entry key="sys_user">
|
||||
<value>
|
||||
<TableConfig>
|
||||
<option name="basePackage" value="com.simulationservice" />
|
||||
<option name="comment" value="true" />
|
||||
<option name="domainName" value="SysUser" />
|
||||
<option name="domainPackage" value="com.simulationservice.domain" />
|
||||
<option name="exampleName" value="SysUserExample" />
|
||||
<option name="examplePackage" value="com.simulationservice.example" />
|
||||
<option name="examplePostfix" value="Example" />
|
||||
<option name="lombokAnnotation" value="true" />
|
||||
<option name="mapperName" value="SysUserMapper" />
|
||||
<option name="mapperPackage" value="com.simulationservice.mapper" />
|
||||
<option name="mapperPostfix" value="Mapper" />
|
||||
<option name="moduleRootPath" value="$PROJECT_DIR$" />
|
||||
<option name="name" value="sys_user" />
|
||||
<option name="primaryKey" value="Id" />
|
||||
<option name="resourcePath" value="src/main/resources" />
|
||||
<option name="sourcePath" value="src/main/java" />
|
||||
<option name="tableName" value="sys_user" />
|
||||
<option name="useExample" value="true" />
|
||||
<option name="xmlPackage" value="mapper" />
|
||||
</TableConfig>
|
||||
</value>
|
||||
</entry>
|
||||
</map>
|
||||
</option>
|
||||
</component>
|
||||
</project>
|
119
.idea/workspace.xml
Normal file
119
.idea/workspace.xml
Normal file
|
@ -0,0 +1,119 @@
|
|||
<?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="050b8051-b1ec-42aa-bac3-c1c189a4697d" name="更改" comment="" />
|
||||
<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="Class" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<component name="KubernetesApiPersistence">{}</component>
|
||||
<component name="KubernetesApiProvider">{
|
||||
"isMigrated": true
|
||||
}</component>
|
||||
<component name="MavenImportPreferences">
|
||||
<option name="generalSettings">
|
||||
<MavenGeneralSettings>
|
||||
<option name="customMavenHome" value="D:\Maven\apache-maven-3.9.11" />
|
||||
<option name="localRepository" value="D:\Maven\maven_repository" />
|
||||
<option name="mavenHomeTypeForPersistence" value="CUSTOM" />
|
||||
<option name="useMavenConfig" value="false" />
|
||||
<option name="userSettingsFile" value="D:\Maven\apache-maven-3.9.11\conf\settings.xml" />
|
||||
</MavenGeneralSettings>
|
||||
</option>
|
||||
</component>
|
||||
<component name="ProjectColorInfo">{
|
||||
"associatedIndex": 7
|
||||
}</component>
|
||||
<component name="ProjectId" id="32RwW7uP5Sl3sYTSqvuyoP4kFtb" />
|
||||
<component name="ProjectViewState">
|
||||
<option name="hideEmptyMiddlePackages" value="true" />
|
||||
<option name="showLibraryContents" value="true" />
|
||||
</component>
|
||||
<component name="PropertiesComponent"><![CDATA[{
|
||||
"keyToString": {
|
||||
"Maven.SimulationService [compile].executor": "Run",
|
||||
"ModuleVcsDetector.initialDetectionPerformed": "true",
|
||||
"RequestMappingsPanelOrder0": "0",
|
||||
"RequestMappingsPanelOrder1": "1",
|
||||
"RequestMappingsPanelWidth0": "75",
|
||||
"RequestMappingsPanelWidth1": "75",
|
||||
"RunOnceActivity.ShowReadmeOnStart": "true",
|
||||
"Spring Boot.SimulationService.executor": "Debug",
|
||||
"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": "项目",
|
||||
"project.structure.proportion": "0.15",
|
||||
"project.structure.side.proportion": "0.37011495",
|
||||
"settings.editor.selected.configurable": "preferences.pluginManager",
|
||||
"vue.rearranger.settings.migration": "true"
|
||||
},
|
||||
"keyToStringList": {
|
||||
"DatabaseDriversLRU": [
|
||||
"redis",
|
||||
"mysql"
|
||||
]
|
||||
}
|
||||
}]]></component>
|
||||
<component name="ReactorSettings">
|
||||
<option name="notificationShown" value="true" />
|
||||
</component>
|
||||
<component name="RunManager">
|
||||
<configuration name="SimulationService" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot">
|
||||
<option name="ALTERNATIVE_JRE_PATH" value="1.8" />
|
||||
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="true" />
|
||||
<module name="SimulationService" />
|
||||
<option name="SPRING_BOOT_MAIN_CLASS" value="com.simulationservice.SimulationServiceApplication" />
|
||||
<method v="2">
|
||||
<option name="Make" enabled="true" />
|
||||
</method>
|
||||
</configuration>
|
||||
</component>
|
||||
<component name="SharedIndexes">
|
||||
<attachedChunks>
|
||||
<set>
|
||||
<option value="bundled-jdk-9823dce3aa75-fbdcb00ec9e3-intellij.indexing.shared.core-IU-251.23774.435" />
|
||||
<option value="bundled-js-predefined-d6986cc7102b-f27c65a3e318-JavaScript-IU-251.23774.435" />
|
||||
</set>
|
||||
</attachedChunks>
|
||||
</component>
|
||||
<component name="TaskManager">
|
||||
<task active="true" id="Default" summary="默认任务">
|
||||
<changelist id="050b8051-b1ec-42aa-bac3-c1c189a4697d" name="更改" comment="" />
|
||||
<created>1757396723396</created>
|
||||
<option name="number" value="Default" />
|
||||
<option name="presentableId" value="Default" />
|
||||
<updated>1757396723396</updated>
|
||||
<workItem from="1757396724355" duration="4224000" />
|
||||
<workItem from="1757400979509" duration="460000" />
|
||||
<workItem from="1757401495519" duration="1386000" />
|
||||
<workItem from="1757402907142" duration="13531000" />
|
||||
<workItem from="1757487132740" duration="18062000" />
|
||||
<workItem from="1757551777304" duration="1275000" />
|
||||
<workItem from="1757594198944" duration="2502000" />
|
||||
<workItem from="1757664586037" duration="3070000" />
|
||||
<workItem from="1757820561153" duration="249000" />
|
||||
</task>
|
||||
<servers />
|
||||
</component>
|
||||
<component name="TypeScriptGeneratedFilesManager">
|
||||
<option name="version" value="3" />
|
||||
</component>
|
||||
<component name="XSLT-Support.FileAssociations.UIState">
|
||||
<expand />
|
||||
<select />
|
||||
</component>
|
||||
</project>
|
29
HELP.md
Normal file
29
HELP.md
Normal file
|
@ -0,0 +1,29 @@
|
|||
# Getting Started
|
||||
|
||||
### Reference Documentation
|
||||
|
||||
For further reference, please consider the following sections:
|
||||
|
||||
* [Official Apache Maven documentation](https://maven.apache.org/guides/index.html)
|
||||
* [Spring Boot Maven Plugin Reference Guide](https://docs.spring.io/spring-boot/docs/2.7.6/maven-plugin/reference/html/)
|
||||
* [Create an OCI image](https://docs.spring.io/spring-boot/docs/2.7.6/maven-plugin/reference/html/#build-image)
|
||||
* [Spring Web](https://docs.spring.io/spring-boot/docs/2.7.6/reference/htmlsingle/#web)
|
||||
* [WebSocket](https://docs.spring.io/spring-boot/docs/2.7.6/reference/htmlsingle/#messaging.websockets)
|
||||
* [Spring Data JPA](https://docs.spring.io/spring-boot/docs/2.7.6/reference/htmlsingle/#data.sql.jpa-and-spring-data)
|
||||
* [Spring Boot DevTools](https://docs.spring.io/spring-boot/docs/2.7.6/reference/htmlsingle/#using.devtools)
|
||||
* [Spring Data Redis (Access+Driver)](https://docs.spring.io/spring-boot/docs/2.7.6/reference/htmlsingle/#data.nosql.redis)
|
||||
* [Spring Data JDBC](https://docs.spring.io/spring-boot/docs/2.7.6/reference/htmlsingle/#data.sql.jdbc)
|
||||
|
||||
### Guides
|
||||
|
||||
The following guides illustrate how to use some features concretely:
|
||||
|
||||
* [Building a RESTful Web Service](https://spring.io/guides/gs/rest-service/)
|
||||
* [Serving Web Content with Spring MVC](https://spring.io/guides/gs/serving-web-content/)
|
||||
* [Building REST services with Spring](https://spring.io/guides/tutorials/rest/)
|
||||
* [Using WebSocket to build an interactive web application](https://spring.io/guides/gs/messaging-stomp-websocket/)
|
||||
* [Accessing Data with JPA](https://spring.io/guides/gs/accessing-data-jpa/)
|
||||
* [Accessing data with MySQL](https://spring.io/guides/gs/accessing-data-mysql/)
|
||||
* [Messaging with Redis](https://spring.io/guides/gs/messaging-redis/)
|
||||
* [Using Spring Data JDBC](https://github.com/spring-projects/spring-data-examples/tree/master/jdbc/basics)
|
||||
|
BIN
doc/业务流程.vsdx
Normal file
BIN
doc/业务流程.vsdx
Normal file
Binary file not shown.
150
pom.xml
Normal file
150
pom.xml
Normal file
|
@ -0,0 +1,150 @@
|
|||
<?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</groupId>
|
||||
<artifactId>SimulationService</artifactId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
<name>SimulationService</name>
|
||||
<description>SimulationService</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.7.6</spring-boot.version>
|
||||
</properties>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-data-jdbc</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-data-jpa</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-data-redis</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-web</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-websocket</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-validation</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-devtools</artifactId>
|
||||
<scope>runtime</scope>
|
||||
<optional>true</optional>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.mysql</groupId>
|
||||
<artifactId>mysql-connector-j</artifactId>
|
||||
<scope>runtime</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.projectlombok</groupId>
|
||||
<artifactId>lombok</artifactId>
|
||||
<optional>true</optional>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-test</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
<!-- MyBatis Spring Boot Starter -->
|
||||
<dependency>
|
||||
<groupId>com.baomidou</groupId>
|
||||
<artifactId>mybatis-plus-boot-starter</artifactId>
|
||||
<version>3.1.2</version>
|
||||
</dependency>
|
||||
|
||||
<!-- MySQL 驱动,如果你的数据库是 MySQL -->
|
||||
<dependency>
|
||||
<groupId>mysql</groupId>
|
||||
<artifactId>mysql-connector-java</artifactId>
|
||||
<scope>runtime</scope>
|
||||
</dependency>
|
||||
|
||||
<!-- json相关 -->
|
||||
<dependency>
|
||||
<groupId>org.apache.commons</groupId>
|
||||
<artifactId>commons-lang3</artifactId>
|
||||
<version>3.8.1</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.alibaba</groupId>
|
||||
<artifactId>fastjson</artifactId>
|
||||
<version>1.2.58</version>
|
||||
</dependency>
|
||||
|
||||
<!-- 项目文档生成接口 -->
|
||||
<dependency>
|
||||
<groupId>org.springdoc</groupId>
|
||||
<artifactId>springdoc-openapi-ui</artifactId>
|
||||
<version>1.6.4</version>
|
||||
</dependency>
|
||||
<!-- 项目文档生成接口 -->
|
||||
|
||||
<dependency>
|
||||
<groupId>io.github.classgraph</groupId>
|
||||
<artifactId>classgraph</artifactId>
|
||||
<version>4.8.112</version>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
<dependencyManagement>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-dependencies</artifactId>
|
||||
<version>${spring-boot.version}</version>
|
||||
<type>pom</type>
|
||||
<scope>import</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</dependencyManagement>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<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>${spring-boot.version}</version>
|
||||
<configuration>
|
||||
<mainClass>com.simulationservice.SimulationServiceApplication</mainClass>
|
||||
<skip>true</skip>
|
||||
</configuration>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>repackage</id>
|
||||
<goals>
|
||||
<goal>repackage</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
</project>
|
|
@ -0,0 +1,13 @@
|
|||
package com.simulationservice;
|
||||
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
|
||||
@SpringBootApplication
|
||||
public class SimulationServiceApplication {
|
||||
|
||||
public static void main(String[] args) {
|
||||
SpringApplication.run(SimulationServiceApplication.class, args);
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
package com.simulationservice.common;
|
||||
|
||||
/**
|
||||
定义Json数据返回的一些常量
|
||||
*/
|
||||
public class CommonConst {
|
||||
public static final String SUCCESS_RESULT = "成功";
|
||||
public static final String ERROR_RESULT = "失败";
|
||||
}
|
35
src/main/java/com/simulationservice/common/R.java
Normal file
35
src/main/java/com/simulationservice/common/R.java
Normal file
|
@ -0,0 +1,35 @@
|
|||
package com.simulationservice.common;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class R<T> {
|
||||
/**
|
||||
* 编码:1成功,0和其它数字为失败
|
||||
*/
|
||||
private Integer code;
|
||||
/**
|
||||
* 信息返回
|
||||
*/
|
||||
private String msg;
|
||||
/**
|
||||
* 信息返回数据
|
||||
*/
|
||||
private T data;
|
||||
|
||||
public static <T> R<T> success(T object) {
|
||||
R<T> r = new R<T>();
|
||||
r.data = object;
|
||||
r.code = 1;
|
||||
r.msg = CommonConst.SUCCESS_RESULT;
|
||||
return r;
|
||||
}
|
||||
|
||||
public static <T> R<T> error(T object) {
|
||||
R<T> r = new R<T>();
|
||||
r.data = object;
|
||||
r.code = 0;
|
||||
r.msg = CommonConst.ERROR_RESULT;
|
||||
return r;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
package com.simulationservice.config;
|
||||
|
||||
import org.springdoc.core.GroupedOpenApi;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
@Configuration
|
||||
public class OpenApiConfig {
|
||||
@Bean
|
||||
public GroupedOpenApi api() {
|
||||
return GroupedOpenApi.builder()
|
||||
.group("api")
|
||||
.packagesToScan("com.simulationservice.controller") // 你的包名
|
||||
.build();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,63 @@
|
|||
package com.simulationservice.config;
|
||||
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.data.redis.connection.MessageListener;
|
||||
import org.springframework.data.redis.connection.RedisConnectionFactory;
|
||||
import org.springframework.data.redis.listener.ChannelTopic;
|
||||
import org.springframework.data.redis.listener.RedisMessageListenerContainer;
|
||||
import org.springframework.data.redis.listener.Topic;
|
||||
import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
@Configuration
|
||||
public class RedisSubConfig {
|
||||
/** redis 连接工厂 */
|
||||
@Resource
|
||||
private RedisConnectionFactory redisConnectionFactory;
|
||||
|
||||
/**
|
||||
* Redis消息监听器
|
||||
*/
|
||||
@Resource
|
||||
private MessageListener redisMsgListener;
|
||||
|
||||
//任务池
|
||||
private ThreadPoolTaskScheduler taskScheduler;
|
||||
|
||||
/**
|
||||
* 创建任务池,运行线程等待处理redis的消息
|
||||
*/
|
||||
@Bean
|
||||
public ThreadPoolTaskScheduler initTaskScheduler() {
|
||||
if (null != taskScheduler) {
|
||||
return taskScheduler;
|
||||
}
|
||||
taskScheduler = new ThreadPoolTaskScheduler();
|
||||
taskScheduler.setPoolSize(20);
|
||||
return taskScheduler;
|
||||
}
|
||||
|
||||
/**
|
||||
* 定义redis的监听器
|
||||
* @return 监听容器
|
||||
*/
|
||||
@Bean
|
||||
public RedisMessageListenerContainer initRedisContainer() {
|
||||
RedisMessageListenerContainer container = new RedisMessageListenerContainer();
|
||||
//Redis连接工厂
|
||||
container.setConnectionFactory(redisConnectionFactory);
|
||||
//设置运行任务的线程池
|
||||
container.setTaskExecutor(initTaskScheduler());
|
||||
//定义监听渠道,名称为topic1
|
||||
Topic topic = new ChannelTopic("topic1");
|
||||
//使用监听器监听Redis的消息
|
||||
container.addMessageListener(redisMsgListener, topic);
|
||||
//定义监听渠道,名称为topic2
|
||||
Topic topic2 = new ChannelTopic("topic2");
|
||||
//使用监听器监听Redis的消息
|
||||
container.addMessageListener(redisMsgListener, topic2);
|
||||
return container;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
package com.simulationservice.config;
|
||||
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.web.socket.server.standard.ServerEndpointExporter;
|
||||
|
||||
@Configuration
|
||||
public class WebSocketConfig {
|
||||
|
||||
@Bean
|
||||
public ServerEndpointExporter serverEndpointExporter() {
|
||||
return new ServerEndpointExporter();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,37 @@
|
|||
package com.simulationservice.controller;
|
||||
|
||||
import com.simulationservice.common.R;
|
||||
import com.simulationservice.service.InferenceTaskService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 想定控制,与前端进行交互的接口
|
||||
* 想定控制,包括想定的加载,开始,暂停,停止,加速,减速
|
||||
*/
|
||||
@RestController
|
||||
public class InferenceController {
|
||||
|
||||
@Autowired
|
||||
private InferenceTaskService inferenceTaskService;
|
||||
|
||||
@GetMapping("/api/loadScenario")
|
||||
public R<Map<String, Object>> loadScenario(@RequestParam(value = "roomId") String roomId, @RequestParam(value = "scenarioId") String scenarioId) {
|
||||
// 服务端加载想定
|
||||
Map<String, Object> retMap = new HashMap<>();
|
||||
boolean ret = inferenceTaskService.loadScenario(roomId, scenarioId);
|
||||
return ret ? R.success(retMap) : R.error(retMap);
|
||||
}
|
||||
|
||||
@GetMapping("/api/startScenario")
|
||||
public String startTask(@RequestParam(value = "roomId") String roomId, @RequestParam(value = "scenarioId") String scenarioId) {
|
||||
// 启动后台任务
|
||||
inferenceTaskService.executeTask();
|
||||
return "任务已启动";
|
||||
}
|
||||
}
|
|
@ -0,0 +1,99 @@
|
|||
package com.simulationservice.controller;
|
||||
|
||||
import com.simulationservice.domain.SysUser;
|
||||
import com.simulationservice.service.SysUserService;
|
||||
import com.simulationservice.service.WebSocketServer;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.redis.core.RedisTemplate;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
@RestController
|
||||
@RequestMapping(value = "/account")
|
||||
public class TestController {
|
||||
|
||||
@Autowired
|
||||
private SysUserService userService;
|
||||
|
||||
@Autowired
|
||||
private RedisTemplate<String,String> redisTemplate;
|
||||
|
||||
/**
|
||||
* 获取账号数据
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value="/getUserInfo")
|
||||
public Map<String, Object> getUserInfo(@RequestParam(value = "id", defaultValue = "") String id) {
|
||||
Map<String, Object> resultMap = new HashMap<>();
|
||||
|
||||
SysUser user = userService.queryUser(id);
|
||||
|
||||
String username = user.getUsername();
|
||||
redisTemplate.opsForValue().set("test","123456789");
|
||||
resultMap.put("username",username);
|
||||
resultMap.put("redisValue",redisTemplate.opsForValue().get("test"));
|
||||
|
||||
return resultMap;
|
||||
}
|
||||
|
||||
@RequestMapping(value="/subscribe")
|
||||
public void subscribeMsg() {
|
||||
// 使用convertAndSend方法向频道redisChat发布消息
|
||||
redisTemplate.convertAndSend("topic1", "aaa");
|
||||
redisTemplate.convertAndSend("topic2", "bbb");
|
||||
}
|
||||
|
||||
@GetMapping(value = "/testPush", produces = "application/json;charset=utf-8")
|
||||
public void testPush(String body) {
|
||||
/**
|
||||
* 使用redisTemplate的convertAndSend()函数,
|
||||
* String channel, Object message
|
||||
* channel代表管道,
|
||||
* message代表发送的信息
|
||||
*/
|
||||
redisTemplate.convertAndSend("topic1", body);
|
||||
}
|
||||
|
||||
@GetMapping(value = "/publicMsg", produces = "application/json;charset=utf-8")
|
||||
public void publicMsg(String body) {
|
||||
/**
|
||||
* 使用redisTemplate的convertAndSend()函数,
|
||||
* String channel, Object message
|
||||
* channel代表管道,
|
||||
* message代表发送的信息
|
||||
*/
|
||||
redisTemplate.convertAndSend("topic2", body);
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/get", method = RequestMethod.GET)
|
||||
public String testGet(@RequestParam(value = "body", defaultValue = "") String body) {
|
||||
redisTemplate.convertAndSend("topic2", body);
|
||||
return "success";
|
||||
}
|
||||
@RequestMapping(value = "/set", method = RequestMethod.POST)
|
||||
public String testPost(@RequestParam(value = "body", defaultValue = "") String body) {
|
||||
redisTemplate.convertAndSend("topic2", body);
|
||||
return "success";
|
||||
}
|
||||
|
||||
@GetMapping("/index")
|
||||
public ResponseEntity<String> index(){
|
||||
return ResponseEntity.ok("请求成功");
|
||||
}
|
||||
|
||||
@GetMapping("/wspage")
|
||||
public ModelAndView page(){
|
||||
return new ModelAndView("websocket");
|
||||
}
|
||||
|
||||
@RequestMapping("/push/{toUserId}")
|
||||
public ResponseEntity<String> pushToWeb(@RequestParam String message, @PathVariable String toUserId) throws IOException {
|
||||
WebSocketServer.sendInfo(message,toUserId);
|
||||
return ResponseEntity.ok("MSG SEND SUCCESS:" + message);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
package com.simulationservice.controller;
|
||||
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
@RestController
|
||||
public class UserController {
|
||||
|
||||
@GetMapping("/hello")
|
||||
public String sayHello(@RequestParam(value = "name", defaultValue = "hello") String name) {
|
||||
return "Hello " + name + "!";
|
||||
}
|
||||
}
|
|
@ -0,0 +1,67 @@
|
|||
/*
|
||||
* Copyright 2013-2018 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.simulationservice.demos.web;
|
||||
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
|
||||
/**
|
||||
* @author <a href="mailto:chenxilzx1@gmail.com">theonefx</a>
|
||||
*/
|
||||
@Controller
|
||||
public class BasicController {
|
||||
|
||||
// http://127.0.0.1:8080/hello?name=lisi
|
||||
@RequestMapping("/hello")
|
||||
@ResponseBody
|
||||
public String hello(@RequestParam(name = "name", defaultValue = "unknown user") String name) {
|
||||
return "Hello " + name;
|
||||
}
|
||||
|
||||
// http://127.0.0.1:8080/user
|
||||
@RequestMapping("/user")
|
||||
@ResponseBody
|
||||
public User user() {
|
||||
User user = new User();
|
||||
user.setName("theonefx");
|
||||
user.setAge(666);
|
||||
return user;
|
||||
}
|
||||
|
||||
// http://127.0.0.1:8080/save_user?name=newName&age=11
|
||||
@RequestMapping("/save_user")
|
||||
@ResponseBody
|
||||
public String saveUser(User u) {
|
||||
return "user will save: name=" + u.getName() + ", age=" + u.getAge();
|
||||
}
|
||||
|
||||
// http://127.0.0.1:8080/html
|
||||
@RequestMapping("/html")
|
||||
public String html() {
|
||||
return "index.html";
|
||||
}
|
||||
|
||||
@ModelAttribute
|
||||
public void parseUser(@RequestParam(name = "name", defaultValue = "unknown user") String name
|
||||
, @RequestParam(name = "age", defaultValue = "12") Integer age, User user) {
|
||||
user.setName("zhangsan");
|
||||
user.setAge(18);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,44 @@
|
|||
/*
|
||||
* Copyright 2013-2018 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.simulationservice.demos.web;
|
||||
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
|
||||
/**
|
||||
* @author <a href="mailto:chenxilzx1@gmail.com">theonefx</a>
|
||||
*/
|
||||
@Controller
|
||||
public class PathVariableController {
|
||||
|
||||
// http://127.0.0.1:8080/user/123/roles/222
|
||||
@RequestMapping(value = "/user/{userId}/roles/{roleId}", method = RequestMethod.GET)
|
||||
@ResponseBody
|
||||
public String getLogin(@PathVariable("userId") String userId, @PathVariable("roleId") String roleId) {
|
||||
return "User Id : " + userId + " Role Id : " + roleId;
|
||||
}
|
||||
|
||||
// http://127.0.0.1:8080/javabeat/somewords
|
||||
@RequestMapping(value = "/javabeat/{regexp1:[a-z-]+}", method = RequestMethod.GET)
|
||||
@ResponseBody
|
||||
public String getRegExp(@PathVariable("regexp1") String regexp1) {
|
||||
return "URI Part : " + regexp1;
|
||||
}
|
||||
}
|
43
src/main/java/com/simulationservice/demos/web/User.java
Normal file
43
src/main/java/com/simulationservice/demos/web/User.java
Normal file
|
@ -0,0 +1,43 @@
|
|||
/*
|
||||
* Copyright 2013-2018 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.simulationservice.demos.web;
|
||||
|
||||
/**
|
||||
* @author <a href="mailto:chenxilzx1@gmail.com">theonefx</a>
|
||||
*/
|
||||
public class User {
|
||||
|
||||
private String name;
|
||||
|
||||
private Integer age;
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public Integer getAge() {
|
||||
return age;
|
||||
}
|
||||
|
||||
public void setAge(Integer age) {
|
||||
this.age = age;
|
||||
}
|
||||
}
|
49
src/main/java/com/simulationservice/domain/SysUser.java
Normal file
49
src/main/java/com/simulationservice/domain/SysUser.java
Normal file
|
@ -0,0 +1,49 @@
|
|||
package com.simulationservice.domain;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* sys_user
|
||||
* @author
|
||||
*/
|
||||
@Data
|
||||
public class SysUser implements Serializable {
|
||||
/**
|
||||
* 用户id
|
||||
*/
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 登录用户名
|
||||
*/
|
||||
private String username;
|
||||
|
||||
/**
|
||||
* 密码
|
||||
*/
|
||||
private String password;
|
||||
|
||||
/**
|
||||
* 真实名称
|
||||
*/
|
||||
private String realname;
|
||||
|
||||
/**
|
||||
* 是否为管理员 1为管理员
|
||||
*/
|
||||
private Integer isadmin;
|
||||
|
||||
/**
|
||||
* 预留
|
||||
*/
|
||||
private String createuserid;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private Date createtime;
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
}
|
673
src/main/java/com/simulationservice/example/SysUserExample.java
Normal file
673
src/main/java/com/simulationservice/example/SysUserExample.java
Normal file
|
@ -0,0 +1,673 @@
|
|||
package com.simulationservice.example;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
public class SysUserExample {
|
||||
protected String orderByClause;
|
||||
|
||||
protected boolean distinct;
|
||||
|
||||
protected List<Criteria> oredCriteria;
|
||||
|
||||
public SysUserExample() {
|
||||
oredCriteria = new ArrayList<Criteria>();
|
||||
}
|
||||
|
||||
public void setOrderByClause(String orderByClause) {
|
||||
this.orderByClause = orderByClause;
|
||||
}
|
||||
|
||||
public String getOrderByClause() {
|
||||
return orderByClause;
|
||||
}
|
||||
|
||||
public void setDistinct(boolean distinct) {
|
||||
this.distinct = distinct;
|
||||
}
|
||||
|
||||
public boolean isDistinct() {
|
||||
return distinct;
|
||||
}
|
||||
|
||||
public List<Criteria> getOredCriteria() {
|
||||
return oredCriteria;
|
||||
}
|
||||
|
||||
public void or(Criteria criteria) {
|
||||
oredCriteria.add(criteria);
|
||||
}
|
||||
|
||||
public Criteria or() {
|
||||
Criteria criteria = createCriteriaInternal();
|
||||
oredCriteria.add(criteria);
|
||||
return criteria;
|
||||
}
|
||||
|
||||
public Criteria createCriteria() {
|
||||
Criteria criteria = createCriteriaInternal();
|
||||
if (oredCriteria.size() == 0) {
|
||||
oredCriteria.add(criteria);
|
||||
}
|
||||
return criteria;
|
||||
}
|
||||
|
||||
protected Criteria createCriteriaInternal() {
|
||||
Criteria criteria = new Criteria();
|
||||
return criteria;
|
||||
}
|
||||
|
||||
public void clear() {
|
||||
oredCriteria.clear();
|
||||
orderByClause = null;
|
||||
distinct = false;
|
||||
}
|
||||
|
||||
protected abstract static class GeneratedCriteria {
|
||||
protected List<Criterion> criteria;
|
||||
|
||||
protected GeneratedCriteria() {
|
||||
super();
|
||||
criteria = new ArrayList<Criterion>();
|
||||
}
|
||||
|
||||
public boolean isValid() {
|
||||
return criteria.size() > 0;
|
||||
}
|
||||
|
||||
public List<Criterion> getAllCriteria() {
|
||||
return criteria;
|
||||
}
|
||||
|
||||
public List<Criterion> getCriteria() {
|
||||
return criteria;
|
||||
}
|
||||
|
||||
protected void addCriterion(String condition) {
|
||||
if (condition == null) {
|
||||
throw new RuntimeException("Value for condition cannot be null");
|
||||
}
|
||||
criteria.add(new Criterion(condition));
|
||||
}
|
||||
|
||||
protected void addCriterion(String condition, Object value, String property) {
|
||||
if (value == null) {
|
||||
throw new RuntimeException("Value for " + property + " cannot be null");
|
||||
}
|
||||
criteria.add(new Criterion(condition, value));
|
||||
}
|
||||
|
||||
protected void addCriterion(String condition, Object value1, Object value2, String property) {
|
||||
if (value1 == null || value2 == null) {
|
||||
throw new RuntimeException("Between values for " + property + " cannot be null");
|
||||
}
|
||||
criteria.add(new Criterion(condition, value1, value2));
|
||||
}
|
||||
|
||||
public Criteria andIdIsNull() {
|
||||
addCriterion("Id is null");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andIdIsNotNull() {
|
||||
addCriterion("Id is not null");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andIdEqualTo(String value) {
|
||||
addCriterion("Id =", value, "id");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andIdNotEqualTo(String value) {
|
||||
addCriterion("Id <>", value, "id");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andIdGreaterThan(String value) {
|
||||
addCriterion("Id >", value, "id");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andIdGreaterThanOrEqualTo(String value) {
|
||||
addCriterion("Id >=", value, "id");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andIdLessThan(String value) {
|
||||
addCriterion("Id <", value, "id");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andIdLessThanOrEqualTo(String value) {
|
||||
addCriterion("Id <=", value, "id");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andIdLike(String value) {
|
||||
addCriterion("Id like", value, "id");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andIdNotLike(String value) {
|
||||
addCriterion("Id not like", value, "id");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andIdIn(List<String> values) {
|
||||
addCriterion("Id in", values, "id");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andIdNotIn(List<String> values) {
|
||||
addCriterion("Id not in", values, "id");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andIdBetween(String value1, String value2) {
|
||||
addCriterion("Id between", value1, value2, "id");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andIdNotBetween(String value1, String value2) {
|
||||
addCriterion("Id not between", value1, value2, "id");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andUsernameIsNull() {
|
||||
addCriterion("UserName is null");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andUsernameIsNotNull() {
|
||||
addCriterion("UserName is not null");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andUsernameEqualTo(String value) {
|
||||
addCriterion("UserName =", value, "username");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andUsernameNotEqualTo(String value) {
|
||||
addCriterion("UserName <>", value, "username");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andUsernameGreaterThan(String value) {
|
||||
addCriterion("UserName >", value, "username");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andUsernameGreaterThanOrEqualTo(String value) {
|
||||
addCriterion("UserName >=", value, "username");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andUsernameLessThan(String value) {
|
||||
addCriterion("UserName <", value, "username");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andUsernameLessThanOrEqualTo(String value) {
|
||||
addCriterion("UserName <=", value, "username");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andUsernameLike(String value) {
|
||||
addCriterion("UserName like", value, "username");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andUsernameNotLike(String value) {
|
||||
addCriterion("UserName not like", value, "username");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andUsernameIn(List<String> values) {
|
||||
addCriterion("UserName in", values, "username");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andUsernameNotIn(List<String> values) {
|
||||
addCriterion("UserName not in", values, "username");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andUsernameBetween(String value1, String value2) {
|
||||
addCriterion("UserName between", value1, value2, "username");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andUsernameNotBetween(String value1, String value2) {
|
||||
addCriterion("UserName not between", value1, value2, "username");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andPasswordIsNull() {
|
||||
addCriterion("`Password` is null");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andPasswordIsNotNull() {
|
||||
addCriterion("`Password` is not null");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andPasswordEqualTo(String value) {
|
||||
addCriterion("`Password` =", value, "password");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andPasswordNotEqualTo(String value) {
|
||||
addCriterion("`Password` <>", value, "password");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andPasswordGreaterThan(String value) {
|
||||
addCriterion("`Password` >", value, "password");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andPasswordGreaterThanOrEqualTo(String value) {
|
||||
addCriterion("`Password` >=", value, "password");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andPasswordLessThan(String value) {
|
||||
addCriterion("`Password` <", value, "password");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andPasswordLessThanOrEqualTo(String value) {
|
||||
addCriterion("`Password` <=", value, "password");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andPasswordLike(String value) {
|
||||
addCriterion("`Password` like", value, "password");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andPasswordNotLike(String value) {
|
||||
addCriterion("`Password` not like", value, "password");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andPasswordIn(List<String> values) {
|
||||
addCriterion("`Password` in", values, "password");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andPasswordNotIn(List<String> values) {
|
||||
addCriterion("`Password` not in", values, "password");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andPasswordBetween(String value1, String value2) {
|
||||
addCriterion("`Password` between", value1, value2, "password");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andPasswordNotBetween(String value1, String value2) {
|
||||
addCriterion("`Password` not between", value1, value2, "password");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andRealnameIsNull() {
|
||||
addCriterion("RealName is null");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andRealnameIsNotNull() {
|
||||
addCriterion("RealName is not null");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andRealnameEqualTo(String value) {
|
||||
addCriterion("RealName =", value, "realname");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andRealnameNotEqualTo(String value) {
|
||||
addCriterion("RealName <>", value, "realname");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andRealnameGreaterThan(String value) {
|
||||
addCriterion("RealName >", value, "realname");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andRealnameGreaterThanOrEqualTo(String value) {
|
||||
addCriterion("RealName >=", value, "realname");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andRealnameLessThan(String value) {
|
||||
addCriterion("RealName <", value, "realname");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andRealnameLessThanOrEqualTo(String value) {
|
||||
addCriterion("RealName <=", value, "realname");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andRealnameLike(String value) {
|
||||
addCriterion("RealName like", value, "realname");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andRealnameNotLike(String value) {
|
||||
addCriterion("RealName not like", value, "realname");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andRealnameIn(List<String> values) {
|
||||
addCriterion("RealName in", values, "realname");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andRealnameNotIn(List<String> values) {
|
||||
addCriterion("RealName not in", values, "realname");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andRealnameBetween(String value1, String value2) {
|
||||
addCriterion("RealName between", value1, value2, "realname");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andRealnameNotBetween(String value1, String value2) {
|
||||
addCriterion("RealName not between", value1, value2, "realname");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andIsadminIsNull() {
|
||||
addCriterion("IsAdmin is null");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andIsadminIsNotNull() {
|
||||
addCriterion("IsAdmin is not null");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andIsadminEqualTo(Integer value) {
|
||||
addCriterion("IsAdmin =", value, "isadmin");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andIsadminNotEqualTo(Integer value) {
|
||||
addCriterion("IsAdmin <>", value, "isadmin");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andIsadminGreaterThan(Integer value) {
|
||||
addCriterion("IsAdmin >", value, "isadmin");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andIsadminGreaterThanOrEqualTo(Integer value) {
|
||||
addCriterion("IsAdmin >=", value, "isadmin");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andIsadminLessThan(Integer value) {
|
||||
addCriterion("IsAdmin <", value, "isadmin");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andIsadminLessThanOrEqualTo(Integer value) {
|
||||
addCriterion("IsAdmin <=", value, "isadmin");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andIsadminIn(List<Integer> values) {
|
||||
addCriterion("IsAdmin in", values, "isadmin");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andIsadminNotIn(List<Integer> values) {
|
||||
addCriterion("IsAdmin not in", values, "isadmin");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andIsadminBetween(Integer value1, Integer value2) {
|
||||
addCriterion("IsAdmin between", value1, value2, "isadmin");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andIsadminNotBetween(Integer value1, Integer value2) {
|
||||
addCriterion("IsAdmin not between", value1, value2, "isadmin");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andCreateuseridIsNull() {
|
||||
addCriterion("CreateUserId is null");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andCreateuseridIsNotNull() {
|
||||
addCriterion("CreateUserId is not null");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andCreateuseridEqualTo(String value) {
|
||||
addCriterion("CreateUserId =", value, "createuserid");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andCreateuseridNotEqualTo(String value) {
|
||||
addCriterion("CreateUserId <>", value, "createuserid");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andCreateuseridGreaterThan(String value) {
|
||||
addCriterion("CreateUserId >", value, "createuserid");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andCreateuseridGreaterThanOrEqualTo(String value) {
|
||||
addCriterion("CreateUserId >=", value, "createuserid");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andCreateuseridLessThan(String value) {
|
||||
addCriterion("CreateUserId <", value, "createuserid");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andCreateuseridLessThanOrEqualTo(String value) {
|
||||
addCriterion("CreateUserId <=", value, "createuserid");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andCreateuseridLike(String value) {
|
||||
addCriterion("CreateUserId like", value, "createuserid");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andCreateuseridNotLike(String value) {
|
||||
addCriterion("CreateUserId not like", value, "createuserid");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andCreateuseridIn(List<String> values) {
|
||||
addCriterion("CreateUserId in", values, "createuserid");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andCreateuseridNotIn(List<String> values) {
|
||||
addCriterion("CreateUserId not in", values, "createuserid");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andCreateuseridBetween(String value1, String value2) {
|
||||
addCriterion("CreateUserId between", value1, value2, "createuserid");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andCreateuseridNotBetween(String value1, String value2) {
|
||||
addCriterion("CreateUserId not between", value1, value2, "createuserid");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andCreatetimeIsNull() {
|
||||
addCriterion("CreateTime is null");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andCreatetimeIsNotNull() {
|
||||
addCriterion("CreateTime is not null");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andCreatetimeEqualTo(Date value) {
|
||||
addCriterion("CreateTime =", value, "createtime");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andCreatetimeNotEqualTo(Date value) {
|
||||
addCriterion("CreateTime <>", value, "createtime");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andCreatetimeGreaterThan(Date value) {
|
||||
addCriterion("CreateTime >", value, "createtime");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andCreatetimeGreaterThanOrEqualTo(Date value) {
|
||||
addCriterion("CreateTime >=", value, "createtime");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andCreatetimeLessThan(Date value) {
|
||||
addCriterion("CreateTime <", value, "createtime");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andCreatetimeLessThanOrEqualTo(Date value) {
|
||||
addCriterion("CreateTime <=", value, "createtime");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andCreatetimeIn(List<Date> values) {
|
||||
addCriterion("CreateTime in", values, "createtime");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andCreatetimeNotIn(List<Date> values) {
|
||||
addCriterion("CreateTime not in", values, "createtime");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andCreatetimeBetween(Date value1, Date value2) {
|
||||
addCriterion("CreateTime between", value1, value2, "createtime");
|
||||
return (Criteria) this;
|
||||
}
|
||||
|
||||
public Criteria andCreatetimeNotBetween(Date value1, Date value2) {
|
||||
addCriterion("CreateTime not between", value1, value2, "createtime");
|
||||
return (Criteria) this;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*/
|
||||
public static class Criteria extends GeneratedCriteria {
|
||||
|
||||
protected Criteria() {
|
||||
super();
|
||||
}
|
||||
}
|
||||
|
||||
public static class Criterion {
|
||||
private String condition;
|
||||
|
||||
private Object value;
|
||||
|
||||
private Object secondValue;
|
||||
|
||||
private boolean noValue;
|
||||
|
||||
private boolean singleValue;
|
||||
|
||||
private boolean betweenValue;
|
||||
|
||||
private boolean listValue;
|
||||
|
||||
private String typeHandler;
|
||||
|
||||
public String getCondition() {
|
||||
return condition;
|
||||
}
|
||||
|
||||
public Object getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
public Object getSecondValue() {
|
||||
return secondValue;
|
||||
}
|
||||
|
||||
public boolean isNoValue() {
|
||||
return noValue;
|
||||
}
|
||||
|
||||
public boolean isSingleValue() {
|
||||
return singleValue;
|
||||
}
|
||||
|
||||
public boolean isBetweenValue() {
|
||||
return betweenValue;
|
||||
}
|
||||
|
||||
public boolean isListValue() {
|
||||
return listValue;
|
||||
}
|
||||
|
||||
public String getTypeHandler() {
|
||||
return typeHandler;
|
||||
}
|
||||
|
||||
protected Criterion(String condition) {
|
||||
super();
|
||||
this.condition = condition;
|
||||
this.typeHandler = null;
|
||||
this.noValue = true;
|
||||
}
|
||||
|
||||
protected Criterion(String condition, Object value, String typeHandler) {
|
||||
super();
|
||||
this.condition = condition;
|
||||
this.value = value;
|
||||
this.typeHandler = typeHandler;
|
||||
if (value instanceof List<?>) {
|
||||
this.listValue = true;
|
||||
} else {
|
||||
this.singleValue = true;
|
||||
}
|
||||
}
|
||||
|
||||
protected Criterion(String condition, Object value) {
|
||||
this(condition, value, null);
|
||||
}
|
||||
|
||||
protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
|
||||
super();
|
||||
this.condition = condition;
|
||||
this.value = value;
|
||||
this.secondValue = secondValue;
|
||||
this.typeHandler = typeHandler;
|
||||
this.betweenValue = true;
|
||||
}
|
||||
|
||||
protected Criterion(String condition, Object value, Object secondValue) {
|
||||
this(condition, value, secondValue, null);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
package com.simulationservice.mapper;
|
||||
|
||||
import org.springframework.data.redis.connection.Message;
|
||||
import org.springframework.data.redis.connection.MessageListener;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@Component
|
||||
public class RedisSubscribe implements MessageListener {
|
||||
|
||||
@Override
|
||||
public void onMessage(Message message, byte[] pattern) {
|
||||
//消息体
|
||||
String body = new String(message.getBody());
|
||||
//渠道名称
|
||||
String topic = new String(pattern);
|
||||
System.out.println("消息体:" + body);
|
||||
System.out.println("主题名称:" + topic);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,32 @@
|
|||
package com.simulationservice.mapper;
|
||||
|
||||
import com.simulationservice.domain.SysUser;
|
||||
import com.simulationservice.example.SysUserExample;
|
||||
import java.util.List;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
@Mapper
|
||||
public interface SysUserMapper {
|
||||
long countByExample(SysUserExample example);
|
||||
|
||||
int deleteByExample(SysUserExample example);
|
||||
|
||||
int deleteByPrimaryKey(String id);
|
||||
|
||||
int insert(SysUser record);
|
||||
|
||||
int insertSelective(SysUser record);
|
||||
|
||||
List<SysUser> selectByExample(SysUserExample example);
|
||||
|
||||
SysUser selectByPrimaryKey(String id);
|
||||
|
||||
int updateByExampleSelective(@Param("record") SysUser record, @Param("example") SysUserExample example);
|
||||
|
||||
int updateByExample(@Param("record") SysUser record, @Param("example") SysUserExample example);
|
||||
|
||||
int updateByPrimaryKeySelective(SysUser record);
|
||||
|
||||
int updateByPrimaryKey(SysUser record);
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
package com.simulationservice.service;
|
||||
|
||||
import org.springframework.scheduling.annotation.Async;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* 推演任务服务,用于创建线程和管理
|
||||
*/
|
||||
@Service
|
||||
public class InferenceTaskService {
|
||||
|
||||
@Async
|
||||
public boolean loadScenario(String roomId, String scenarioId) {
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Async
|
||||
public void executeTask() {
|
||||
// 启动我们的任务
|
||||
//new MyTask().run();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
package com.simulationservice.service;
|
||||
|
||||
import com.simulationservice.domain.SysUser;
|
||||
import com.simulationservice.mapper.SysUserMapper;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
public class SysUserService {
|
||||
|
||||
@Lazy
|
||||
@Autowired
|
||||
private SysUserMapper userMapper;
|
||||
|
||||
//查询用户信息
|
||||
public SysUser queryUser(String id) {
|
||||
return userMapper.selectByPrimaryKey(id);
|
||||
}
|
||||
}
|
149
src/main/java/com/simulationservice/service/WebSocketServer.java
Normal file
149
src/main/java/com/simulationservice/service/WebSocketServer.java
Normal file
|
@ -0,0 +1,149 @@
|
|||
package com.simulationservice.service;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.websocket.*;
|
||||
import javax.websocket.server.PathParam;
|
||||
import javax.websocket.server.ServerEndpoint;
|
||||
import java.io.IOException;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
@ServerEndpoint("/wsServer/{userId}")
|
||||
@Component
|
||||
@Slf4j
|
||||
public class WebSocketServer {
|
||||
|
||||
/**
|
||||
* 静态变量,用来记录当前在线连接数。应该把它设计成线程安全的。
|
||||
*/
|
||||
private static int onlineCount = 0;
|
||||
/**
|
||||
* concurrent包的线程安全Set,用来存放每个客户端对应的MyWebSocket对象。
|
||||
*/
|
||||
private static ConcurrentHashMap<String, WebSocketServer> webSocketMap = new ConcurrentHashMap<>();
|
||||
/**
|
||||
* 与某个客户端的连接会话,需要通过它来给客户端发送数据
|
||||
*/
|
||||
private Session session;
|
||||
/**
|
||||
* 接收userId
|
||||
*/
|
||||
private String userId = "";
|
||||
|
||||
/**
|
||||
* 连接建立成功调用的方法
|
||||
*/
|
||||
@OnOpen
|
||||
public void onOpen(Session session, @PathParam("userId") String userId) {
|
||||
this.session = session;
|
||||
this.userId = userId;
|
||||
if (webSocketMap.containsKey(userId)) {
|
||||
webSocketMap.remove(userId);
|
||||
webSocketMap.put(userId, this);
|
||||
//加入set中
|
||||
} else {
|
||||
webSocketMap.put(userId, this); // 连接建立成功后,将userId作为key,将Session作为value存入Map中
|
||||
//加入set中
|
||||
addOnlineCount();
|
||||
//在线数加1
|
||||
}
|
||||
|
||||
log.info("用户连接:" + userId + ",当前在线人数为:" + getOnlineCount());
|
||||
|
||||
try {
|
||||
sendMessage("连接成功"); // 服务器主动推送数据到客户端
|
||||
} catch (IOException e) {
|
||||
log.error("用户:" + userId + ",网络异常!!!!!!");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 连接关闭调用的方法
|
||||
*/
|
||||
@OnClose
|
||||
public void onClose() {
|
||||
if (webSocketMap.containsKey(userId)) {
|
||||
webSocketMap.remove(userId);
|
||||
//从set中删除
|
||||
subOnlineCount();
|
||||
}
|
||||
log.info("用户退出:" + userId + ",当前在线人数为:" + getOnlineCount());
|
||||
}
|
||||
|
||||
/**
|
||||
* 收到客户端消息后调用的方法
|
||||
*
|
||||
* @param message 客户端发送过来的消息
|
||||
*/
|
||||
@OnMessage
|
||||
public void onMessage(String message, Session session) {
|
||||
log.info("用户消息:" + userId + ",报文:" + message);
|
||||
//可以群发消息
|
||||
//消息保存到数据库、redis
|
||||
if (StringUtils.isNotBlank(message)) {
|
||||
try {
|
||||
//解析发送的报文
|
||||
JSONObject jsonObject = JSON.parseObject(message);
|
||||
//追加发送人(防止串改)
|
||||
jsonObject.put("fromUserId", this.userId);
|
||||
String toUserId = jsonObject.getString("toUserId");
|
||||
// 传送给对应toUserId用户的websocket
|
||||
if (StringUtils.isNotBlank(toUserId) && webSocketMap.containsKey(toUserId)) {
|
||||
webSocketMap.get(toUserId).sendMessage(jsonObject.toJSONString());
|
||||
} else {
|
||||
log.error("请求的userId:" + toUserId + "不在该服务器上");
|
||||
//否则不在这个服务器上,发送到mysql或者redis
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 出现错误
|
||||
*
|
||||
* @param session
|
||||
* @param error
|
||||
*/
|
||||
@OnError
|
||||
public void onError(Session session, Throwable error) {
|
||||
log.error("用户错误:" + this.userId + ",原因:" + error.getMessage());
|
||||
error.printStackTrace();
|
||||
}
|
||||
|
||||
/**
|
||||
* 实现服务器主动推送
|
||||
*/
|
||||
public void sendMessage(String message) throws IOException {
|
||||
this.session.getBasicRemote().sendText(message);
|
||||
}
|
||||
|
||||
/**
|
||||
* 发送自定义消息
|
||||
*/
|
||||
public static void sendInfo(String message, @PathParam("userId") String userId) throws IOException {
|
||||
log.info("发送消息到:" + userId + ",报文:" + message);
|
||||
if (StringUtils.isNotBlank(userId) && webSocketMap.containsKey(userId)) {
|
||||
webSocketMap.get(userId).sendMessage(message);
|
||||
} else {
|
||||
log.error("用户" + userId + ",不在线!");
|
||||
}
|
||||
}
|
||||
|
||||
public static synchronized int getOnlineCount() {
|
||||
return onlineCount;
|
||||
}
|
||||
|
||||
public static synchronized void addOnlineCount() {
|
||||
WebSocketServer.onlineCount++;
|
||||
}
|
||||
|
||||
public static synchronized void subOnlineCount() {
|
||||
WebSocketServer.onlineCount--;
|
||||
}
|
||||
}
|
31
src/main/resources/application.yaml
Normal file
31
src/main/resources/application.yaml
Normal file
|
@ -0,0 +1,31 @@
|
|||
server:
|
||||
port: 8088
|
||||
|
||||
spring:
|
||||
datasource: # 数据源配置
|
||||
url: jdbc:mysql://127.0.0.1:3306/SupportDB?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
|
||||
username: root
|
||||
password: 123456
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
|
||||
redis:
|
||||
host: 127.0.0.1
|
||||
port: 6379
|
||||
password:
|
||||
pool:
|
||||
max-active: 100
|
||||
max-idle: 10
|
||||
max-wait: 100000
|
||||
timeout: 300
|
||||
database: 0
|
||||
|
||||
springdoc:
|
||||
api-docs:
|
||||
enabled: true
|
||||
swagger-ui:
|
||||
enabled: true
|
||||
path: /api.html
|
||||
|
||||
mybatis:
|
||||
mapper-locations: classpath:mapper/*xml
|
||||
type-aliases-package: com.simulationservice.domain
|
237
src/main/resources/mapper/SysUserMapper.xml
Normal file
237
src/main/resources/mapper/SysUserMapper.xml
Normal file
|
@ -0,0 +1,237 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.simulationservice.mapper.SysUserMapper">
|
||||
<resultMap id="BaseResultMap" type="com.simulationservice.domain.SysUser">
|
||||
<id column="Id" jdbcType="VARCHAR" property="id" />
|
||||
<result column="UserName" jdbcType="VARCHAR" property="username" />
|
||||
<result column="Password" jdbcType="VARCHAR" property="password" />
|
||||
<result column="RealName" jdbcType="VARCHAR" property="realname" />
|
||||
<result column="IsAdmin" jdbcType="INTEGER" property="isadmin" />
|
||||
<result column="CreateUserId" jdbcType="VARCHAR" property="createuserid" />
|
||||
<result column="CreateTime" jdbcType="TIMESTAMP" property="createtime" />
|
||||
</resultMap>
|
||||
<sql id="Example_Where_Clause">
|
||||
<where>
|
||||
<foreach collection="oredCriteria" item="criteria" separator="or">
|
||||
<if test="criteria.valid">
|
||||
<trim prefix="(" prefixOverrides="and" suffix=")">
|
||||
<foreach collection="criteria.criteria" item="criterion">
|
||||
<choose>
|
||||
<when test="criterion.noValue">
|
||||
and ${criterion.condition}
|
||||
</when>
|
||||
<when test="criterion.singleValue">
|
||||
and ${criterion.condition} #{criterion.value}
|
||||
</when>
|
||||
<when test="criterion.betweenValue">
|
||||
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
|
||||
</when>
|
||||
<when test="criterion.listValue">
|
||||
and ${criterion.condition}
|
||||
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
|
||||
#{listItem}
|
||||
</foreach>
|
||||
</when>
|
||||
</choose>
|
||||
</foreach>
|
||||
</trim>
|
||||
</if>
|
||||
</foreach>
|
||||
</where>
|
||||
</sql>
|
||||
<sql id="Update_By_Example_Where_Clause">
|
||||
<where>
|
||||
<foreach collection="example.oredCriteria" item="criteria" separator="or">
|
||||
<if test="criteria.valid">
|
||||
<trim prefix="(" prefixOverrides="and" suffix=")">
|
||||
<foreach collection="criteria.criteria" item="criterion">
|
||||
<choose>
|
||||
<when test="criterion.noValue">
|
||||
and ${criterion.condition}
|
||||
</when>
|
||||
<when test="criterion.singleValue">
|
||||
and ${criterion.condition} #{criterion.value}
|
||||
</when>
|
||||
<when test="criterion.betweenValue">
|
||||
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
|
||||
</when>
|
||||
<when test="criterion.listValue">
|
||||
and ${criterion.condition}
|
||||
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
|
||||
#{listItem}
|
||||
</foreach>
|
||||
</when>
|
||||
</choose>
|
||||
</foreach>
|
||||
</trim>
|
||||
</if>
|
||||
</foreach>
|
||||
</where>
|
||||
</sql>
|
||||
<sql id="Base_Column_List">
|
||||
Id, UserName, `Password`, RealName, IsAdmin, CreateUserId, CreateTime
|
||||
</sql>
|
||||
<select id="selectByExample" parameterType="com.simulationservice.example.SysUserExample" resultMap="BaseResultMap">
|
||||
select
|
||||
<if test="distinct">
|
||||
distinct
|
||||
</if>
|
||||
<include refid="Base_Column_List" />
|
||||
from sys_user
|
||||
<if test="_parameter != null">
|
||||
<include refid="Example_Where_Clause" />
|
||||
</if>
|
||||
<if test="orderByClause != null">
|
||||
order by ${orderByClause}
|
||||
</if>
|
||||
</select>
|
||||
<select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
|
||||
select
|
||||
<include refid="Base_Column_List" />
|
||||
from sys_user
|
||||
where Id = #{id,jdbcType=VARCHAR}
|
||||
</select>
|
||||
<delete id="deleteByPrimaryKey" parameterType="java.lang.String">
|
||||
delete from sys_user
|
||||
where Id = #{id,jdbcType=VARCHAR}
|
||||
</delete>
|
||||
<delete id="deleteByExample" parameterType="com.simulationservice.example.SysUserExample">
|
||||
delete from sys_user
|
||||
<if test="_parameter != null">
|
||||
<include refid="Example_Where_Clause" />
|
||||
</if>
|
||||
</delete>
|
||||
<insert id="insert" keyColumn="Id" keyProperty="id" parameterType="com.simulationservice.domain.SysUser" useGeneratedKeys="true">
|
||||
insert into sys_user (UserName, `Password`, RealName,
|
||||
IsAdmin, CreateUserId, CreateTime
|
||||
)
|
||||
values (#{username,jdbcType=VARCHAR}, #{password,jdbcType=VARCHAR}, #{realname,jdbcType=VARCHAR},
|
||||
#{isadmin,jdbcType=INTEGER}, #{createuserid,jdbcType=VARCHAR}, #{createtime,jdbcType=TIMESTAMP}
|
||||
)
|
||||
</insert>
|
||||
<insert id="insertSelective" keyColumn="Id" keyProperty="id" parameterType="com.simulationservice.domain.SysUser" useGeneratedKeys="true">
|
||||
insert into sys_user
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="username != null">
|
||||
UserName,
|
||||
</if>
|
||||
<if test="password != null">
|
||||
`Password`,
|
||||
</if>
|
||||
<if test="realname != null">
|
||||
RealName,
|
||||
</if>
|
||||
<if test="isadmin != null">
|
||||
IsAdmin,
|
||||
</if>
|
||||
<if test="createuserid != null">
|
||||
CreateUserId,
|
||||
</if>
|
||||
<if test="createtime != null">
|
||||
CreateTime,
|
||||
</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="username != null">
|
||||
#{username,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="password != null">
|
||||
#{password,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="realname != null">
|
||||
#{realname,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="isadmin != null">
|
||||
#{isadmin,jdbcType=INTEGER},
|
||||
</if>
|
||||
<if test="createuserid != null">
|
||||
#{createuserid,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="createtime != null">
|
||||
#{createtime,jdbcType=TIMESTAMP},
|
||||
</if>
|
||||
</trim>
|
||||
</insert>
|
||||
<select id="countByExample" parameterType="com.simulationservice.example.SysUserExample" resultType="java.lang.Long">
|
||||
select count(*) from sys_user
|
||||
<if test="_parameter != null">
|
||||
<include refid="Example_Where_Clause" />
|
||||
</if>
|
||||
</select>
|
||||
<update id="updateByExampleSelective" parameterType="map">
|
||||
update sys_user
|
||||
<set>
|
||||
<if test="record.id != null">
|
||||
Id = #{record.id,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="record.username != null">
|
||||
UserName = #{record.username,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="record.password != null">
|
||||
`Password` = #{record.password,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="record.realname != null">
|
||||
RealName = #{record.realname,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="record.isadmin != null">
|
||||
IsAdmin = #{record.isadmin,jdbcType=INTEGER},
|
||||
</if>
|
||||
<if test="record.createuserid != null">
|
||||
CreateUserId = #{record.createuserid,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="record.createtime != null">
|
||||
CreateTime = #{record.createtime,jdbcType=TIMESTAMP},
|
||||
</if>
|
||||
</set>
|
||||
<if test="_parameter != null">
|
||||
<include refid="Update_By_Example_Where_Clause" />
|
||||
</if>
|
||||
</update>
|
||||
<update id="updateByExample" parameterType="map">
|
||||
update sys_user
|
||||
set Id = #{record.id,jdbcType=VARCHAR},
|
||||
UserName = #{record.username,jdbcType=VARCHAR},
|
||||
`Password` = #{record.password,jdbcType=VARCHAR},
|
||||
RealName = #{record.realname,jdbcType=VARCHAR},
|
||||
IsAdmin = #{record.isadmin,jdbcType=INTEGER},
|
||||
CreateUserId = #{record.createuserid,jdbcType=VARCHAR},
|
||||
CreateTime = #{record.createtime,jdbcType=TIMESTAMP}
|
||||
<if test="_parameter != null">
|
||||
<include refid="Update_By_Example_Where_Clause" />
|
||||
</if>
|
||||
</update>
|
||||
<update id="updateByPrimaryKeySelective" parameterType="com.simulationservice.domain.SysUser">
|
||||
update sys_user
|
||||
<set>
|
||||
<if test="username != null">
|
||||
UserName = #{username,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="password != null">
|
||||
`Password` = #{password,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="realname != null">
|
||||
RealName = #{realname,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="isadmin != null">
|
||||
IsAdmin = #{isadmin,jdbcType=INTEGER},
|
||||
</if>
|
||||
<if test="createuserid != null">
|
||||
CreateUserId = #{createuserid,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="createtime != null">
|
||||
CreateTime = #{createtime,jdbcType=TIMESTAMP},
|
||||
</if>
|
||||
</set>
|
||||
where Id = #{id,jdbcType=VARCHAR}
|
||||
</update>
|
||||
<update id="updateByPrimaryKey" parameterType="com.simulationservice.domain.SysUser">
|
||||
update sys_user
|
||||
set UserName = #{username,jdbcType=VARCHAR},
|
||||
`Password` = #{password,jdbcType=VARCHAR},
|
||||
RealName = #{realname,jdbcType=VARCHAR},
|
||||
IsAdmin = #{isadmin,jdbcType=INTEGER},
|
||||
CreateUserId = #{createuserid,jdbcType=VARCHAR},
|
||||
CreateTime = #{createtime,jdbcType=TIMESTAMP}
|
||||
where Id = #{id,jdbcType=VARCHAR}
|
||||
</update>
|
||||
</mapper>
|
6
src/main/resources/static/index.html
Normal file
6
src/main/resources/static/index.html
Normal file
|
@ -0,0 +1,6 @@
|
|||
<html>
|
||||
<body>
|
||||
<h1>hello word!!!</h1>
|
||||
<p>this is a html page</p>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,13 @@
|
|||
package com.simulationservice;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
|
||||
@SpringBootTest
|
||||
class SimulationServiceApplicationTests {
|
||||
|
||||
@Test
|
||||
void contextLoads() {
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue
Block a user