1修改支付服务

2新增订单服务
3新增财务接口
This commit is contained in:
fengjundan 2021-07-24 18:07:51 +08:00
parent ab63a30276
commit 81421fc675
61 changed files with 3631 additions and 301 deletions

View File

@ -15,6 +15,7 @@
<module>xhpc-charging-station</module> <module>xhpc-charging-station</module>
<module>xhpc-user</module> <module>xhpc-user</module>
<module>xhpc-payment</module> <module>xhpc-payment</module>
<module>xhpc-order</module>
</modules> </modules>
<artifactId>xhpc-modules</artifactId> <artifactId>xhpc-modules</artifactId>

33
xhpc-modules/xhpc-order/.gitignore vendored Normal file
View File

@ -0,0 +1,33 @@
HELP.md
target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**/target/
!**/src/test/**/target/
### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
build/
!**/src/main/**/build/
!**/src/test/**/build/
### VS Code ###
.vscode/

View File

@ -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();
}
}

Binary file not shown.

View File

@ -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

310
xhpc-modules/xhpc-order/mvnw vendored Normal file
View File

@ -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 "$@"

182
xhpc-modules/xhpc-order/mvnw.cmd vendored Normal file
View File

@ -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%

View File

@ -0,0 +1,100 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>com.ruoyi</groupId>
<artifactId>xhpc-modules</artifactId>
<version>3.0.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>xhpc-order</artifactId>
<description>
订单服务
</description>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
</properties>
<dependencies>
<!-- SpringCloud Alibaba Nacos -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!-- SpringCloud Alibaba Nacos Config -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<!-- SpringCloud Alibaba Sentinel -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- Mysql Connector -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!-- RuoYi Common DataSource -->
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-common-datasource</artifactId>
</dependency>
<!-- RuoYi Common DataScope -->
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-common-datascope</artifactId>
</dependency>
</dependencies>
<build>
<finalName>${project.artifactId}</finalName>
<resources>
<resource>
<directory>src/main/resources</directory>
</resource>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.4.0</version>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

View File

@ -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);
}
}

View File

@ -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);
}
}

View File

@ -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);
}
}

View File

@ -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);
}
}

View File

@ -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;
}
}

View File

@ -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;
}
}

View File

@ -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;
}
}

View File

@ -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);
}

View File

@ -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<String, Object> internetUser(@Param("internetUserId") Long internetUserId);
/**
* 流量用户对账分页列表
*
* @param internetUserId 流量用户id
* @param serialNumber 订单编号
* @param createTimeStart 创建开始时间
* @param createTimeEnd 创建结束时间
* @param chargingStationName 电站名称
* @param status 状态
* @return
*/
public List<Map<String, Object>> 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);
}

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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));
}
}

View File

@ -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();
}
}

View File

@ -0,0 +1,10 @@
Spring Boot Version: ${spring-boot.version}
Spring Application Name: ${spring.application.name}
_ __ _ _
(_) / _|(_)| |
_ __ _ _ ___ _ _ _ ______ | |_ _ | | ___
| '__|| | | | / _ \ | | | || ||______|| _|| || | / _ \
| | | |_| || (_) || |_| || | | | | || || __/
|_| \__,_| \___/ \__, ||_| |_| |_||_| \___|
__/ |
|___/

View File

@ -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}

View File

@ -0,0 +1,74 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds" debug="false">
<!-- 日志存放路径 -->
<property name="log.path" value="logs/xphc-power-pile"/>
<!-- 日志输出格式 -->
<property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n"/>
<!-- 控制台输出 -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
</appender>
<!-- 系统日志输出 -->
<appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/info.log</file>
<!-- 循环政策:基于时间创建日志文件 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 日志文件名格式 -->
<fileNamePattern>${log.path}/info.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 日志最大的历史 60天 -->
<maxHistory>60</maxHistory>
</rollingPolicy>
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<!-- 过滤的级别 -->
<level>INFO</level>
<!-- 匹配时的操作:接收(记录) -->
<onMatch>ACCEPT</onMatch>
<!-- 不匹配时的操作:拒绝(不记录) -->
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/error.log</file>
<!-- 循环政策:基于时间创建日志文件 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 日志文件名格式 -->
<fileNamePattern>${log.path}/error.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 日志最大的历史 60天 -->
<maxHistory>60</maxHistory>
</rollingPolicy>
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<!-- 过滤的级别 -->
<level>ERROR</level>
<!-- 匹配时的操作:接收(记录) -->
<onMatch>ACCEPT</onMatch>
<!-- 不匹配时的操作:拒绝(不记录) -->
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- 系统模块日志级别控制 -->
<logger name="com.xhpc" level="info"/>
<!-- Spring日志级别控制 -->
<logger name="org.springframework" level="warn"/>
<root level="info">
<appender-ref ref="console"/>
</root>
<!--系统操作日志-->
<root level="info">
<appender-ref ref="file_info"/>
<appender-ref ref="file_error"/>
</root>
</configuration>

View File

