diff --git a/xhpc-modules/pom.xml b/xhpc-modules/pom.xml index 79b11525..70ae1acf 100644 --- a/xhpc-modules/pom.xml +++ b/xhpc-modules/pom.xml @@ -15,6 +15,7 @@ xhpc-charging-station xhpc-user xhpc-payment + xhpc-order xhpc-modules diff --git a/xhpc-modules/xhpc-order/.gitignore b/xhpc-modules/xhpc-order/.gitignore new file mode 100644 index 00000000..549e00a2 --- /dev/null +++ b/xhpc-modules/xhpc-order/.gitignore @@ -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/ diff --git a/xhpc-modules/xhpc-order/.mvn/wrapper/MavenWrapperDownloader.java b/xhpc-modules/xhpc-order/.mvn/wrapper/MavenWrapperDownloader.java new file mode 100644 index 00000000..a45eb6ba --- /dev/null +++ b/xhpc-modules/xhpc-order/.mvn/wrapper/MavenWrapperDownloader.java @@ -0,0 +1,118 @@ +/* + * Copyright 2007-present 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. + */ + +import java.net.*; +import java.io.*; +import java.nio.channels.*; +import java.util.Properties; + +public class MavenWrapperDownloader { + + private static final String WRAPPER_VERSION = "0.5.6"; + /** + * Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided. + */ + private static final String DEFAULT_DOWNLOAD_URL = "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/" + + WRAPPER_VERSION + "/maven-wrapper-" + WRAPPER_VERSION + ".jar"; + + /** + * Path to the maven-wrapper.properties file, which might contain a downloadUrl property to + * use instead of the default one. + */ + private static final String MAVEN_WRAPPER_PROPERTIES_PATH = + ".mvn/wrapper/maven-wrapper.properties"; + + /** + * Path where the maven-wrapper.jar will be saved to. + */ + private static final String MAVEN_WRAPPER_JAR_PATH = + ".mvn/wrapper/maven-wrapper.jar"; + + /** + * Name of the property which should be used to override the default download url for the wrapper. + */ + private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl"; + + public static void main(String args[]) { + System.out.println("- Downloader started"); + File baseDirectory = new File(args[0]); + System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath()); + + // If the maven-wrapper.properties exists, read it and check if it contains a custom + // wrapperUrl parameter. + File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH); + String url = DEFAULT_DOWNLOAD_URL; + if (mavenWrapperPropertyFile.exists()) { + FileInputStream mavenWrapperPropertyFileInputStream = null; + try { + mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile); + Properties mavenWrapperProperties = new Properties(); + mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream); + url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url); + } catch (IOException e) { + System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'"); + } finally { + try { + if (mavenWrapperPropertyFileInputStream != null) { + mavenWrapperPropertyFileInputStream.close(); + } + } catch (IOException e) { + // Ignore ... + } + } + } + System.out.println("- Downloading from: " + url); + + File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH); + if (!outputFile.getParentFile().exists()) { + if (!outputFile.getParentFile().mkdirs()) { + System.out.println( + "- ERROR creating output directory '" + outputFile.getParentFile().getAbsolutePath() + "'"); + } + } + System.out.println("- Downloading to: " + outputFile.getAbsolutePath()); + try { + downloadFileFromURL(url, outputFile); + System.out.println("Done"); + System.exit(0); + } catch (Throwable e) { + System.out.println("- Error downloading"); + e.printStackTrace(); + System.exit(1); + } + } + + private static void downloadFileFromURL(String urlString, File destination) throws Exception { + if (System.getenv("MVNW_USERNAME") != null && System.getenv("MVNW_PASSWORD") != null) { + String username = System.getenv("MVNW_USERNAME"); + char[] password = System.getenv("MVNW_PASSWORD").toCharArray(); + Authenticator.setDefault(new Authenticator() { + @Override + protected PasswordAuthentication getPasswordAuthentication() { + return new PasswordAuthentication(username, password); + } + }); + } + URL website = new URL(urlString); + ReadableByteChannel rbc; + rbc = Channels.newChannel(website.openStream()); + FileOutputStream fos = new FileOutputStream(destination); + fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE); + fos.close(); + rbc.close(); + } + +} diff --git a/xhpc-modules/xhpc-order/.mvn/wrapper/maven-wrapper.jar b/xhpc-modules/xhpc-order/.mvn/wrapper/maven-wrapper.jar new file mode 100644 index 00000000..2cc7d4a5 Binary files /dev/null and b/xhpc-modules/xhpc-order/.mvn/wrapper/maven-wrapper.jar differ diff --git a/xhpc-modules/xhpc-order/.mvn/wrapper/maven-wrapper.properties b/xhpc-modules/xhpc-order/.mvn/wrapper/maven-wrapper.properties new file mode 100644 index 00000000..ffdc10e5 --- /dev/null +++ b/xhpc-modules/xhpc-order/.mvn/wrapper/maven-wrapper.properties @@ -0,0 +1,2 @@ +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.1/apache-maven-3.8.1-bin.zip +wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar diff --git a/xhpc-modules/xhpc-order/mvnw b/xhpc-modules/xhpc-order/mvnw new file mode 100644 index 00000000..a16b5431 --- /dev/null +++ b/xhpc-modules/xhpc-order/mvnw @@ -0,0 +1,310 @@ +#!/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 +# +# 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. +# ---------------------------------------------------------------------------- + +# ---------------------------------------------------------------------------- +# Maven Start Up Batch script +# +# Required ENV vars: +# ------------------ +# JAVA_HOME - location of a JDK home dir +# +# Optional ENV vars +# ----------------- +# M2_HOME - location of maven2's installed home dir +# MAVEN_OPTS - parameters passed to the Java VM when running Maven +# e.g. to debug Maven itself, use +# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +# MAVEN_SKIP_RC - flag to disable loading of mavenrc files +# ---------------------------------------------------------------------------- + +if [ -z "$MAVEN_SKIP_RC" ] ; then + + if [ -f /etc/mavenrc ] ; then + . /etc/mavenrc + fi + + if [ -f "$HOME/.mavenrc" ] ; then + . "$HOME/.mavenrc" + fi + +fi + +# OS specific support. $var _must_ be set to either true or false. +cygwin=false; +darwin=false; +mingw=false +case "`uname`" in + CYGWIN*) cygwin=true ;; + MINGW*) mingw=true;; + Darwin*) darwin=true + # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home + # See https://developer.apple.com/library/mac/qa/qa1170/_index.html + if [ -z "$JAVA_HOME" ]; then + if [ -x "/usr/libexec/java_home" ]; then + export JAVA_HOME="`/usr/libexec/java_home`" + else + export JAVA_HOME="/Library/Java/Home" + fi + fi + ;; +esac + +if [ -z "$JAVA_HOME" ] ; then + if [ -r /etc/gentoo-release ] ; then + JAVA_HOME=`java-config --jre-home` + fi +fi + +if [ -z "$M2_HOME" ] ; then + ## resolve links - $0 may be a link to maven's home + PRG="$0" + + # need this for relative symlinks + while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG="`dirname "$PRG"`/$link" + fi + done + + saveddir=`pwd` + + M2_HOME=`dirname "$PRG"`/.. + + # make it fully qualified + M2_HOME=`cd "$M2_HOME" && pwd` + + cd "$saveddir" + # echo Using m2 at $M2_HOME +fi + +# For Cygwin, ensure paths are in UNIX format before anything is touched +if $cygwin ; then + [ -n "$M2_HOME" ] && + M2_HOME=`cygpath --unix "$M2_HOME"` + [ -n "$JAVA_HOME" ] && + JAVA_HOME=`cygpath --unix "$JAVA_HOME"` + [ -n "$CLASSPATH" ] && + CLASSPATH=`cygpath --path --unix "$CLASSPATH"` +fi + +# For Mingw, ensure paths are in UNIX format before anything is touched +if $mingw ; then + [ -n "$M2_HOME" ] && + M2_HOME="`(cd "$M2_HOME"; pwd)`" + [ -n "$JAVA_HOME" ] && + JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" +fi + +if [ -z "$JAVA_HOME" ]; then + javaExecutable="`which javac`" + if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then + # readlink(1) is not available as standard on Solaris 10. + readLink=`which readlink` + if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then + if $darwin ; then + javaHome="`dirname \"$javaExecutable\"`" + javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" + else + javaExecutable="`readlink -f \"$javaExecutable\"`" + fi + javaHome="`dirname \"$javaExecutable\"`" + javaHome=`expr "$javaHome" : '\(.*\)/bin'` + JAVA_HOME="$javaHome" + export JAVA_HOME + fi + fi +fi + +if [ -z "$JAVACMD" ] ; then + 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" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + else + JAVACMD="`which java`" + fi +fi + +if [ ! -x "$JAVACMD" ] ; then + echo "Error: JAVA_HOME is not defined correctly." >&2 + echo " We cannot execute $JAVACMD" >&2 + exit 1 +fi + +if [ -z "$JAVA_HOME" ] ; then + echo "Warning: JAVA_HOME environment variable is not set." +fi + +CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher + +# traverses directory structure from process work directory to filesystem root +# first directory with .mvn subdirectory is considered project base directory +find_maven_basedir() { + + if [ -z "$1" ] + then + echo "Path not specified to find_maven_basedir" + return 1 + fi + + basedir="$1" + wdir="$1" + while [ "$wdir" != '/' ] ; do + if [ -d "$wdir"/.mvn ] ; then + basedir=$wdir + break + fi + # workaround for JBEAP-8937 (on Solaris 10/Sparc) + if [ -d "${wdir}" ]; then + wdir=`cd "$wdir/.."; pwd` + fi + # end of workaround + done + echo "${basedir}" +} + +# concatenates all lines of a file +concat_lines() { + if [ -f "$1" ]; then + echo "$(tr -s '\n' ' ' < "$1")" + fi +} + +BASE_DIR=`find_maven_basedir "$(pwd)"` +if [ -z "$BASE_DIR" ]; then + exit 1; +fi + +########################################################################################## +# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +# This allows using the maven wrapper in projects that prohibit checking in binary data. +########################################################################################## +if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found .mvn/wrapper/maven-wrapper.jar" + fi +else + if [ "$MVNW_VERBOSE" = true ]; then + echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..." + fi + if [ -n "$MVNW_REPOURL" ]; then + jarUrl="$MVNW_REPOURL/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" + else + jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" + fi + while IFS="=" read key value; do + case "$key" in (wrapperUrl) jarUrl="$value"; break ;; + esac + done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties" + if [ "$MVNW_VERBOSE" = true ]; then + echo "Downloading from: $jarUrl" + fi + wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" + if $cygwin; then + wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"` + fi + + if command -v wget > /dev/null; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found wget ... using wget" + fi + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + wget "$jarUrl" -O "$wrapperJarPath" + else + wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath" + fi + elif command -v curl > /dev/null; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found curl ... using curl" + fi + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + curl -o "$wrapperJarPath" "$jarUrl" -f + else + curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f + fi + + else + if [ "$MVNW_VERBOSE" = true ]; then + echo "Falling back to using Java to download" + fi + javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java" + # For Cygwin, switch paths to Windows format before running javac + if $cygwin; then + javaClass=`cygpath --path --windows "$javaClass"` + fi + if [ -e "$javaClass" ]; then + if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then + if [ "$MVNW_VERBOSE" = true ]; then + echo " - Compiling MavenWrapperDownloader.java ..." + fi + # Compiling the Java class + ("$JAVA_HOME/bin/javac" "$javaClass") + fi + if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then + # Running the downloader + if [ "$MVNW_VERBOSE" = true ]; then + echo " - Running MavenWrapperDownloader.java ..." + fi + ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR") + fi + fi + fi +fi +########################################################################################## +# End of extension +########################################################################################## + +export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} +if [ "$MVNW_VERBOSE" = true ]; then + echo $MAVEN_PROJECTBASEDIR +fi +MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" + +# For Cygwin, switch paths to Windows format before running java +if $cygwin; then + [ -n "$M2_HOME" ] && + M2_HOME=`cygpath --path --windows "$M2_HOME"` + [ -n "$JAVA_HOME" ] && + JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` + [ -n "$CLASSPATH" ] && + CLASSPATH=`cygpath --path --windows "$CLASSPATH"` + [ -n "$MAVEN_PROJECTBASEDIR" ] && + MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` +fi + +# Provide a "standardized" way to retrieve the CLI args that will +# work with both Windows and non-Windows executions. +MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@" +export MAVEN_CMD_LINE_ARGS + +WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +exec "$JAVACMD" \ + $MAVEN_OPTS \ + -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ + "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ + ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" diff --git a/xhpc-modules/xhpc-order/mvnw.cmd b/xhpc-modules/xhpc-order/mvnw.cmd new file mode 100644 index 00000000..c8d43372 --- /dev/null +++ b/xhpc-modules/xhpc-order/mvnw.cmd @@ -0,0 +1,182 @@ +@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 https://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 Maven Start Up Batch script +@REM +@REM Required ENV vars: +@REM JAVA_HOME - location of a JDK home dir +@REM +@REM Optional ENV vars +@REM M2_HOME - location of maven2's installed home dir +@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands +@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending +@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven +@REM e.g. to debug Maven itself, use +@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files +@REM ---------------------------------------------------------------------------- + +@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' +@echo off +@REM set title of command window +title %0 +@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' +@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% + +@REM set %HOME% to equivalent of $HOME +if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") + +@REM Execute a user defined script before this one +if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre +@REM check for pre script, once with legacy .bat ending and once with .cmd ending +if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" +if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" +:skipRcPre + +@setlocal + +set ERROR_CODE=0 + +@REM To isolate internal variables from possible post scripts, we use another setlocal +@setlocal + +@REM ==== START VALIDATION ==== +if not "%JAVA_HOME%" == "" goto OkJHome + +echo. +echo Error: JAVA_HOME not found in your environment. >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +:OkJHome +if exist "%JAVA_HOME%\bin\java.exe" goto init + +echo. +echo Error: JAVA_HOME is set to an invalid directory. >&2 +echo JAVA_HOME = "%JAVA_HOME%" >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +@REM ==== END VALIDATION ==== + +:init + +@REM Find the project base dir, i.e. the directory that contains the folder ".mvn". +@REM Fallback to current working directory if not found. + +set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% +IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir + +set EXEC_DIR=%CD% +set WDIR=%EXEC_DIR% +:findBaseDir +IF EXIST "%WDIR%"\.mvn goto baseDirFound +cd .. +IF "%WDIR%"=="%CD%" goto baseDirNotFound +set WDIR=%CD% +goto findBaseDir + +:baseDirFound +set MAVEN_PROJECTBASEDIR=%WDIR% +cd "%EXEC_DIR%" +goto endDetectBaseDir + +:baseDirNotFound +set MAVEN_PROJECTBASEDIR=%EXEC_DIR% +cd "%EXEC_DIR%" + +:endDetectBaseDir + +IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig + +@setlocal EnableExtensions EnableDelayedExpansion +for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a +@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% + +:endReadAdditionalConfig + +SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" +set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" +set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" + +FOR /F "tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( + IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B +) + +@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +@REM This allows using the maven wrapper in projects that prohibit checking in binary data. +if exist %WRAPPER_JAR% ( + if "%MVNW_VERBOSE%" == "true" ( + echo Found %WRAPPER_JAR% + ) +) else ( + if not "%MVNW_REPOURL%" == "" ( + SET DOWNLOAD_URL="%MVNW_REPOURL%/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" + ) + if "%MVNW_VERBOSE%" == "true" ( + echo Couldn't find %WRAPPER_JAR%, downloading it ... + echo Downloading from: %DOWNLOAD_URL% + ) + + powershell -Command "&{"^ + "$webclient = new-object System.Net.WebClient;"^ + "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ + "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ + "}"^ + "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^ + "}" + if "%MVNW_VERBOSE%" == "true" ( + echo Finished downloading %WRAPPER_JAR% + ) +) +@REM End of extension + +@REM Provide a "standardized" way to retrieve the CLI args that will +@REM work with both Windows and non-Windows executions. +set MAVEN_CMD_LINE_ARGS=%* + +%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* +if ERRORLEVEL 1 goto error +goto end + +:error +set ERROR_CODE=1 + +:end +@endlocal & set ERROR_CODE=%ERROR_CODE% + +if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost +@REM check for post script, once with legacy .bat ending and once with .cmd ending +if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" +if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" +:skipRcPost + +@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' +if "%MAVEN_BATCH_PAUSE%" == "on" pause + +if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% + +exit /B %ERROR_CODE% diff --git a/xhpc-modules/xhpc-order/pom.xml b/xhpc-modules/xhpc-order/pom.xml new file mode 100644 index 00000000..b3783c6d --- /dev/null +++ b/xhpc-modules/xhpc-order/pom.xml @@ -0,0 +1,100 @@ + + + + com.ruoyi + xhpc-modules + 3.0.0 + + 4.0.0 + + xhpc-order + + + 订单服务 + + + + 8 + 8 + + + + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-discovery + + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-config + + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-sentinel + + + + org.springframework.boot + spring-boot-starter-actuator + + + + org.springframework.boot + spring-boot-starter-web + + + + + mysql + mysql-connector-java + + + + + com.ruoyi + ruoyi-common-datasource + + + + + com.ruoyi + ruoyi-common-datascope + + + + + ${project.artifactId} + + + src/main/resources + + + src/main/java + + **/*.xml + + + + + + org.springframework.boot + spring-boot-maven-plugin + 2.4.0 + + + + repackage + + + + + + + diff --git a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/OrderApplication.java b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/OrderApplication.java new file mode 100644 index 00000000..fc6e7f8e --- /dev/null +++ b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/OrderApplication.java @@ -0,0 +1,21 @@ +package com.xhpc.order; + +import com.ruoyi.common.security.annotation.EnableCustomConfig; +import com.ruoyi.common.security.annotation.EnableRyFeignClients; +import org.mybatis.spring.annotation.MapperScan; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.openfeign.EnableFeignClients; + +@EnableCustomConfig +@EnableRyFeignClients +@EnableFeignClients +@SpringBootApplication +@MapperScan("com.xhpc.order.mapper") +public class OrderApplication { + + public static void main(String[] args) { + SpringApplication.run(OrderApplication.class, args); + } + +} diff --git a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/aspect/DaoAspect.java b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/aspect/DaoAspect.java new file mode 100644 index 00000000..0045a824 --- /dev/null +++ b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/aspect/DaoAspect.java @@ -0,0 +1,106 @@ +package com.xhpc.order.aspect; + + +import com.ruoyi.common.core.utils.StringUtils; +import org.apache.commons.beanutils.BeanUtils; +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.annotation.Around; +import org.aspectj.lang.annotation.Aspect; +import org.aspectj.lang.annotation.Pointcut; +import org.springframework.context.annotation.Configuration; +import org.springframework.stereotype.Component; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import java.util.Date; + +/* + * TODO AO切面,插入创建人,创建时间,修改人,修改时间 + * @author fjd + * @date 2020-07-09 11:59 + */ +@Aspect +@Component +@Configuration +public class DaoAspect { + private static final String CREATE_USER = "createUser"; + private static final String CREATE_TIME = "createTime"; + private static final String UPDATE_USER = "updateUser"; + private static final String UPDATE_TIME = "updateTime"; + + @Pointcut("execution(* com.xhpc..*.update*(..))") + public void daoUpdate() { + } + + @Pointcut("execution(* com.xhpc..*.insert*(..))") + public void daoCreate() { + } + + @Around("daoUpdate()") + public Object doAroundUpdate(ProceedingJoinPoint point) throws Throwable { + ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); + if (attributes == null) { + return point.proceed(); + } + //String userName = StringUtils.valueOf(SecurityUtils.getUsername()); + String userName = ""; + if (StringUtils.isNull(userName)) { + userName = "admin"; + } + if (userName != null) { + Object[] objects = point.getArgs(); + if (objects != null && objects.length > 0) { + for (Object arg : objects) { + if (isProperty(arg, UPDATE_USER) && StringUtils.isNull(BeanUtils.getProperty(arg, UPDATE_USER))) { + BeanUtils.setProperty(arg, UPDATE_USER, userName); + } + if (isProperty(arg, UPDATE_TIME) && StringUtils.isNull(BeanUtils.getProperty(arg, UPDATE_TIME))) { + BeanUtils.setProperty(arg, UPDATE_TIME, new Date()); + } + } + } + } + Object object = point.proceed(); + return object; + + } + + @Around("daoCreate()") + public Object doAroundCreate(ProceedingJoinPoint point) throws Throwable { + ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); + if (attributes == null) { + return point.proceed(); + } + Object[] objects = point.getArgs(); + if (objects != null && objects.length > 0) { + for (Object arg : objects) { + //String userName = StringUtils.valueOf(SecurityUtils.getUsername()); + String userName = ""; + Date date = new Date(); + if (StringUtils.isNull(userName)) { + userName = "admin"; + } + if (isProperty(arg, CREATE_USER) && StringUtils.isNull(BeanUtils.getProperty(arg, CREATE_USER))) { + BeanUtils.setProperty(arg, CREATE_USER, userName); + } + if (isProperty(arg, UPDATE_USER) && StringUtils.isNull(BeanUtils.getProperty(arg, UPDATE_USER))) { + BeanUtils.setProperty(arg, UPDATE_USER, userName); + } + + if (isProperty(arg, CREATE_TIME) && StringUtils.isNull(BeanUtils.getProperty(arg, CREATE_TIME))) { + BeanUtils.setProperty(arg, CREATE_TIME, date); + } + if (isProperty(arg, UPDATE_TIME) && StringUtils.isNull(BeanUtils.getProperty(arg, UPDATE_TIME))) { + BeanUtils.setProperty(arg, UPDATE_TIME, date); + } + } + } + Object object = point.proceed(); + return object; + } + + public static boolean isProperty(Object bean, String field) { + return StringUtils.isProperty(bean, field); + } + +} diff --git a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/controller/XhpcHistoryOrderReconciliationStatusController.java b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/controller/XhpcHistoryOrderReconciliationStatusController.java new file mode 100644 index 00000000..c609a62e --- /dev/null +++ b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/controller/XhpcHistoryOrderReconciliationStatusController.java @@ -0,0 +1,45 @@ +package com.xhpc.order.controller; + +import com.ruoyi.common.core.web.controller.BaseController; +import com.ruoyi.common.core.web.domain.AjaxResult; +import com.xhpc.order.domain.XhpcHistoryOrderReconciliationStatus; +import com.xhpc.order.service.IXhpcHistoryOrderReconciliationStatusService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; + +@RestController +@RequestMapping("/order/reconciliation") +@Api(value = "历史订单对账状态接口", tags = "历史订单对账状态接口") +public class XhpcHistoryOrderReconciliationStatusController extends BaseController { + + @Autowired + private IXhpcHistoryOrderReconciliationStatusService iXhpcHistoryOrderReconciliationStatusService; + + /** + * 修改对账状态 + * + * @param xhpcHistoryOrderReconciliationStatus 历史订单对账状态信息 + * @return + */ + @GetMapping("/status") + @ApiOperation(value = "修改对账状态") + public AjaxResult status(@Valid @RequestBody XhpcHistoryOrderReconciliationStatus xhpcHistoryOrderReconciliationStatus) { + return iXhpcHistoryOrderReconciliationStatusService.status(xhpcHistoryOrderReconciliationStatus); + } + + /** + * 流量用户信息 + * + * @param internetUserId 流量用户id + * @return + */ + @GetMapping("/internetUser") + @ApiOperation(value = "修改对账状态") + public AjaxResult internetUser(@RequestParam Long internetUserId) { + return iXhpcHistoryOrderReconciliationStatusService.internetUser(internetUserId); + } +} diff --git a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/controller/XhpcHistoryOrderSortingStatusController.java b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/controller/XhpcHistoryOrderSortingStatusController.java new file mode 100644 index 00000000..1c4c27c0 --- /dev/null +++ b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/controller/XhpcHistoryOrderSortingStatusController.java @@ -0,0 +1,36 @@ +package com.xhpc.order.controller; + +import com.ruoyi.common.core.web.controller.BaseController; +import com.ruoyi.common.core.web.domain.AjaxResult; +import com.xhpc.order.domain.XhpcHistoryOrderSortingStatus; +import com.xhpc.order.service.IXhpcHistoryOrderSortingStatusService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.validation.Valid; + +@RestController +@RequestMapping("/order/sorting") +@Api(value = "历史订单清分状态接口", tags = "历史订单清分状态接口") +public class XhpcHistoryOrderSortingStatusController extends BaseController { + + @Autowired + private IXhpcHistoryOrderSortingStatusService iXhpcHistoryOrderSortingStatusService; + + /** + * 修改清分状态 + * + * @param xhpcHistoryOrderSortingStatus 历史订单清分状态信息 + * @return + */ + @GetMapping("/status") + @ApiOperation(value = "修改清分状态") + public AjaxResult status(@Valid @RequestBody XhpcHistoryOrderSortingStatus xhpcHistoryOrderSortingStatus) { + return iXhpcHistoryOrderSortingStatusService.status(xhpcHistoryOrderSortingStatus); + } +} diff --git a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/domain/XhpcHistoryOrder.java b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/domain/XhpcHistoryOrder.java new file mode 100644 index 00000000..1a551928 --- /dev/null +++ b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/domain/XhpcHistoryOrder.java @@ -0,0 +1,339 @@ +package com.xhpc.order.domain; + +import com.ruoyi.common.core.web.domain.BaseEntity; + +import java.math.BigDecimal; + + +/** + * @author + * @description 历史订单 xhpc_history_order + * @date 2021-07-22 + */ +public class XhpcHistoryOrder extends BaseEntity { + + /** + * 历史订单id + */ + private Long historyOrderId; + + /** + * 电站id + */ + private Long chargingStationId; + + /** + * 充电订单id + */ + private Long chargingOrderId; + + /** + * 用户id + */ + private Long userId; + + /** + * 终端id + */ + private Long terminalId; + + /** + * 流水号 + */ + private String serialNumber; + + /** + * 互联网订单流水号 + */ + private String internetSerialNumber; + + /** + * 订单总价 + */ + private BigDecimal totalPrice; + + /** + * 电站活动抵扣 + */ + private BigDecimal promotionDiscount; + + /** + * 实际价格 + */ + private BigDecimal actPrice; + + /** + * 实收电费 + */ + private BigDecimal actPowerPrice; + + /** + * 实收服务费 + */ + private BigDecimal actServicePrice; + + /** + * 流量方总金额抽成 + */ + private BigDecimal internetCommission; + + /** + * 流量方服务费抽成 + */ + private BigDecimal internetSvcCommission; + + /** + * 平台总金额抽成 + */ + private BigDecimal platformCommission; + + /** + * 平台服务费抽成 + */ + private BigDecimal platformSvcCommisssion; + + /** + * 运维总抽成 + */ + private BigDecimal operationCommission; + + /** + * 运维服务费抽成 + */ + private String operationSvcCommission; + + /** + * 开始充电soc + */ + private String startSoc; + + /** + * 结束时soc + */ + private String endSoc; + + /** + * 对账状态(0待确认 1已确认,2待提交,3待审核) + */ + private Integer reconciliationStatus; + + /** + * 清分状态(0待清分 1清分在途,2已提现,3待提交,4待审核) + */ + private Integer sortingStatus; + + /** + * 1 自动结算 2 平台结算 + */ + private Integer type; + + /** + * 状态(0正常 1停用) + */ + private Integer status; + + /** + * 删除标志(0代表存在 2代表删除) + */ + private Integer delFlag; + + public Long getHistoryOrderId() { + return historyOrderId; + } + + public void setHistoryOrderId(Long historyOrderId) { + this.historyOrderId = historyOrderId; + } + + public Long getChargingStationId() { + return chargingStationId; + } + + public void setChargingStationId(Long chargingStationId) { + this.chargingStationId = chargingStationId; + } + + public Long getChargingOrderId() { + return chargingOrderId; + } + + public void setChargingOrderId(Long chargingOrderId) { + this.chargingOrderId = chargingOrderId; + } + + public Long getUserId() { + return userId; + } + + public void setUserId(Long userId) { + this.userId = userId; + } + + public Long getTerminalId() { + return terminalId; + } + + public void setTerminalId(Long terminalId) { + this.terminalId = terminalId; + } + + public String getSerialNumber() { + return serialNumber; + } + + public void setSerialNumber(String serialNumber) { + this.serialNumber = serialNumber; + } + + public String getInternetSerialNumber() { + return internetSerialNumber; + } + + public void setInternetSerialNumber(String internetSerialNumber) { + this.internetSerialNumber = internetSerialNumber; + } + + public BigDecimal getTotalPrice() { + return totalPrice; + } + + public void setTotalPrice(BigDecimal totalPrice) { + this.totalPrice = totalPrice; + } + + public BigDecimal getPromotionDiscount() { + return promotionDiscount; + } + + public void setPromotionDiscount(BigDecimal promotionDiscount) { + this.promotionDiscount = promotionDiscount; + } + + public BigDecimal getActPrice() { + return actPrice; + } + + public void setActPrice(BigDecimal actPrice) { + this.actPrice = actPrice; + } + + public BigDecimal getActPowerPrice() { + return actPowerPrice; + } + + public void setActPowerPrice(BigDecimal actPowerPrice) { + this.actPowerPrice = actPowerPrice; + } + + public BigDecimal getActServicePrice() { + return actServicePrice; + } + + public void setActServicePrice(BigDecimal actServicePrice) { + this.actServicePrice = actServicePrice; + } + + public BigDecimal getInternetCommission() { + return internetCommission; + } + + public void setInternetCommission(BigDecimal internetCommission) { + this.internetCommission = internetCommission; + } + + public BigDecimal getInternetSvcCommission() { + return internetSvcCommission; + } + + public void setInternetSvcCommission(BigDecimal internetSvcCommission) { + this.internetSvcCommission = internetSvcCommission; + } + + public BigDecimal getPlatformCommission() { + return platformCommission; + } + + public void setPlatformCommission(BigDecimal platformCommission) { + this.platformCommission = platformCommission; + } + + public BigDecimal getPlatformSvcCommisssion() { + return platformSvcCommisssion; + } + + public void setPlatformSvcCommisssion(BigDecimal platformSvcCommisssion) { + this.platformSvcCommisssion = platformSvcCommisssion; + } + + public BigDecimal getOperationCommission() { + return operationCommission; + } + + public void setOperationCommission(BigDecimal operationCommission) { + this.operationCommission = operationCommission; + } + + public String getStartSoc() { + return startSoc; + } + + public void setStartSoc(String startSoc) { + this.startSoc = startSoc; + } + + public String getEndSoc() { + return endSoc; + } + + public void setEndSoc(String endSoc) { + this.endSoc = endSoc; + } + + public Integer getReconciliationStatus() { + return reconciliationStatus; + } + + public void setReconciliationStatus(Integer reconciliationStatus) { + this.reconciliationStatus = reconciliationStatus; + } + + public String getOperationSvcCommission() { + return operationSvcCommission; + } + + public void setOperationSvcCommission(String operationSvcCommission) { + this.operationSvcCommission = operationSvcCommission; + } + + public Integer getSortingStatus() { + return sortingStatus; + } + + public void setSortingStatus(Integer sortingStatus) { + this.sortingStatus = sortingStatus; + } + + public Integer getType() { + return type; + } + + public void setType(Integer type) { + this.type = type; + } + + public Integer getStatus() { + return status; + } + + public void setStatus(Integer status) { + this.status = status; + } + + public Integer getDelFlag() { + return delFlag; + } + + public void setDelFlag(Integer delFlag) { + this.delFlag = delFlag; + } +} diff --git a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/domain/XhpcHistoryOrderReconciliationStatus.java b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/domain/XhpcHistoryOrderReconciliationStatus.java new file mode 100644 index 00000000..b965c042 --- /dev/null +++ b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/domain/XhpcHistoryOrderReconciliationStatus.java @@ -0,0 +1,68 @@ +package com.xhpc.order.domain; + +import com.ruoyi.common.core.web.domain.BaseEntity; + +import javax.validation.constraints.NotNull; + + +/** + * @author + * @description 历史订单对账状态 xhpc_history_order_reconciliation_status + * @date 2021-07-22 + */ +public class XhpcHistoryOrderReconciliationStatus extends BaseEntity { + + /** + * 历史订单对账状态id + */ + private Long historyOrderReconciliationStatusId; + + /** + * 历史订单id + */ + @NotNull(message = "历史订单id不能为空") + private Long historyOrderId; + + /** + * 状态(0待确认 1已确认,2待提交,3待审核) + */ + @NotNull(message = "状态不能为空") + private Integer status; + + /** + * 删除标志(0代表存在 2代表删除) + */ + private Integer delFlag; + + public Long getHistoryOrderReconciliationStatusId() { + return historyOrderReconciliationStatusId; + } + + public void setHistoryOrderReconciliationStatusId(Long historyOrderReconciliationStatusId) { + this.historyOrderReconciliationStatusId = historyOrderReconciliationStatusId; + } + + public Long getHistoryOrderId() { + return historyOrderId; + } + + public void setHistoryOrderId(Long historyOrderId) { + this.historyOrderId = historyOrderId; + } + + public Integer getStatus() { + return status; + } + + public void setStatus(Integer status) { + this.status = status; + } + + public Integer getDelFlag() { + return delFlag; + } + + public void setDelFlag(Integer delFlag) { + this.delFlag = delFlag; + } +} diff --git a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/domain/XhpcHistoryOrderSortingStatus.java b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/domain/XhpcHistoryOrderSortingStatus.java new file mode 100644 index 00000000..c5724b06 --- /dev/null +++ b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/domain/XhpcHistoryOrderSortingStatus.java @@ -0,0 +1,68 @@ +package com.xhpc.order.domain; + +import com.ruoyi.common.core.web.domain.BaseEntity; + +import javax.validation.constraints.NotNull; + + +/** + * @author + * @description 历史订单清分状态 xhpc_history_order_sorting_status + * @date 2021-07-22 + */ +public class XhpcHistoryOrderSortingStatus extends BaseEntity { + + /** + * 历史订单清分状态id + */ + private Long historyOrderSortingStatusId; + + /** + * 历史订单id + */ + @NotNull(message = "历史订单id不能为空") + private Long historyOrderId; + + /** + * 状态(0待清分 1清分在途,2已提现,3待提交,4待审核) + */ + @NotNull(message = "状态不能为空") + private Integer status; + + /** + * 删除标志(0代表存在 2代表删除) + */ + private Integer delFlag; + + public Long getHistoryOrderSortingStatusId() { + return historyOrderSortingStatusId; + } + + public void setHistoryOrderSortingStatusId(Long historyOrderSortingStatusId) { + this.historyOrderSortingStatusId = historyOrderSortingStatusId; + } + + public Long getHistoryOrderId() { + return historyOrderId; + } + + public void setHistoryOrderId(Long historyOrderId) { + this.historyOrderId = historyOrderId; + } + + public Integer getStatus() { + return status; + } + + public void setStatus(Integer status) { + this.status = status; + } + + public Integer getDelFlag() { + return delFlag; + } + + public void setDelFlag(Integer delFlag) { + this.delFlag = delFlag; + } +} diff --git a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/mapper/XhpcHistoryOrderMapper.java b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/mapper/XhpcHistoryOrderMapper.java new file mode 100644 index 00000000..30795dc7 --- /dev/null +++ b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/mapper/XhpcHistoryOrderMapper.java @@ -0,0 +1,36 @@ +package com.xhpc.order.mapper; + +import com.xhpc.order.domain.XhpcHistoryOrder; +import org.apache.ibatis.annotations.Param; + +/** + * 历史订单信息 数据层 + * + * @author ruoyi + */ +public interface XhpcHistoryOrderMapper { + + /** + * 新增 历史订单信息 + * + * @param xhpcHistoryOrder 历史订单信息 + * @return 结果 + */ + public int insert(XhpcHistoryOrder xhpcHistoryOrder); + + /** + * 更新 历史订单信息 + * + * @param xhpcHistoryOrder 历史订单信息 + * @return 结果 + */ + public int update(XhpcHistoryOrder xhpcHistoryOrder); + + /** + * 详情 历史订单信息 + * + * @param historyOrderId 历史订单id + * @return 结果 + */ + public XhpcHistoryOrder info(@Param("historyOrderId") Long historyOrderId); +} diff --git a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/mapper/XhpcHistoryOrderReconciliationStatusMapper.java b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/mapper/XhpcHistoryOrderReconciliationStatusMapper.java new file mode 100644 index 00000000..983044d3 --- /dev/null +++ b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/mapper/XhpcHistoryOrderReconciliationStatusMapper.java @@ -0,0 +1,53 @@ +package com.xhpc.order.mapper; + +import com.xhpc.order.domain.XhpcHistoryOrderReconciliationStatus; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Map; + +/** + * 历史订单对账状态信息 数据层 + * + * @author ruoyi + */ +public interface XhpcHistoryOrderReconciliationStatusMapper { + + /** + * 新增 历史订单对账状态信息 + * + * @param xhpcHistoryOrderReconciliationStatus 历史订单对账状态信息 + * @return 结果 + */ + public int insert(XhpcHistoryOrderReconciliationStatus xhpcHistoryOrderReconciliationStatus); + + /** + * 更新 历史订单对账状态信息 + * + * @param xhpcHistoryOrderReconciliationStatus 历史订单对账状态信息 + * @return 结果 + */ + public int update(XhpcHistoryOrderReconciliationStatus xhpcHistoryOrderReconciliationStatus); + + /** + * 流量用户信息 + * + * @param internetUserId 流量用户id + * @return 结果 + */ + public Map internetUser(@Param("internetUserId") Long internetUserId); + + /** + * 流量用户对账分页列表 + * + * @param internetUserId 流量用户id + * @param serialNumber 订单编号 + * @param createTimeStart 创建开始时间 + * @param createTimeEnd 创建结束时间 + * @param chargingStationName 电站名称 + * @param status 状态 + * @return + */ + public List> page(@Param("internetUserId") Long internetUserId, @Param("serialNumber") String serialNumber, @Param("createTimeStart") String createTimeStart, @Param("createTimeEnd") String createTimeEnd, @Param("chargingStationName") String chargingStationName, @Param("status") String status); + +} diff --git a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/mapper/XhpcHistoryOrderSortingStatusMapper.java b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/mapper/XhpcHistoryOrderSortingStatusMapper.java new file mode 100644 index 00000000..d9382ac5 --- /dev/null +++ b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/mapper/XhpcHistoryOrderSortingStatusMapper.java @@ -0,0 +1,27 @@ +package com.xhpc.order.mapper; + +import com.xhpc.order.domain.XhpcHistoryOrderSortingStatus; + +/** + * 历史订单对账状态信息 数据层 + * + * @author ruoyi + */ +public interface XhpcHistoryOrderSortingStatusMapper { + + /** + * 新增 历史订单对账状态信息 + * + * @param xhpcHistoryOrderSortingStatus 历史订单对账状态信息 + * @return 结果 + */ + public int insert(XhpcHistoryOrderSortingStatus xhpcHistoryOrderSortingStatus); + + /** + * 更新 历史订单对账状态信息 + * + * @param xhpcHistoryOrderSortingStatus 历史订单对账状态信息 + * @return 结果 + */ + public int update(XhpcHistoryOrderSortingStatus xhpcHistoryOrderSortingStatus); +} diff --git a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/IXhpcHistoryOrderReconciliationStatusService.java b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/IXhpcHistoryOrderReconciliationStatusService.java new file mode 100644 index 00000000..2b9627b9 --- /dev/null +++ b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/IXhpcHistoryOrderReconciliationStatusService.java @@ -0,0 +1,34 @@ +package com.xhpc.order.service; + +import com.ruoyi.common.core.web.domain.AjaxResult; +import com.xhpc.order.domain.XhpcHistoryOrderReconciliationStatus; + +/** + * 历史订单对账状态信息 服务层 + * + * @author ruoyi + */ +public interface IXhpcHistoryOrderReconciliationStatusService { + + /** + * 新增 历史订单对账状态 + * + * @param xhpcHistoryOrderReconciliationStatus 历史订单对账状态 + */ + public int insert(XhpcHistoryOrderReconciliationStatus xhpcHistoryOrderReconciliationStatus); + + /** + * 修改对账状态 历史订单对账状态 + * + * @param xhpcHistoryOrderReconciliationStatus 历史订单对账状态信息 + */ + public AjaxResult status(XhpcHistoryOrderReconciliationStatus xhpcHistoryOrderReconciliationStatus); + + /** + * 流量用户信息 + * + * @param internetUserId 流量用户id + * @return + */ + public AjaxResult internetUser(Long internetUserId); +} \ No newline at end of file diff --git a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/IXhpcHistoryOrderSortingStatusService.java b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/IXhpcHistoryOrderSortingStatusService.java new file mode 100644 index 00000000..e00de1eb --- /dev/null +++ b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/IXhpcHistoryOrderSortingStatusService.java @@ -0,0 +1,26 @@ +package com.xhpc.order.service; + +import com.ruoyi.common.core.web.domain.AjaxResult; +import com.xhpc.order.domain.XhpcHistoryOrderSortingStatus; + +/** + * 历史订单对账状态信息 服务层 + * + * @author ruoyi + */ +public interface IXhpcHistoryOrderSortingStatusService { + + /** + * 新增 历史订单对账状态 + * + * @param xhpcHistoryOrderSortingStatus 历史订单对账状态 + */ + public int insert(XhpcHistoryOrderSortingStatus xhpcHistoryOrderSortingStatus); + + /** + * 修改对账状态 历史订单对账状态 + * + * @param xhpcHistoryOrderSortingStatus 历史订单清分状态信息 + */ + public AjaxResult status(XhpcHistoryOrderSortingStatus xhpcHistoryOrderSortingStatus); +} \ No newline at end of file diff --git a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/XhpcHistoryOrderReconciliationStatusServiceImpl.java b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/XhpcHistoryOrderReconciliationStatusServiceImpl.java new file mode 100644 index 00000000..67c8e25e --- /dev/null +++ b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/XhpcHistoryOrderReconciliationStatusServiceImpl.java @@ -0,0 +1,75 @@ +package com.xhpc.order.service.impl; + +import com.ruoyi.common.core.web.domain.AjaxResult; +import com.xhpc.order.domain.XhpcHistoryOrder; +import com.xhpc.order.domain.XhpcHistoryOrderReconciliationStatus; +import com.xhpc.order.mapper.XhpcHistoryOrderMapper; +import com.xhpc.order.mapper.XhpcHistoryOrderReconciliationStatusMapper; +import com.xhpc.order.service.IXhpcHistoryOrderReconciliationStatusService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * 历史订单对账状态信息 服务层 + * + * @author ruoyi + */ +@Service +public class XhpcHistoryOrderReconciliationStatusServiceImpl implements IXhpcHistoryOrderReconciliationStatusService { + + @Autowired + private XhpcHistoryOrderReconciliationStatusMapper xhpcHistoryOrderReconciliationStatusMapper; + + @Autowired + private XhpcHistoryOrderMapper xhpcHistoryOrderMapper; + + /** + * 新增 历史订单对账状态 + * + * @param xhpcHistoryOrderReconciliationStatus 历史订单对账状态 + */ + @Override + public int insert(XhpcHistoryOrderReconciliationStatus xhpcHistoryOrderReconciliationStatus) { + return xhpcHistoryOrderReconciliationStatusMapper.insert(xhpcHistoryOrderReconciliationStatus); + } + + /** + * 修改对账状态 历史订单对账状态 + * + * @param xhpcHistoryOrderReconciliationStatus 历史订单对账状态信息 + */ + @Override + public AjaxResult status(XhpcHistoryOrderReconciliationStatus xhpcHistoryOrderReconciliationStatus) { + XhpcHistoryOrder xhpcHistoryOrder = xhpcHistoryOrderMapper.info(xhpcHistoryOrderReconciliationStatus.getHistoryOrderId()); + if (0 == xhpcHistoryOrderReconciliationStatus.getStatus()) { + if (3 != xhpcHistoryOrder.getReconciliationStatus()) { + return AjaxResult.error("状态异常"); + } + } else if (1 == xhpcHistoryOrderReconciliationStatus.getStatus()) { + if (0 != xhpcHistoryOrder.getReconciliationStatus()) { + return AjaxResult.error("状态异常"); + } + } else if (2 == xhpcHistoryOrderReconciliationStatus.getStatus()) { + if (0 != xhpcHistoryOrder.getReconciliationStatus()) { + return AjaxResult.error("状态异常"); + } + } else if (3 == xhpcHistoryOrderReconciliationStatus.getStatus()) { + if (2 != xhpcHistoryOrder.getReconciliationStatus()) { + return AjaxResult.error("状态异常"); + } + } + xhpcHistoryOrderReconciliationStatusMapper.update(xhpcHistoryOrderReconciliationStatus); + return AjaxResult.success(); + } + + /** + * 流量用户信息 + * + * @param internetUserId 流量用户id + * @return + */ + @Override + public AjaxResult internetUser(Long internetUserId) { + return AjaxResult.success(xhpcHistoryOrderReconciliationStatusMapper.internetUser(internetUserId)); + } +} \ No newline at end of file diff --git a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/XhpcHistoryOrderSortingStatusServiceImpl.java b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/XhpcHistoryOrderSortingStatusServiceImpl.java new file mode 100644 index 00000000..b09bae89 --- /dev/null +++ b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/XhpcHistoryOrderSortingStatusServiceImpl.java @@ -0,0 +1,64 @@ +package com.xhpc.order.service.impl; + +import com.ruoyi.common.core.web.domain.AjaxResult; +import com.xhpc.order.domain.XhpcHistoryOrder; +import com.xhpc.order.domain.XhpcHistoryOrderSortingStatus; +import com.xhpc.order.mapper.XhpcHistoryOrderMapper; +import com.xhpc.order.mapper.XhpcHistoryOrderSortingStatusMapper; +import com.xhpc.order.service.IXhpcHistoryOrderSortingStatusService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * 历史订单清分状态信息 服务层 + * + * @author ruoyi + */ +@Service +public class XhpcHistoryOrderSortingStatusServiceImpl implements IXhpcHistoryOrderSortingStatusService { + + @Autowired + private XhpcHistoryOrderSortingStatusMapper xhpcHistoryOrderSortingStatusMapper; + + @Autowired + private XhpcHistoryOrderMapper xhpcHistoryOrderMapper; + + /** + * 新增 历史订单清分状态 + * + * @param xhpcHistoryOrderSortingStatus 历史订单清分状态 + */ + @Override + public int insert(XhpcHistoryOrderSortingStatus xhpcHistoryOrderSortingStatus) { + return xhpcHistoryOrderSortingStatusMapper.insert(xhpcHistoryOrderSortingStatus); + } + + /** + * 修改对账状态 历史订单清分状态 + * + * @param xhpcHistoryOrderSortingStatus 历史订单清分状态信息 + */ + @Override + public AjaxResult status(XhpcHistoryOrderSortingStatus xhpcHistoryOrderSortingStatus) { + XhpcHistoryOrder xhpcHistoryOrder = xhpcHistoryOrderMapper.info(xhpcHistoryOrderSortingStatus.getHistoryOrderId()); + if (1 == xhpcHistoryOrderSortingStatus.getStatus()) { + if (4 != xhpcHistoryOrder.getReconciliationStatus()) { + return AjaxResult.error("状态异常"); + } + } else if (2 == xhpcHistoryOrderSortingStatus.getStatus()) { + if (1 != xhpcHistoryOrder.getReconciliationStatus()) { + return AjaxResult.error("状态异常"); + } + } else if (3 == xhpcHistoryOrderSortingStatus.getStatus()) { + if (1 != xhpcHistoryOrder.getReconciliationStatus()) { + return AjaxResult.error("状态异常"); + } + } else if (4 == xhpcHistoryOrderSortingStatus.getStatus()) { + if (3 != xhpcHistoryOrder.getReconciliationStatus()) { + return AjaxResult.error("状态异常"); + } + } + xhpcHistoryOrderSortingStatusMapper.update(xhpcHistoryOrderSortingStatus); + return AjaxResult.success(); + } +} \ No newline at end of file diff --git a/xhpc-modules/xhpc-order/src/main/resources/banner.txt b/xhpc-modules/xhpc-order/src/main/resources/banner.txt new file mode 100644 index 00000000..27cacb9c --- /dev/null +++ b/xhpc-modules/xhpc-order/src/main/resources/banner.txt @@ -0,0 +1,10 @@ +Spring Boot Version: ${spring-boot.version} +Spring Application Name: ${spring.application.name} + _ __ _ _ + (_) / _|(_)| | + _ __ _ _ ___ _ _ _ ______ | |_ _ | | ___ +| '__|| | | | / _ \ | | | || ||______|| _|| || | / _ \ +| | | |_| || (_) || |_| || | | | | || || __/ +|_| \__,_| \___/ \__, ||_| |_| |_||_| \___| + __/ | + |___/ \ No newline at end of file diff --git a/xhpc-modules/xhpc-order/src/main/resources/bootstrap.yml b/xhpc-modules/xhpc-order/src/main/resources/bootstrap.yml new file mode 100644 index 00000000..75f094b9 --- /dev/null +++ b/xhpc-modules/xhpc-order/src/main/resources/bootstrap.yml @@ -0,0 +1,29 @@ +ppsvc: + server: 0.0.0.0 + port: 8888 + +# Tomcat +server: + port: 8885 + +# Spring +spring: + application: + # 应用名称 + name: xhpc-order + profiles: + # 环境配置 + active: dev + cloud: + nacos: + discovery: + # 服务注册地址 + server-addr: 118.24.137.203:8848 + config: + # 配置中心地址 + server-addr: 118.24.137.203:8848 + # 配置文件格式 + file-extension: yml + # 共享配置 + shared-configs: + - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} \ No newline at end of file diff --git a/xhpc-modules/xhpc-order/src/main/resources/logback.xml b/xhpc-modules/xhpc-order/src/main/resources/logback.xml new file mode 100644 index 00000000..83ed4f2d --- /dev/null +++ b/xhpc-modules/xhpc-order/src/main/resources/logback.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + ${log.pattern} + + + + + + ${log.path}/info.log + + + + ${log.path}/info.%d{yyyy-MM-dd}.log + + 60 + + + ${log.pattern} + + + + INFO + + ACCEPT + + DENY + + + + + ${log.path}/error.log + + + + ${log.path}/error.%d{yyyy-MM-dd}.log + + 60 + + + ${log.pattern} + + + + ERROR + + ACCEPT + + DENY + + + + + + + + + + + + + + + + + + diff --git a/xhpc-modules/xhpc-order/src/main/resources/mapper/XhpcHistoryOrderMapper.xml b/xhpc-modules/xhpc-order/src/main/resources/mapper/XhpcHistoryOrderMapper.xml new file mode 100644 index 00000000..0bfdf49f --- /dev/null +++ b/xhpc-modules/xhpc-order/src/main/resources/mapper/XhpcHistoryOrderMapper.xml @@ -0,0 +1,283 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + INSERT INTO xhpc_history_order + + + charging_station_id, + + + charging_order_id, + + + user_id, + + + terminal_id, + + + serial_number, + + + internet_serial_number, + + + total_price, + + + promotion_discount, + + + act_price, + + + act_power_price, + + + act_service_price, + + + internet_commission, + + + internet_svc_commission, + + + platform_commission, + + + platform_svc_commisssion, + + + operation_commission, + + + operation_svc_commission, + + + start_soc, + + + end_soc, + + + reconciliation_status, + + + sorting_status, + + + type, + + + status, + + + del_flag, + + + create_time, + + + create_by, + + + update_time, + + + update_by, + + + remark + + + + + #{chargingStationId}, + + + #{chargingOrderId}, + + + #{userId}, + + + #{terminalId}, + + + #{serialNumber}, + + + #{internetSerialNumber}, + + + #{totalPrice}, + + + #{promotionDiscount}, + + + #{actPrice}, + + + #{actPowerPrice}, + + + #{actServicePrice}, + + + #{internetCommission}, + + + #{internetSvcCommission}, + + + #{platformCommission}, + + + #{platformSvcCommisssion}, + + + #{operationCommission}, + + + #{operationSvcCommission}, + + + #{startSoc}, + + + #{endSoc}, + + + #{reconciliationStatus}, + + + #{sortingStatus}, + + + #{type}, + + + #{status}, + + + #{delFlag}, + + + #{createTime}, + + + #{createBy}, + + + #{updateTime}, + + + #{updateBy}, + + + #{remark} + + + + + + UPDATE xhpc_history_order + + charging_station_id = + #{chargingStationId}, + + charging_order_id = #{chargingOrderId}, + user_id = #{userId}, + terminal_id = #{terminalId}, + serial_number = #{serialNumber}, + internet_serial_number = + #{internetSerialNumber}, + + total_price = #{totalPrice}, + promotion_discount = + #{promotionDiscount}, + + act_price = #{actPrice}, + act_power_price = #{actPowerPrice}, + act_service_price = #{actServicePrice}, + internet_commission = + #{internetCommission}, + + internet_svc_commission = + #{internetSvcCommission}, + + platform_commission = + #{platformCommission}, + + platform_svc_commisssion = + #{platformSvcCommisssion}, + + operation_commission = + #{operationCommission}, + + operation_svc_commission = + #{operationSvcCommission}, + + start_soc = #{startSoc}, + end_soc = #{endSoc}, + reconciliation_status = + #{reconciliationStatus}, + + sorting_status = #{sortingStatus}, + type = #{type}, + status = #{status}, + del_flag = #{delFlag}, + create_time = #{createTime}, + create_by = #{createBy}, + update_time = #{updateTime}, + update_by = #{updateBy}, + remark = #{remark} + + WHERE history_order_id = #{historyOrderId} + + + + \ No newline at end of file diff --git a/xhpc-modules/xhpc-order/src/main/resources/mapper/XhpcHistoryOrderReconciliationStatusMapper.xml b/xhpc-modules/xhpc-order/src/main/resources/mapper/XhpcHistoryOrderReconciliationStatusMapper.xml new file mode 100644 index 00000000..c5cc7a54 --- /dev/null +++ b/xhpc-modules/xhpc-order/src/main/resources/mapper/XhpcHistoryOrderReconciliationStatusMapper.xml @@ -0,0 +1,136 @@ + + + + + + + + + + + + + + + + + + INSERT INTO xhpc_recharge_order + + + history_order_id, + + + status, + + + del_flag, + + + create_time, + + + create_by, + + + update_time, + + + update_by, + + + remark + + + + + #{historyOrderId}, + + + #{status}, + + + #{delFlag}, + + + #{createTime}, + + + #{createBy}, + + + #{updateTime}, + + + #{updateBy}, + + + #{remark} + + + + + + UPDATE xhpc_history_order_reconciliation_status + + history_order_id = #{historyOrderId}, + status = #{status}, + del_flag = #{delFlag}, + create_time = #{createTime}, + create_by = #{createBy}, + update_time = #{updateTime}, + update_by = #{updateBy}, + remark = #{remark} + + WHERE history_order_reconciliation_status_id = #{historyOrderReconciliationStatusId} + + + + + + \ No newline at end of file diff --git a/xhpc-modules/xhpc-order/src/main/resources/mapper/XhpcHistoryOrderSortingStatusMapper.xml b/xhpc-modules/xhpc-order/src/main/resources/mapper/XhpcHistoryOrderSortingStatusMapper.xml new file mode 100644 index 00000000..7e0f63af --- /dev/null +++ b/xhpc-modules/xhpc-order/src/main/resources/mapper/XhpcHistoryOrderSortingStatusMapper.xml @@ -0,0 +1,91 @@ + + + + + + + + + + + + + + + + + + INSERT INTO xhpc_recharge_order + + + history_order_id, + + + status, + + + del_flag, + + + create_time, + + + create_by, + + + update_time, + + + update_by, + + + remark + + + + + #{historyOrderId}, + + + #{status}, + + + #{delFlag}, + + + #{createTime}, + + + #{createBy}, + + + #{updateTime}, + + + #{updateBy}, + + + #{remark} + + + + + + UPDATE xhpc_history_order_reconciliation_status + + history_order_id = #{historyOrderId}, + status = #{status}, + del_flag = #{delFlag}, + create_time = #{createTime}, + create_by = #{createBy}, + update_time = #{updateTime}, + update_by = #{updateBy}, + remark = #{remark} + + WHERE history_order_sorting_status_id = #{historyOrderSortingStatusId} + + + \ No newline at end of file diff --git a/xhpc-modules/xhpc-order/src/main/resources/svcmainlogic.xml b/xhpc-modules/xhpc-order/src/main/resources/svcmainlogic.xml new file mode 100644 index 00000000..9aee48b3 --- /dev/null +++ b/xhpc-modules/xhpc-order/src/main/resources/svcmainlogic.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + diff --git a/xhpc-modules/xhpc-order/src/test/java/com/xhpc/order/OrderApplicationTests.java b/xhpc-modules/xhpc-order/src/test/java/com/xhpc/order/OrderApplicationTests.java new file mode 100644 index 00000000..08efc8c1 --- /dev/null +++ b/xhpc-modules/xhpc-order/src/test/java/com/xhpc/order/OrderApplicationTests.java @@ -0,0 +1,13 @@ +package com.xhpc.order; + +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +@SpringBootTest +class OrderApplicationTests { + + @Test + void contextLoads() { + } + +} diff --git a/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/PaymentApplication.java b/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/PaymentApplication.java index 84c73b40..0fcd8bf8 100644 --- a/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/PaymentApplication.java +++ b/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/PaymentApplication.java @@ -7,7 +7,7 @@ import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.openfeign.EnableFeignClients; -/*@EnableCustomConfig*/ +@EnableCustomConfig @EnableRyFeignClients @EnableFeignClients @SpringBootApplication diff --git a/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/aspect/DaoAspect.java b/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/aspect/DaoAspect.java new file mode 100644 index 00000000..e2bf7c0b --- /dev/null +++ b/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/aspect/DaoAspect.java @@ -0,0 +1,106 @@ +package com.xhpc.payment.aspect; + + +import com.ruoyi.common.core.utils.StringUtils; +import org.apache.commons.beanutils.BeanUtils; +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.annotation.Around; +import org.aspectj.lang.annotation.Aspect; +import org.aspectj.lang.annotation.Pointcut; +import org.springframework.context.annotation.Configuration; +import org.springframework.stereotype.Component; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import java.util.Date; + +/* + * TODO AO切面,插入创建人,创建时间,修改人,修改时间 + * @author fjd + * @date 2020-07-09 11:59 + */ +@Aspect +@Component +@Configuration +public class DaoAspect { + private static final String CREATE_USER = "createUser"; + private static final String CREATE_TIME = "createTime"; + private static final String UPDATE_USER = "updateUser"; + private static final String UPDATE_TIME = "updateTime"; + + @Pointcut("execution(* com.xhpc..*.update*(..))") + public void daoUpdate() { + } + + @Pointcut("execution(* com.xhpc..*.insert*(..))") + public void daoCreate() { + } + + @Around("daoUpdate()") + public Object doAroundUpdate(ProceedingJoinPoint point) throws Throwable { + ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); + if (attributes == null) { + return point.proceed(); + } + //String userName = StringUtils.valueOf(SecurityUtils.getUsername()); + String userName = ""; + if (StringUtils.isNull(userName)) { + userName = "admin"; + } + if (userName != null) { + Object[] objects = point.getArgs(); + if (objects != null && objects.length > 0) { + for (Object arg : objects) { + if (isProperty(arg, UPDATE_USER) && StringUtils.isNull(BeanUtils.getProperty(arg, UPDATE_USER))) { + BeanUtils.setProperty(arg, UPDATE_USER, userName); + } + if (isProperty(arg, UPDATE_TIME) && StringUtils.isNull(BeanUtils.getProperty(arg, UPDATE_TIME))) { + BeanUtils.setProperty(arg, UPDATE_TIME, new Date()); + } + } + } + } + Object object = point.proceed(); + return object; + + } + + @Around("daoCreate()") + public Object doAroundCreate(ProceedingJoinPoint point) throws Throwable { + ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); + if (attributes == null) { + return point.proceed(); + } + Object[] objects = point.getArgs(); + if (objects != null && objects.length > 0) { + for (Object arg : objects) { + //String userName = StringUtils.valueOf(SecurityUtils.getUsername()); + String userName = ""; + Date date = new Date(); + if (StringUtils.isNull(userName)) { + userName = "admin"; + } + if (isProperty(arg, CREATE_USER) && StringUtils.isNull(BeanUtils.getProperty(arg, CREATE_USER))) { + BeanUtils.setProperty(arg, CREATE_USER, userName); + } + if (isProperty(arg, UPDATE_USER) && StringUtils.isNull(BeanUtils.getProperty(arg, UPDATE_USER))) { + BeanUtils.setProperty(arg, UPDATE_USER, userName); + } + + if (isProperty(arg, CREATE_TIME) && StringUtils.isNull(BeanUtils.getProperty(arg, CREATE_TIME))) { + BeanUtils.setProperty(arg, CREATE_TIME, date); + } + if (isProperty(arg, UPDATE_TIME) && StringUtils.isNull(BeanUtils.getProperty(arg, UPDATE_TIME))) { + BeanUtils.setProperty(arg, UPDATE_TIME, date); + } + } + } + Object object = point.proceed(); + return object; + } + + public static boolean isProperty(Object bean, String field) { + return StringUtils.isProperty(bean, field); + } + +} diff --git a/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/controller/AlipayPaymentController.java b/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/controller/AlipayPaymentController.java index 65ce94f7..13647de9 100644 --- a/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/controller/AlipayPaymentController.java +++ b/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/controller/AlipayPaymentController.java @@ -38,7 +38,7 @@ public class AlipayPaymentController { * @return */ @GetMapping("/payment") - @ApiOperation(value = "微信支付", notes = "传入order") + @ApiOperation(value = "微信支付") private String newPay() throws Exception { String orderNumber = "alipay" + DateUtils.timePath(); @@ -96,7 +96,7 @@ public class AlipayPaymentController { params.put(name, valueStr); } //调用SDK验证签名 - boolean signVerified = AlipaySignature.rsaCheckV1(params, environment.getProperty("ALIPAYPUBLICKEY"), "", "RSA2"); + boolean signVerified = AlipaySignature.rsaCheckV1(params, environment.getProperty("ALIPAYPUBLICKEY"), "utf-8", "RSA2"); //boolean类型signVerified为true时 则验证成功 if (signVerified) { //获取到支付的状态 TRADE_SUCCESS则支付成功 diff --git a/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/controller/WxPaymentController.java b/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/controller/WxPaymentController.java index 29299d12..fc8cbd53 100644 --- a/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/controller/WxPaymentController.java +++ b/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/controller/WxPaymentController.java @@ -59,7 +59,7 @@ public class WxPaymentController { private Environment environment; @GetMapping("/payment") - @ApiOperation(value = "微信支付", notes = "传入order") + @ApiOperation(value = "微信支付") public AjaxResult payment(HttpServletRequest servletRequest) throws Exception { String openid = servletRequest.getParameter("openid"); if (StringUtils.isNull(openid)) { @@ -409,7 +409,7 @@ public class WxPaymentController { * @return */ @GetMapping("/enterpriseCheckOut") - @ApiOperation(value = "企业退款", notes = "传入order") + @ApiOperation(value = "企业退款") public Object enterpriseCheckOut(String openid, double amount) { String reason = "退款申请"; return enterpriseOut(amount, openid, reason); @@ -563,7 +563,7 @@ public class WxPaymentController { } @GetMapping("/payment1") - @ApiOperation(value = "微信支付", notes = "传入order") + @ApiOperation(value = "微信支付") public AjaxResult payment1() { JSONObject jsonObject = new JSONObject(); JSONObject amount = new JSONObject(); diff --git a/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/controller/XhpcRechargeOrderController.java b/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/controller/XhpcRechargeOrderController.java new file mode 100644 index 00000000..8d30d689 --- /dev/null +++ b/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/controller/XhpcRechargeOrderController.java @@ -0,0 +1,48 @@ +package com.xhpc.payment.controller; + +import com.ruoyi.common.core.web.controller.BaseController; +import com.ruoyi.common.core.web.domain.AjaxResult; +import com.ruoyi.common.core.web.page.TableDataInfo; +import com.xhpc.payment.service.IXhpcRechargeOrderService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; +import java.util.Map; + +@RestController +@RequestMapping("/recharge/order") +@Api(value = "充值订单接口", tags = "充值订单接口") +public class XhpcRechargeOrderController extends BaseController { + + @Autowired + private IXhpcRechargeOrderService iXhpcRechargeOrderService; + + /** + * 充值订单详情 + * + * @param rechargeOrderId + * @return + */ + @GetMapping("/info") + @ApiOperation(value = "充值订单详情") + public AjaxResult info(@RequestParam Long rechargeOrderId) { + return AjaxResult.success(iXhpcRechargeOrderService.info(rechargeOrderId)); + } + + /** + * 充值订单页列表 + */ + //@PreAuthorize(hasPermi = "refund:order:page") + @GetMapping("/page") + public TableDataInfo page(String phone, String refundOrderNumber, String status, String createTimeStart, String createTimeEnd) { + startPage(); + List> list = iXhpcRechargeOrderService.page(phone, refundOrderNumber, status, createTimeStart, createTimeEnd); + return getDataTable(list); + } +} diff --git a/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/controller/XhpcRefundAuditController.java b/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/controller/XhpcRefundAuditController.java new file mode 100644 index 00000000..7016f2cc --- /dev/null +++ b/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/controller/XhpcRefundAuditController.java @@ -0,0 +1,45 @@ +package com.xhpc.payment.controller; + +import com.ruoyi.common.core.web.controller.BaseController; +import com.ruoyi.common.core.web.domain.AjaxResult; +import com.ruoyi.common.core.web.page.TableDataInfo; +import com.xhpc.payment.domain.XhpcRefundAudit; +import com.xhpc.payment.service.IXhpcRefundAuditService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Map; + +@RestController +@RequestMapping("/refund/audit") +@Api(value = "退款审核接口", tags = "退款审核接口") +public class XhpcRefundAuditController extends BaseController { + + @Autowired + private IXhpcRefundAuditService iXhpcRefundAuditService; + + /** + * 退款审核 + * + * @param xhpcRefundAudit + * @return + */ + @GetMapping("/examine") + @ApiOperation(value = "退款审核详情") + public AjaxResult info(@RequestBody XhpcRefundAudit xhpcRefundAudit) { + return AjaxResult.success(iXhpcRefundAuditService.insert(xhpcRefundAudit)); + } + + /** + * 退款审核页列表 + */ + //@PreAuthorize(hasPermi = "refund:audit:list") + @GetMapping("/list") + public TableDataInfo page(@RequestParam Long refundOrderId) { + List> list = iXhpcRefundAuditService.list(refundOrderId); + return getDataTable(list); + } +} diff --git a/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/controller/XhpcRefundOrderController.java b/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/controller/XhpcRefundOrderController.java new file mode 100644 index 00000000..a4c588d0 --- /dev/null +++ b/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/controller/XhpcRefundOrderController.java @@ -0,0 +1,48 @@ +package com.xhpc.payment.controller; + +import com.ruoyi.common.core.web.controller.BaseController; +import com.ruoyi.common.core.web.domain.AjaxResult; +import com.ruoyi.common.core.web.page.TableDataInfo; +import com.xhpc.payment.service.IXhpcRefundOrderService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; +import java.util.Map; + +@RestController +@RequestMapping("/refund/order") +@Api(value = "退款订单接口", tags = "退款订单接口") +public class XhpcRefundOrderController extends BaseController { + + @Autowired + private IXhpcRefundOrderService iXhpcRefundOrderService; + + /** + * 退款订单详情 + * + * @param refundOrderId + * @return + */ + @GetMapping("/info") + @ApiOperation(value = "退款订单详情") + public AjaxResult info(@RequestParam Long refundOrderId) { + return AjaxResult.success(iXhpcRefundOrderService.info(refundOrderId)); + } + + /** + * 退款订单页列表 + */ + //@PreAuthorize(hasPermi = "refund:order:page") + @GetMapping("/page") + public TableDataInfo page(String phone, String refundOrderNumber, String status, String createTimeStart, String createTimeEnd) { + startPage(); + List> list = iXhpcRefundOrderService.page(phone, refundOrderNumber, status, createTimeStart, createTimeEnd); + return getDataTable(list); + } +} diff --git a/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/domain/XhpcRechargeOrder.java b/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/domain/XhpcRechargeOrder.java index 8b2e6c76..7f83626b 100644 --- a/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/domain/XhpcRechargeOrder.java +++ b/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/domain/XhpcRechargeOrder.java @@ -6,8 +6,8 @@ import java.math.BigDecimal; /** - * @description 充值订单 xhpc_recharge_order * @author + * @description 充值订单 xhpc_recharge_order * @date 2021-07-22 */ public class XhpcRechargeOrder extends BaseEntity { @@ -23,6 +23,11 @@ public class XhpcRechargeOrder extends BaseEntity { */ private Long userId; + /** + * 充值订单编号 + */ + private Long rechargeOrderNumber; + /** * 微信支付订单号 */ diff --git a/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/domain/XhpcRefundAudit.java b/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/domain/XhpcRefundAudit.java new file mode 100644 index 00000000..e395a296 --- /dev/null +++ b/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/domain/XhpcRefundAudit.java @@ -0,0 +1,68 @@ +package com.xhpc.payment.domain; + +import com.ruoyi.common.core.web.domain.BaseEntity; + +import javax.validation.constraints.NotNull; + + +/** + * @author + * @description 退款审核 xhpc_refund_audit + * @date 2021-07-22 + */ +public class XhpcRefundAudit extends BaseEntity { + + /** + * 退款订单审核id + */ + private Long refundAuditId; + + /** + * 退款订单id + */ + @NotNull(message = "退款订单id不能为空") + private Long refundOrderId; + + /** + * 状态(0审核中 1审核通过,2审核不通过) + */ + @NotNull(message = "状态不能为空") + private Integer status; + + /** + * 删除标志(0代表存在 2代表删除) + */ + private Integer delFlag; + + public Long getRefundAuditId() { + return refundAuditId; + } + + public void setRefundAuditId(Long refundAuditId) { + this.refundAuditId = refundAuditId; + } + + public Long getRefundOrderId() { + return refundOrderId; + } + + public void setRefundOrderId(Long refundOrderId) { + this.refundOrderId = refundOrderId; + } + + public Integer getStatus() { + return status; + } + + public void setStatus(Integer status) { + this.status = status; + } + + public Integer getDelFlag() { + return delFlag; + } + + public void setDelFlag(Integer delFlag) { + this.delFlag = delFlag; + } +} diff --git a/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/domain/XhpcRefundOrder.java b/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/domain/XhpcRefundOrder.java new file mode 100644 index 00000000..7398f0f0 --- /dev/null +++ b/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/domain/XhpcRefundOrder.java @@ -0,0 +1,144 @@ +package com.xhpc.payment.domain; + +import com.ruoyi.common.core.web.domain.BaseEntity; + +import java.math.BigDecimal; + + +/** + * @author + * @description 退款订单 xhpc_refund_order + * @date 2021-07-22 + */ +public class XhpcRefundOrder extends BaseEntity { + + /** + * 退款订单审核id + */ + private Long refundAuditId; + + /** + * 退款订单id + */ + private Long refundOrderId; + + /** + * 退款订单编号 + */ + private String refundOrderNumber; + + /** + * 用户id + */ + private Long userId; + + /** + * 微信支付订单号 + */ + private String prepayId; + + /** + * 支付宝订单编号 + */ + private String alipayNumber; + + /** + * 充值金额 + */ + private BigDecimal amount; + + /** + * 退款渠道(1微信 2支付宝) + */ + private Integer type; + + /** + * 状态(0退款中 1退款成功,2退款失败,3退款异常) + */ + private Integer status; + + /** + * 删除标志(0代表存在 2代表删除) + */ + private Integer delFlag; + + public Long getRefundAuditId() { + return refundAuditId; + } + + public void setRefundAuditId(Long refundAuditId) { + this.refundAuditId = refundAuditId; + } + + public Long getRefundOrderId() { + return refundOrderId; + } + + public void setRefundOrderId(Long refundOrderId) { + this.refundOrderId = refundOrderId; + } + + public String getRefundOrderNumber() { + return refundOrderNumber; + } + + public void setRefundOrderNumber(String refundOrderNumber) { + this.refundOrderNumber = refundOrderNumber; + } + + public Long getUserId() { + return userId; + } + + public void setUserId(Long userId) { + this.userId = userId; + } + + public String getPrepayId() { + return prepayId; + } + + public void setPrepayId(String prepayId) { + this.prepayId = prepayId; + } + + public String getAlipayNumber() { + return alipayNumber; + } + + public void setAlipayNumber(String alipayNumber) { + this.alipayNumber = alipayNumber; + } + + public BigDecimal getAmount() { + return amount; + } + + public void setAmount(BigDecimal amount) { + this.amount = amount; + } + + public Integer getType() { + return type; + } + + public void setType(Integer type) { + this.type = type; + } + + public Integer getStatus() { + return status; + } + + public void setStatus(Integer status) { + this.status = status; + } + + public Integer getDelFlag() { + return delFlag; + } + + public void setDelFlag(Integer delFlag) { + this.delFlag = delFlag; + } +} diff --git a/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/mapper/XhpcRechargeOrderMapper.java b/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/mapper/XhpcRechargeOrderMapper.java index 5daa3cca..640430e9 100644 --- a/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/mapper/XhpcRechargeOrderMapper.java +++ b/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/mapper/XhpcRechargeOrderMapper.java @@ -29,7 +29,6 @@ public interface XhpcRechargeOrderMapper { */ public int update(XhpcRechargeOrder xhpcRechargeOrder); - /** * 查询充值订单详情 * @@ -38,5 +37,15 @@ public interface XhpcRechargeOrderMapper { */ public Map info(@Param("rechargeOrderId") Long rechargeOrderId); - + /** + * 充值订单分页列表 + * + * @param phone + * @param rechargeOrderNumber + * @param status + * @param createTimeStart + * @param createTimeEnd + * @return + */ + public List> page(@Param("phone") String phone, @Param("rechargeOrderNumber") String rechargeOrderNumber, @Param("status") String status, @Param("createTimeStart") String createTimeStart, @Param("createTimeEnd") String createTimeEnd); } diff --git a/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/mapper/XhpcRefundAuditMapper.java b/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/mapper/XhpcRefundAuditMapper.java new file mode 100644 index 00000000..bac758d6 --- /dev/null +++ b/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/mapper/XhpcRefundAuditMapper.java @@ -0,0 +1,31 @@ +package com.xhpc.payment.mapper; + +import com.xhpc.payment.domain.XhpcRefundAudit; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Map; + +/** + * 退款审核信息 数据层 + * + * @author ruoyi + */ +public interface XhpcRefundAuditMapper { + + /** + * 新增 退款审核信息 + * + * @param xhpcRefundAudit 退款审核信息 + * @return 结果 + */ + public int insert(XhpcRefundAudit xhpcRefundAudit); + + /** + * 退款审核列表 + * + * @param refundOrderId + * @return + */ + public List> list(@Param("refundOrderId") Long refundOrderId); +} diff --git a/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/mapper/XhpcRefundOrderMapper.java b/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/mapper/XhpcRefundOrderMapper.java new file mode 100644 index 00000000..553d2bf7 --- /dev/null +++ b/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/mapper/XhpcRefundOrderMapper.java @@ -0,0 +1,51 @@ +package com.xhpc.payment.mapper; + +import com.xhpc.payment.domain.XhpcRefundOrder; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Map; + +/** + * 退款订单信息 数据层 + * + * @author ruoyi + */ +public interface XhpcRefundOrderMapper { + + /** + * 新增 退款订单信息 + * + * @param xhpcRefundOrder 退款订单信息 + * @return 结果 + */ + public int insert(XhpcRefundOrder xhpcRefundOrder); + + /** + * 修改退款订单信息 + * + * @param xhpcRefundOrder 退款订单信息 + * @return 结果 + */ + public int update(XhpcRefundOrder xhpcRefundOrder); + + /** + * 查询退款订单详情 + * + * @param refundOrderId 退款订单id + * @return 结果 + */ + public Map info(@Param("refundOrderId") Long refundOrderId); + + /** + * 退款订单分页列表 + * + * @param phone + * @param refundOrderNumber + * @param status + * @param createTimeStart + * @param createTimeEnd + * @return + */ + public List> page(@Param("phone") String phone, @Param("refundOrderNumber") String refundOrderNumber, @Param("status") String status, @Param("createTimeStart") String createTimeStart, @Param("createTimeEnd") String createTimeEnd); +} diff --git a/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/service/IXhpcRechargeOrderService.java b/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/service/IXhpcRechargeOrderService.java index 7030514f..18302c69 100644 --- a/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/service/IXhpcRechargeOrderService.java +++ b/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/service/IXhpcRechargeOrderService.java @@ -1,8 +1,10 @@ package com.xhpc.payment.service; import com.xhpc.payment.domain.XhpcRechargeOrder; -import java.util.Map; +import java.math.BigDecimal; +import java.util.List; +import java.util.Map; /** * 充值订单信息 服务层 @@ -18,20 +20,43 @@ public interface IXhpcRechargeOrderService { */ public int update(XhpcRechargeOrder xhpcRechargeOrder); - /** * 充值订单详情 * - * @param appUserId 充值订单id + * @param rechargeOrderId 充值订单id * @return 结果 */ - public Map info(Long appUserId); + public Map info(Long rechargeOrderId); + + /** + * 充值订单分页列表 + * + * @param phone + * @param rechargeOrderNumber + * @param status + * @param createTimeStart + * @param createTimeEnd + * @return + */ + public List> page(String phone, String rechargeOrderNumber, String status, String createTimeStart, String createTimeEnd); /** * 新增 充值订单 - * @param openid - * @param amount + * + * @param appUserId C端用户id + * @param amount 充值金额 + * @param type 充值渠道(1微信 2支付宝) * @return */ - public XhpcRechargeOrder add(String openid,double amount); + public XhpcRechargeOrder addRechargeOrder(String appUserId, BigDecimal amount, String type); + + /** + * 修改订单状态 充值订单 + * + * @param rechargeOrderId 充值订单id + * @param status 状态(0待支付 1充值成功,2充值失败) + * @param type 充值渠道(1微信 2支付宝) + * @return + */ + public void updateRechargeOrder(Long rechargeOrderId, String type, String status, String paymentNumber); } \ No newline at end of file diff --git a/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/service/IXhpcRefundAuditService.java b/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/service/IXhpcRefundAuditService.java new file mode 100644 index 00000000..43b8fa81 --- /dev/null +++ b/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/service/IXhpcRefundAuditService.java @@ -0,0 +1,30 @@ +package com.xhpc.payment.service; + +import com.xhpc.payment.domain.XhpcRefundAudit; + +import java.util.List; +import java.util.Map; + +/** + * 退款审核信息 服务层 + * + * @author ruoyi + */ +public interface IXhpcRefundAuditService { + + /** + * 新增 退款审核 + * + * @param xhpcRefundAudit 退款审核 + */ + public int insert(XhpcRefundAudit xhpcRefundAudit); + + /** + * 退款审核列表 + * + * @param refundOrderId + * @return + */ + public List> list(Long refundOrderId); + +} \ No newline at end of file diff --git a/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/service/IXhpcRefundOrderService.java b/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/service/IXhpcRefundOrderService.java new file mode 100644 index 00000000..154979bc --- /dev/null +++ b/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/service/IXhpcRefundOrderService.java @@ -0,0 +1,62 @@ +package com.xhpc.payment.service; + +import com.xhpc.payment.domain.XhpcRefundOrder; + +import java.math.BigDecimal; +import java.util.List; +import java.util.Map; + +/** + * 退款订单信息 服务层 + * + * @author ruoyi + */ +public interface IXhpcRefundOrderService { + + /** + * 更新 退款订单 + * + * @param xhpcRefundOrder 退款订单 + */ + public int update(XhpcRefundOrder xhpcRefundOrder); + + /** + * 退款订单详情 + * + * @param refundOrderId 退款订单id + * @return 结果 + */ + public Map info(Long refundOrderId); + + /** + * 退款订单分页列表 + * + * @param phone + * @param refundOrderNumber + * @param status + * @param createTimeStart + * @param createTimeEnd + * @return + */ + public List> page(String phone, String refundOrderNumber, String status, String createTimeStart, String createTimeEnd); + + /** + * 新增 退款订单 + * + * @param appUserId C端用户id + * @param amount 充值金额 + * @param type 充值渠道(1微信 2支付宝) + * @return + */ + public XhpcRefundOrder addRefundOrder(String appUserId, BigDecimal amount, String type); + + /** + * 修改订单状态 退款订单 + * + * @param refundOrderId 退款订单id + * @param status 状态(0待支付 1充值成功,2充值失败) + * @param type 充值渠道(1微信 2支付宝) + * @return + */ + public void updateRefundOrder(Long refundOrderId, String type, String status, String paymentNumber); +} \ No newline at end of file diff --git a/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/service/impl/XhpcRechargeOrderServiceImpl.java b/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/service/impl/XhpcRechargeOrderServiceImpl.java index 02907185..8c4c87eb 100644 --- a/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/service/impl/XhpcRechargeOrderServiceImpl.java +++ b/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/service/impl/XhpcRechargeOrderServiceImpl.java @@ -6,6 +6,8 @@ import com.xhpc.payment.service.IXhpcRechargeOrderService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.math.BigDecimal; +import java.util.List; import java.util.Map; /** @@ -19,7 +21,6 @@ public class XhpcRechargeOrderServiceImpl implements IXhpcRechargeOrderService { @Autowired private XhpcRechargeOrderMapper xhpcRechargeOrderMapper; - /** * 更新 充值订单 * @@ -34,25 +35,65 @@ public class XhpcRechargeOrderServiceImpl implements IXhpcRechargeOrderService { /** * 充值订单详情 * - * @param appUserId 充值订单id + * @param rechargeOrderId 充值订单id * @return 结果 */ @Override - public Map info(Long appUserId) { - return xhpcRechargeOrderMapper.info(appUserId); + public Map info(Long rechargeOrderId) { + return xhpcRechargeOrderMapper.info(rechargeOrderId); + } + + /** + * 充值订单分页列表 + * + * @param phone + * @param rechargeOrderNumber + * @param status + * @param createTimeStart + * @param createTimeEnd + * @return + */ + @Override + public List> page(String phone, String rechargeOrderNumber, String status, String createTimeStart, String createTimeEnd) { + return xhpcRechargeOrderMapper.page(phone, rechargeOrderNumber, status, createTimeStart, createTimeEnd); } /** * 新增 充值订单 - * @param openid - * @param amount + * + * @param appUserId C端用户id + * @param amount 充值金额 + * @param type 充值渠道(1微信 2支付宝) * @return */ @Override - public XhpcRechargeOrder add(String openid,double amount) { + public XhpcRechargeOrder addRechargeOrder(String appUserId, BigDecimal amount, String type) { XhpcRechargeOrder xhpcRechargeOrder = new XhpcRechargeOrder(); + xhpcRechargeOrder.setUserId(Long.parseLong(appUserId)); + xhpcRechargeOrder.setAmount(amount); + xhpcRechargeOrder.setType(Integer.parseInt(type)); xhpcRechargeOrderMapper.insert(xhpcRechargeOrder); return xhpcRechargeOrder; } + /** + * 修改订单状态 充值订单 + * + * @param rechargeOrderId 充值订单id + * @param status 状态(0待支付 1充值成功,2充值失败) + * @param type 充值渠道(1微信 2支付宝) + * @return + */ + @Override + public void updateRechargeOrder(Long rechargeOrderId, String type, String status, String paymentNumber) { + XhpcRechargeOrder xhpcRechargeOrder = new XhpcRechargeOrder(); + xhpcRechargeOrder.setRechargeOrderId(rechargeOrderId); + xhpcRechargeOrder.setStatus(Integer.parseInt(status)); + if ("1".equals(type)) { + xhpcRechargeOrder.setPrepayId(paymentNumber); + } else { + xhpcRechargeOrder.setAlipayNumber(paymentNumber); + } + xhpcRechargeOrderMapper.update(xhpcRechargeOrder); + } } \ No newline at end of file diff --git a/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/service/impl/XhpcRefundAuditServiceImpl.java b/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/service/impl/XhpcRefundAuditServiceImpl.java new file mode 100644 index 00000000..fed3afae --- /dev/null +++ b/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/service/impl/XhpcRefundAuditServiceImpl.java @@ -0,0 +1,43 @@ +package com.xhpc.payment.service.impl; + +import com.xhpc.payment.domain.XhpcRefundAudit; +import com.xhpc.payment.mapper.XhpcRefundAuditMapper; +import com.xhpc.payment.service.IXhpcRefundAuditService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Map; + +/** + * 退款审核信息 服务层 + * + * @author ruoyi + */ +@Service +public class XhpcRefundAuditServiceImpl implements IXhpcRefundAuditService { + + @Autowired + private XhpcRefundAuditMapper xhpcRefundAuditMapper; + + /** + * 新增 退款审核 + * + * @param xhpcRefundAudit 退款审核 + */ + @Override + public int insert(XhpcRefundAudit xhpcRefundAudit) { + return xhpcRefundAuditMapper.insert(xhpcRefundAudit); + } + + /** + * 退款审核列表 + * + * @param refundOrderId + * @return + */ + @Override + public List> list(Long refundOrderId) { + return xhpcRefundAuditMapper.list(refundOrderId); + } +} \ No newline at end of file diff --git a/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/service/impl/XhpcRefundOrderServiceImpl.java b/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/service/impl/XhpcRefundOrderServiceImpl.java new file mode 100644 index 00000000..0ddcdc93 --- /dev/null +++ b/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/service/impl/XhpcRefundOrderServiceImpl.java @@ -0,0 +1,98 @@ +package com.xhpc.payment.service.impl; + +import com.xhpc.payment.domain.XhpcRefundOrder; +import com.xhpc.payment.mapper.XhpcRefundOrderMapper; +import com.xhpc.payment.service.IXhpcRefundOrderService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.math.BigDecimal; +import java.util.List; +import java.util.Map; + +/** + * 退款订单信息 服务层 + * + * @author ruoyi + */ +@Service +public class XhpcRefundOrderServiceImpl implements IXhpcRefundOrderService { + + @Autowired + private XhpcRefundOrderMapper xhpcRefundOrderMapper; + + /** + * 更新 退款订单 + * + * @param XhpcRefundOrder 退款订单 + */ + @Override + public int update(XhpcRefundOrder XhpcRefundOrder) { + return xhpcRefundOrderMapper.update(XhpcRefundOrder); + } + + /** + * 退款订单详情 + * + * @param rechargeOrderId 退款订单id + * @return 结果 + */ + @Override + public Map info(Long rechargeOrderId) { + return xhpcRefundOrderMapper.info(rechargeOrderId); + } + + /** + * 退款订单分页列表 + * + * @param phone + * @param rechargeOrderNumber + * @param status + * @param createTimeStart + * @param createTimeEnd + * @return + */ + @Override + public List> page(String phone, String rechargeOrderNumber, String status, String createTimeStart, String createTimeEnd) { + return xhpcRefundOrderMapper.page(phone, rechargeOrderNumber, status, createTimeStart, createTimeEnd); + } + + /** + * 新增 退款订单 + * + * @param appUserId C端用户id + * @param amount 充值金额 + * @param type 充值渠道(1微信 2支付宝) + * @return + */ + @Override + public XhpcRefundOrder addRefundOrder(String appUserId, BigDecimal amount, String type) { + XhpcRefundOrder XhpcRefundOrder = new XhpcRefundOrder(); + XhpcRefundOrder.setUserId(Long.parseLong(appUserId)); + XhpcRefundOrder.setAmount(amount); + XhpcRefundOrder.setType(Integer.parseInt(type)); + xhpcRefundOrderMapper.insert(XhpcRefundOrder); + return XhpcRefundOrder; + } + + /** + * 修改订单状态 退款订单 + * + * @param refundOrderId 退款订单id + * @param status 状态(0待支付 1充值成功,2充值失败) + * @param type 充值渠道(1微信 2支付宝) + * @return + */ + @Override + public void updateRefundOrder(Long refundOrderId, String type, String status, String paymentNumber) { + XhpcRefundOrder XhpcRefundOrder = new XhpcRefundOrder(); + XhpcRefundOrder.setRefundOrderId(refundOrderId); + XhpcRefundOrder.setStatus(Integer.parseInt(status)); + if ("1".equals(type)) { + XhpcRefundOrder.setPrepayId(paymentNumber); + } else { + XhpcRefundOrder.setAlipayNumber(paymentNumber); + } + xhpcRefundOrderMapper.update(XhpcRefundOrder); + } +} \ No newline at end of file diff --git a/xhpc-modules/xhpc-payment/src/main/resources/bootstrap.yml b/xhpc-modules/xhpc-payment/src/main/resources/bootstrap.yml index c596f5c4..260a050c 100644 --- a/xhpc-modules/xhpc-payment/src/main/resources/bootstrap.yml +++ b/xhpc-modules/xhpc-payment/src/main/resources/bootstrap.yml @@ -45,8 +45,8 @@ WXPAYUNIFIEDORDER: "https://api.mch.weixin.qq.com/pay/unifiedorder" #支付回调地址 SERVERDOMAIN: "https://cdz.project2.tingsun.net/wx/paymentCallback" #支付宝公钥 -ALIPAYPUBLICKEY: "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAjHDksTgZTpf0wh7oeTVRp0h3SqzTM2smjEJnx9jF1+q3WSXLRB4OzSzq7VsJ/szcyK10ZGO5PxeQ4u9GAG/U+7xhs7ei1cJB/Er55Sg9SbjfkTpwlDv181UJCRJJ/IAcqyqezwTpB8e2trYmHKovUdt0KR9/tVkGa7hsNd5GfxTOUaAFc3zADqRVM+wGimtG0NYfOF2f8tkmBEAiMMLKq5pbAnHU723a1cm/nfVp7gvXfsnO0k2GvRuHzb8mxIhWLiAnwdK9gEu5za/jWxo/xIvf2sdJPYdWj+yfyzA2e1fJkx4uRUzX31CXxZvP2/tfEcnTdI0gxN+OH2eAMiPVswIDAQAB"; +ALIPAYPUBLICKEY: "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAjHDksTgZTpf0wh7oeTVRp0h3SqzTM2smjEJnx9jF1+q3WSXLRB4OzSzq7VsJ/szcyK10ZGO5PxeQ4u9GAG/U+7xhs7ei1cJB/Er55Sg9SbjfkTpwlDv181UJCRJJ/IAcqyqezwTpB8e2trYmHKovUdt0KR9/tVkGa7hsNd5GfxTOUaAFc3zADqRVM+wGimtG0NYfOF2f8tkmBEAiMMLKq5pbAnHU723a1cm/nfVp7gvXfsnO0k2GvRuHzb8mxIhWLiAnwdK9gEu5za/jWxo/xIvf2sdJPYdWj+yfyzA2e1fJkx4uRUzX31CXxZvP2/tfEcnTdI0gxN+OH2eAMiPVswIDAQAB" #支付宝私钥 -ALIPAYPRIVATEKEY: "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCw3YH8KMvE7yH6C/rgnbXjml5NMvCcRNl+tbR9QEjl/9AdDIZaYvlQ72oKiOIk7GmDh3sB0YmiFnTcCj7cmKpZd2wLEP0nwwxTGTbBXi1bo/wQUI1a/mNA8rYZfwxfQZ07E28M2kMB+PE29clu+xo8TtjgiX7jofzEyQfES1uZMMDNLA+1cAYc0ZYo0NCJYEFpXm5SJHauC5+biQnOte49EbmzoXuYRap2RBf6suHEflAEgovk9L+hfPelXKG88lQNtg4w6jzNYRcuBa3IZlTJbLPGxH35eCMu0UGpa5EyH/nK+QrycESvEOfJ60urIU5FmOB2ikly2bgLLXZ43oedAgMBAAECggEBAKWt2qYsUTYaDOn/bvQayNh9Mvl+TocUt+lKrdjm72MFUB7mLLVfIc3/eIaF09Ji5DSiJUh+0T9VagL2VgyvtmQ4yq1TLNKilFkDtZdOcY72/pkJ3GDxDGk68/rOWPiirnc4rT6M91hRqySg+iFMeDcmZWNxabwzcmWlK/Fl5liJD03WNEuUNKE5qD9lQwgJEH9x8XxOtfgTk84UPoscOkHTsK7rhgcagbqT6q40DMfqzjoE0BxdTHAtuXbkhWP49UHFMzyilTbk/fQhpxngqnTXsnS8R8gzg/r5xFmss88yVTWCcjonjkBQGuyuyXIgEHhIrAt8WwXHODqlnttglMECgYEA+bE2G6zKoeQ4ZMmCgj9s894BB8dwtY3u4veM/F2g7b1qt6gh6KCRb+yHv0sOUCVLGsc6mbh/pcw2Ply68ZRleysAog7tAnNIw3YQJtYM1+5To9dCElq0oLBCU8szYgvIrwla00uHFkovrspn4HCwVDmJyQC3Dk9zICP44RlXCyMCgYEAtVVQ4c/mTtkym0iy10YY1HskWiOwAjb0/VnTkXsclePfX/ld3EfUwCeRn93ANhm7Fql8emiU9K5nTx1n/erGhT4AyzMLf3/y4KhIJRa+4dhae6J0W3Sd9oZOnXUiC0WsVxEMVn2BIa9HMFaKdyrKGiu2Vmzqn0Y39xpjPzwrrj8CgYB1MpmMCeGedUmG/RJ14iFYocZoCVO8097hx4H0XloP3M1/YLpxvxQkrafVwPv54FdNPWAjEPdRMfXv9YSFqbqsQjXs2waiFMx9eigAoo2quKGnkHzhspN/rNulCwaWKaPLjJ+F97hzXOTerQBu11XcYplqsBw76kzGNDw4I7W4cwKBgGkAHxay6PyNXnV2kkB/kY8wQyuC8L9HjXNK2WyrajENQ2JypjwQyAwAnZ2BrXRmT+ReffrvphlNB/tS3s20bgHnllQTmbvZng0ixKvdUOi7/CENP+1ZSMLgoJMiqXT3gkTkVU2b3PNhaIqAAivg9ihTWYEQDofuBCgs+n06XVzHAoGAcJKdJR2PPMIkfS7zHec02pZGLiC1mvxQx4rjKKT+OvIyD98KipWCDXieYKseqN2V6EjZE/Nhekpi2Bybhrm8iSQoiJilwaQ33DoBYCnW/pjfwxVLM7ch3fQGsOxJMFLcEC8KLu2k/nZkTGCrfJzmcB9ODA2pfaVXfTA57KIPxuk="; +ALIPAYPRIVATEKEY: "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCw3YH8KMvE7yH6C/rgnbXjml5NMvCcRNl+tbR9QEjl/9AdDIZaYvlQ72oKiOIk7GmDh3sB0YmiFnTcCj7cmKpZd2wLEP0nwwxTGTbBXi1bo/wQUI1a/mNA8rYZfwxfQZ07E28M2kMB+PE29clu+xo8TtjgiX7jofzEyQfES1uZMMDNLA+1cAYc0ZYo0NCJYEFpXm5SJHauC5+biQnOte49EbmzoXuYRap2RBf6suHEflAEgovk9L+hfPelXKG88lQNtg4w6jzNYRcuBa3IZlTJbLPGxH35eCMu0UGpa5EyH/nK+QrycESvEOfJ60urIU5FmOB2ikly2bgLLXZ43oedAgMBAAECggEBAKWt2qYsUTYaDOn/bvQayNh9Mvl+TocUt+lKrdjm72MFUB7mLLVfIc3/eIaF09Ji5DSiJUh+0T9VagL2VgyvtmQ4yq1TLNKilFkDtZdOcY72/pkJ3GDxDGk68/rOWPiirnc4rT6M91hRqySg+iFMeDcmZWNxabwzcmWlK/Fl5liJD03WNEuUNKE5qD9lQwgJEH9x8XxOtfgTk84UPoscOkHTsK7rhgcagbqT6q40DMfqzjoE0BxdTHAtuXbkhWP49UHFMzyilTbk/fQhpxngqnTXsnS8R8gzg/r5xFmss88yVTWCcjonjkBQGuyuyXIgEHhIrAt8WwXHODqlnttglMECgYEA+bE2G6zKoeQ4ZMmCgj9s894BB8dwtY3u4veM/F2g7b1qt6gh6KCRb+yHv0sOUCVLGsc6mbh/pcw2Ply68ZRleysAog7tAnNIw3YQJtYM1+5To9dCElq0oLBCU8szYgvIrwla00uHFkovrspn4HCwVDmJyQC3Dk9zICP44RlXCyMCgYEAtVVQ4c/mTtkym0iy10YY1HskWiOwAjb0/VnTkXsclePfX/ld3EfUwCeRn93ANhm7Fql8emiU9K5nTx1n/erGhT4AyzMLf3/y4KhIJRa+4dhae6J0W3Sd9oZOnXUiC0WsVxEMVn2BIa9HMFaKdyrKGiu2Vmzqn0Y39xpjPzwrrj8CgYB1MpmMCeGedUmG/RJ14iFYocZoCVO8097hx4H0XloP3M1/YLpxvxQkrafVwPv54FdNPWAjEPdRMfXv9YSFqbqsQjXs2waiFMx9eigAoo2quKGnkHzhspN/rNulCwaWKaPLjJ+F97hzXOTerQBu11XcYplqsBw76kzGNDw4I7W4cwKBgGkAHxay6PyNXnV2kkB/kY8wQyuC8L9HjXNK2WyrajENQ2JypjwQyAwAnZ2BrXRmT+ReffrvphlNB/tS3s20bgHnllQTmbvZng0ixKvdUOi7/CENP+1ZSMLgoJMiqXT3gkTkVU2b3PNhaIqAAivg9ihTWYEQDofuBCgs+n06XVzHAoGAcJKdJR2PPMIkfS7zHec02pZGLiC1mvxQx4rjKKT+OvIyD98KipWCDXieYKseqN2V6EjZE/Nhekpi2Bybhrm8iSQoiJilwaQ33DoBYCnW/pjfwxVLM7ch3fQGsOxJMFLcEC8KLu2k/nZkTGCrfJzmcB9ODA2pfaVXfTA57KIPxuk=" #支付宝appid -ALIPAYAPPID: "2021002156615717"; \ No newline at end of file +ALIPAYAPPID: "2021002156615717" \ No newline at end of file diff --git a/xhpc-modules/xhpc-payment/src/main/resources/mapper/XhpcRechargeOrderMapper.xml b/xhpc-modules/xhpc-payment/src/main/resources/mapper/XhpcRechargeOrderMapper.xml index 8fcc7474..49d67a80 100644 --- a/xhpc-modules/xhpc-payment/src/main/resources/mapper/XhpcRechargeOrderMapper.xml +++ b/xhpc-modules/xhpc-payment/src/main/resources/mapper/XhpcRechargeOrderMapper.xml @@ -20,15 +20,16 @@ - + INSERT INTO xhpc_recharge_order - - recharge_order_id, - user_id, + + recharge_order_number, + prepay_id, @@ -64,12 +65,12 @@ - - #{rechargeOrderId}, - #{userId}, + + #{rechargeOrderNumber}, + #{prepayId}, @@ -110,6 +111,9 @@ UPDATE xhpc_recharge_order user_id = #{userId}, + recharge_order_number = + #{rechargeOrderNumber}, + prepay_id = #{prepayId}, alipay_number = #{alipayNumber}, amount = #{amount}, @@ -126,9 +130,39 @@ + + \ No newline at end of file diff --git a/xhpc-modules/xhpc-payment/src/main/resources/mapper/XhpcRefundAuditMapper.xml b/xhpc-modules/xhpc-payment/src/main/resources/mapper/XhpcRefundAuditMapper.xml new file mode 100644 index 00000000..838f46bb --- /dev/null +++ b/xhpc-modules/xhpc-payment/src/main/resources/mapper/XhpcRefundAuditMapper.xml @@ -0,0 +1,90 @@ + + + + + + + + + + + + + + + + + + INSERT INTO xhpc_recharge_order + + + refund_order_id, + + + status, + + + del_flag, + + + create_time, + + + create_by, + + + update_time, + + + update_by, + + + remark + + + + + #{refundOrderId}, + + + #{status}, + + + #{delFlag}, + + + #{createTime}, + + + #{createBy}, + + + #{updateTime}, + + + #{updateBy}, + + + #{remark} + + + + + + + \ No newline at end of file diff --git a/xhpc-modules/xhpc-payment/src/main/resources/mapper/XhpcRefundOrderMapper.xml b/xhpc-modules/xhpc-payment/src/main/resources/mapper/XhpcRefundOrderMapper.xml new file mode 100644 index 00000000..68204997 --- /dev/null +++ b/xhpc-modules/xhpc-payment/src/main/resources/mapper/XhpcRefundOrderMapper.xml @@ -0,0 +1,169 @@ + + + + + + + + + + + + + + + + + + + + + + + INSERT INTO xhpc_recharge_order + + + refund_order_number, + + + user_id, + + + prepay_id, + + + alipay_number, + + + amount, + + + type, + + + status, + + + del_flag, + + + create_time, + + + create_by, + + + update_time, + + + update_by, + + + remark + + + + + #{refundOrderNumber}, + + + #{userId}, + + + #{prepayId}, + + + #{alipayNumber}, + + + #{amount}, + + + #{type}, + + + #{status}, + + + #{delFlag}, + + + #{createTime}, + + + #{createBy}, + + + #{updateTime}, + + + #{updateBy}, + + + #{remark} + + + + + + UPDATE xhpc_recharge_order + + refund_order_number = + #{refundOrderNumber}, + + user_id = #{userId}, + prepay_id = #{prepayId}, + alipay_number = #{alipayNumber}, + amount = #{amount}, + type = #{type}, + status = #{status}, + del_flag = #{delFlag}, + create_time = #{createTime}, + create_by = #{createBy}, + update_time = #{updateTime}, + update_by = #{updateBy}, + remark = #{remark} + + WHERE refund_order_id = #{refundOrderId} + + + + + + + \ No newline at end of file diff --git a/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/controller/XhpcAppUserController.java b/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/controller/XhpcAppUserController.java index 8625d0ea..6b2a1c45 100644 --- a/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/controller/XhpcAppUserController.java +++ b/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/controller/XhpcAppUserController.java @@ -214,13 +214,10 @@ public class XhpcAppUserController extends BaseController { @ApiOperation("支付宝授权") @PostMapping("/alipayEmpower") public AjaxResult alipayEmpower(@RequestParam String code) throws Exception { - String alipayPublicKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAjHDksTgZTpf0wh7oeTVRp0h3SqzTM2smjEJnx9jF1+q3WSXLRB4OzSzq7VsJ/szcyK10ZGO5PxeQ4u9GAG/U+7xhs7ei1cJB/Er55Sg9SbjfkTpwlDv181UJCRJJ/IAcqyqezwTpB8e2trYmHKovUdt0KR9/tVkGa7hsNd5GfxTOUaAFc3zADqRVM+wGimtG0NYfOF2f8tkmBEAiMMLKq5pbAnHU723a1cm/nfVp7gvXfsnO0k2GvRuHzb8mxIhWLiAnwdK9gEu5za/jWxo/xIvf2sdJPYdWj+yfyzA2e1fJkx4uRUzX31CXxZvP2/tfEcnTdI0gxN+OH2eAMiPVswIDAQAB"; - String privateKey = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCw3YH8KMvE7yH6C/rgnbXjml5NMvCcRNl+tbR9QEjl/9AdDIZaYvlQ72oKiOIk7GmDh3sB0YmiFnTcCj7cmKpZd2wLEP0nwwxTGTbBXi1bo/wQUI1a/mNA8rYZfwxfQZ07E28M2kMB+PE29clu+xo8TtjgiX7jofzEyQfES1uZMMDNLA+1cAYc0ZYo0NCJYEFpXm5SJHauC5+biQnOte49EbmzoXuYRap2RBf6suHEflAEgovk9L+hfPelXKG88lQNtg4w6jzNYRcuBa3IZlTJbLPGxH35eCMu0UGpa5EyH/nK+QrycESvEOfJ60urIU5FmOB2ikly2bgLLXZ43oedAgMBAAECggEBAKWt2qYsUTYaDOn/bvQayNh9Mvl+TocUt+lKrdjm72MFUB7mLLVfIc3/eIaF09Ji5DSiJUh+0T9VagL2VgyvtmQ4yq1TLNKilFkDtZdOcY72/pkJ3GDxDGk68/rOWPiirnc4rT6M91hRqySg+iFMeDcmZWNxabwzcmWlK/Fl5liJD03WNEuUNKE5qD9lQwgJEH9x8XxOtfgTk84UPoscOkHTsK7rhgcagbqT6q40DMfqzjoE0BxdTHAtuXbkhWP49UHFMzyilTbk/fQhpxngqnTXsnS8R8gzg/r5xFmss88yVTWCcjonjkBQGuyuyXIgEHhIrAt8WwXHODqlnttglMECgYEA+bE2G6zKoeQ4ZMmCgj9s894BB8dwtY3u4veM/F2g7b1qt6gh6KCRb+yHv0sOUCVLGsc6mbh/pcw2Ply68ZRleysAog7tAnNIw3YQJtYM1+5To9dCElq0oLBCU8szYgvIrwla00uHFkovrspn4HCwVDmJyQC3Dk9zICP44RlXCyMCgYEAtVVQ4c/mTtkym0iy10YY1HskWiOwAjb0/VnTkXsclePfX/ld3EfUwCeRn93ANhm7Fql8emiU9K5nTx1n/erGhT4AyzMLf3/y4KhIJRa+4dhae6J0W3Sd9oZOnXUiC0WsVxEMVn2BIa9HMFaKdyrKGiu2Vmzqn0Y39xpjPzwrrj8CgYB1MpmMCeGedUmG/RJ14iFYocZoCVO8097hx4H0XloP3M1/YLpxvxQkrafVwPv54FdNPWAjEPdRMfXv9YSFqbqsQjXs2waiFMx9eigAoo2quKGnkHzhspN/rNulCwaWKaPLjJ+F97hzXOTerQBu11XcYplqsBw76kzGNDw4I7W4cwKBgGkAHxay6PyNXnV2kkB/kY8wQyuC8L9HjXNK2WyrajENQ2JypjwQyAwAnZ2BrXRmT+ReffrvphlNB/tS3s20bgHnllQTmbvZng0ixKvdUOi7/CENP+1ZSMLgoJMiqXT3gkTkVU2b3PNhaIqAAivg9ihTWYEQDofuBCgs+n06XVzHAoGAcJKdJR2PPMIkfS7zHec02pZGLiC1mvxQx4rjKKT+OvIyD98KipWCDXieYKseqN2V6EjZE/Nhekpi2Bybhrm8iSQoiJilwaQ33DoBYCnW/pjfwxVLM7ch3fQGsOxJMFLcEC8KLu2k/nZkTGCrfJzmcB9ODA2pfaVXfTA57KIPxuk="; - String appId = "2021002156615717"; - AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", appId, privateKey, "json", "GBK", alipayPublicKey, "RSA2"); + AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", environment.getProperty("ALIPAYAPPID"), environment.getProperty("ALIPAYPRIVATEKEY"), "json", "utf-8", environment.getProperty("ALIPAYPUBLICKEY"), "RSA2"); AlipaySystemOauthTokenRequest request = new AlipaySystemOauthTokenRequest(); request.setGrantType("authorization_code"); - request.setCode("4b203fe6c11548bcabd8da5bb087a83b"); + request.setCode(code); AlipaySystemOauthTokenResponse response = alipayClient.execute(request); if (response.isSuccess()) { System.out.println("调用成功"); diff --git a/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/domain/XhpcStationInternetBlacklist.java b/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/domain/XhpcStationInternetBlacklist.java index 1d770413..d8c68897 100644 --- a/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/domain/XhpcStationInternetBlacklist.java +++ b/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/domain/XhpcStationInternetBlacklist.java @@ -16,9 +16,9 @@ public class XhpcStationInternetBlacklist implements Serializable { /** - * 运营者子账号权限id + * 流量用户设置流量方黑名单 */ - private Long xhpcUserPrivilegeId; + private Long xhpcStationInternetBlackId; /** * 流量用户id @@ -81,12 +81,13 @@ public class XhpcStationInternetBlacklist implements Serializable { this.chargingStationId = chargingStationId; } - public Long getXhpcUserPrivilegeId() { - return xhpcUserPrivilegeId; + + public Long getXhpcStationInternetBlackId() { + return xhpcStationInternetBlackId; } - public void setXhpcUserPrivilegeId(Long xhpcUserPrivilegeId) { - this.xhpcUserPrivilegeId = xhpcUserPrivilegeId; + public void setXhpcStationInternetBlackId(Long xhpcStationInternetBlackId) { + this.xhpcStationInternetBlackId = xhpcStationInternetBlackId; } public Integer getStatus() { diff --git a/xhpc-modules/xhpc-user/src/main/resources/bootstrap.yml b/xhpc-modules/xhpc-user/src/main/resources/bootstrap.yml index 92e0f767..a4c05c68 100644 --- a/xhpc-modules/xhpc-user/src/main/resources/bootstrap.yml +++ b/xhpc-modules/xhpc-user/src/main/resources/bootstrap.yml @@ -30,8 +30,8 @@ spring: #获取微信openid地址 WXGETJSCODE: "https://api.weixin.qq.com/sns/jscode2session?appid=wxd0a48e00319ef8a7&secret=e26d9088b58e24af69411d5933cece47&js_code=" #支付宝公钥 -ALIPAYPUBLICKEY: "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAjHDksTgZTpf0wh7oeTVRp0h3SqzTM2smjEJnx9jF1+q3WSXLRB4OzSzq7VsJ/szcyK10ZGO5PxeQ4u9GAG/U+7xhs7ei1cJB/Er55Sg9SbjfkTpwlDv181UJCRJJ/IAcqyqezwTpB8e2trYmHKovUdt0KR9/tVkGa7hsNd5GfxTOUaAFc3zADqRVM+wGimtG0NYfOF2f8tkmBEAiMMLKq5pbAnHU723a1cm/nfVp7gvXfsnO0k2GvRuHzb8mxIhWLiAnwdK9gEu5za/jWxo/xIvf2sdJPYdWj+yfyzA2e1fJkx4uRUzX31CXxZvP2/tfEcnTdI0gxN+OH2eAMiPVswIDAQAB"; +ALIPAYPUBLICKEY: "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAjHDksTgZTpf0wh7oeTVRp0h3SqzTM2smjEJnx9jF1+q3WSXLRB4OzSzq7VsJ/szcyK10ZGO5PxeQ4u9GAG/U+7xhs7ei1cJB/Er55Sg9SbjfkTpwlDv181UJCRJJ/IAcqyqezwTpB8e2trYmHKovUdt0KR9/tVkGa7hsNd5GfxTOUaAFc3zADqRVM+wGimtG0NYfOF2f8tkmBEAiMMLKq5pbAnHU723a1cm/nfVp7gvXfsnO0k2GvRuHzb8mxIhWLiAnwdK9gEu5za/jWxo/xIvf2sdJPYdWj+yfyzA2e1fJkx4uRUzX31CXxZvP2/tfEcnTdI0gxN+OH2eAMiPVswIDAQAB" #支付宝私钥 -ALIPAYPRIVATEKEY: "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCw3YH8KMvE7yH6C/rgnbXjml5NMvCcRNl+tbR9QEjl/9AdDIZaYvlQ72oKiOIk7GmDh3sB0YmiFnTcCj7cmKpZd2wLEP0nwwxTGTbBXi1bo/wQUI1a/mNA8rYZfwxfQZ07E28M2kMB+PE29clu+xo8TtjgiX7jofzEyQfES1uZMMDNLA+1cAYc0ZYo0NCJYEFpXm5SJHauC5+biQnOte49EbmzoXuYRap2RBf6suHEflAEgovk9L+hfPelXKG88lQNtg4w6jzNYRcuBa3IZlTJbLPGxH35eCMu0UGpa5EyH/nK+QrycESvEOfJ60urIU5FmOB2ikly2bgLLXZ43oedAgMBAAECggEBAKWt2qYsUTYaDOn/bvQayNh9Mvl+TocUt+lKrdjm72MFUB7mLLVfIc3/eIaF09Ji5DSiJUh+0T9VagL2VgyvtmQ4yq1TLNKilFkDtZdOcY72/pkJ3GDxDGk68/rOWPiirnc4rT6M91hRqySg+iFMeDcmZWNxabwzcmWlK/Fl5liJD03WNEuUNKE5qD9lQwgJEH9x8XxOtfgTk84UPoscOkHTsK7rhgcagbqT6q40DMfqzjoE0BxdTHAtuXbkhWP49UHFMzyilTbk/fQhpxngqnTXsnS8R8gzg/r5xFmss88yVTWCcjonjkBQGuyuyXIgEHhIrAt8WwXHODqlnttglMECgYEA+bE2G6zKoeQ4ZMmCgj9s894BB8dwtY3u4veM/F2g7b1qt6gh6KCRb+yHv0sOUCVLGsc6mbh/pcw2Ply68ZRleysAog7tAnNIw3YQJtYM1+5To9dCElq0oLBCU8szYgvIrwla00uHFkovrspn4HCwVDmJyQC3Dk9zICP44RlXCyMCgYEAtVVQ4c/mTtkym0iy10YY1HskWiOwAjb0/VnTkXsclePfX/ld3EfUwCeRn93ANhm7Fql8emiU9K5nTx1n/erGhT4AyzMLf3/y4KhIJRa+4dhae6J0W3Sd9oZOnXUiC0WsVxEMVn2BIa9HMFaKdyrKGiu2Vmzqn0Y39xpjPzwrrj8CgYB1MpmMCeGedUmG/RJ14iFYocZoCVO8097hx4H0XloP3M1/YLpxvxQkrafVwPv54FdNPWAjEPdRMfXv9YSFqbqsQjXs2waiFMx9eigAoo2quKGnkHzhspN/rNulCwaWKaPLjJ+F97hzXOTerQBu11XcYplqsBw76kzGNDw4I7W4cwKBgGkAHxay6PyNXnV2kkB/kY8wQyuC8L9HjXNK2WyrajENQ2JypjwQyAwAnZ2BrXRmT+ReffrvphlNB/tS3s20bgHnllQTmbvZng0ixKvdUOi7/CENP+1ZSMLgoJMiqXT3gkTkVU2b3PNhaIqAAivg9ihTWYEQDofuBCgs+n06XVzHAoGAcJKdJR2PPMIkfS7zHec02pZGLiC1mvxQx4rjKKT+OvIyD98KipWCDXieYKseqN2V6EjZE/Nhekpi2Bybhrm8iSQoiJilwaQ33DoBYCnW/pjfwxVLM7ch3fQGsOxJMFLcEC8KLu2k/nZkTGCrfJzmcB9ODA2pfaVXfTA57KIPxuk="; +ALIPAYPRIVATEKEY: "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCw3YH8KMvE7yH6C/rgnbXjml5NMvCcRNl+tbR9QEjl/9AdDIZaYvlQ72oKiOIk7GmDh3sB0YmiFnTcCj7cmKpZd2wLEP0nwwxTGTbBXi1bo/wQUI1a/mNA8rYZfwxfQZ07E28M2kMB+PE29clu+xo8TtjgiX7jofzEyQfES1uZMMDNLA+1cAYc0ZYo0NCJYEFpXm5SJHauC5+biQnOte49EbmzoXuYRap2RBf6suHEflAEgovk9L+hfPelXKG88lQNtg4w6jzNYRcuBa3IZlTJbLPGxH35eCMu0UGpa5EyH/nK+QrycESvEOfJ60urIU5FmOB2ikly2bgLLXZ43oedAgMBAAECggEBAKWt2qYsUTYaDOn/bvQayNh9Mvl+TocUt+lKrdjm72MFUB7mLLVfIc3/eIaF09Ji5DSiJUh+0T9VagL2VgyvtmQ4yq1TLNKilFkDtZdOcY72/pkJ3GDxDGk68/rOWPiirnc4rT6M91hRqySg+iFMeDcmZWNxabwzcmWlK/Fl5liJD03WNEuUNKE5qD9lQwgJEH9x8XxOtfgTk84UPoscOkHTsK7rhgcagbqT6q40DMfqzjoE0BxdTHAtuXbkhWP49UHFMzyilTbk/fQhpxngqnTXsnS8R8gzg/r5xFmss88yVTWCcjonjkBQGuyuyXIgEHhIrAt8WwXHODqlnttglMECgYEA+bE2G6zKoeQ4ZMmCgj9s894BB8dwtY3u4veM/F2g7b1qt6gh6KCRb+yHv0sOUCVLGsc6mbh/pcw2Ply68ZRleysAog7tAnNIw3YQJtYM1+5To9dCElq0oLBCU8szYgvIrwla00uHFkovrspn4HCwVDmJyQC3Dk9zICP44RlXCyMCgYEAtVVQ4c/mTtkym0iy10YY1HskWiOwAjb0/VnTkXsclePfX/ld3EfUwCeRn93ANhm7Fql8emiU9K5nTx1n/erGhT4AyzMLf3/y4KhIJRa+4dhae6J0W3Sd9oZOnXUiC0WsVxEMVn2BIa9HMFaKdyrKGiu2Vmzqn0Y39xpjPzwrrj8CgYB1MpmMCeGedUmG/RJ14iFYocZoCVO8097hx4H0XloP3M1/YLpxvxQkrafVwPv54FdNPWAjEPdRMfXv9YSFqbqsQjXs2waiFMx9eigAoo2quKGnkHzhspN/rNulCwaWKaPLjJ+F97hzXOTerQBu11XcYplqsBw76kzGNDw4I7W4cwKBgGkAHxay6PyNXnV2kkB/kY8wQyuC8L9HjXNK2WyrajENQ2JypjwQyAwAnZ2BrXRmT+ReffrvphlNB/tS3s20bgHnllQTmbvZng0ixKvdUOi7/CENP+1ZSMLgoJMiqXT3gkTkVU2b3PNhaIqAAivg9ihTWYEQDofuBCgs+n06XVzHAoGAcJKdJR2PPMIkfS7zHec02pZGLiC1mvxQx4rjKKT+OvIyD98KipWCDXieYKseqN2V6EjZE/Nhekpi2Bybhrm8iSQoiJilwaQ33DoBYCnW/pjfwxVLM7ch3fQGsOxJMFLcEC8KLu2k/nZkTGCrfJzmcB9ODA2pfaVXfTA57KIPxuk=" #支付宝appid -ALIPAYAPPID: "2021002156615717"; \ No newline at end of file +ALIPAYAPPID: "2021002156615717" \ No newline at end of file diff --git a/xhpc-modules/xhpc-user/src/main/resources/mapper/XhpcAppUserMapper.xml b/xhpc-modules/xhpc-user/src/main/resources/mapper/XhpcAppUserMapper.xml deleted file mode 100644 index 1029d1b4..00000000 --- a/xhpc-modules/xhpc-user/src/main/resources/mapper/XhpcAppUserMapper.xml +++ /dev/null @@ -1,191 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - INSERT INTO xhpc_app_user - - - app_user_id, - - - phone, - - - weixin_open_id, - - - alipay_open_id, - - - weixin_login, - - - alipay_login, - - - avatar, - - - balance, - - - password, - - - status, - - - del_flag, - - - create_by, - - - create_time, - - - update_by, - - - update_time, - - - remark - - - - - #{appUserId}, - - - #{phone}, - - - #{weixinOpenId}, - - - #{alipayOpenId}, - - - #{weixinLogin}, - - - #{alipayLogin}, - - - #{avatar}, - - - #{balance}, - - - #{password}, - - - #{status}, - - - #{delFlag}, - - - #{createBy}, - - - #{createTime}, - - - #{updateBy}, - - - #{updateTime}, - - - #{remark} - - - - - - UPDATE xhpc_app_user - - phone = #{phone}, - weixin_open_id = #{weixinOpenId}, - alipay_open_id = #{alipayOpenId}, - weixin_login = #{weixinLogin}, - alipay_login = #{alipayLogin}, - avatar = #{avatar}, - balance = #{balance}, - password = #{password}, - status = #{status}, - del_flag = #{delFlag}, - create_by = #{createBy}, - create_time = #{createTime}, - update_by = #{updateBy}, - update_time = #{updateTime}, - remark = #{remark} - - WHERE app_user_id = #{appUserId} - - - - delete from xhpc_app_user where app_user_id = #{appUserId} - - - - - - - - - - \ No newline at end of file diff --git a/xhpc-modules/xhpc-user/src/main/resources/mapper/XhpcInternetUserMapper.xml b/xhpc-modules/xhpc-user/src/main/resources/mapper/XhpcInternetUserMapper.xml index c9f08dbd..d15c7662 100644 --- a/xhpc-modules/xhpc-user/src/main/resources/mapper/XhpcInternetUserMapper.xml +++ b/xhpc-modules/xhpc-user/src/main/resources/mapper/XhpcInternetUserMapper.xml @@ -32,12 +32,11 @@ - + INSERT INTO xhpc_internet_user - - internet_user_id, - + name, @@ -109,9 +108,6 @@ - - #{internetUserId}, - #{name}, diff --git a/xhpc-modules/xhpc-user/src/main/resources/mapper/XhpcOperatorInternetBlacklistMapper.xml b/xhpc-modules/xhpc-user/src/main/resources/mapper/XhpcOperatorInternetBlacklistMapper.xml index 8b1b76dc..d7c6243e 100644 --- a/xhpc-modules/xhpc-user/src/main/resources/mapper/XhpcOperatorInternetBlacklistMapper.xml +++ b/xhpc-modules/xhpc-user/src/main/resources/mapper/XhpcOperatorInternetBlacklistMapper.xml @@ -17,12 +17,10 @@ - + insert into xhpc_operator_internet_blacklist - - xhpc_operator_internet_blacklist_id, - operator_id, @@ -49,9 +47,6 @@ - - #{xhpcOperatorInternetBlacklistId}, - #{operatorId}, diff --git a/xhpc-modules/xhpc-user/src/main/resources/mapper/XhpcOperatorMapper.xml b/xhpc-modules/xhpc-user/src/main/resources/mapper/XhpcOperatorMapper.xml index da0dd443..9f66c0e1 100644 --- a/xhpc-modules/xhpc-user/src/main/resources/mapper/XhpcOperatorMapper.xml +++ b/xhpc-modules/xhpc-user/src/main/resources/mapper/XhpcOperatorMapper.xml @@ -42,12 +42,10 @@ xo.create_by createBy, xo.update_time updateTime, xo.update_by updateBy, xo.remark - + insert into xhpc_operator - - operator_id, - name, @@ -119,10 +117,6 @@ - - - #{operatorId}, - #{name}, diff --git a/xhpc-modules/xhpc-user/src/main/resources/mapper/XhpcStationInternetBlacklistMapper.xml b/xhpc-modules/xhpc-user/src/main/resources/mapper/XhpcStationInternetBlacklistMapper.xml index cb02b0b8..580027fe 100644 --- a/xhpc-modules/xhpc-user/src/main/resources/mapper/XhpcStationInternetBlacklistMapper.xml +++ b/xhpc-modules/xhpc-user/src/main/resources/mapper/XhpcStationInternetBlacklistMapper.xml @@ -5,8 +5,8 @@ - - + + @@ -17,43 +17,38 @@ - - insert into xhpc_operator_internet_blacklist + + insert into xhpc_station_internet_blacklist - - xhpc_user_privilege_id, - - - user_id, - - - charging_station_id, - - - status, - - - create_time, - - - create_by, - - - update_time, - - - update_by, - - - remark - + + internet_user_id, + + + charging_station_id, + + + status, + + + create_time, + + + create_by, + + + update_time, + + + update_by, + + + remark + - - #{xhpcUserPrivilegeId}, - - - #{userId}, + + #{internetUserId}, #{chargingStationId}, @@ -61,13 +56,13 @@ #{status}, - + #{createTime}, #{createBy}, - + #{updateTime},