diff --git a/pmpm/.idea/.gitignore b/.idea/.gitignore
similarity index 100%
rename from pmpm/.idea/.gitignore
rename to .idea/.gitignore
diff --git a/.idea/jwUser.iml b/.idea/jwUser.iml
new file mode 100644
index 0000000..d6ebd48
--- /dev/null
+++ b/.idea/jwUser.iml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..639900d
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..60e89c7
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/demo/.idea/vcs.xml b/.idea/vcs.xml
similarity index 64%
rename from demo/.idea/vcs.xml
rename to .idea/vcs.xml
index 6c0b863..35eb1dd 100644
--- a/demo/.idea/vcs.xml
+++ b/.idea/vcs.xml
@@ -1,6 +1,6 @@
-
+
\ No newline at end of file
diff --git a/demo/.idea/workspace.xml b/demo/.idea/workspace.xml
deleted file mode 100644
index 49192b1..0000000
--- a/demo/.idea/workspace.xml
+++ /dev/null
@@ -1,76 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {
- "associatedIndex": 7
-}
-
-
-
-
-
- {
- "keyToString": {
- "ModuleVcsDetector.initialDetectionPerformed": "true",
- "RunOnceActivity.ShowReadmeOnStart": "true",
- "RunOnceActivity.git.unshallow": "true",
- "git-widget-placeholder": "master",
- "kotlin-language-version-configured": "true",
- "nodejs_package_manager_path": "npm",
- "vue.rearranger.settings.migration": "true"
- }
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1764296142126
-
-
- 1764296142126
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/link b/link
deleted file mode 160000
index 561f874..0000000
--- a/link
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 561f874a42849d02cc0a55f7d373bb905384d78a
diff --git a/pmm/.gitattributes b/pmm/.gitattributes
deleted file mode 100644
index 3b41682..0000000
--- a/pmm/.gitattributes
+++ /dev/null
@@ -1,2 +0,0 @@
-/mvnw text eol=lf
-*.cmd text eol=crlf
diff --git a/pmm/.gitignore b/pmm/.gitignore
deleted file mode 100644
index 667aaef..0000000
--- a/pmm/.gitignore
+++ /dev/null
@@ -1,33 +0,0 @@
-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/
diff --git a/pmm/.mvn/wrapper/maven-wrapper.properties b/pmm/.mvn/wrapper/maven-wrapper.properties
deleted file mode 100644
index c0bcafe..0000000
--- a/pmm/.mvn/wrapper/maven-wrapper.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-wrapperVersion=3.3.4
-distributionType=only-script
-distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.11/apache-maven-3.9.11-bin.zip
diff --git a/pmm/mvnw b/pmm/mvnw
deleted file mode 100644
index bd8896b..0000000
--- a/pmm/mvnw
+++ /dev/null
@@ -1,295 +0,0 @@
-#!/bin/sh
-# ----------------------------------------------------------------------------
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you 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
-#
-# http://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.
-# ----------------------------------------------------------------------------
-
-# ----------------------------------------------------------------------------
-# Apache Maven Wrapper startup batch script, version 3.3.4
-#
-# Optional ENV vars
-# -----------------
-# JAVA_HOME - location of a JDK home dir, required when download maven via java source
-# MVNW_REPOURL - repo url base for downloading maven distribution
-# MVNW_USERNAME/MVNW_PASSWORD - user and password for downloading maven
-# MVNW_VERBOSE - true: enable verbose log; debug: trace the mvnw script; others: silence the output
-# ----------------------------------------------------------------------------
-
-set -euf
-[ "${MVNW_VERBOSE-}" != debug ] || set -x
-
-# OS specific support.
-native_path() { printf %s\\n "$1"; }
-case "$(uname)" in
-CYGWIN* | MINGW*)
- [ -z "${JAVA_HOME-}" ] || JAVA_HOME="$(cygpath --unix "$JAVA_HOME")"
- native_path() { cygpath --path --windows "$1"; }
- ;;
-esac
-
-# set JAVACMD and JAVACCMD
-set_java_home() {
- # For Cygwin and MinGW, ensure paths are in Unix format before anything is touched
- if [ -n "${JAVA_HOME-}" ]; then
- if [ -x "$JAVA_HOME/jre/sh/java" ]; then
- # IBM's JDK on AIX uses strange locations for the executables
- JAVACMD="$JAVA_HOME/jre/sh/java"
- JAVACCMD="$JAVA_HOME/jre/sh/javac"
- else
- JAVACMD="$JAVA_HOME/bin/java"
- JAVACCMD="$JAVA_HOME/bin/javac"
-
- if [ ! -x "$JAVACMD" ] || [ ! -x "$JAVACCMD" ]; then
- echo "The JAVA_HOME environment variable is not defined correctly, so mvnw cannot run." >&2
- echo "JAVA_HOME is set to \"$JAVA_HOME\", but \"\$JAVA_HOME/bin/java\" or \"\$JAVA_HOME/bin/javac\" does not exist." >&2
- return 1
- fi
- fi
- else
- JAVACMD="$(
- 'set' +e
- 'unset' -f command 2>/dev/null
- 'command' -v java
- )" || :
- JAVACCMD="$(
- 'set' +e
- 'unset' -f command 2>/dev/null
- 'command' -v javac
- )" || :
-
- if [ ! -x "${JAVACMD-}" ] || [ ! -x "${JAVACCMD-}" ]; then
- echo "The java/javac command does not exist in PATH nor is JAVA_HOME set, so mvnw cannot run." >&2
- return 1
- fi
- fi
-}
-
-# hash string like Java String::hashCode
-hash_string() {
- str="${1:-}" h=0
- while [ -n "$str" ]; do
- char="${str%"${str#?}"}"
- h=$(((h * 31 + $(LC_CTYPE=C printf %d "'$char")) % 4294967296))
- str="${str#?}"
- done
- printf %x\\n $h
-}
-
-verbose() { :; }
-[ "${MVNW_VERBOSE-}" != true ] || verbose() { printf %s\\n "${1-}"; }
-
-die() {
- printf %s\\n "$1" >&2
- exit 1
-}
-
-trim() {
- # MWRAPPER-139:
- # Trims trailing and leading whitespace, carriage returns, tabs, and linefeeds.
- # Needed for removing poorly interpreted newline sequences when running in more
- # exotic environments such as mingw bash on Windows.
- printf "%s" "${1}" | tr -d '[:space:]'
-}
-
-scriptDir="$(dirname "$0")"
-scriptName="$(basename "$0")"
-
-# parse distributionUrl and optional distributionSha256Sum, requires .mvn/wrapper/maven-wrapper.properties
-while IFS="=" read -r key value; do
- case "${key-}" in
- distributionUrl) distributionUrl=$(trim "${value-}") ;;
- distributionSha256Sum) distributionSha256Sum=$(trim "${value-}") ;;
- esac
-done <"$scriptDir/.mvn/wrapper/maven-wrapper.properties"
-[ -n "${distributionUrl-}" ] || die "cannot read distributionUrl property in $scriptDir/.mvn/wrapper/maven-wrapper.properties"
-
-case "${distributionUrl##*/}" in
-maven-mvnd-*bin.*)
- MVN_CMD=mvnd.sh _MVNW_REPO_PATTERN=/maven/mvnd/
- case "${PROCESSOR_ARCHITECTURE-}${PROCESSOR_ARCHITEW6432-}:$(uname -a)" in
- *AMD64:CYGWIN* | *AMD64:MINGW*) distributionPlatform=windows-amd64 ;;
- :Darwin*x86_64) distributionPlatform=darwin-amd64 ;;
- :Darwin*arm64) distributionPlatform=darwin-aarch64 ;;
- :Linux*x86_64*) distributionPlatform=linux-amd64 ;;
- *)
- echo "Cannot detect native platform for mvnd on $(uname)-$(uname -m), use pure java version" >&2
- distributionPlatform=linux-amd64
- ;;
- esac
- distributionUrl="${distributionUrl%-bin.*}-$distributionPlatform.zip"
- ;;
-maven-mvnd-*) MVN_CMD=mvnd.sh _MVNW_REPO_PATTERN=/maven/mvnd/ ;;
-*) MVN_CMD="mvn${scriptName#mvnw}" _MVNW_REPO_PATTERN=/org/apache/maven/ ;;
-esac
-
-# apply MVNW_REPOURL and calculate MAVEN_HOME
-# maven home pattern: ~/.m2/wrapper/dists/{apache-maven-,maven-mvnd--}/
-[ -z "${MVNW_REPOURL-}" ] || distributionUrl="$MVNW_REPOURL$_MVNW_REPO_PATTERN${distributionUrl#*"$_MVNW_REPO_PATTERN"}"
-distributionUrlName="${distributionUrl##*/}"
-distributionUrlNameMain="${distributionUrlName%.*}"
-distributionUrlNameMain="${distributionUrlNameMain%-bin}"
-MAVEN_USER_HOME="${MAVEN_USER_HOME:-${HOME}/.m2}"
-MAVEN_HOME="${MAVEN_USER_HOME}/wrapper/dists/${distributionUrlNameMain-}/$(hash_string "$distributionUrl")"
-
-exec_maven() {
- unset MVNW_VERBOSE MVNW_USERNAME MVNW_PASSWORD MVNW_REPOURL || :
- exec "$MAVEN_HOME/bin/$MVN_CMD" "$@" || die "cannot exec $MAVEN_HOME/bin/$MVN_CMD"
-}
-
-if [ -d "$MAVEN_HOME" ]; then
- verbose "found existing MAVEN_HOME at $MAVEN_HOME"
- exec_maven "$@"
-fi
-
-case "${distributionUrl-}" in
-*?-bin.zip | *?maven-mvnd-?*-?*.zip) ;;
-*) die "distributionUrl is not valid, must match *-bin.zip or maven-mvnd-*.zip, but found '${distributionUrl-}'" ;;
-esac
-
-# prepare tmp dir
-if TMP_DOWNLOAD_DIR="$(mktemp -d)" && [ -d "$TMP_DOWNLOAD_DIR" ]; then
- clean() { rm -rf -- "$TMP_DOWNLOAD_DIR"; }
- trap clean HUP INT TERM EXIT
-else
- die "cannot create temp dir"
-fi
-
-mkdir -p -- "${MAVEN_HOME%/*}"
-
-# Download and Install Apache Maven
-verbose "Couldn't find MAVEN_HOME, downloading and installing it ..."
-verbose "Downloading from: $distributionUrl"
-verbose "Downloading to: $TMP_DOWNLOAD_DIR/$distributionUrlName"
-
-# select .zip or .tar.gz
-if ! command -v unzip >/dev/null; then
- distributionUrl="${distributionUrl%.zip}.tar.gz"
- distributionUrlName="${distributionUrl##*/}"
-fi
-
-# verbose opt
-__MVNW_QUIET_WGET=--quiet __MVNW_QUIET_CURL=--silent __MVNW_QUIET_UNZIP=-q __MVNW_QUIET_TAR=''
-[ "${MVNW_VERBOSE-}" != true ] || __MVNW_QUIET_WGET='' __MVNW_QUIET_CURL='' __MVNW_QUIET_UNZIP='' __MVNW_QUIET_TAR=v
-
-# normalize http auth
-case "${MVNW_PASSWORD:+has-password}" in
-'') MVNW_USERNAME='' MVNW_PASSWORD='' ;;
-has-password) [ -n "${MVNW_USERNAME-}" ] || MVNW_USERNAME='' MVNW_PASSWORD='' ;;
-esac
-
-if [ -z "${MVNW_USERNAME-}" ] && command -v wget >/dev/null; then
- verbose "Found wget ... using wget"
- wget ${__MVNW_QUIET_WGET:+"$__MVNW_QUIET_WGET"} "$distributionUrl" -O "$TMP_DOWNLOAD_DIR/$distributionUrlName" || die "wget: Failed to fetch $distributionUrl"
-elif [ -z "${MVNW_USERNAME-}" ] && command -v curl >/dev/null; then
- verbose "Found curl ... using curl"
- curl ${__MVNW_QUIET_CURL:+"$__MVNW_QUIET_CURL"} -f -L -o "$TMP_DOWNLOAD_DIR/$distributionUrlName" "$distributionUrl" || die "curl: Failed to fetch $distributionUrl"
-elif set_java_home; then
- verbose "Falling back to use Java to download"
- javaSource="$TMP_DOWNLOAD_DIR/Downloader.java"
- targetZip="$TMP_DOWNLOAD_DIR/$distributionUrlName"
- cat >"$javaSource" <<-END
- public class Downloader extends java.net.Authenticator
- {
- protected java.net.PasswordAuthentication getPasswordAuthentication()
- {
- return new java.net.PasswordAuthentication( System.getenv( "MVNW_USERNAME" ), System.getenv( "MVNW_PASSWORD" ).toCharArray() );
- }
- public static void main( String[] args ) throws Exception
- {
- setDefault( new Downloader() );
- java.nio.file.Files.copy( java.net.URI.create( args[0] ).toURL().openStream(), java.nio.file.Paths.get( args[1] ).toAbsolutePath().normalize() );
- }
- }
- END
- # For Cygwin/MinGW, switch paths to Windows format before running javac and java
- verbose " - Compiling Downloader.java ..."
- "$(native_path "$JAVACCMD")" "$(native_path "$javaSource")" || die "Failed to compile Downloader.java"
- verbose " - Running Downloader.java ..."
- "$(native_path "$JAVACMD")" -cp "$(native_path "$TMP_DOWNLOAD_DIR")" Downloader "$distributionUrl" "$(native_path "$targetZip")"
-fi
-
-# If specified, validate the SHA-256 sum of the Maven distribution zip file
-if [ -n "${distributionSha256Sum-}" ]; then
- distributionSha256Result=false
- if [ "$MVN_CMD" = mvnd.sh ]; then
- echo "Checksum validation is not supported for maven-mvnd." >&2
- echo "Please disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." >&2
- exit 1
- elif command -v sha256sum >/dev/null; then
- if echo "$distributionSha256Sum $TMP_DOWNLOAD_DIR/$distributionUrlName" | sha256sum -c - >/dev/null 2>&1; then
- distributionSha256Result=true
- fi
- elif command -v shasum >/dev/null; then
- if echo "$distributionSha256Sum $TMP_DOWNLOAD_DIR/$distributionUrlName" | shasum -a 256 -c >/dev/null 2>&1; then
- distributionSha256Result=true
- fi
- else
- echo "Checksum validation was requested but neither 'sha256sum' or 'shasum' are available." >&2
- echo "Please install either command, or disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." >&2
- exit 1
- fi
- if [ $distributionSha256Result = false ]; then
- echo "Error: Failed to validate Maven distribution SHA-256, your Maven distribution might be compromised." >&2
- echo "If you updated your Maven version, you need to update the specified distributionSha256Sum property." >&2
- exit 1
- fi
-fi
-
-# unzip and move
-if command -v unzip >/dev/null; then
- unzip ${__MVNW_QUIET_UNZIP:+"$__MVNW_QUIET_UNZIP"} "$TMP_DOWNLOAD_DIR/$distributionUrlName" -d "$TMP_DOWNLOAD_DIR" || die "failed to unzip"
-else
- tar xzf${__MVNW_QUIET_TAR:+"$__MVNW_QUIET_TAR"} "$TMP_DOWNLOAD_DIR/$distributionUrlName" -C "$TMP_DOWNLOAD_DIR" || die "failed to untar"
-fi
-
-# Find the actual extracted directory name (handles snapshots where filename != directory name)
-actualDistributionDir=""
-
-# First try the expected directory name (for regular distributions)
-if [ -d "$TMP_DOWNLOAD_DIR/$distributionUrlNameMain" ]; then
- if [ -f "$TMP_DOWNLOAD_DIR/$distributionUrlNameMain/bin/$MVN_CMD" ]; then
- actualDistributionDir="$distributionUrlNameMain"
- fi
-fi
-
-# If not found, search for any directory with the Maven executable (for snapshots)
-if [ -z "$actualDistributionDir" ]; then
- # enable globbing to iterate over items
- set +f
- for dir in "$TMP_DOWNLOAD_DIR"/*; do
- if [ -d "$dir" ]; then
- if [ -f "$dir/bin/$MVN_CMD" ]; then
- actualDistributionDir="$(basename "$dir")"
- break
- fi
- fi
- done
- set -f
-fi
-
-if [ -z "$actualDistributionDir" ]; then
- verbose "Contents of $TMP_DOWNLOAD_DIR:"
- verbose "$(ls -la "$TMP_DOWNLOAD_DIR")"
- die "Could not find Maven distribution directory in extracted archive"
-fi
-
-verbose "Found extracted Maven distribution directory: $actualDistributionDir"
-printf %s\\n "$distributionUrl" >"$TMP_DOWNLOAD_DIR/$actualDistributionDir/mvnw.url"
-mv -- "$TMP_DOWNLOAD_DIR/$actualDistributionDir" "$MAVEN_HOME" || [ -d "$MAVEN_HOME" ] || die "fail to move MAVEN_HOME"
-
-clean || :
-exec_maven "$@"
diff --git a/pmm/mvnw.cmd b/pmm/mvnw.cmd
deleted file mode 100644
index 92450f9..0000000
--- a/pmm/mvnw.cmd
+++ /dev/null
@@ -1,189 +0,0 @@
-<# : batch portion
-@REM ----------------------------------------------------------------------------
-@REM Licensed to the Apache Software Foundation (ASF) under one
-@REM or more contributor license agreements. See the NOTICE file
-@REM distributed with this work for additional information
-@REM regarding copyright ownership. The ASF licenses this file
-@REM to you under the Apache License, Version 2.0 (the
-@REM "License"); you may not use this file except in compliance
-@REM with the License. You may obtain a copy of the License at
-@REM
-@REM http://www.apache.org/licenses/LICENSE-2.0
-@REM
-@REM Unless required by applicable law or agreed to in writing,
-@REM software distributed under the License is distributed on an
-@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-@REM KIND, either express or implied. See the License for the
-@REM specific language governing permissions and limitations
-@REM under the License.
-@REM ----------------------------------------------------------------------------
-
-@REM ----------------------------------------------------------------------------
-@REM Apache Maven Wrapper startup batch script, version 3.3.4
-@REM
-@REM Optional ENV vars
-@REM MVNW_REPOURL - repo url base for downloading maven distribution
-@REM MVNW_USERNAME/MVNW_PASSWORD - user and password for downloading maven
-@REM MVNW_VERBOSE - true: enable verbose log; others: silence the output
-@REM ----------------------------------------------------------------------------
-
-@IF "%__MVNW_ARG0_NAME__%"=="" (SET __MVNW_ARG0_NAME__=%~nx0)
-@SET __MVNW_CMD__=
-@SET __MVNW_ERROR__=
-@SET __MVNW_PSMODULEP_SAVE=%PSModulePath%
-@SET PSModulePath=
-@FOR /F "usebackq tokens=1* delims==" %%A IN (`powershell -noprofile "& {$scriptDir='%~dp0'; $script='%__MVNW_ARG0_NAME__%'; icm -ScriptBlock ([Scriptblock]::Create((Get-Content -Raw '%~f0'))) -NoNewScope}"`) DO @(
- IF "%%A"=="MVN_CMD" (set __MVNW_CMD__=%%B) ELSE IF "%%B"=="" (echo %%A) ELSE (echo %%A=%%B)
-)
-@SET PSModulePath=%__MVNW_PSMODULEP_SAVE%
-@SET __MVNW_PSMODULEP_SAVE=
-@SET __MVNW_ARG0_NAME__=
-@SET MVNW_USERNAME=
-@SET MVNW_PASSWORD=
-@IF NOT "%__MVNW_CMD__%"=="" ("%__MVNW_CMD__%" %*)
-@echo Cannot start maven from wrapper >&2 && exit /b 1
-@GOTO :EOF
-: end batch / begin powershell #>
-
-$ErrorActionPreference = "Stop"
-if ($env:MVNW_VERBOSE -eq "true") {
- $VerbosePreference = "Continue"
-}
-
-# calculate distributionUrl, requires .mvn/wrapper/maven-wrapper.properties
-$distributionUrl = (Get-Content -Raw "$scriptDir/.mvn/wrapper/maven-wrapper.properties" | ConvertFrom-StringData).distributionUrl
-if (!$distributionUrl) {
- Write-Error "cannot read distributionUrl property in $scriptDir/.mvn/wrapper/maven-wrapper.properties"
-}
-
-switch -wildcard -casesensitive ( $($distributionUrl -replace '^.*/','') ) {
- "maven-mvnd-*" {
- $USE_MVND = $true
- $distributionUrl = $distributionUrl -replace '-bin\.[^.]*$',"-windows-amd64.zip"
- $MVN_CMD = "mvnd.cmd"
- break
- }
- default {
- $USE_MVND = $false
- $MVN_CMD = $script -replace '^mvnw','mvn'
- break
- }
-}
-
-# apply MVNW_REPOURL and calculate MAVEN_HOME
-# maven home pattern: ~/.m2/wrapper/dists/{apache-maven-,maven-mvnd--}/
-if ($env:MVNW_REPOURL) {
- $MVNW_REPO_PATTERN = if ($USE_MVND -eq $False) { "/org/apache/maven/" } else { "/maven/mvnd/" }
- $distributionUrl = "$env:MVNW_REPOURL$MVNW_REPO_PATTERN$($distributionUrl -replace "^.*$MVNW_REPO_PATTERN",'')"
-}
-$distributionUrlName = $distributionUrl -replace '^.*/',''
-$distributionUrlNameMain = $distributionUrlName -replace '\.[^.]*$','' -replace '-bin$',''
-
-$MAVEN_M2_PATH = "$HOME/.m2"
-if ($env:MAVEN_USER_HOME) {
- $MAVEN_M2_PATH = "$env:MAVEN_USER_HOME"
-}
-
-if (-not (Test-Path -Path $MAVEN_M2_PATH)) {
- New-Item -Path $MAVEN_M2_PATH -ItemType Directory | Out-Null
-}
-
-$MAVEN_WRAPPER_DISTS = $null
-if ((Get-Item $MAVEN_M2_PATH).Target[0] -eq $null) {
- $MAVEN_WRAPPER_DISTS = "$MAVEN_M2_PATH/wrapper/dists"
-} else {
- $MAVEN_WRAPPER_DISTS = (Get-Item $MAVEN_M2_PATH).Target[0] + "/wrapper/dists"
-}
-
-$MAVEN_HOME_PARENT = "$MAVEN_WRAPPER_DISTS/$distributionUrlNameMain"
-$MAVEN_HOME_NAME = ([System.Security.Cryptography.SHA256]::Create().ComputeHash([byte[]][char[]]$distributionUrl) | ForEach-Object {$_.ToString("x2")}) -join ''
-$MAVEN_HOME = "$MAVEN_HOME_PARENT/$MAVEN_HOME_NAME"
-
-if (Test-Path -Path "$MAVEN_HOME" -PathType Container) {
- Write-Verbose "found existing MAVEN_HOME at $MAVEN_HOME"
- Write-Output "MVN_CMD=$MAVEN_HOME/bin/$MVN_CMD"
- exit $?
-}
-
-if (! $distributionUrlNameMain -or ($distributionUrlName -eq $distributionUrlNameMain)) {
- Write-Error "distributionUrl is not valid, must end with *-bin.zip, but found $distributionUrl"
-}
-
-# prepare tmp dir
-$TMP_DOWNLOAD_DIR_HOLDER = New-TemporaryFile
-$TMP_DOWNLOAD_DIR = New-Item -Itemtype Directory -Path "$TMP_DOWNLOAD_DIR_HOLDER.dir"
-$TMP_DOWNLOAD_DIR_HOLDER.Delete() | Out-Null
-trap {
- if ($TMP_DOWNLOAD_DIR.Exists) {
- try { Remove-Item $TMP_DOWNLOAD_DIR -Recurse -Force | Out-Null }
- catch { Write-Warning "Cannot remove $TMP_DOWNLOAD_DIR" }
- }
-}
-
-New-Item -Itemtype Directory -Path "$MAVEN_HOME_PARENT" -Force | Out-Null
-
-# Download and Install Apache Maven
-Write-Verbose "Couldn't find MAVEN_HOME, downloading and installing it ..."
-Write-Verbose "Downloading from: $distributionUrl"
-Write-Verbose "Downloading to: $TMP_DOWNLOAD_DIR/$distributionUrlName"
-
-$webclient = New-Object System.Net.WebClient
-if ($env:MVNW_USERNAME -and $env:MVNW_PASSWORD) {
- $webclient.Credentials = New-Object System.Net.NetworkCredential($env:MVNW_USERNAME, $env:MVNW_PASSWORD)
-}
-[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
-$webclient.DownloadFile($distributionUrl, "$TMP_DOWNLOAD_DIR/$distributionUrlName") | Out-Null
-
-# If specified, validate the SHA-256 sum of the Maven distribution zip file
-$distributionSha256Sum = (Get-Content -Raw "$scriptDir/.mvn/wrapper/maven-wrapper.properties" | ConvertFrom-StringData).distributionSha256Sum
-if ($distributionSha256Sum) {
- if ($USE_MVND) {
- Write-Error "Checksum validation is not supported for maven-mvnd. `nPlease disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties."
- }
- Import-Module $PSHOME\Modules\Microsoft.PowerShell.Utility -Function Get-FileHash
- if ((Get-FileHash "$TMP_DOWNLOAD_DIR/$distributionUrlName" -Algorithm SHA256).Hash.ToLower() -ne $distributionSha256Sum) {
- Write-Error "Error: Failed to validate Maven distribution SHA-256, your Maven distribution might be compromised. If you updated your Maven version, you need to update the specified distributionSha256Sum property."
- }
-}
-
-# unzip and move
-Expand-Archive "$TMP_DOWNLOAD_DIR/$distributionUrlName" -DestinationPath "$TMP_DOWNLOAD_DIR" | Out-Null
-
-# Find the actual extracted directory name (handles snapshots where filename != directory name)
-$actualDistributionDir = ""
-
-# First try the expected directory name (for regular distributions)
-$expectedPath = Join-Path "$TMP_DOWNLOAD_DIR" "$distributionUrlNameMain"
-$expectedMvnPath = Join-Path "$expectedPath" "bin/$MVN_CMD"
-if ((Test-Path -Path $expectedPath -PathType Container) -and (Test-Path -Path $expectedMvnPath -PathType Leaf)) {
- $actualDistributionDir = $distributionUrlNameMain
-}
-
-# If not found, search for any directory with the Maven executable (for snapshots)
-if (!$actualDistributionDir) {
- Get-ChildItem -Path "$TMP_DOWNLOAD_DIR" -Directory | ForEach-Object {
- $testPath = Join-Path $_.FullName "bin/$MVN_CMD"
- if (Test-Path -Path $testPath -PathType Leaf) {
- $actualDistributionDir = $_.Name
- }
- }
-}
-
-if (!$actualDistributionDir) {
- Write-Error "Could not find Maven distribution directory in extracted archive"
-}
-
-Write-Verbose "Found extracted Maven distribution directory: $actualDistributionDir"
-Rename-Item -Path "$TMP_DOWNLOAD_DIR/$actualDistributionDir" -NewName $MAVEN_HOME_NAME | Out-Null
-try {
- Move-Item -Path "$TMP_DOWNLOAD_DIR/$MAVEN_HOME_NAME" -Destination $MAVEN_HOME_PARENT | Out-Null
-} catch {
- if (! (Test-Path -Path "$MAVEN_HOME" -PathType Container)) {
- Write-Error "fail to move MAVEN_HOME"
- }
-} finally {
- try { Remove-Item $TMP_DOWNLOAD_DIR -Recurse -Force | Out-Null }
- catch { Write-Warning "Cannot remove $TMP_DOWNLOAD_DIR" }
-}
-
-Write-Output "MVN_CMD=$MAVEN_HOME/bin/$MVN_CMD"
diff --git a/pmm/pom.xml b/pmm/pom.xml
deleted file mode 100644
index 13c7292..0000000
--- a/pmm/pom.xml
+++ /dev/null
@@ -1,93 +0,0 @@
-
-
- 4.0.0
-
- org.springframework.boot
- spring-boot-starter-parent
- 3.5.8
-
-
- com.system
- pmm
- 0.0.1-SNAPSHOT
- pmm
- pmm
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 17
-
-
-
- org.springframework.boot
- spring-boot-starter
-
-
-
- org.springframework.boot
- spring-boot-starter-test
- test
-
-
-
- com.mysql
- mysql-connector-j
- runtime
-
-
- org.projectlombok
- lombok
- true
-
-
-
- com.baomidou
- mybatis-plus-boot-starter
- 3.5.3
-
-
- com.fasterxml.jackson.datatype
- jackson-datatype-jsr310
- 2.15.2
-
-
-
- org.springframework.boot
- spring-boot-starter-web
-
-
-
- org.mybatis.spring.boot
- mybatis-spring-boot-starter
- 3.0.5
-
-
-
- org.springframework.boot
- spring-boot-starter
- 3.5.8
-
-
-
-
-
-
- org.springframework.boot
- spring-boot-maven-plugin
-
-
-
-
-
diff --git a/pmm/src/main/java/com/system/pmm/PmmApplication.java b/pmm/src/main/java/com/system/pmm/PmmApplication.java
deleted file mode 100644
index 13eb4f1..0000000
--- a/pmm/src/main/java/com/system/pmm/PmmApplication.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.system.pmm;
-
-import org.mybatis.spring.annotation.MapperScan;
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.autoconfigure.sql.init.SqlInitializationAutoConfiguration;
-
-@SpringBootApplication(exclude = {SqlInitializationAutoConfiguration.class})
-@MapperScan(basePackages = "com.system.pmm.mapper", sqlSessionTemplateRef = "pmmSqlSessionTemplate")
-public class PmmApplication {
-
- public static void main(String[] args) {
- System.setProperty("spring.sql.init.mode", "never");
- SpringApplication.run(PmmApplication.class, args);
- }
-
-}
\ No newline at end of file
diff --git a/pmm/src/main/java/com/system/pmm/config/MyBatisConfig.java b/pmm/src/main/java/com/system/pmm/config/MyBatisConfig.java
deleted file mode 100644
index a558ea0..0000000
--- a/pmm/src/main/java/com/system/pmm/config/MyBatisConfig.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package com.system.pmm.config;
-
-import org.apache.ibatis.session.SqlSessionFactory;
-import org.mybatis.spring.SqlSessionFactoryBean;
-import org.mybatis.spring.SqlSessionTemplate;
-import org.mybatis.spring.annotation.MapperScan;
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
-import org.springframework.jdbc.datasource.DataSourceTransactionManager;
-
-import javax.sql.DataSource;
-
-@Configuration
-@MapperScan(basePackages = "com.system.pmm.mapper", sqlSessionFactoryRef = "pmmSqlSessionFactory")
-public class MyBatisConfig {
-
- @Bean("pmmSqlSessionFactory")
- public SqlSessionFactory pmmSqlSessionFactory(DataSource dataSource) throws Exception {
- SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
- bean.setDataSource(dataSource);
- bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mapper/*.xml"));
- return bean.getObject();
- }
-
- @Bean("pmmTransactionManager")
- public DataSourceTransactionManager pmmTransactionManager(DataSource dataSource) {
- return new DataSourceTransactionManager(dataSource);
- }
-
- @Bean("pmmSqlSessionTemplate")
- public SqlSessionTemplate pmmSqlSessionTemplate(
- @Qualifier("pmmSqlSessionFactory") SqlSessionFactory sqlSessionFactory) {
- return new SqlSessionTemplate(sqlSessionFactory);
- }
-}
\ No newline at end of file
diff --git a/pmm/src/main/java/com/system/pmm/controller/EmailUsersController.java b/pmm/src/main/java/com/system/pmm/controller/EmailUsersController.java
deleted file mode 100644
index 69b28e7..0000000
--- a/pmm/src/main/java/com/system/pmm/controller/EmailUsersController.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package com.system.pmm.controller;
-
-import com.system.pmm.domain.Result;
-import com.system.pmm.domain.dto.EmailUsersDTO;
-import com.system.pmm.service.EmailUsersService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import java.util.List;
-
-@RestController
-@RequestMapping("/toEmail")
-public class EmailUsersController {
-
- @Autowired
- private EmailUsersService emailUsersService;
- @PostMapping("/get")
- public Result get(@RequestBody EmailUsersDTO dto) {
- List list = emailUsersService.getEmailUsers(dto.getStartTime(), dto.getCrossDaySeconds());
-
- return Result.ok("成功", list);
- }
-
-}
diff --git a/pmm/src/main/java/com/system/pmm/domain/Result.java b/pmm/src/main/java/com/system/pmm/domain/Result.java
deleted file mode 100644
index aaa99be..0000000
--- a/pmm/src/main/java/com/system/pmm/domain/Result.java
+++ /dev/null
@@ -1,108 +0,0 @@
-package com.system.pmm.domain;
-
-// 请求是成功还是失败:ok error
-// 后台希望前台弹出消息:msg
-// 后台返回前台数据:Data
-// JSON格式的通用响应对象,封装的就是后台返回给前台的所有信息
-public class Result {
- public static final int ERROR = 1;
- public static final int OK = 200;
-
- // 当前状态(程序员判断状态):成功、失败、未登录、没有权限
- private Integer code;
- // 描述信息(主要是给用户看的提示信息)
- private String msg;
- // 后台返回给前端的数据 Object, User、List、Map
- private Object data;
- // 新增:前端用于直接判断成功/失败的字段
- private boolean success;
-
- public Result() {
- }
-
- public Result(Integer code) {
- this.code = code;
- this.success = code == OK; // 根据状态码自动设置success
- }
-
- public Result(Integer code, String msg) {
- this.code = code;
- this.msg = msg;
- this.success = code == OK;
- }
-
- public Result(Integer code, Object data) {
- this.code = code;
- this.data = data;
- this.success = code == OK;
- }
-
- public Result(Integer code, String msg, Object data) {
- this.code = code;
- this.msg = msg;
- this.data = data;
- this.success = code == OK;
- }
-
- // 告诉前台成功:code
- public static Result ok() {
- return new Result(OK);
- }
-
- // 告诉前台成功:code、msg
- public static Result ok(String msg) {
- return new Result(OK, msg);
- }
-
- // 告诉前台成功:code、data
- public static Result ok(Object data) {
- return new Result(OK, data);
- }
-
- // 告诉前台成功:code、msg、data
- public static Result ok(String msg, Object data) {
- return new Result(OK, msg, data);
- }
-
-
- // 告诉前台失败:code
- public static Result error() {
- return new Result(ERROR);
- }
-
- // 告诉前台失败:code、msg
- public static Result error(String msg) {
- return new Result(ERROR, msg);
- }
-
- // Getter和Setter方法
- public Integer getCode() {
- return code;
- }
-
- public void setCode(Integer code) {
- this.code = code;
- this.success = code == OK; // 同步更新success状态
- }
-
- public String getMsg() {
- return msg;
- }
-
- public void setMsg(String msg) {
- this.msg = msg;
- }
-
- public Object getData() {
- return data;
- }
-
- public void setData(Object data) {
- this.data = data;
- }
-
- // 添加success字段的Getter(不需要Setter,通过code自动维护)
- public boolean isSuccess() {
- return success;
- }
-}
diff --git a/pmm/src/main/java/com/system/pmm/domain/dto/EmailUsersDTO.java b/pmm/src/main/java/com/system/pmm/domain/dto/EmailUsersDTO.java
deleted file mode 100644
index e4b3259..0000000
--- a/pmm/src/main/java/com/system/pmm/domain/dto/EmailUsersDTO.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.system.pmm.domain.dto;
-
-import com.fasterxml.jackson.annotation.JsonFormat;
-import lombok.AllArgsConstructor;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-
-import java.time.LocalDateTime;
-
-@Data
-@AllArgsConstructor
-@NoArgsConstructor
-public class EmailUsersDTO {
-
- @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
- private LocalDateTime startTime;
- private Integer crossDaySeconds;
-}
diff --git a/pmm/src/main/java/com/system/pmm/mapper/EmailUsersMapper.java b/pmm/src/main/java/com/system/pmm/mapper/EmailUsersMapper.java
deleted file mode 100644
index b2e5172..0000000
--- a/pmm/src/main/java/com/system/pmm/mapper/EmailUsersMapper.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.system.pmm.mapper;
-
-import com.system.pmm.domain.dto.EmailUsersDTO;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-
-import java.time.LocalDateTime;
-import java.util.List;
-
-@Mapper
-public interface EmailUsersMapper {
- List getEmailUsers(@Param("startTime") LocalDateTime startTime, @Param("crossDaySeconds") Integer crossDaySeconds);
-}
diff --git a/pmm/src/main/java/com/system/pmm/service/EmailUsersService.java b/pmm/src/main/java/com/system/pmm/service/EmailUsersService.java
deleted file mode 100644
index e58df00..0000000
--- a/pmm/src/main/java/com/system/pmm/service/EmailUsersService.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package com.system.pmm.service;
-
-import com.system.pmm.domain.dto.EmailUsersDTO;
-
-import java.time.LocalDateTime;
-import java.util.List;
-
-public interface EmailUsersService {
- List getEmailUsers(LocalDateTime startTime, Integer crossDaySeconds);
-}
diff --git a/pmm/src/main/java/com/system/pmm/serviceImpl/EmailUsersServiceImpl.java b/pmm/src/main/java/com/system/pmm/serviceImpl/EmailUsersServiceImpl.java
deleted file mode 100644
index 8f85b33..0000000
--- a/pmm/src/main/java/com/system/pmm/serviceImpl/EmailUsersServiceImpl.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package com.system.pmm.serviceImpl;
-
-import com.system.pmm.domain.dto.EmailUsersDTO;
-import com.system.pmm.mapper.EmailUsersMapper;
-import com.system.pmm.service.EmailUsersService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import java.time.LocalDateTime;
-import java.util.List;
-
-@Service
-public class EmailUsersServiceImpl implements EmailUsersService {
-
- @Autowired
- private EmailUsersMapper emailUsersMapper;
- @Override
- public List getEmailUsers(LocalDateTime startTime, Integer crossDaySeconds) {
- return emailUsersMapper.getEmailUsers(startTime, crossDaySeconds);
-
- }
-}
diff --git a/pmm/src/main/resources/application.yml b/pmm/src/main/resources/application.yml
deleted file mode 100644
index bc31d65..0000000
--- a/pmm/src/main/resources/application.yml
+++ /dev/null
@@ -1,18 +0,0 @@
-spring:
- datasource:
- url: jdbc:mysql://39.99.234.212:33061/hljw?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&connectTimeout=3000&socketTimeout=60000&autoReconnect=true&failOverReadOnly=false
- username: 3ddba0a6-b892-4c89-9745-232e3f5d27db
- password: 0q9DU7I0vXW1LR4i
- driver-class-name: com.mysql.cj.jdbc.Driver
- hikari:
- pool-name: hljwHikariCP
- maximum-pool-size: 50
-
-mybatis:
- mapper-locations: classpath:mapper/*xml
- type-aliases-package: com.system.pmm.domain
- configuration:
- map-underscore-to-camel-case: true
-
-server:
- port: 8080
\ No newline at end of file
diff --git a/pmm/src/main/resources/mapper/EmailUsersMapper.xml b/pmm/src/main/resources/mapper/EmailUsersMapper.xml
deleted file mode 100644
index 34bf993..0000000
--- a/pmm/src/main/resources/mapper/EmailUsersMapper.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/pmm/src/test/java/com/system/pmm/PmmApplicationTests.java b/pmm/src/test/java/com/system/pmm/PmmApplicationTests.java
deleted file mode 100644
index dc5b40d..0000000
--- a/pmm/src/test/java/com/system/pmm/PmmApplicationTests.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.system.pmm;
-
-import org.junit.jupiter.api.Test;
-import org.springframework.boot.test.context.SpringBootTest;
-
-@SpringBootTest
-class PmmApplicationTests {
-
- @Test
- void contextLoads() {
- }
-
-}
diff --git a/pmpm/.gitignore b/pmpm/.gitignore
deleted file mode 100644
index 480bdf5..0000000
--- a/pmpm/.gitignore
+++ /dev/null
@@ -1,39 +0,0 @@
-target/
-!.mvn/wrapper/maven-wrapper.jar
-!**/src/main/**/target/
-!**/src/test/**/target/
-.kotlin
-
-### IntelliJ IDEA ###
-.idea/modules.xml
-.idea/jarRepositories.xml
-.idea/compiler.xml
-.idea/libraries/
-*.iws
-*.iml
-*.ipr
-
-### Eclipse ###
-.apt_generated
-.classpath
-.factorypath
-.project
-.settings
-.springBeans
-.sts4-cache
-
-### NetBeans ###
-/nbproject/private/
-/nbbuild/
-/dist/
-/nbdist/
-/.nb-gradle/
-build/
-!**/src/main/**/build/
-!**/src/test/**/build/
-
-### VS Code ###
-.vscode/
-
-### Mac OS ###
-.DS_Store
\ No newline at end of file
diff --git a/pmpm/.idea/encodings.xml b/pmpm/.idea/encodings.xml
deleted file mode 100644
index aa00ffa..0000000
--- a/pmpm/.idea/encodings.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/pmpm/.idea/misc.xml b/pmpm/.idea/misc.xml
deleted file mode 100644
index 82dbec8..0000000
--- a/pmpm/.idea/misc.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/pmpm/.idea/vcs.xml b/pmpm/.idea/vcs.xml
deleted file mode 100644
index 6c0b863..0000000
--- a/pmpm/.idea/vcs.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/pmpm/pom.xml b/pmpm/pom.xml
deleted file mode 100644
index c252937..0000000
--- a/pmpm/pom.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
- 4.0.0
-
- com.system
- pmpm
- 1.0-SNAPSHOT
-
-
- 17
- 17
- UTF-8
-
-
-
\ No newline at end of file
diff --git a/pmpm/src/main/java/com/system/Main.java b/pmpm/src/main/java/com/system/Main.java
deleted file mode 100644
index 708f95c..0000000
--- a/pmpm/src/main/java/com/system/Main.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.system;
-
-//TIP 要运行代码,请按 或
-// 点击装订区域中的 图标。
-public class Main {
- public static void main(String[] args) {
- //TIP 当文本光标位于高亮显示的文本处时按
- // 查看 IntelliJ IDEA 建议如何修正。
- System.out.printf("Hello and welcome!");
-
- for (int i = 1; i <= 5; i++) {
- //TIP 按 开始调试代码。我们已经设置了一个 断点
- // 但您始终可以通过按 添加更多断点。
- System.out.println("i = " + i);
- }
- }
-}
\ No newline at end of file
diff --git a/pmpm/src/main/java/com/system/test.java b/pmpm/src/main/java/com/system/test.java
deleted file mode 100644
index f8c07c5..0000000
--- a/pmpm/src/main/java/com/system/test.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package com.system;
-
-public class test {
-}
diff --git a/pmpm/src/main/resources/application.yml b/pmpm/src/main/resources/application.yml
deleted file mode 100644
index 5d2e9e9..0000000
--- a/pmpm/src/main/resources/application.yml
+++ /dev/null
@@ -1,3 +0,0 @@
-Spring:
- Application:
- Name: "spring-boot-demo"
\ No newline at end of file
diff --git a/pms b/pms
deleted file mode 160000
index 345acc0..0000000
--- a/pms
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 345acc020b24e1a14966174066c27e9f54707431