@ -0,0 +1,283 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.xhpc.order.mapper.XhpcHistoryOrderMapper">
<resultMap type="com.xhpc.order.domain.XhpcHistoryOrder" id="XhpcHistoryOrderResult">
<result column="history_order_id" property="historyOrderId"/>
<result column="charging_station_id" property="chargingStationId"/>
<result column="charging_order_id" property="chargingOrderId"/>
<result column="user_id" property="userId"/>
<result column="terminal_id" property="terminalId"/>
<result column="serial_number" property="serialNumber"/>
<result column="internet_serial_number" property="internetSerialNumber"/>
<result column="total_price" property="totalPrice"/>
<result column="promotion_discount" property="promotionDiscount"/>
<result column="act_price" property="actPrice"/>
<result column="act_power_price" property="actPowerPrice"/>
<result column="act_service_price" property="actServicePrice"/>
<result column="internet_commission" property="internetCommission"/>
<result column="internet_svc_commission" property="internetSvcCommission"/>
<result column="platform_commission" property="platformCommission"/>
<result column="platform_svc_commisssion" property="platformSvcCommisssion"/>
<result column="operation_commission" property="operationCommission"/>
<result column="start_soc" property="startSoc"/>
<result column="end_soc" property="endSoc"/>
<result column="reconciliation_status" property="reconciliationStatus"/>
<result column="sorting_status" property="sortingStatus"/>
<result column="type" property="type"/>
<result column="status" property="status"/>
<result column="del_flag" property="delFlag"/>
<result column="create_time" property="createTime"/>
<result column="create_by" property="createBy"/>
<result column="update_time" property="updateTime"/>
<result column="update_by" property="updateBy"/>
<result column="remark" property="remark"/>
</resultMap>
<insert id="insert" parameterType="com.xhpc.order.domain.XhpcHistoryOrder" useGeneratedKeys="true"
keyProperty="XhpcHistoryOrderId">
INSERT INTO xhpc_history_order
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="null != chargingStationId and '' != chargingStationId">
charging_station_id,
</if>
<if test="null != chargingOrderId and '' != chargingOrderId">
charging_order_id,
</if>
<if test="null != userId and '' != userId">
user_id,
</if>
<if test="null != terminalId and '' != terminalId">
terminal_id,
</if>
<if test="null != serialNumber and '' != serialNumber">
serial_number,
</if>
<if test="null != internetSerialNumber and '' != internetSerialNumber">
internet_serial_number,
</if>
<if test="null != totalPrice and '' != totalPrice">
total_price,
</if>
<if test="null != promotionDiscount and '' != promotionDiscount">
promotion_discount,
</if>
<if test="null != actPrice and '' != actPrice">
act_price,
</if>
<if test="null != actPowerPrice and '' != actPowerPrice">
act_power_price,
</if>
<if test="null != actServicePrice and '' != actServicePrice">
act_service_price,
</if>
<if test="null != internetCommission and '' != internetCommission">
internet_commission,
</if>
<if test="null != internetSvcCommission and '' != internetSvcCommission">
internet_svc_commission,
</if>
<if test="null != platformCommission and '' != platformCommission">
platform_commission,
</if>
<if test="null != platformSvcCommisssion and '' != platformSvcCommisssion">
platform_svc_commisssion,
</if>
<if test="null != operationCommission and '' != operationCommission">
operation_commission,
</if>
<if test="null != operationSvcCommission and '' != operationSvcCommission">
operation_svc_commission,
</if>
<if test="null != startSoc and '' != startSoc">
start_soc,
</if>
<if test="null != endSoc and '' != endSoc">
end_soc,
</if>
<if test="null != reconciliationStatus and '' != reconciliationStatus">
reconciliation_status,
</if>
<if test="null != sortingStatus and '' != sortingStatus">
sorting_status,
</if>
<if test="null != type and '' != type">
type,
</if>
<if test="null != status and '' != status">
status,
</if>
<if test="null != delFlag and '' != delFlag">
del_flag,
</if>
<if test="null != createTime and '' != createTime">
create_time,
</if>
<if test="null != createBy and '' != createBy">
create_by,
</if>
<if test="null != updateTime and '' != updateTime">
update_time,
</if>
<if test="null != updateBy and '' != updateBy">
update_by,
</if>
<if test="null != remark and '' != remark">
remark
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="null != chargingStationId and '' != chargingStationId">
#{chargingStationId},
</if>
<if test="null != chargingOrderId and '' != chargingOrderId">
#{chargingOrderId},
</if>
<if test="null != userId and '' != userId">
#{userId},
</if>
<if test="null != terminalId and '' != terminalId">
#{terminalId},
</if>
<if test="null != serialNumber and '' != serialNumber">
#{serialNumber},
</if>
<if test="null != internetSerialNumber and '' != internetSerialNumber">
#{internetSerialNumber},
</if>
<if test="null != totalPrice and '' != totalPrice">
#{totalPrice},
</if>
<if test="null != promotionDiscount and '' != promotionDiscount">
#{promotionDiscount},
</if>
<if test="null != actPrice and '' != actPrice">
#{actPrice},
</if>
<if test="null != actPowerPrice and '' != actPowerPrice">
#{actPowerPrice},
</if>
<if test="null != actServicePrice and '' != actServicePrice">
#{actServicePrice},
</if>
<if test="null != internetCommission and '' != internetCommission">
#{internetCommission},
</if>
<if test="null != internetSvcCommission and '' != internetSvcCommission">
#{internetSvcCommission},
</if>
<if test="null != platformCommission and '' != platformCommission">
#{platformCommission},
</if>
<if test="null != platformSvcCommisssion and '' != platformSvcCommisssion">
#{platformSvcCommisssion},
</if>
<if test="null != operationCommission and '' != operationCommission">
#{operationCommission},
</if>
<if test="null != operationSvcCommission and '' != operationSvcCommission">
#{operationSvcCommission},
</if>
<if test="null != startSoc and '' != startSoc">
#{startSoc},
</if>
<if test="null != endSoc and '' != endSoc">
#{endSoc},
</if>
<if test="null != reconciliationStatus and '' != reconciliationStatus">
#{reconciliationStatus},
</if>
<if test="null != sortingStatus and '' != sortingStatus">
#{sortingStatus},
</if>
<if test="null != type and '' != type">
#{type},
</if>
<if test="null != status and '' != status">
#{status},
</if>
<if test="null != delFlag and '' != delFlag">
#{delFlag},
</if>
<if test="null != createTime and '' != createTime">
#{createTime},
</if>
<if test="null != createBy and '' != createBy">
#{createBy},
</if>
<if test="null != updateTime and '' != updateTime">
#{updateTime},
</if>
<if test="null != updateBy and '' != updateBy">
#{updateBy},
</if>
<if test="null != remark and '' != remark">
#{remark}
</if>
</trim>
</insert>
<update id="update" parameterType="com.xhpc.order.domain.XhpcHistoryOrder">
UPDATE xhpc_history_order
<set>
<if test="null != chargingStationId and '' != chargingStationId">charging_station_id =
#{chargingStationId},
</if>
<if test="null != chargingOrderId and '' != chargingOrderId">charging_order_id = #{chargingOrderId},</if>
<if test="null != userId and '' != userId">user_id = #{userId},</if>
<if test="null != terminalId and '' != terminalId">terminal_id = #{terminalId},</if>
<if test="null != serialNumber and '' != serialNumber">serial_number = #{serialNumber},</if>
<if test="null != internetSerialNumber and '' != internetSerialNumber">internet_serial_number =
#{internetSerialNumber},
</if>
<if test="null != totalPrice and '' != totalPrice">total_price = #{totalPrice},</if>
<if test="null != promotionDiscount and '' != promotionDiscount">promotion_discount =
#{promotionDiscount},
</if>
<if test="null != actPrice and '' != actPrice">act_price = #{actPrice},</if>
<if test="null != actPowerPrice and '' != actPowerPrice">act_power_price = #{actPowerPrice},</if>
<if test="null != actServicePrice and '' != actServicePrice">act_service_price = #{actServicePrice},</if>
<if test="null != internetCommission and '' != internetCommission">internet_commission =
#{internetCommission},
</if>
<if test="null != internetSvcCommission and '' != internetSvcCommission">internet_svc_commission =
#{internetSvcCommission},
</if>
<if test="null != platformCommission and '' != platformCommission">platform_commission =
#{platformCommission},
</if>
<if test="null != platformSvcCommisssion and '' != platformSvcCommisssion">platform_svc_commisssion =
#{platformSvcCommisssion},
</if>
<if test="null != operationCommission and '' != operationCommission">operation_commission =
#{operationCommission},
</if>
<if test="null != operationSvcCommission and '' != operationSvcCommission">operation_svc_commission =
#{operationSvcCommission},
</if>
<if test="null != startSoc and '' != startSoc">start_soc = #{startSoc},</if>
<if test="null != endSoc and '' != endSoc">end_soc = #{endSoc},</if>
<if test="null != reconciliationStatus and '' != reconciliationStatus">reconciliation_status =
#{reconciliationStatus},
</if>
<if test="null != sortingStatus and '' != sortingStatus">sorting_status = #{sortingStatus},</if>
<if test="null != type and '' != type">type = #{type},</if>
<if test="null != status and '' != status">status = #{status},</if>
<if test="null != delFlag and '' != delFlag">del_flag = #{delFlag},</if>
<if test="null != createTime and '' != createTime">create_time = #{createTime},</if>
<if test="null != createBy and '' != createBy">create_by = #{createBy},</if>
<if test="null != updateTime and '' != updateTime">update_time = #{updateTime},</if>
<if test="null != updateBy and '' != updateBy">update_by = #{updateBy},</if>
<if test="null != remark and '' != remark">remark = #{remark}</if>
</set>
WHERE history_order_id = #{historyOrderId}
</update>
<select id="info" parameterType="java.lang.Long" resultMap="XhpcHistoryOrderResult">
select *
from xhpc_history_order xho
where xho.del_flag = 0 and xho.history_order_id = #{historyOrderId}
</select>
</mapper>

View File

@ -0,0 +1,136 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.xhpc.order.mapper.XhpcHistoryOrderReconciliationStatusMapper">
<resultMap type="com.xhpc.order.domain.XhpcHistoryOrderReconciliationStatus"
id="XhpcHistoryOrderReconciliationStatusResult">
<result column="history_order_reconciliation_status_id" property="historyOrderReconciliationStatusId"/>
<result column="history_order_id" property="historyOrderId"/>
<result column="status" property="status"/>
<result column="del_flag" property="delFlag"/>
<result column="create_time" property="createTime"/>
<result column="create_by" property="createBy"/>
<result column="update_time" property="updateTime"/>
<result column="update_by" property="updateBy"/>
<result column="remark" property="remark"/>
</resultMap>
<insert id="insert" parameterType="com.xhpc.order.domain.XhpcHistoryOrderReconciliationStatus"
useGeneratedKeys="true" keyProperty="XhpcHistoryOrderReconciliationStatusId">
INSERT INTO xhpc_recharge_order
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="null != historyOrderId and '' != historyOrderId">
history_order_id,
</if>
<if test="null != status and '' != status">
status,
</if>
<if test="null != delFlag and '' != delFlag">
del_flag,
</if>
<if test="null != createTime">
create_time,
</if>
<if test="null != createBy and '' != createBy">
create_by,
</if>
<if test="null != updateTime">
update_time,
</if>
<if test="null != updateBy and '' != updateBy">
update_by,
</if>
<if test="null != remark and '' != remark">
remark
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="null != historyOrderId and '' != historyOrderId">
#{historyOrderId},
</if>
<if test="null != status and '' != status">
#{status},
</if>
<if test="null != delFlag and '' != delFlag">
#{delFlag},
</if>
<if test="null != createTime ">
#{createTime},
</if>
<if test="null != createBy and '' != createBy">
#{createBy},
</if>
<if test="null != updateTime">
#{updateTime},
</if>
<if test="null != updateBy and '' != updateBy">
#{updateBy},
</if>
<if test="null != remark and '' != remark">
#{remark}
</if>
</trim>
</insert>
<update id="update" parameterType="com.xhpc.order.domain.XhpcHistoryOrderReconciliationStatus">
UPDATE xhpc_history_order_reconciliation_status
<set>
<if test="null != historyOrderId and '' != historyOrderId">history_order_id = #{historyOrderId},</if>
<if test="null != status and '' != status">status = #{status},</if>
<if test="null != delFlag and '' != delFlag">del_flag = #{delFlag},</if>
<if test="null != createTime and '' != createTime">create_time = #{createTime},</if>
<if test="null != createBy and '' != createBy">create_by = #{createBy},</if>
<if test="null != updateTime and '' != updateTime">update_time = #{updateTime},</if>
<if test="null != updateBy and '' != updateBy">update_by = #{updateBy},</if>
<if test="null != remark and '' != remark">remark = #{remark}</if>
</set>
WHERE history_order_reconciliation_status_id = #{historyOrderReconciliationStatusId}
</update>
<select id="internetUser" parameterType="java.lang.Long" resultType="java.util.Map">
select xiu.internet_user_id internetUserId,xiu.`name`,xiu.open_bank openbank,xiu.card_number cardNumber,a.waitConfirmed,b.confirmed
from
(select sum(xho.total_price-xho.promotion_discount-xho.internet_commission-xho.internet_svc_commission) waitConfirmed,xho.user_id
from xhpc_history_order xho
where xho.del_flag = 0 and xho.reconciliation_status = 0 GROUP BY user_id) a
LEFT JOIN
(select sum(xho.total_price-xho.promotion_discount-xho.internet_commission-xho.internet_svc_commission) confirmed ,xho.user_id
from xhpc_history_order xho
where xho.del_flag = 0 and xho.reconciliation_status = 1 GROUP BY user_id) b on a.user_id = b.user_id
LEFT JOIN xhpc_internet_user xiu on xiu.internet_user_id = b.user_id
where a.user_id = #{internetUserId}
</select>
<select id="page" parameterType="java.lang.Long" resultType="java.util.Map">
select sum(xho.total_price-xho.promotion_discount-xho.internet_commission-xho.internet_svc_commission)
realIncome,
xho.user_id userId,xho.serial_number serialNumber,xco.create_time createTime,
xo.`name` operatorName,xcs.`name` chargingStationName,xho.`status`,xdb.dict_value reconciliationStatusName
from xhpc_history_order xho
LEFT JOIN xhpc_charge_order xco on xco.charge_order_id = xho.charging_order_id
LEFT JOIN xhpc_charging_station xcs on xcs.charging_station_id = xho.charging_station_id
LEFT JOIN xhpc_operator xo on xo.operator_id = xcs.operator_id
LEFT JOIN xhpc_dict_biz xdb on xdb.`code` = 'reconciliation_status' and xdb.dict_key = xho.`status`
where xho.del_flag = 0
<if test="internetUserId != null and internetUserId != ''">
and xho.user_id = #{internetUserId}
</if>
<if test="serialNumber != null and serialNumber != ''">
and xho.serial_number like concat(concat('%', #{serialNumber}), '%')
</if>
<if test="createTimeStart != null and createTimeStart != ''"><!-- 开始时间检索 -->
AND xco.create_time &gt;= #{createTimeStart}
</if>
<if test="createTimeEnd != null and createTimeEnd != ''"><!-- 结束时间检索 -->
AND xco.create_time &lt;= #{createTimeEnd}
</if>
<if test="chargingStationName != null and chargingStationName != ''">
and xcs.`name`like concat(concat('%', #{chargingStationName}), '%')
</if>
<if test="status != null and status != ''">
and xho.status = #{status}
</if>
</select>
</mapper>

View File

@ -0,0 +1,91 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.xhpc.order.mapper.XhpcHistoryOrderSortingStatusMapper">
<resultMap type="com.xhpc.order.domain.XhpcHistoryOrderSortingStatus" id="XhpcHistoryOrderSortingStatusResult">
<result column="history_order_sorting_status_id" property="historyOrderSortingStatusId"/>
<result column="history_order_id" property="historyOrderId"/>
<result column="status" property="status"/>
<result column="del_flag" property="delFlag"/>
<result column="create_time" property="createTime"/>
<result column="create_by" property="createBy"/>
<result column="update_time" property="updateTime"/>
<result column="update_by" property="updateBy"/>
<result column="remark" property="remark"/>
</resultMap>
<insert id="insert" parameterType="com.xhpc.order.domain.XhpcHistoryOrderSortingStatus" useGeneratedKeys="true"
keyProperty="XhpcHistoryOrderSortingStatusId">
INSERT INTO xhpc_recharge_order
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="null != historyOrderId and '' != historyOrderId">
history_order_id,
</if>
<if test="null != status and '' != status">
status,
</if>
<if test="null != delFlag and '' != delFlag">
del_flag,
</if>
<if test="null != createTime and '' != createTime">
create_time,
</if>
<if test="null != createBy and '' != createBy">
create_by,
</if>
<if test="null != updateTime and '' != updateTime">
update_time,
</if>
<if test="null != updateBy and '' != updateBy">
update_by,
</if>
<if test="null != remark and '' != remark">
remark
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="null != historyOrderId and '' != historyOrderId">
#{historyOrderId},
</if>
<if test="null != status and '' != status">
#{status},
</if>
<if test="null != delFlag and '' != delFlag">
#{delFlag},
</if>
<if test="null != createTime and '' != createTime">
#{createTime},
</if>
<if test="null != createBy and '' != createBy">
#{createBy},
</if>
<if test="null != updateTime and '' != updateTime">
#{updateTime},
</if>
<if test="null != updateBy and '' != updateBy">
#{updateBy},
</if>
<if test="null != remark and '' != remark">
#{remark}
</if>
</trim>
</insert>
<update id="update" parameterType="com.xhpc.order.domain.XhpcHistoryOrderReconciliationStatus">
UPDATE xhpc_history_order_reconciliation_status
<set>
<if test="null != historyOrderId and '' != historyOrderId">history_order_id = #{historyOrderId},</if>
<if test="null != status and '' != status">status = #{status},</if>
<if test="null != delFlag and '' != delFlag">del_flag = #{delFlag},</if>
<if test="null != createTime and '' != createTime">create_time = #{createTime},</if>
<if test="null != createBy and '' != createBy">create_by = #{createBy},</if>
<if test="null != updateTime and '' != updateTime">update_time = #{updateTime},</if>
<if test="null != updateBy and '' != updateBy">update_by = #{updateBy},</if>
<if test="null != remark and '' != remark">remark = #{remark}</if>
</set>
WHERE history_order_sorting_status_id = #{historyOrderSortingStatusId}
</update>
</mapper>

View File

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:util="http://www.springframework.org/schema/util"
xmlns="http://www.springframework.org/schema/beans"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd">
<util:map id="serviceLogics">
<entry key="01" value-ref="RegisterLogic"/>
<entry key="03" value-ref="HBLogic"/>
<entry key="05" value-ref="RateModelValidateLogic"/>
<entry key="09" value-ref="RateModelRequestLogic"/>
</util:map>
</beans>

View File

@ -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() {
}
}

View File

@ -7,7 +7,7 @@ import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.openfeign.EnableFeignClients; import org.springframework.cloud.openfeign.EnableFeignClients;
/*@EnableCustomConfig*/ @EnableCustomConfig
@EnableRyFeignClients @EnableRyFeignClients
@EnableFeignClients @EnableFeignClients
@SpringBootApplication @SpringBootApplication

View File

@ -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);
}
}

View File

@ -38,7 +38,7 @@ public class AlipayPaymentController {
* @return * @return
*/ */
@GetMapping("/payment") @GetMapping("/payment")
@ApiOperation(value = "微信支付", notes = "传入order") @ApiOperation(value = "微信支付")
private String newPay() throws Exception { private String newPay() throws Exception {
String orderNumber = "alipay" + DateUtils.timePath(); String orderNumber = "alipay" + DateUtils.timePath();
@ -96,7 +96,7 @@ public class AlipayPaymentController {
params.put(name, valueStr); params.put(name, valueStr);
} }
//调用SDK验证签名 //调用SDK验证签名
boolean signVerified = AlipaySignature.rsaCheckV1(params, environment.getProperty("ALIPAYPUBLICKEY"), "", "RSA2"); boolean signVerified = AlipaySignature.rsaCheckV1(params, environment.getProperty("ALIPAYPUBLICKEY"), "utf-8", "RSA2");
//boolean类型signVerified为true时 则验证成功 //boolean类型signVerified为true时 则验证成功
if (signVerified) { if (signVerified) {
//获取到支付的状态 TRADE_SUCCESS则支付成功 //获取到支付的状态 TRADE_SUCCESS则支付成功

View File

@ -59,7 +59,7 @@ public class WxPaymentController {
private Environment environment; private Environment environment;
@GetMapping("/payment") @GetMapping("/payment")
@ApiOperation(value = "微信支付", notes = "传入order") @ApiOperation(value = "微信支付")
public AjaxResult payment(HttpServletRequest servletRequest) throws Exception { public AjaxResult payment(HttpServletRequest servletRequest) throws Exception {
String openid = servletRequest.getParameter("openid"); String openid = servletRequest.getParameter("openid");
if (StringUtils.isNull(openid)) { if (StringUtils.isNull(openid)) {
@ -409,7 +409,7 @@ public class WxPaymentController {
* @return * @return
*/ */
@GetMapping("/enterpriseCheckOut") @GetMapping("/enterpriseCheckOut")
@ApiOperation(value = "企业退款", notes = "传入order") @ApiOperation(value = "企业退款")
public Object enterpriseCheckOut(String openid, double amount) { public Object enterpriseCheckOut(String openid, double amount) {
String reason = "退款申请"; String reason = "退款申请";
return enterpriseOut(amount, openid, reason); return enterpriseOut(amount, openid, reason);
@ -563,7 +563,7 @@ public class WxPaymentController {
} }
@GetMapping("/payment1") @GetMapping("/payment1")
@ApiOperation(value = "微信支付", notes = "传入order") @ApiOperation(value = "微信支付")
public AjaxResult payment1() { public AjaxResult payment1() {
JSONObject jsonObject = new JSONObject(); JSONObject jsonObject = new JSONObject();
JSONObject amount = new JSONObject(); JSONObject amount = new JSONObject();

View File

@ -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<Map<String, Object>> list = iXhpcRechargeOrderService.page(phone, refundOrderNumber, status, createTimeStart, createTimeEnd);
return getDataTable(list);
}
}

View File

@ -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<Map<String, Object>> list = iXhpcRefundAuditService.list(refundOrderId);
return getDataTable(list);
}
}

View File

@ -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<Map<String, Object>> list = iXhpcRefundOrderService.page(phone, refundOrderNumber, status, createTimeStart, createTimeEnd);
return getDataTable(list);
}
}

View File

@ -6,8 +6,8 @@ import java.math.BigDecimal;
/** /**
* @description 充值订单 xhpc_recharge_order
* @author * @author
* @description 充值订单 xhpc_recharge_order
* @date 2021-07-22 * @date 2021-07-22
*/ */
public class XhpcRechargeOrder extends BaseEntity { public class XhpcRechargeOrder extends BaseEntity {
@ -23,6 +23,11 @@ public class XhpcRechargeOrder extends BaseEntity {
*/ */
private Long userId; private Long userId;
/**
* 充值订单编号
*/
private Long rechargeOrderNumber;
/** /**
* 微信支付订单号 * 微信支付订单号
*/ */

View File

@ -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;
}
}

View File

@ -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;
}
}

View File

@ -29,7 +29,6 @@ public interface XhpcRechargeOrderMapper {
*/ */
public int update(XhpcRechargeOrder xhpcRechargeOrder); public int update(XhpcRechargeOrder xhpcRechargeOrder);
/** /**
* 查询充值订单详情 * 查询充值订单详情
* *
@ -38,5 +37,15 @@ public interface XhpcRechargeOrderMapper {
*/ */
public Map<String, Object> info(@Param("rechargeOrderId") Long rechargeOrderId); public Map<String, Object> info(@Param("rechargeOrderId") Long rechargeOrderId);
/**
* 充值订单分页列表
*
* @param phone
* @param rechargeOrderNumber
* @param status
* @param createTimeStart
* @param createTimeEnd
* @return
*/
public List<Map<String, Object>> page(@Param("phone") String phone, @Param("rechargeOrderNumber") String rechargeOrderNumber, @Param("status") String status, @Param("createTimeStart") String createTimeStart, @Param("createTimeEnd") String createTimeEnd);
} }

View File

@ -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<Map<String, Object>> list(@Param("refundOrderId") Long refundOrderId);
}

View File

@ -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<String, Object> info(@Param("refundOrderId") Long refundOrderId);
/**
* 退款订单分页列表
*
* @param phone
* @param refundOrderNumber
* @param status
* @param createTimeStart
* @param createTimeEnd
* @return
*/
public List<Map<String, Object>> page(@Param("phone") String phone, @Param("refundOrderNumber") String refundOrderNumber, @Param("status") String status, @Param("createTimeStart") String createTimeStart, @Param("createTimeEnd") String createTimeEnd);
}

View File

@ -1,8 +1,10 @@
package com.xhpc.payment.service; package com.xhpc.payment.service;
import com.xhpc.payment.domain.XhpcRechargeOrder; 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); public int update(XhpcRechargeOrder xhpcRechargeOrder);
/** /**
* 充值订单详情 * 充值订单详情
* *
* @param appUserId 充值订单id * @param rechargeOrderId 充值订单id
* @return 结果 * @return 结果
*/ */
public Map<String, Object> info(Long appUserId); public Map<String, Object> info(Long rechargeOrderId);
/**
* 充值订单分页列表
*
* @param phone
* @param rechargeOrderNumber
* @param status
* @param createTimeStart
* @param createTimeEnd
* @return
*/
public List<Map<String, Object>> 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 * @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);
} }

View File

@ -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<Map<String, Object>> list(Long refundOrderId);
}

View File

@ -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<String, Object> info(Long refundOrderId);
/**
* 退款订单分页列表
*
* @param phone
* @param refundOrderNumber
* @param status
* @param createTimeStart
* @param createTimeEnd
* @return
*/
public List<Map<String, Object>> 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);
}

View File

@ -6,6 +6,8 @@ import com.xhpc.payment.service.IXhpcRechargeOrderService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
@ -19,7 +21,6 @@ public class XhpcRechargeOrderServiceImpl implements IXhpcRechargeOrderService {
@Autowired @Autowired
private XhpcRechargeOrderMapper xhpcRechargeOrderMapper; private XhpcRechargeOrderMapper xhpcRechargeOrderMapper;
/** /**
* 更新 充值订单 * 更新 充值订单
* *
@ -34,25 +35,65 @@ public class XhpcRechargeOrderServiceImpl implements IXhpcRechargeOrderService {
/** /**
* 充值订单详情 * 充值订单详情
* *
* @param appUserId 充值订单id * @param rechargeOrderId 充值订单id
* @return 结果 * @return 结果
*/ */
@Override @Override
public Map<String, Object> info(Long appUserId) { public Map<String, Object> info(Long rechargeOrderId) {
return xhpcRechargeOrderMapper.info(appUserId); return xhpcRechargeOrderMapper.info(rechargeOrderId);
}
/**
* 充值订单分页列表
*
* @param phone
* @param rechargeOrderNumber
* @param status
* @param createTimeStart
* @param createTimeEnd
* @return
*/
@Override
public List<Map<String, Object>> 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 * @return
*/ */
@Override @Override
public XhpcRechargeOrder add(String openid,double amount) { public XhpcRechargeOrder addRechargeOrder(String appUserId, BigDecimal amount, String type) {
XhpcRechargeOrder xhpcRechargeOrder = new XhpcRechargeOrder(); XhpcRechargeOrder xhpcRechargeOrder = new XhpcRechargeOrder();
xhpcRechargeOrder.setUserId(Long.parseLong(appUserId));
xhpcRechargeOrder.setAmount(amount);
xhpcRechargeOrder.setType(Integer.parseInt(type));
xhpcRechargeOrderMapper.insert(xhpcRechargeOrder); xhpcRechargeOrderMapper.insert(xhpcRechargeOrder);
return 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);
}
} }

View File

@ -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<Map<String, Object>> list(Long refundOrderId) {
return xhpcRefundAuditMapper.list(refundOrderId);
}
}

View File

@ -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<String, Object> info(Long rechargeOrderId) {
return xhpcRefundOrderMapper.info(rechargeOrderId);
}
/**
* 退款订单分页列表
*
* @param phone
* @param rechargeOrderNumber
* @param status
* @param createTimeStart
* @param createTimeEnd
* @return
*/
@Override
public List<Map<String, Object>> 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);
}
}

View File

@ -45,8 +45,8 @@ WXPAYUNIFIEDORDER: "https://api.mch.weixin.qq.com/pay/unifiedorder"
#支付回调地址 #支付回调地址
SERVERDOMAIN: "https://cdz.project2.tingsun.net/wx/paymentCallback" 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 #支付宝appid
ALIPAYAPPID: "2021002156615717"; ALIPAYAPPID: "2021002156615717"

View File

@ -20,15 +20,16 @@
<result column="remark" property="remark" /> <result column="remark" property="remark" />
</resultMap> </resultMap>
<insert id="insert" parameterType="com.xhpc.payment.domain.XhpcRechargeOrder"> <insert id="insert" parameterType="com.xhpc.payment.domain.XhpcRechargeOrder" useGeneratedKeys="true"
keyProperty="XhpcRechargeOrderId">
INSERT INTO xhpc_recharge_order INSERT INTO xhpc_recharge_order
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
<if test="null != rechargeOrderId and '' != rechargeOrderId">
recharge_order_id,
</if>
<if test="null != userId and '' != userId"> <if test="null != userId and '' != userId">
user_id, user_id,
</if> </if>
<if test="null != rechargeOrderNumber and '' != rechargeOrderNumber">
recharge_order_number,
</if>
<if test="null != prepayId and '' != prepayId"> <if test="null != prepayId and '' != prepayId">
prepay_id, prepay_id,
</if> </if>
@ -64,12 +65,12 @@
</if> </if>
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="null != rechargeOrderId and '' != rechargeOrderId">
#{rechargeOrderId},
</if>
<if test="null != userId and '' != userId"> <if test="null != userId and '' != userId">
#{userId}, #{userId},
</if> </if>
<if test="null != rechargeOrderNumber and '' != rechargeOrderNumber">
#{rechargeOrderNumber},
</if>
<if test="null != prepayId and '' != prepayId"> <if test="null != prepayId and '' != prepayId">
#{prepayId}, #{prepayId},
</if> </if>
@ -110,6 +111,9 @@
UPDATE xhpc_recharge_order UPDATE xhpc_recharge_order
<set> <set>
<if test="null != userId and '' != userId">user_id = #{userId},</if> <if test="null != userId and '' != userId">user_id = #{userId},</if>
<if test="null != rechargeOrderNumber and '' != rechargeOrderNumber">recharge_order_number =
#{rechargeOrderNumber},
</if>
<if test="null != prepayId and '' != prepayId">prepay_id = #{prepayId},</if> <if test="null != prepayId and '' != prepayId">prepay_id = #{prepayId},</if>
<if test="null != alipayNumber and '' != alipayNumber">alipay_number = #{alipayNumber},</if> <if test="null != alipayNumber and '' != alipayNumber">alipay_number = #{alipayNumber},</if>
<if test="null != amount and '' != amount">amount = #{amount},</if> <if test="null != amount and '' != amount">amount = #{amount},</if>
@ -126,9 +130,39 @@
</update> </update>
<select id="info" parameterType="java.lang.Long" resultType="java.util.Map"> <select id="info" parameterType="java.lang.Long" resultType="java.util.Map">
select * select xro.recharge_order_id rechargeOrderId ,xro.refund_order_number refundOrderNumber,
from xhpc_recharge_order xro.alipay_number alipayNumber ,xro.prepay_id prepayid,xro.user_id userId,xro.amount,
WHERE del_flag = 0 and recharge_order_id = #{rechargeOrderId} xro.type ,xro.`status`,xro.create_time createTime,xau.phone,xdb.dict_value statusName
from xhpc_recharge_order xro
LEFT JOIN xhpc_app_user xau on xau.app_user_id = xro.user_id
LEFT JOIN xhpc_dict_biz xdb on xdb.`code` = 'recharge_order_status' and xdb.dict_key = xro.`status`
where xro.del_flag = 0 and xro.recharge_order_id = #{rechargeOrderId}
</select>
<select id="page" parameterType="java.lang.Long" resultType="java.util.Map">
select xro.recharge_order_id rechargeOrderId ,xro.refund_order_number refundOrderNumber,
xro.alipay_number alipayNumber ,xro.prepay_id prepayid,xro.user_id userId,xro.amount,
xro.type ,xro.`status`,xro.create_time createTime,xau.phone,xdb.dict_value statusName
from xhpc_recharge_order xro
LEFT JOIN xhpc_app_user xau on xau.app_user_id = xro.user_id
LEFT JOIN xhpc_dict_biz xdb on xdb.`code` = 'recharge_order_status' and xdb.dict_key = xro.`status`
where xro.del_flag = 0
<if test="phone != null and phone != ''">
and xau.phone like concat(concat('%', #{phone}), '%')
</if>
<if test="rechargeOrderNumber != null and rechargeOrderNumber != ''">
and xro.refund_order_number like concat(concat('%', #{rechargeOrderNumber}), '%')
</if>
<if test="status != null and status != ''">
and xro.status like concat(concat('%', #{status}), '%')
</if>
<if test="createTimeStart != null and createTimeStart != ''"><!-- 开始时间检索 -->
AND xro.create_time &gt;= #{createTimeStart}
</if>
<if test="createTimeEnd != null and createTimeEnd != ''"><!-- 结束时间检索 -->
AND xro.create_time &lt;= #{createTimeEnd}
</if>
ORDER BY xro.create_time DESC
</select> </select>
</mapper> </mapper>

View File

@ -0,0 +1,90 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.xhpc.payment.mapper.XhpcRefundAuditMapper">
<resultMap type="com.xhpc.payment.domain.XhpcRefundAudit" id="XhpcRefundAuditResult">
<result column="refund_audit_id" property="refundAuditId"/>
<result column="refund_order_id" property="refundOrderId"/>
<result column="status" property="status"/>
<result column="del_flag" property="delFlag"/>
<result column="create_time" property="createTime"/>
<result column="create_by" property="createBy"/>
<result column="update_time" property="updateTime"/>
<result column="update_by" property="updateBy"/>
<result column="remark" property="remark"/>
</resultMap>
<insert id="insert" parameterType="com.xhpc.payment.domain.XhpcRefundAudit" useGeneratedKeys="true"
keyProperty="XhpcRefundAuditId">
INSERT INTO xhpc_recharge_order
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="null != refundOrderId and '' != refundOrderId">
refund_order_id,
</if>
<if test="null != status and '' != status">
status,
</if>
<if test="null != delFlag and '' != delFlag">
del_flag,
</if>
<if test="null != createTime and '' != createTime">
create_time,
</if>
<if test="null != createBy and '' != createBy">
create_by,
</if>
<if test="null != updateTime and '' != updateTime">
update_time,
</if>
<if test="null != updateBy and '' != updateBy">
update_by,
</if>
<if test="null != remark and '' != remark">
remark
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="null != refundOrderId and '' != refundOrderId">
#{refundOrderId},
</if>
<if test="null != status and '' != status">
#{status},
</if>
<if test="null != delFlag and '' != delFlag">
#{delFlag},
</if>
<if test="null != createTime and '' != createTime">
#{createTime},
</if>
<if test="null != createBy and '' != createBy">
#{createBy},
</if>
<if test="null != updateTime and '' != updateTime">
#{updateTime},
</if>
<if test="null != updateBy and '' != updateBy">
#{updateBy},
</if>
<if test="null != remark and '' != remark">
#{remark}
</if>
</trim>
</insert>
<select id="list" parameterType="java.lang.Long" resultType="java.util.Map">
select xro.refund_order_id refundOrderId ,
xro.`status`,xdb.dict_value statusName,
xra.remark,xra.create_time createTime
from xhpc_refund_audit xra
LEFT JOIN xhpc_refund_order xro on xra.refund_order_id = xro.refund_order_id
LEFT JOIN xhpc_dict_biz xdb on xdb.`code` = 'refund_order_status' and xdb.dict_key = xro.`status`
where xra.del_flag = 0
<if test="refundOrderId != null and refundOrderId != ''">
and xro.refund_order_id = #{refundOrderId}
</if>
ORDER BY xra.create_time DESC
</select>
</mapper>

View File

@ -0,0 +1,169 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.xhpc.payment.mapper.XhpcRefundOrderMapper">
<resultMap type="com.xhpc.payment.domain.XhpcRefundOrder" id="XhpcRefundOrderResult">
<result column="refund_order_id" property="refundOrderId"/>
<result column="refund_order_number" property="refundOrderNumber"/>
<result column="user_id" property="userId"/>
<result column="prepay_id" property="prepayId"/>
<result column="alipay_number" property="alipayNumber"/>
<result column="amount" property="amount"/>
<result column="type" property="type"/>
<result column="status" property="status"/>
<result column="del_flag" property="delFlag"/>
<result column="create_time" property="createTime"/>
<result column="create_by" property="createBy"/>
<result column="update_time" property="updateTime"/>
<result column="update_by" property="updateBy"/>
<result column="remark" property="remark"/>
</resultMap>
<insert id="insert" parameterType="com.xhpc.payment.domain.XhpcRefundOrder" useGeneratedKeys="true"
keyProperty="XhpcRefundOrderId">
INSERT INTO xhpc_recharge_order
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="null != refundOrderNumber and '' != refundOrderNumber">
refund_order_number,
</if>
<if test="null != userId and '' != userId">
user_id,
</if>
<if test="null != prepayId and '' != prepayId">
prepay_id,
</if>
<if test="null != alipayNumber and '' != alipayNumber">
alipay_number,
</if>
<if test="null != amount and '' != amount">
amount,
</if>
<if test="null != type and '' != type">
type,
</if>
<if test="null != status and '' != status">
status,
</if>
<if test="null != delFlag and '' != delFlag">
del_flag,
</if>
<if test="null != createTime and '' != createTime">
create_time,
</if>
<if test="null != createBy and '' != createBy">
create_by,
</if>
<if test="null != updateTime and '' != updateTime">
update_time,
</if>
<if test="null != updateBy and '' != updateBy">
update_by,
</if>
<if test="null != remark and '' != remark">
remark
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="null != refundOrderNumber and '' != refundOrderNumber">
#{refundOrderNumber},
</if>
<if test="null != userId and '' != userId">
#{userId},
</if>
<if test="null != prepayId and '' != prepayId">
#{prepayId},
</if>
<if test="null != alipayNumber and '' != alipayNumber">
#{alipayNumber},
</if>
<if test="null != amount and '' != amount">
#{amount},
</if>
<if test="null != type and '' != type">
#{type},
</if>
<if test="null != status and '' != status">
#{status},
</if>
<if test="null != delFlag and '' != delFlag">
#{delFlag},
</if>
<if test="null != createTime and '' != createTime">
#{createTime},
</if>
<if test="null != createBy and '' != createBy">
#{createBy},
</if>
<if test="null != updateTime and '' != updateTime">
#{updateTime},
</if>
<if test="null != updateBy and '' != updateBy">
#{updateBy},
</if>
<if test="null != remark and '' != remark">
#{remark}
</if>
</trim>
</insert>
<update id="update" parameterType="com.xhpc.payment.domain.XhpcRefundOrder">
UPDATE xhpc_recharge_order
<set>
<if test="null != refundOrderNumber and '' != refundOrderNumber">refund_order_number =
#{refundOrderNumber},
</if>
<if test="null != userId and '' != userId">user_id = #{userId},</if>
<if test="null != prepayId and '' != prepayId">prepay_id = #{prepayId},</if>
<if test="null != alipayNumber and '' != alipayNumber">alipay_number = #{alipayNumber},</if>
<if test="null != amount and '' != amount">amount = #{amount},</if>
<if test="null != type and '' != type">type = #{type},</if>
<if test="null != status and '' != status">status = #{status},</if>
<if test="null != delFlag and '' != delFlag">del_flag = #{delFlag},</if>
<if test="null != createTime and '' != createTime">create_time = #{createTime},</if>
<if test="null != createBy and '' != createBy">create_by = #{createBy},</if>
<if test="null != updateTime and '' != updateTime">update_time = #{updateTime},</if>
<if test="null != updateBy and '' != updateBy">update_by = #{updateBy},</if>
<if test="null != remark and '' != remark">remark = #{remark}</if>
</set>
WHERE refund_order_id = #{refundOrderId}
</update>
<select id="info" parameterType="java.lang.Long" resultType="java.util.Map">
select xro.refund_order_id refundOrderId ,xro.refund_order_number refundOrderNumber,
xro.alipay_number alipayNumber ,xro.prepay_id prepayid,xro.user_id userId,xro.amount,
xro.type ,xro.`status`,xro.create_time createTime,xau.phone,xdb.dict_value statusName
from xhpc_refund_order xro
LEFT JOIN xhpc_app_user xau on xau.app_user_id = xro.user_id
LEFT JOIN xhpc_dict_biz xdb on xdb.`code` = 'refund_order_status' and xdb.dict_key = xro.`status`
where xro.del_flag = 0 and xro.refund_order_id = #{refundOrderId}
</select>
<select id="page" parameterType="java.lang.String" resultType="java.util.Map">
select xro.refund_order_id refundOrderId ,xro.refund_order_number refundOrderNumber,
xro.alipay_number alipayNumber ,xro.prepay_id prepayid,xro.user_id userId,xro.amount,
xro.type ,xro.`status`,xro.create_time createTime,xau.phone,xdb.dict_value statusName
from xhpc_refund_order xro
LEFT JOIN xhpc_app_user xau on xau.app_user_id = xro.user_id
LEFT JOIN xhpc_dict_biz xdb on xdb.`code` = 'refund_order_status' and xdb.dict_key = xro.`status`
where xro.del_flag = 0
<if test="phone != null and phone != ''">
and xau.phone like concat(concat('%', #{phone}), '%')
</if>
<if test="refundOrderNumber != null and refundOrderNumber != ''">
and xro.refund_order_number like concat(concat('%', #{refundOrderNumber}), '%')
</if>
<if test="status != null and status != ''">
and xro.status like concat(concat('%', #{status}), '%')
</if>
<if test="createTimeStart != null and createTimeStart != ''"><!-- 开始时间检索 -->
AND xro.create_time &gt;= #{createTimeStart}
</if>
<if test="createTimeEnd != null and createTimeEnd != ''"><!-- 结束时间检索 -->
AND xro.create_time &lt;= #{createTimeEnd}
</if>
ORDER BY xro.create_time DESC
</select>
</mapper>

View File

@ -214,13 +214,10 @@ public class XhpcAppUserController extends BaseController {
@ApiOperation("支付宝授权") @ApiOperation("支付宝授权")
@PostMapping("/alipayEmpower") @PostMapping("/alipayEmpower")
public AjaxResult alipayEmpower(@RequestParam String code) throws Exception { 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"; AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", environment.getProperty("ALIPAYAPPID"), environment.getProperty("ALIPAYPRIVATEKEY"), "json", "utf-8", environment.getProperty("ALIPAYPUBLICKEY"), "RSA2");
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");
AlipaySystemOauthTokenRequest request = new AlipaySystemOauthTokenRequest(); AlipaySystemOauthTokenRequest request = new AlipaySystemOauthTokenRequest();
request.setGrantType("authorization_code"); request.setGrantType("authorization_code");
request.setCode("4b203fe6c11548bcabd8da5bb087a83b"); request.setCode(code);
AlipaySystemOauthTokenResponse response = alipayClient.execute(request); AlipaySystemOauthTokenResponse response = alipayClient.execute(request);
if (response.isSuccess()) { if (response.isSuccess()) {
System.out.println("调用成功"); System.out.println("调用成功");

View File

@ -16,9 +16,9 @@ public class XhpcStationInternetBlacklist implements Serializable {
/** /**
* 运营者子账号权限id * 流量用户设置流量方黑名单
*/ */
private Long xhpcUserPrivilegeId; private Long xhpcStationInternetBlackId;
/** /**
* 流量用户id * 流量用户id
@ -81,12 +81,13 @@ public class XhpcStationInternetBlacklist implements Serializable {
this.chargingStationId = chargingStationId; this.chargingStationId = chargingStationId;
} }
public Long getXhpcUserPrivilegeId() {
return xhpcUserPrivilegeId; public Long getXhpcStationInternetBlackId() {
return xhpcStationInternetBlackId;
} }
public void setXhpcUserPrivilegeId(Long xhpcUserPrivilegeId) { public void setXhpcStationInternetBlackId(Long xhpcStationInternetBlackId) {
this.xhpcUserPrivilegeId = xhpcUserPrivilegeId; this.xhpcStationInternetBlackId = xhpcStationInternetBlackId;
} }
public Integer getStatus() { public Integer getStatus() {

View File

@ -30,8 +30,8 @@ spring:
#获取微信openid地址 #获取微信openid地址
WXGETJSCODE: "https://api.weixin.qq.com/sns/jscode2session?appid=wxd0a48e00319ef8a7&secret=e26d9088b58e24af69411d5933cece47&js_code=" 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 #支付宝appid
ALIPAYAPPID: "2021002156615717"; ALIPAYAPPID: "2021002156615717"

View File

@ -1,191 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.xhpc.user.mapper.XhpcAppUserMapper">
<resultMap type="com.xhpc.user.domain.XhpcAppUser" id="XhpcAppUserResult">
<result column="app_user_id" property="appUserId"/>
<result column="phone" property="phone"/>
<result column="weixin_open_id" property="weixinOpenId"/>
<result column="alipay_open_id" property="alipayOpenId"/>
<result column="weixin_login" property="weixinLogin"/>
<result column="alipay_login" property="alipayLogin"/>
<result column="avatar" property="avatar"/>
<result column="balance" property="balance"/>
<result column="password" property="password"/>
<result column="status" property="status"/>
<result column="del_flag" property="delFlag"/>
<result column="create_by" property="createBy"/>
<result column="create_time" property="createTime"/>
<result column="update_by" property="updateBy"/>
<result column="update_time" property="updateTime"/>
<result column="remark" property="remark"/>
</resultMap>
<insert id="insert" parameterType="com.xhpc.user.domain.XhpcAppUser">
INSERT INTO xhpc_app_user
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="null != appUserId and '' != appUserId">
app_user_id,
</if>
<if test="null != phone and '' != phone">
phone,
</if>
<if test="null != weixinOpenId and '' != weixinOpenId">
weixin_open_id,
</if>
<if test="null != alipayOpenId and '' != alipayOpenId">
alipay_open_id,
</if>
<if test="null != weixinLogin and '' != weixinLogin">
weixin_login,
</if>
<if test="null != alipayLogin and '' != alipayLogin">
alipay_login,
</if>
<if test="null != avatar and '' != avatar">
avatar,
</if>
<if test="null != balance and '' != balance">
balance,
</if>
<if test="null != password and '' != password">
password,
</if>
<if test="null != status and '' != status">
status,
</if>
<if test="null != delFlag and '' != delFlag">
del_flag,
</if>
<if test="null != createBy and '' != createBy">
create_by,
</if>
<if test="null != createTime ">
create_time,
</if>
<if test="null != updateBy and '' != updateBy">
update_by,
</if>
<if test="null != updateTime ">
update_time,
</if>
<if test="null != remark and '' != remark">
remark
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="null != appUserId and '' != appUserId">
#{appUserId},
</if>
<if test="null != phone and '' != phone">
#{phone},
</if>
<if test="null != weixinOpenId and '' != weixinOpenId">
#{weixinOpenId},
</if>
<if test="null != alipayOpenId and '' != alipayOpenId">
#{alipayOpenId},
</if>
<if test="null != weixinLogin and '' != weixinLogin">
#{weixinLogin},
</if>
<if test="null != alipayLogin and '' != alipayLogin">
#{alipayLogin},
</if>
<if test="null != avatar and '' != avatar">
#{avatar},
</if>
<if test="null != balance and '' != balance">
#{balance},
</if>
<if test="null != password and '' != password">
#{password},
</if>
<if test="null != status and '' != status">
#{status},
</if>
<if test="null != delFlag and '' != delFlag">
#{delFlag},
</if>
<if test="null != createBy and '' != createBy">
#{createBy},
</if>
<if test="null != createTime ">
#{createTime},
</if>
<if test="null != updateBy and '' != updateBy">
#{updateBy},
</if>
<if test="null != updateTime ">
#{updateTime},
</if>
<if test="null != remark and '' != remark">
#{remark}
</if>
</trim>
</insert>
<update id="update" parameterType="com.xhpc.user.domain.XhpcInternetUser">
UPDATE xhpc_app_user
<set>
<if test="null != phone and '' != phone">phone = #{phone},</if>
<if test="null != weixinOpenId and '' != weixinOpenId">weixin_open_id = #{weixinOpenId},</if>
<if test="null != alipayOpenId and '' != alipayOpenId">alipay_open_id = #{alipayOpenId},</if>
<if test="null != weixinLogin and '' != weixinLogin">weixin_login = #{weixinLogin},</if>
<if test="null != alipayLogin and '' != alipayLogin">alipay_login = #{alipayLogin},</if>
<if test="null != avatar and '' != avatar">avatar = #{avatar},</if>
<if test="null != balance and '' != balance">balance = #{balance},</if>
<if test="null != password and '' != password">password = #{password},</if>
<if test="null != status and '' != status">status = #{status},</if>
<if test="null != delFlag and '' != delFlag">del_flag = #{delFlag},</if>
<if test="null != createBy and '' != createBy">create_by = #{createBy},</if>
<if test="null != createTime ">create_time = #{createTime},</if>
<if test="null != updateBy and '' != updateBy">update_by = #{updateBy},</if>
<if test="null != updateTime ">update_time = #{updateTime},</if>
<if test="null != remark and '' != remark">remark = #{remark}</if>
</set>
WHERE app_user_id = #{appUserId}
</update>
<delete id="deleteById" parameterType="java.lang.Long">
delete from xhpc_app_user where app_user_id = #{appUserId}
</delete>
<select id="info" parameterType="java.lang.Long" resultType="java.util.Map">
select app_user_id appUserId, phone, weixin_open_id weixinOpenId,
weixin_login weixinlogin,alipay_login alipayLogin,
alipay_open_id alipayOpenId, avatar, balance, password,
`status`,create_by createBy ,create_time createTime,
update_time updateTime, update_by updateBy,
del_flag delflag, remark,
CASE WHEN `status` = 0 THEN '正常' else '禁用' end statusName
from xhpc_app_user
WHERE del_flag = 0 and app_user_id = #{appUserId}
</select>
<select id="selectAppUserList" parameterType="java.lang.Long" resultType="java.util.Map">
select app_user_id appUserId, phone, balance,
`status`,create_time createTime,
CASE WHEN `status` = 0 THEN '正常' else '禁用' end statusName
from xhpc_app_user
WHERE del_flag = 0
<if test="phone != null and phone != ''">
and phone like concat(concat('%', #{phone}), '%')
</if>
ORDER BY create_time DESC
</select>
<select id="getAppUserByPhone" parameterType="java.lang.String" resultMap="XhpcAppUserResult">
select *
from xhpc_app_user
WHERE del_flag = 0 and phone = #{phone} LIMIT 1
</select>
<select id="getAppUserByOpenid" parameterType="java.lang.String" resultMap="XhpcAppUserResult">
select *
from xhpc_app_user
WHERE del_flag = 0 and (weixin_open_id = #{openid}or alipay_open_id = #{openid}) LIMIT 1
</select>
</mapper>

View File

@ -32,12 +32,11 @@
</resultMap> </resultMap>
<insert id="insert" parameterType="com.xhpc.user.domain.XhpcInternetUser"> <insert id="insert" parameterType="com.xhpc.user.domain.XhpcInternetUser" useGeneratedKeys="true"
keyProperty="XhpcInternetUserId">
INSERT INTO xhpc_internet_user INSERT INTO xhpc_internet_user
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
<if test="null != internetUserId and '' != internetUserId">
internet_user_id,
</if>
<if test="null != name and '' != name"> <if test="null != name and '' != name">
name, name,
</if> </if>
@ -109,9 +108,6 @@
</if> </if>
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="null != internetUserId and '' != internetUserId">
#{internetUserId},
</if>
<if test="null != name and '' != name"> <if test="null != name and '' != name">
#{name}, #{name},
</if> </if>

View File

@ -17,12 +17,10 @@
</resultMap> </resultMap>
<insert id="insert" parameterType="com.xhpc.user.domain.XhpcInternetUser"> <insert id="insert" parameterType="com.xhpc.user.domain.XhpcInternetUser" useGeneratedKeys="true"
keyProperty="XhpcInternetUserId">
insert into xhpc_operator_internet_blacklist insert into xhpc_operator_internet_blacklist
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
<if test="null != xhpcOperatorInternetBlacklistId and '' != xhpcOperatorInternetBlacklistId">
xhpc_operator_internet_blacklist_id,
</if>
<if test="null != operatorId and '' != operatorId"> <if test="null != operatorId and '' != operatorId">
operator_id, operator_id,
</if> </if>
@ -49,9 +47,6 @@
</if> </if>
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="null != xhpcOperatorInternetBlacklistId and '' != xhpcOperatorInternetBlacklistId">
#{xhpcOperatorInternetBlacklistId},
</if>
<if test="null != operatorId and '' != operatorId"> <if test="null != operatorId and '' != operatorId">
#{operatorId}, #{operatorId},
</if> </if>

View File

@ -42,12 +42,10 @@
xo.create_by createBy, xo.update_time updateTime, xo.update_by updateBy, xo.remark xo.create_by createBy, xo.update_time updateTime, xo.update_by updateBy, xo.remark
</sql> </sql>
<insert id="insert" parameterType="com.xhpc.user.domain.XhpcOperator"> <insert id="insert" parameterType="com.xhpc.user.domain.XhpcOperator" useGeneratedKeys="true"
keyProperty="XhpcOperatorId">
insert into xhpc_operator insert into xhpc_operator
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
<if test="null != operatorId and '' != operatorId">
operator_id,
</if>
<if test="null != name and '' != name"> <if test="null != name and '' != name">
name, name,
</if> </if>
@ -119,10 +117,6 @@
</if> </if>
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="null != operatorId and '' != operatorId">
#{operatorId},
</if>
<if test="null != name and '' != name"> <if test="null != name and '' != name">
#{name}, #{name},
</if> </if>

View File

@ -5,8 +5,8 @@
<mapper namespace="com.xhpc.user.mapper.XhpcStationInternetBlacklistMapper"> <mapper namespace="com.xhpc.user.mapper.XhpcStationInternetBlacklistMapper">
<resultMap type="com.xhpc.user.domain.XhpcStationInternetBlacklist" id="XhpcStationInternetBlacklistResult"> <resultMap type="com.xhpc.user.domain.XhpcStationInternetBlacklist" id="XhpcStationInternetBlacklistResult">
<result column="xhpc_user_privilege_id" property="xhpcUserPrivilegeId" /> <result column="xhpc_station_internet_blacklist_id" property="xhpcStationInternetBlackId"/>
<result column="user_id" property="userId" /> <result column="internet_user_id" property="internetUserId"/>
<result column="charging_station_id" property="chargingStationId" /> <result column="charging_station_id" property="chargingStationId" />
<result column="status" property="status" /> <result column="status" property="status" />
<result column="create_time" property="createTime" /> <result column="create_time" property="createTime" />
@ -17,14 +17,12 @@
</resultMap> </resultMap>
<insert id="insert" parameterType="com.xhpc.user.domain.XhpcInternetUser"> <insert id="insert" parameterType="com.xhpc.user.domain.XhpcInternetUser" useGeneratedKeys="true"
insert into xhpc_operator_internet_blacklist keyProperty="XhpcInternetUserId">
insert into xhpc_station_internet_blacklist
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
<if test="null != xhpcUserPrivilegeId and '' != xhpcUserPrivilegeId"> <if test="null != internetUserId and '' != internetUserId">
xhpc_user_privilege_id, internet_user_id,
</if>
<if test="null != userId and '' != userId">
user_id,
</if> </if>
<if test="null != chargingStationId and '' != chargingStationId"> <if test="null != chargingStationId and '' != chargingStationId">
charging_station_id, charging_station_id,
@ -32,13 +30,13 @@
<if test="null != status and '' != status"> <if test="null != status and '' != status">
status, status,
</if> </if>
<if test="null != createTime "> <if test="null != createTime and '' != createTime">
create_time, create_time,
</if> </if>
<if test="null != createBy and '' != createBy"> <if test="null != createBy and '' != createBy">
create_by, create_by,
</if> </if>
<if test="null != updateTime "> <if test="null != updateTime and '' != updateTime">
update_time, update_time,
</if> </if>
<if test="null != updateBy and '' != updateBy"> <if test="null != updateBy and '' != updateBy">
@ -49,11 +47,8 @@
</if> </if>
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="null != xhpcUserPrivilegeId and '' != xhpcUserPrivilegeId"> <if test="null != internetUserId and '' != internetUserId">
#{xhpcUserPrivilegeId}, #{internetUserId},
</if>
<if test="null != userId and '' != userId">
#{userId},
</if> </if>
<if test="null != chargingStationId and '' != chargingStationId"> <if test="null != chargingStationId and '' != chargingStationId">
#{chargingStationId}, #{chargingStationId},
@ -61,13 +56,13 @@
<if test="null != status and '' != status"> <if test="null != status and '' != status">
#{status}, #{status},
</if> </if>
<if test="null != createTime "> <if test="null != createTime and '' != createTime">
#{createTime}, #{createTime},
</if> </if>
<if test="null != createBy and '' != createBy"> <if test="null != createBy and '' != createBy">
#{createBy}, #{createBy},
</if> </if>
<if test="null != updateTime "> <if test="null != updateTime and '' != updateTime">
#{updateTime}, #{updateTime},
</if> </if>
<if test="null != updateBy and '' != updateBy"> <if test="null != updateBy and '' != updateBy">