================================================
FILE: admin-web-page/static/.gitkeep
================================================
================================================
FILE: api/.gitignore
================================================
/target/
!.mvn/wrapper/maven-wrapper.jar
### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
### NetBeans ###
/nbproject/private/
/build/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
================================================
FILE: api/.mvn/wrapper/maven-wrapper.properties
================================================
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.5.4/apache-maven-3.5.4-bin.zip
================================================
FILE: api/mvnw
================================================
#!/bin/sh
# ----------------------------------------------------------------------------
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
# ----------------------------------------------------------------------------
# ----------------------------------------------------------------------------
# Maven2 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)`"
# TODO classpath?
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
jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.4.2/maven-wrapper-0.4.2.jar"
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 command -v wget > /dev/null; then
if [ "$MVNW_VERBOSE" = true ]; then
echo "Found wget ... using wget"
fi
wget "$jarUrl" -O "$wrapperJarPath"
elif command -v curl > /dev/null; then
if [ "$MVNW_VERBOSE" = true ]; then
echo "Found curl ... using curl"
fi
curl -o "$wrapperJarPath" "$jarUrl"
else
if [ "$MVNW_VERBOSE" = true ]; then
echo "Falling back to using Java to download"
fi
javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java"
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
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 "$@"
================================================
FILE: api/mvnw.cmd
================================================
@REM ----------------------------------------------------------------------------
@REM Licensed to the Apache Software Foundation (ASF) under one
@REM or more contributor license agreements. See the NOTICE file
@REM distributed with this work for additional information
@REM regarding copyright ownership. The ASF licenses this file
@REM to you under the Apache License, Version 2.0 (the
@REM "License"); you may not use this file except in compliance
@REM with the License. You may obtain a copy of the License at
@REM
@REM http://www.apache.org/licenses/LICENSE-2.0
@REM
@REM Unless required by applicable law or agreed to in writing,
@REM software distributed under the License is distributed on an
@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@REM KIND, either express or implied. See the License for the
@REM specific language governing permissions and limitations
@REM under the License.
@REM ----------------------------------------------------------------------------
@REM ----------------------------------------------------------------------------
@REM Maven2 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 key stroke 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 my 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.4.2/maven-wrapper-0.4.2.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% (
echo Found %WRAPPER_JAR%
) else (
echo Couldn't find %WRAPPER_JAR%, downloading it ...
echo Downloading from: %DOWNLOAD_URL%
powershell -Command "(New-Object Net.WebClient).DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"
echo Finished downloading %WRAPPER_JAR%
)
@REM End of extension
%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%
================================================
FILE: api/pom.xml
================================================
4.0.0com.orange.verifyapi1.0.0UTF-8UTF-81.8com.baomidoumybatis-plus-boot-starter3.0.6org.projectlomboklombok1.16.18compileorg.hibernatehibernate-validator5.4.1.Finalorg.apache.maven.pluginsmaven-jar-plugin
================================================
FILE: api/src/main/java/com/orange/verify/api/bean/Account.java
================================================
package com.orange.verify.api.bean;
import com.baomidou.mybatisplus.annotation.*;
import java.io.Serializable;
/**
* 软件用户表
* t_account
* @author Orange
* @date 2019/05/01
*/
@TableName("t_account")
@KeySequence("SEQ_TEST")
public class Account implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.ID_WORKER_STR)
private String id;
@TableField(value = "create_date",fill = FieldFill.INSERT)
private Long createDate;
@TableLogic
private Integer delFlag;
/**
* 备注
* remarks
*/
private String remarks;
@TableField(value = "update_date",fill = FieldFill.UPDATE)
private Long updateDate;
/**
* 是否加入了黑名单 0.不是 1.是的
* blacklist
*/
private Integer blacklist;
/**
* 卡密绑定id
* card_id
*/
private String cardId;
/**
* 用户电脑的机器码
* code
*/
private String code;
/**
* 用户注册的时候ip地址
* create_ip
*/
private String createIp;
/**
* 创建时候的ip信息
* create_ip_info
*/
private String createIpInfo;
/**
* 用户的真实姓名
* name
*/
private String name;
/**
* 用户密码
* password
*/
private String password;
/**
* 用户的联系手机号
* phone_number
*/
private String phoneNumber;
/**
* 用户的联系QQ
* qq
*/
private String qq;
/**
* 安全码,找回密码用
* security_code
*/
private String securityCode;
/**
* 软件绑定id
* soft_id
*/
private String softId;
/**
* 用户名
* username
*/
private String username;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id == null ? null : id.trim();
}
public Long getCreateDate() {
return createDate;
}
public void setCreateDate(Long createDate) {
this.createDate = createDate;
}
public Integer getDelFlag() {
return delFlag;
}
public void setDelFlag(Integer delFlag) {
this.delFlag = delFlag;
}
public String getRemarks() {
return remarks;
}
public void setRemarks(String remarks) {
this.remarks = remarks == null ? null : remarks.trim();
}
public Long getUpdateDate() {
return updateDate;
}
public void setUpdateDate(Long updateDate) {
this.updateDate = updateDate;
}
public Integer getBlacklist() {
return blacklist;
}
public void setBlacklist(Integer blacklist) {
this.blacklist = blacklist;
}
public String getCardId() {
return cardId;
}
public void setCardId(String cardId) {
this.cardId = cardId == null ? null : cardId.trim();
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code == null ? null : code.trim();
}
public String getCreateIp() {
return createIp;
}
public void setCreateIp(String createIp) {
this.createIp = createIp == null ? null : createIp.trim();
}
public String getCreateIpInfo() {
return createIpInfo;
}
public void setCreateIpInfo(String createIpInfo) {
this.createIpInfo = createIpInfo == null ? null : createIpInfo.trim();
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name == null ? null : name.trim();
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password == null ? null : password.trim();
}
public String getPhoneNumber() {
return phoneNumber;
}
public void setPhoneNumber(String phoneNumber) {
this.phoneNumber = phoneNumber == null ? null : phoneNumber.trim();
}
public String getQq() {
return qq;
}
public void setQq(String qq) {
this.qq = qq == null ? null : qq.trim();
}
public String getSecurityCode() {
return securityCode;
}
public void setSecurityCode(String securityCode) {
this.securityCode = securityCode == null ? null : securityCode.trim();
}
public String getSoftId() {
return softId;
}
public void setSoftId(String softId) {
this.softId = softId == null ? null : softId.trim();
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username == null ? null : username.trim();
}
}
================================================
FILE: api/src/main/java/com/orange/verify/api/bean/AccountLoginLog.java
================================================
package com.orange.verify.api.bean;
import com.baomidou.mybatisplus.annotation.*;
import java.io.Serializable;
/**
* 用户登录日志
* t_account_login_log
* @author Orange
* @date 2019/05/01
*/
@TableName("t_account_login_log")
@KeySequence("SEQ_TEST")
public class AccountLoginLog implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.ID_WORKER_STR)
private String id;
@TableField(value = "create_date",fill = FieldFill.INSERT)
private Long createDate;
@TableLogic
private Integer delFlag;
/**
* 备注
* remarks
*/
private String remarks;
@TableField(value = "update_date",fill = FieldFill.UPDATE)
private Long updateDate;
/**
* account_id
*/
private String accountId;
/**
* ip
*/
private String ip;
/**
* ip_info
*/
private String ipInfo;
/**
* soft_id
*/
private String softId;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id == null ? null : id.trim();
}
public Long getCreateDate() {
return createDate;
}
public void setCreateDate(Long createDate) {
this.createDate = createDate;
}
public Integer getDelFlag() {
return delFlag;
}
public void setDelFlag(Integer delFlag) {
this.delFlag = delFlag;
}
public String getRemarks() {
return remarks;
}
public void setRemarks(String remarks) {
this.remarks = remarks == null ? null : remarks.trim();
}
public Long getUpdateDate() {
return updateDate;
}
public void setUpdateDate(Long updateDate) {
this.updateDate = updateDate;
}
public String getAccountId() {
return accountId;
}
public void setAccountId(String accountId) {
this.accountId = accountId == null ? null : accountId.trim();
}
public String getIp() {
return ip;
}
public void setIp(String ip) {
this.ip = ip == null ? null : ip.trim();
}
public String getIpInfo() {
return ipInfo;
}
public void setIpInfo(String ipInfo) {
this.ipInfo = ipInfo == null ? null : ipInfo.trim();
}
public String getSoftId() {
return softId;
}
public void setSoftId(String softId) {
this.softId = softId == null ? null : softId.trim();
}
}
================================================
FILE: api/src/main/java/com/orange/verify/api/bean/AccountRegisterLog.java
================================================
package com.orange.verify.api.bean;
import com.baomidou.mybatisplus.annotation.*;
import java.io.Serializable;
/**
* 用户注册日志
* t_account_register_log
* @author Orange
* @date 2019/05/01
*/
@TableName("t_account_register_log")
@KeySequence("SEQ_TEST")
public class AccountRegisterLog implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.ID_WORKER_STR)
private String id;
@TableField(value = "create_date",fill = FieldFill.INSERT)
private Long createDate;
@TableLogic
private Integer delFlag;
/**
* 备注
* remarks
*/
private String remarks;
@TableField(value = "update_date",fill = FieldFill.UPDATE)
private Long updateDate;
/**
* account_id
*/
private String accountId;
/**
* ip
*/
private String ip;
/**
* ip_info
*/
private String ipInfo;
/**
* soft_id
*/
private String softId;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id == null ? null : id.trim();
}
public Long getCreateDate() {
return createDate;
}
public void setCreateDate(Long createDate) {
this.createDate = createDate;
}
public Integer getDelFlag() {
return delFlag;
}
public void setDelFlag(Integer delFlag) {
this.delFlag = delFlag;
}
public String getRemarks() {
return remarks;
}
public void setRemarks(String remarks) {
this.remarks = remarks == null ? null : remarks.trim();
}
public Long getUpdateDate() {
return updateDate;
}
public void setUpdateDate(Long updateDate) {
this.updateDate = updateDate;
}
public String getAccountId() {
return accountId;
}
public void setAccountId(String accountId) {
this.accountId = accountId == null ? null : accountId.trim();
}
public String getIp() {
return ip;
}
public void setIp(String ip) {
this.ip = ip == null ? null : ip.trim();
}
public String getIpInfo() {
return ipInfo;
}
public void setIpInfo(String ipInfo) {
this.ipInfo = ipInfo == null ? null : ipInfo.trim();
}
public String getSoftId() {
return softId;
}
public void setSoftId(String softId) {
this.softId = softId == null ? null : softId.trim();
}
}
================================================
FILE: api/src/main/java/com/orange/verify/api/bean/BaiduMapApi.java
================================================
package com.orange.verify.api.bean;
import com.baomidou.mybatisplus.annotation.*;
import java.io.Serializable;
/**
* 百度地理api配置
* t_baidu_map_api
* @author Orange
* @date 2019/05/01
*/
@TableName("t_baidu_map_api")
@KeySequence("SEQ_TEST")
public class BaiduMapApi implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.ID_WORKER_STR)
private String id;
@TableField(value = "create_date",fill = FieldFill.INSERT)
private Long createDate;
@TableLogic
private Integer delFlag;
/**
* 备注
* remarks
*/
private String remarks;
@TableField(value = "update_date",fill = FieldFill.UPDATE)
private Long updateDate;
/**
* appkey
* appkey
*/
private String appkey;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id == null ? null : id.trim();
}
public Long getCreateDate() {
return createDate;
}
public void setCreateDate(Long createDate) {
this.createDate = createDate;
}
public Integer getDelFlag() {
return delFlag;
}
public void setDelFlag(Integer delFlag) {
this.delFlag = delFlag;
}
public String getRemarks() {
return remarks;
}
public void setRemarks(String remarks) {
this.remarks = remarks == null ? null : remarks.trim();
}
public Long getUpdateDate() {
return updateDate;
}
public void setUpdateDate(Long updateDate) {
this.updateDate = updateDate;
}
public String getAppkey() {
return appkey;
}
public void setAppkey(String appkey) {
this.appkey = appkey == null ? null : appkey.trim();
}
}
================================================
FILE: api/src/main/java/com/orange/verify/api/bean/Card.java
================================================
package com.orange.verify.api.bean;
import com.baomidou.mybatisplus.annotation.*;
import java.io.Serializable;
/**
* 软件充值卡
* t_card
* @author Orange
* @date 2019/05/01
*/
@TableName("t_card")
@KeySequence("SEQ_TEST")
public class Card implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.ID_WORKER_STR)
private String id;
@TableField(value = "create_date",fill = FieldFill.INSERT)
private Long createDate;
@TableLogic
private Integer delFlag;
/**
* 备注
* remarks
*/
private String remarks;
@TableField(value = "update_date",fill = FieldFill.UPDATE)
private Long updateDate;
/**
* 用户绑定id
* account_id
*/
private String accountId;
/**
* 充值卡号
* card_number
*/
private String cardNumber;
/**
* 卡类绑定id
* card_type_id
*/
private String cardTypeId;
/**
* 是否封停使用 0.未封停 1.已封停
* closure
*/
private Integer closure;
/**
* 结束时间
* end_date
*/
private Long endDate;
/**
* 销售状态 0.未卖出 1.已卖出
* sell_status
*/
private Integer sellStatus;
/**
* 开始使用时间
* start_date
*/
private Long startDate;
/**
* 使用状态 0.未使用 1.已使用
* use_status
*/
private Integer useStatus;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id == null ? null : id.trim();
}
public Long getCreateDate() {
return createDate;
}
public void setCreateDate(Long createDate) {
this.createDate = createDate;
}
public Integer getDelFlag() {
return delFlag;
}
public void setDelFlag(Integer delFlag) {
this.delFlag = delFlag;
}
public String getRemarks() {
return remarks;
}
public void setRemarks(String remarks) {
this.remarks = remarks == null ? null : remarks.trim();
}
public Long getUpdateDate() {
return updateDate;
}
public void setUpdateDate(Long updateDate) {
this.updateDate = updateDate;
}
public String getAccountId() {
return accountId;
}
public void setAccountId(String accountId) {
this.accountId = accountId == null ? null : accountId.trim();
}
public String getCardNumber() {
return cardNumber;
}
public void setCardNumber(String cardNumber) {
this.cardNumber = cardNumber == null ? null : cardNumber.trim();
}
public String getCardTypeId() {
return cardTypeId;
}
public void setCardTypeId(String cardTypeId) {
this.cardTypeId = cardTypeId == null ? null : cardTypeId.trim();
}
public Integer getClosure() {
return closure;
}
public void setClosure(Integer closure) {
this.closure = closure;
}
public Long getEndDate() {
return endDate;
}
public void setEndDate(Long endDate) {
this.endDate = endDate;
}
public Integer getSellStatus() {
return sellStatus;
}
public void setSellStatus(Integer sellStatus) {
this.sellStatus = sellStatus;
}
public Long getStartDate() {
return startDate;
}
public void setStartDate(Long startDate) {
this.startDate = startDate;
}
public Integer getUseStatus() {
return useStatus;
}
public void setUseStatus(Integer useStatus) {
this.useStatus = useStatus;
}
}
================================================
FILE: api/src/main/java/com/orange/verify/api/bean/CardType.java
================================================
package com.orange.verify.api.bean;
import com.baomidou.mybatisplus.annotation.*;
import java.io.Serializable;
/**
* 软件充值卡类型
* t_card_type
* @author Orange
* @date 2019/05/01
*/
@TableName("t_card_type")
@KeySequence("SEQ_TEST")
public class CardType implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.ID_WORKER_STR)
private String id;
@TableField(value = "create_date",fill = FieldFill.INSERT)
private Long createDate;
@TableLogic
private Integer delFlag;
/**
* 备注
* remarks
*/
private String remarks;
@TableField(value = "update_date",fill = FieldFill.UPDATE)
private Long updateDate;
/**
* 软件绑定id
* soft_id
*/
private String softId;
/**
* 卡类单位 0.分 1.时 2.天 3.周 4.月 5.年
* unit
*/
private Integer unit;
/**
* 卡类值 比如对应的是分填1就是1分钟 以此类推
* value
*/
private Integer value;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id == null ? null : id.trim();
}
public Long getCreateDate() {
return createDate;
}
public void setCreateDate(Long createDate) {
this.createDate = createDate;
}
public Integer getDelFlag() {
return delFlag;
}
public void setDelFlag(Integer delFlag) {
this.delFlag = delFlag;
}
public String getRemarks() {
return remarks;
}
public void setRemarks(String remarks) {
this.remarks = remarks == null ? null : remarks.trim();
}
public Long getUpdateDate() {
return updateDate;
}
public void setUpdateDate(Long updateDate) {
this.updateDate = updateDate;
}
public String getSoftId() {
return softId;
}
public void setSoftId(String softId) {
this.softId = softId == null ? null : softId.trim();
}
public Integer getUnit() {
return unit;
}
public void setUnit(Integer unit) {
this.unit = unit;
}
public Integer getValue() {
return value;
}
public void setValue(Integer value) {
this.value = value;
}
}
================================================
FILE: api/src/main/java/com/orange/verify/api/bean/EmailAccount.java
================================================
package com.orange.verify.api.bean;
import com.baomidou.mybatisplus.annotation.*;
import java.io.Serializable;
/**
* 邮箱账户
* t_email_account
* @author Orange
* @date 2019/05/01
*/
@TableName("t_email_account")
@KeySequence("SEQ_TEST")
public class EmailAccount implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.ID_WORKER_STR)
private String id;
@TableField(value = "create_date",fill = FieldFill.INSERT)
private Long createDate;
@TableLogic
private Integer delFlag;
/**
* 备注
* remarks
*/
private String remarks;
@TableField(value = "update_date",fill = FieldFill.UPDATE)
private Long updateDate;
/**
* 是否使用 0.使用 1.不使用
* is_use
*/
private Integer isUse;
/**
* 用户密码
* password
*/
private String password;
/**
* 被使用的次数
* total
*/
private Long total;
/**
* 用户名
* username
*/
private String username;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id == null ? null : id.trim();
}
public Long getCreateDate() {
return createDate;
}
public void setCreateDate(Long createDate) {
this.createDate = createDate;
}
public Integer getDelFlag() {
return delFlag;
}
public void setDelFlag(Integer delFlag) {
this.delFlag = delFlag;
}
public String getRemarks() {
return remarks;
}
public void setRemarks(String remarks) {
this.remarks = remarks == null ? null : remarks.trim();
}
public Long getUpdateDate() {
return updateDate;
}
public void setUpdateDate(Long updateDate) {
this.updateDate = updateDate;
}
public Integer getIsUse() {
return isUse;
}
public void setIsUse(Integer isUse) {
this.isUse = isUse;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password == null ? null : password.trim();
}
public Long getTotal() {
return total;
}
public void setTotal(Long total) {
this.total = total;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username == null ? null : username.trim();
}
}
================================================
FILE: api/src/main/java/com/orange/verify/api/bean/InterfaceManagement.java
================================================
package com.orange.verify.api.bean;
import lombok.Data;
import java.io.Serializable;
/**
* 接口默认控制配置
* visit 1=可以访问 0=接口关闭
* ipHandle 1开启ip限流控制 0关闭
* ipVisits ip访问次数,限制接口在 xx 分钟内容只能访问 xx 次,默认60次
* ipRedisInterval ip redis缓存多少分钟 默认1分钟
*/
@Data
public class InterfaceManagement implements Serializable {
private String key;
private String remarks;
private Integer visit;
private Integer ipHandle;
private Long ipVisits;
private Long ipRedisInterval;
}
================================================
FILE: api/src/main/java/com/orange/verify/api/bean/Soft.java
================================================
package com.orange.verify.api.bean;
import com.baomidou.mybatisplus.annotation.*;
import java.io.Serializable;
/**
* 软件
* t_soft
* @author Orange
* @date 2019/05/01
*/
@TableName("t_soft")
@KeySequence("SEQ_TEST")
public class Soft implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.ID_WORKER_STR)
private String id;
@TableField(value = "create_date",fill = FieldFill.INSERT)
private Long createDate;
@TableLogic
private Integer delFlag;
/**
* 备注
* remarks
*/
private String remarks;
@TableField(value = "update_date",fill = FieldFill.UPDATE)
private Long updateDate;
/**
* 换绑策略 0.支持换绑定 1.不支持换绑定
* change_strategy
*/
private Integer changeStrategy;
/**
* 多开策略 0.只支持单机 1.无限制
* dosing_strategy
*/
private Integer dosingStrategy;
/**
* 被通知的邮箱账户名
* email_name
*/
private String emailName;
/**
* 软件被留言 是否邮件通知 0.通知 1.不通知
* email_notificatio
*/
private Integer emailNotificatio;
/**
* 软件名称
* name
*/
private String name;
/**
* 公告
* notice
*/
private String notice;
/**
* 关闭注册后的返回信息
* registe_close_msg
*/
private String registeCloseMsg;
/**
* 注册状态 0.开放注册 1.关闭注册
* register_status
*/
private Integer registerStatus;
/**
* 关闭状态下的返回信息
* service_close_msg
*/
private String serviceCloseMsg;
/**
* 服务状态 0.收费 1.免费开放 2.关闭开放使用
* service_status
*/
private Integer serviceStatus;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id == null ? null : id.trim();
}
public Long getCreateDate() {
return createDate;
}
public void setCreateDate(Long createDate) {
this.createDate = createDate;
}
public Integer getDelFlag() {
return delFlag;
}
public void setDelFlag(Integer delFlag) {
this.delFlag = delFlag;
}
public String getRemarks() {
return remarks;
}
public void setRemarks(String remarks) {
this.remarks = remarks == null ? null : remarks.trim();
}
public Long getUpdateDate() {
return updateDate;
}
public void setUpdateDate(Long updateDate) {
this.updateDate = updateDate;
}
public Integer getChangeStrategy() {
return changeStrategy;
}
public void setChangeStrategy(Integer changeStrategy) {
this.changeStrategy = changeStrategy;
}
public Integer getDosingStrategy() {
return dosingStrategy;
}
public void setDosingStrategy(Integer dosingStrategy) {
this.dosingStrategy = dosingStrategy;
}
public String getEmailName() {
return emailName;
}
public void setEmailName(String emailName) {
this.emailName = emailName == null ? null : emailName.trim();
}
public Integer getEmailNotificatio() {
return emailNotificatio;
}
public void setEmailNotificatio(Integer emailNotificatio) {
this.emailNotificatio = emailNotificatio;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name == null ? null : name.trim();
}
public String getNotice() {
return notice;
}
public void setNotice(String notice) {
this.notice = notice == null ? null : notice.trim();
}
public String getRegisteCloseMsg() {
return registeCloseMsg;
}
public void setRegisteCloseMsg(String registeCloseMsg) {
this.registeCloseMsg = registeCloseMsg == null ? null : registeCloseMsg.trim();
}
public Integer getRegisterStatus() {
return registerStatus;
}
public void setRegisterStatus(Integer registerStatus) {
this.registerStatus = registerStatus;
}
public String getServiceCloseMsg() {
return serviceCloseMsg;
}
public void setServiceCloseMsg(String serviceCloseMsg) {
this.serviceCloseMsg = serviceCloseMsg == null ? null : serviceCloseMsg.trim();
}
public Integer getServiceStatus() {
return serviceStatus;
}
public void setServiceStatus(Integer serviceStatus) {
this.serviceStatus = serviceStatus;
}
}
================================================
FILE: api/src/main/java/com/orange/verify/api/bean/SoftLeaveMessage.java
================================================
package com.orange.verify.api.bean;
import com.baomidou.mybatisplus.annotation.*;
import java.io.Serializable;
/**
* 软件留言
* t_soft_leave_message
* @author Orange
* @date 2019/05/01
*/
@TableName("t_soft_leave_message")
@KeySequence("SEQ_TEST")
public class SoftLeaveMessage implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.ID_WORKER_STR)
private String id;
@TableField(value = "create_date",fill = FieldFill.INSERT)
private Long createDate;
@TableLogic
private Integer delFlag;
/**
* 备注
* remarks
*/
private String remarks;
@TableField(value = "update_date",fill = FieldFill.UPDATE)
private Long updateDate;
/**
* 用户留言内容
* content
*/
private String content;
/**
* ip
*/
private String ip;
/**
* ip_info
*/
private String ipInfo;
/**
* 用户的QQ号
* qq
*/
private String qq;
/**
* 软件绑定id
* soft_id
*/
private String softId;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id == null ? null : id.trim();
}
public Long getCreateDate() {
return createDate;
}
public void setCreateDate(Long createDate) {
this.createDate = createDate;
}
public Integer getDelFlag() {
return delFlag;
}
public void setDelFlag(Integer delFlag) {
this.delFlag = delFlag;
}
public String getRemarks() {
return remarks;
}
public void setRemarks(String remarks) {
this.remarks = remarks == null ? null : remarks.trim();
}
public Long getUpdateDate() {
return updateDate;
}
public void setUpdateDate(Long updateDate) {
this.updateDate = updateDate;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content == null ? null : content.trim();
}
public String getIp() {
return ip;
}
public void setIp(String ip) {
this.ip = ip == null ? null : ip.trim();
}
public String getIpInfo() {
return ipInfo;
}
public void setIpInfo(String ipInfo) {
this.ipInfo = ipInfo == null ? null : ipInfo.trim();
}
public String getQq() {
return qq;
}
public void setQq(String qq) {
this.qq = qq == null ? null : qq.trim();
}
public String getSoftId() {
return softId;
}
public void setSoftId(String softId) {
this.softId = softId == null ? null : softId.trim();
}
}
================================================
FILE: api/src/main/java/com/orange/verify/api/bean/SoftVersions.java
================================================
package com.orange.verify.api.bean;
import com.baomidou.mybatisplus.annotation.*;
import java.io.Serializable;
/**
* 软件版本控制
* t_soft_versions
* @author Orange
* @date 2019/05/01
*/
@TableName("t_soft_versions")
@KeySequence("SEQ_TEST")
public class SoftVersions implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.ID_WORKER_STR)
private String id;
@TableField(value = "create_date",fill = FieldFill.INSERT)
private Long createDate;
@TableLogic
private Integer delFlag;
/**
* 备注
* remarks
*/
private String remarks;
@TableField(value = "update_date",fill = FieldFill.UPDATE)
private Long updateDate;
/**
* 更新公告
* notice
*/
private String notice;
/**
* 是否强制更新 0.不强制 1.强制
* novatio_necessaria
*/
private Integer novatioNecessaria;
/**
* 版本号
* number
*/
private String number;
/**
* 软件绑定id
* soft_id
*/
private String softId;
/**
* 更新url
* update_url
*/
private String updateUrl;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id == null ? null : id.trim();
}
public Long getCreateDate() {
return createDate;
}
public void setCreateDate(Long createDate) {
this.createDate = createDate;
}
public Integer getDelFlag() {
return delFlag;
}
public void setDelFlag(Integer delFlag) {
this.delFlag = delFlag;
}
public String getRemarks() {
return remarks;
}
public void setRemarks(String remarks) {
this.remarks = remarks == null ? null : remarks.trim();
}
public Long getUpdateDate() {
return updateDate;
}
public void setUpdateDate(Long updateDate) {
this.updateDate = updateDate;
}
public String getNotice() {
return notice;
}
public void setNotice(String notice) {
this.notice = notice == null ? null : notice.trim();
}
public Integer getNovatioNecessaria() {
return novatioNecessaria;
}
public void setNovatioNecessaria(Integer novatioNecessaria) {
this.novatioNecessaria = novatioNecessaria;
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number == null ? null : number.trim();
}
public String getSoftId() {
return softId;
}
public void setSoftId(String softId) {
this.softId = softId == null ? null : softId.trim();
}
public String getUpdateUrl() {
return updateUrl;
}
public void setUpdateUrl(String updateUrl) {
this.updateUrl = updateUrl == null ? null : updateUrl.trim();
}
}
================================================
FILE: api/src/main/java/com/orange/verify/api/bean/User.java
================================================
package com.orange.verify.api.bean;
import com.baomidou.mybatisplus.annotation.*;
import java.io.Serializable;
/**
* 平台管理用户
* t_user
* @author Orange
* @date 2019/05/01
*/
@TableName("t_user")
@KeySequence("SEQ_TEST")
public class User implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.ID_WORKER_STR)
private String id;
@TableField(value = "create_date",fill = FieldFill.INSERT)
private Long createDate;
@TableLogic
private Integer delFlag;
/**
* 备注
* remarks
*/
private String remarks;
@TableField(value = "update_date",fill = FieldFill.UPDATE)
private Long updateDate;
/**
* 管理标识符
* flag
*/
private String flag;
/**
* 管理用户密码
* password
*/
private String password;
/**
* 管理用户名
* username
*/
private String username;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id == null ? null : id.trim();
}
public Long getCreateDate() {
return createDate;
}
public void setCreateDate(Long createDate) {
this.createDate = createDate;
}
public Integer getDelFlag() {
return delFlag;
}
public void setDelFlag(Integer delFlag) {
this.delFlag = delFlag;
}
public String getRemarks() {
return remarks;
}
public void setRemarks(String remarks) {
this.remarks = remarks == null ? null : remarks.trim();
}
public Long getUpdateDate() {
return updateDate;
}
public void setUpdateDate(Long updateDate) {
this.updateDate = updateDate;
}
public String getFlag() {
return flag;
}
public void setFlag(String flag) {
this.flag = flag == null ? null : flag.trim();
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password == null ? null : password.trim();
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username == null ? null : username.trim();
}
}
================================================
FILE: api/src/main/java/com/orange/verify/api/redis/RedisKeyConstant.java
================================================
package com.orange.verify.api.redis;
/**
* reis key 常量池
* @author Orange软件
* @date 2019.3.12
*/
public class RedisKeyConstant {
/**
* admin web 开放接口管理key
*/
public final static String OPEN_INTERFACE = "orange.tbk:open.interface:";
/**
* admin web 访问人IP录入key
*/
public final static String IP_LIBRARY = "orange.tbk:ip-library:";
}
================================================
FILE: api/src/main/java/com/orange/verify/api/sc/AccountBlackList.java
================================================
package com.orange.verify.api.sc;
/**
* Account
* 是否加入了黑名单 0.不是 1.是的
*/
public enum AccountBlackList {
YES(1,"是"),
NO(0,"不是")
;
private int statusCode;
private String content;
AccountBlackList(int statusCode,String content) {
this.statusCode = statusCode;
this.content = content;
}
public int getStatusCode() {
return statusCode;
}
public String getContent() {
return content;
}
}
================================================
FILE: api/src/main/java/com/orange/verify/api/sc/CardClosure.java
================================================
package com.orange.verify.api.sc;
/**
* Card
* 是否封停使用 0.未封停 1.已封停
*/
public enum CardClosure {
YES(1,"已封停"),
NO(0,"未封停")
;
private int statusCode;
private String content;
CardClosure(int statusCode,String content) {
this.statusCode = statusCode;
this.content = content;
}
public int getStatusCode() {
return statusCode;
}
public String getContent() {
return content;
}
}
================================================
FILE: api/src/main/java/com/orange/verify/api/sc/CardSellStatus.java
================================================
package com.orange.verify.api.sc;
/**
* Card
* 销售状态 0.未卖出 1.已卖出
*/
public enum CardSellStatus {
YES(1,"已卖出"),
NO(0,"未卖出")
;
private int statusCode;
private String content;
CardSellStatus(int statusCode,String content) {
this.statusCode = statusCode;
this.content = content;
}
public int getStatusCode() {
return statusCode;
}
public String getContent() {
return content;
}
}
================================================
FILE: api/src/main/java/com/orange/verify/api/sc/CardTypeUnit.java
================================================
package com.orange.verify.api.sc;
/**
* CardType
* 卡类单位 0.分 1.时 2.天 3.周 4.月 5.年
*/
public enum CardTypeUnit {
MINUTE(0,"分"),
HOUR(1,"时"),
DAY(2,"天"),
WEEK(3,"周"),
MONTH(4,"月"),
YEAR(5,"年")
;
private int statusCode;
private String content;
CardTypeUnit(int statusCode,String content) {
this.statusCode = statusCode;
this.content = content;
}
public int getStatusCode() {
return statusCode;
}
public String getContent() {
return content;
}
}
================================================
FILE: api/src/main/java/com/orange/verify/api/sc/CardUseStatus.java
================================================
package com.orange.verify.api.sc;
/**
* Card
* 使用状态 0.未使用 1.已使用
*/
public enum CardUseStatus {
YES(1,"已使用"),
NO(0,"未使用")
;
private int statusCode;
private String content;
CardUseStatus(int statusCode,String content) {
this.statusCode = statusCode;
this.content = content;
}
public int getStatusCode() {
return statusCode;
}
public String getContent() {
return content;
}
}
================================================
FILE: api/src/main/java/com/orange/verify/api/sc/EmailAccountIsUse.java
================================================
package com.orange.verify.api.sc;
/**
* EmailAccount
* 是否使用 0.使用中 1.未使用
*/
public enum EmailAccountIsUse {
YES(0,"使用中"),
NO(1,"未使用")
;
private int statusCode;
private String content;
EmailAccountIsUse(int statusCode,String content) {
this.statusCode = statusCode;
this.content = content;
}
public int getStatusCode() {
return statusCode;
}
public String getContent() {
return content;
}
}
================================================
FILE: api/src/main/java/com/orange/verify/api/sc/InterfaceManagementIpHandle.java
================================================
package com.orange.verify.api.sc;
import java.io.Serializable;
/**
* InterfaceManagement
* ipHandle 1开启ip限流控制 0关闭
*/
public enum InterfaceManagementIpHandle implements Serializable {
CLOSE(0,"关闭"),
START(1,"开启")
;
private int statusCode;
private String content;
InterfaceManagementIpHandle(int statusCode, String content) {
this.statusCode = statusCode;
this.content = content;
}
public int getStatusCode() {
return statusCode;
}
public String getContent() {
return content;
}
}
================================================
FILE: api/src/main/java/com/orange/verify/api/sc/InterfaceManagementVisit.java
================================================
package com.orange.verify.api.sc;
import java.io.Serializable;
/**
* InterfaceManagement
* visit 1=可以访问 0=接口关闭
*/
public enum InterfaceManagementVisit implements Serializable {
CLOSE(0,"拒绝访问"),
OPEN(1,"可以访问")
;
private int statusCode;
private String content;
InterfaceManagementVisit(int statusCode,String content) {
this.statusCode = statusCode;
this.content = content;
}
public int getStatusCode() {
return statusCode;
}
public String getContent() {
return content;
}
}
================================================
FILE: api/src/main/java/com/orange/verify/api/sc/SoftChangeStrategy.java
================================================
package com.orange.verify.api.sc;
/**
* Soft
* 换绑策略 0.支持换绑定 1.不支持换绑定
*/
public enum SoftChangeStrategy {
YES(0,"支持换绑定"),
NO(1,"不支持换绑定")
;
private int statusCode;
private String content;
SoftChangeStrategy(int statusCode,String content) {
this.statusCode = statusCode;
this.content = content;
}
public int getStatusCode() {
return statusCode;
}
public String getContent() {
return content;
}
}
================================================
FILE: api/src/main/java/com/orange/verify/api/sc/SoftDosingStrategy.java
================================================
package com.orange.verify.api.sc;
/**
* Soft
* 多开策略 0.只支持单机 1.无限制
*/
public enum SoftDosingStrategy {
SINGLE(0,"只支持单机"),
UNLIMITED(1,"无限制")
;
private int statusCode;
private String content;
SoftDosingStrategy(int statusCode,String content) {
this.statusCode = statusCode;
this.content = content;
}
public int getStatusCode() {
return statusCode;
}
public String getContent() {
return content;
}
}
================================================
FILE: api/src/main/java/com/orange/verify/api/sc/SoftEmailNotificatio.java
================================================
package com.orange.verify.api.sc;
/**
* Soft
* 软件被留言 是否邮件通知 0.通知 1.不通知
*/
public enum SoftEmailNotificatio {
YES(0,"通知"),
NO(1,"不通知")
;
private int statusCode;
private String content;
SoftEmailNotificatio(int statusCode,String content) {
this.statusCode = statusCode;
this.content = content;
}
public int getStatusCode() {
return statusCode;
}
public String getContent() {
return content;
}
}
================================================
FILE: api/src/main/java/com/orange/verify/api/sc/SoftRegisterStatus.java
================================================
package com.orange.verify.api.sc;
/**
* Soft
* 注册状态 0.开放注册 1.关闭注册
*/
public enum SoftRegisterStatus {
OPEN(0,"开放注册"),
CLOSE(1,"关闭注册")
;
private int statusCode;
private String content;
SoftRegisterStatus(int statusCode,String content) {
this.statusCode = statusCode;
this.content = content;
}
public int getStatusCode() {
return statusCode;
}
public String getContent() {
return content;
}
}
================================================
FILE: api/src/main/java/com/orange/verify/api/sc/SoftServiceStatus.java
================================================
package com.orange.verify.api.sc;
/**
* Soft
* 服务状态 0.收费 1.免费开放 2.关闭开放使用
*/
public enum SoftServiceStatus {
CHARGE(0,"收费"),
FREE(1,"免费开放"),
CLOSE(2,"关闭开放使用")
;
private int statusCode;
private String content;
SoftServiceStatus(int statusCode,String content) {
this.statusCode = statusCode;
this.content = content;
}
public int getStatusCode() {
return statusCode;
}
public String getContent() {
return content;
}
}
================================================
FILE: api/src/main/java/com/orange/verify/api/sc/SoftVersionsNovatioNecessaria.java
================================================
package com.orange.verify.api.sc;
/**
* SoftVersions
* 是否强制更新 0.不强制 1.强制
*/
public enum SoftVersionsNovatioNecessaria {
YES(1,"强制"),
NO(0,"不强制")
;
private int statusCode;
private String content;
SoftVersionsNovatioNecessaria(int statusCode,String content) {
this.statusCode = statusCode;
this.content = content;
}
public int getStatusCode() {
return statusCode;
}
public String getContent() {
return content;
}
}
================================================
FILE: api/src/main/java/com/orange/verify/api/service/AccountLoginLogService.java
================================================
package com.orange.verify.api.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.orange.verify.api.bean.AccountLoginLog;
import com.orange.verify.api.vo.AccountLoginLogVo;
import java.util.List;
public interface AccountLoginLogService extends IService {
List getBeforeData(String softId);
Page page(AccountLoginLogVo accountLoginLog, Page page);
}
================================================
FILE: api/src/main/java/com/orange/verify/api/service/AccountRegisterLogService.java
================================================
package com.orange.verify.api.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.orange.verify.api.bean.AccountRegisterLog;
import com.orange.verify.api.vo.AccountRegisterLogVo;
import java.util.List;
public interface AccountRegisterLogService extends IService {
List getBeforeData(String softId);
Page page(AccountRegisterLog accountRegisterLog, Page page);
}
================================================
FILE: api/src/main/java/com/orange/verify/api/service/AccountService.java
================================================
package com.orange.verify.api.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.orange.verify.api.bean.Account;
import com.orange.verify.api.sr.ServiceResult;
import com.orange.verify.api.vo.AccountVo;
import com.orange.verify.api.vo.open.*;
public interface AccountService extends IService {
Page page(AccountVo accountVo, Page page);
ServiceResult getPublicKey();
void saveVerificationCode(AccountVerificationCodeVo accountVerificationCodeVo);
ServiceResult register(AccountRegisterVo accountRegisterVo);
ServiceResult login(AccountLoginVo accountLoginVo);
ServiceResult bindingCard(AccountBindingCardVo accountBindingCardVo);
ServiceResult bindingCode(AccountBindingCodeVo accountBindingCodeVo);
ServiceResult updatePassword(AccountUpdatePasswordVo accountUpdatePasswordVo);
}
================================================
FILE: api/src/main/java/com/orange/verify/api/service/BaiduMapApiService.java
================================================
package com.orange.verify.api.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.orange.verify.api.bean.BaiduMapApi;
public interface BaiduMapApiService extends IService {
boolean create(BaiduMapApi baiduMapApi);
}
================================================
FILE: api/src/main/java/com/orange/verify/api/service/CardService.java
================================================
package com.orange.verify.api.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.orange.verify.api.bean.Card;
import com.orange.verify.api.vo.CardVo;
import com.orange.verify.api.vo.open.CardTimeLimitVo;
import java.util.List;
public interface CardService extends IService {
Page page(CardVo cardVo, Page page);
void saveLogic(Card card,Integer count);
CardTimeLimitVo getCardTimeLimit(String username,String password,String softId);
void sell(List sell);
void batchRemove(List cardList);
}
================================================
FILE: api/src/main/java/com/orange/verify/api/service/CardTypeService.java
================================================
package com.orange.verify.api.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.orange.verify.api.bean.CardType;
import com.orange.verify.api.vo.CardTypeVo;
public interface CardTypeService extends IService {
Page page(CardType cardType, Page page);
}
================================================
FILE: api/src/main/java/com/orange/verify/api/service/EmailAccountService.java
================================================
package com.orange.verify.api.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.orange.verify.api.bean.EmailAccount;
import java.util.List;
public interface EmailAccountService extends IService {
List getList();
}
================================================
FILE: api/src/main/java/com/orange/verify/api/service/InterfaceManagementService.java
================================================
package com.orange.verify.api.service;
import com.orange.verify.api.bean.InterfaceManagement;
import java.util.List;
public interface InterfaceManagementService {
List getAll() throws Exception;
void closeInterface(String key,Integer on) throws Exception;
InterfaceManagement getSingle(String key) throws Exception;
void update(InterfaceManagement interfaceManagement) throws Exception;
void ipHandle(String key,Integer on) throws Exception;
}
================================================
FILE: api/src/main/java/com/orange/verify/api/service/SoftLeaveMessageService.java
================================================
package com.orange.verify.api.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.orange.verify.api.bean.SoftLeaveMessage;
import com.orange.verify.api.sr.ServiceResult;
import com.orange.verify.api.vo.SoftLeaveMessageVo;
import com.orange.verify.api.vo.open.SoftLeaveMeesageSubmitVo;
public interface SoftLeaveMessageService extends IService {
Page page(SoftLeaveMessageVo softLeaveMessageVo, Page page);
ServiceResult create(SoftLeaveMeesageSubmitVo softLeaveMeesageSubmitVo);
}
================================================
FILE: api/src/main/java/com/orange/verify/api/service/SoftService.java
================================================
package com.orange.verify.api.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.orange.verify.api.bean.Soft;
import com.orange.verify.api.sr.ServiceResult;
import com.orange.verify.api.vo.SoftVo;
import com.orange.verify.api.vo.open.SoftGetSoftDescVo;
public interface SoftService extends IService {
Page page(Soft soft,Page page);
ServiceResult getSoftDesc(SoftGetSoftDescVo accountGetSoftDescVo);
}
================================================
FILE: api/src/main/java/com/orange/verify/api/service/SoftVersionsService.java
================================================
package com.orange.verify.api.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.orange.verify.api.bean.SoftVersions;
import com.orange.verify.api.vo.SoftVersionsVo;
public interface SoftVersionsService extends IService {
SoftVersionsVo getSingleBySoftId(String softId);
boolean saveLogic(SoftVersions softVersions);
com.orange.verify.api.vo.open.SoftVersionsVo getVersions(String softId);
}
================================================
FILE: api/src/main/java/com/orange/verify/api/service/UserService.java
================================================
package com.orange.verify.api.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.orange.verify.api.bean.User;
public interface UserService extends IService {
int verifyUser(String username,String password);
}
================================================
FILE: api/src/main/java/com/orange/verify/api/sr/AccountImplBindingCardEnum.java
================================================
package com.orange.verify.api.sr;
import java.io.Serializable;
public class AccountImplBindingCardEnum implements Serializable {
public static final int BINDING_CARD_SUCCESS = 1;
public static final int KEY_EMPTY = 2;
public static final int SOFT_EMPTY = 3;
public static final int KEY_ERROR = 4;
public static final int PASSWORD_LENGTH_ERROR = 5;
public static final int SOFT_CLOSE = 6;
public static final int ACCOUNT_EMPTY = 7;
public static final int CARD_EMPTY = 8;
public static final int ACCOUNT_BLACKLIST = 9;
public static final int CARD_USE = 10;
public static final int CARD_CLOSURE = 11;
public static final int SOFT_INCONSISTENCY = 12;
public static final int BINDING_CARD_ERROR = 13;
public static final int PASSWORD_ERROR = 14;
public static final int SOFT_FREE = 15;
}
================================================
FILE: api/src/main/java/com/orange/verify/api/sr/AccountImplBindingCodeEnum.java
================================================
package com.orange.verify.api.sr;
import java.io.Serializable;
public class AccountImplBindingCodeEnum implements Serializable {
public static final int BINDING_CODE_SUCCESS = 1;
public static final int KEY_EMPTY = 2;
public static final int SOFT_EMPTY = 3;
public static final int KEY_ERROR = 4;
public static final int PASSWORD_LENGTH_ERROR = 5;
public static final int SOFT_CLOSE = 6;
public static final int ACCOUNT_EMPTY = 7;
public static final int SOFT_NO_CHANGE = 8;
public static final int ACCOUNT_BLACKLIST = 9;
public static final int PASSWORD_ERROR = 10;
public static final int BINDING_CODE_ERROR = 11;
}
================================================
FILE: api/src/main/java/com/orange/verify/api/sr/AccountImplGetPublicKeyEnum.java
================================================
package com.orange.verify.api.sr;
import java.io.Serializable;
public class AccountImplGetPublicKeyEnum implements Serializable {
public static final int SUCCESS = 1;
public static final int KEY_ERROR = 2;
}
================================================
FILE: api/src/main/java/com/orange/verify/api/sr/AccountImplLoginEnum.java
================================================
package com.orange.verify.api.sr;
import java.io.Serializable;
public class AccountImplLoginEnum implements Serializable {
public static final int LOGIN_SUCCESS = 1;
public static final int LOGIN_ERROR = 2;
public static final int KEY_EMPTY = 3;
public static final int SOFT_EMPTY = 4;
public static final int SOFT_CLOSE = 5;
public static final int KEY_ERROR = 6;
public static final int PASSWORD_LENGTH_ERROR = 7;
public static final int ACCOUNT_NOT_BOUND_CARD = 8;
public static final int CARD_CLOSURE = 9;
public static final int CARD_PAST_DUE = 10;
public static final int ACCOUNT_BLACKLIST = 11;
public static final int ACCOUNT_EMPTY = 12;
public static final int BAIDU_API_ERROR = 13;
public static final int PASSWORD_ERROR = 14;
}
================================================
FILE: api/src/main/java/com/orange/verify/api/sr/AccountImplRegisterEnum.java
================================================
package com.orange.verify.api.sr;
import java.io.Serializable;
public class AccountImplRegisterEnum implements Serializable {
public static final int KEY_EMPTY = 1;
public static final int SOFT_EMPTY = 2;
public static final int BAIDU_API_ERROR = 3;
public static final int KEY_ERROR = 4;
public static final int ACCOUNT_ALREADY_EXIST = 5;
public static final int PASSWORD_LENGTH_ERROR = 6;
public static final int SOFT_CLOSE = 7;
public static final int REGISTER_CLOSE = 8;
public static final int REGISTER_SUCCESS = 9;
public static final int REGISTER_ERROR = 10;
public static final int VC_EMPTY = 11;
public static final int VC_MISMATCHES = 12;
public static final int NIMIETY = 13;
public static final int SERVER_ERROR = 14;
}
================================================
FILE: api/src/main/java/com/orange/verify/api/sr/AccountImplUpdatePasswordEnum.java
================================================
package com.orange.verify.api.sr;
import java.io.Serializable;
public class AccountImplUpdatePasswordEnum implements Serializable {
public static final int UPDATE_PASSWORD_SUCCESS = 1;
public static final int UPDATE_PASSWORD_ERROR = 2;
public static final int SOFT_EMPTY = 3;
public static final int SOFT_CLOSE = 4;
public static final int ACCOUNT_EMPTY = 5;
public static final int ACCOUNT_BLACKLIST = 6;
public static final int SECURITY_CODE_ERROR = 7;
}
================================================
FILE: api/src/main/java/com/orange/verify/api/sr/ServiceResult.java
================================================
package com.orange.verify.api.sr;
import lombok.Data;
import java.io.Serializable;
@Data
public class ServiceResult implements Serializable {
private Integer code;
private String msg;
private T data;
}
================================================
FILE: api/src/main/java/com/orange/verify/api/sr/SoftImplGetSoftDescEnum.java
================================================
package com.orange.verify.api.sr;
import java.io.Serializable;
public class SoftImplGetSoftDescEnum implements Serializable {
public static final int SOFT_EMPTY = 1;
public static final int SOFT_CLOSE = 2;
public static final int SUCCESS = 3;
}
================================================
FILE: api/src/main/java/com/orange/verify/api/sr/SoftLeaveMessageImplCreateEnum.java
================================================
package com.orange.verify.api.sr;
import java.io.Serializable;
public class SoftLeaveMessageImplCreateEnum implements Serializable {
public static final int LEAVE_MESSAGE_SEND_SUCCESS = 1;
public static final int SOFT_EMPTY = 2;
public static final int SOFT_CLOSE = 3;
public static final int BAIDU_API_ERROR = 4;
public static final int LEAVE_MESSAGE_SEND_ERROR = 5;
}
================================================
FILE: api/src/main/java/com/orange/verify/api/vo/AccountLoginLogVo.java
================================================
package com.orange.verify.api.vo;
import com.orange.verify.api.bean.AccountLoginLog;
import lombok.Data;
@Data
public class AccountLoginLogVo extends AccountLoginLog {
private String softName;
private String accountName;
}
================================================
FILE: api/src/main/java/com/orange/verify/api/vo/AccountRegisterLogVo.java
================================================
package com.orange.verify.api.vo;
import com.orange.verify.api.bean.AccountRegisterLog;
import lombok.Data;
@Data
public class AccountRegisterLogVo extends AccountRegisterLog {
private String softName;
private String accountName;
}
================================================
FILE: api/src/main/java/com/orange/verify/api/vo/AccountVo.java
================================================
package com.orange.verify.api.vo;
import com.orange.verify.api.bean.Account;
import lombok.Data;
@Data
public class AccountVo extends Account {
private String softId;
private String softName;
}
================================================
FILE: api/src/main/java/com/orange/verify/api/vo/CardTypeVo.java
================================================
package com.orange.verify.api.vo;
import com.orange.verify.api.bean.CardType;
import lombok.Data;
@Data
public class CardTypeVo extends CardType {
private String softName;
}
================================================
FILE: api/src/main/java/com/orange/verify/api/vo/CardVo.java
================================================
package com.orange.verify.api.vo;
import com.orange.verify.api.bean.Card;
import lombok.Data;
@Data
public class CardVo extends Card {
private String softId;
private String softName;
private Integer cardTypeUnit;
private Long cardTypeValue;
private String accountId;
private String accountName;
}
================================================
FILE: api/src/main/java/com/orange/verify/api/vo/SoftLeaveMessageVo.java
================================================
package com.orange.verify.api.vo;
import com.orange.verify.api.bean.SoftLeaveMessage;
import lombok.Data;
@Data
public class SoftLeaveMessageVo extends SoftLeaveMessage {
private String softId;
private String softName;
}
================================================
FILE: api/src/main/java/com/orange/verify/api/vo/SoftVersionsVo.java
================================================
package com.orange.verify.api.vo;
import com.orange.verify.api.bean.SoftVersions;
import lombok.Data;
@Data
public class SoftVersionsVo extends SoftVersions {
private String softName;
}
================================================
FILE: api/src/main/java/com/orange/verify/api/vo/SoftVo.java
================================================
package com.orange.verify.api.vo;
import com.orange.verify.api.bean.Soft;
import lombok.Data;
@Data
public class SoftVo extends Soft {
//软件用户数量
private Long accountTotal;
//最新版本
private String versionsNum;
private Long leaveMessageNum;
}
================================================
FILE: api/src/main/java/com/orange/verify/api/vo/open/AccountBindingCardVo.java
================================================
package com.orange.verify.api.vo.open;
import lombok.Data;
import org.hibernate.validator.constraints.NotBlank;
import javax.validation.constraints.Size;
import java.io.Serializable;
@Data
public class AccountBindingCardVo implements Serializable {
@NotBlank(message = "用户名不能为空")
@Size(min = 5,max = 10,message = "用户名长度是5到10位哟")
private String username;
@NotBlank(message = "密码不能为空")
private String password;
@NotBlank(message = "软件id不能为空")
private String softId;
@NotBlank(message = "充值卡密不能为空")
private String cardNumber;
/**
* 用户电脑的机器码
* code
*/
@NotBlank(message = "code不能为空")
private String code;
@NotBlank(message = "公钥不能为空")
String publicKey;
}
================================================
FILE: api/src/main/java/com/orange/verify/api/vo/open/AccountBindingCodeVo.java
================================================
package com.orange.verify.api.vo.open;
import lombok.Data;
import org.hibernate.validator.constraints.NotBlank;
import javax.validation.constraints.Size;
import java.io.Serializable;
@Data
public class AccountBindingCodeVo implements Serializable {
@NotBlank(message = "用户名不能为空")
@Size(min = 5,max = 10,message = "用户名长度是5到10位哟")
private String username;
@NotBlank(message = "密码不能为空")
private String password;
@NotBlank(message = "软件id不能为空")
private String softId;
/**
* 用户电脑的机器码
* code
*/
@NotBlank(message = "code不能为空")
private String code;
@NotBlank(message = "公钥不能为空")
String publicKey;
}
================================================
FILE: api/src/main/java/com/orange/verify/api/vo/open/AccountLoginVo.java
================================================
package com.orange.verify.api.vo.open;
import lombok.Data;
import org.hibernate.validator.constraints.NotBlank;
import javax.validation.constraints.Size;
import java.io.Serializable;
@Data
public class AccountLoginVo implements Serializable {
@NotBlank(message = "用户名不能为空")
@Size(min = 5,max = 10,message = "用户名长度是5到10位哟")
private String username;
@NotBlank(message = "密码不能为空")
private String password;
@NotBlank(message = "软件id不能为空")
private String softId;
@NotBlank(message = "公钥不能为空")
String publicKey;
/**
* 用户电脑的机器码
* code
*/
@NotBlank(message = "code不能为空")
private String code;
private String ip;
}
================================================
FILE: api/src/main/java/com/orange/verify/api/vo/open/AccountRegisterVo.java
================================================
package com.orange.verify.api.vo.open;
import lombok.Data;
import org.hibernate.validator.constraints.NotBlank;
import javax.validation.constraints.Size;
import java.io.Serializable;
@Data
public class AccountRegisterVo implements Serializable {
@NotBlank(message = "用户名不能为空")
@Size(min = 5,max = 10,message = "用户名长度是5到10位哟")
private String username;
@NotBlank(message = "QQ号不能为空")
@Size(min = 1,max = 10,message = "QQ号长度是1到10位哟")
private String qq;
@NotBlank(message = "密码不能为空")
private String password;
@NotBlank(message = "软件id不能为空")
private String softId;
@NotBlank(message = "安全码不能为空")
@Size(min = 5,max = 10,message = "安全码长度是5到10位哟")
private String securityCode;
/**
* 用户电脑的机器码
* code
*/
@NotBlank(message = "code不能为空")
private String code;
/**
* 验证码
*/
@NotBlank(message = "验证码不能为空")
@Size(min = 6,max = 6,message = "验证码长度是6位哟")
private String vc;
/**
* 用户的真实姓名
* name
*/
@NotBlank(message = "名字不能为空")
@Size(min = 1,max = 10,message = "真实姓名长度是1到10位哟")
private String name;
private String ip;
@NotBlank(message = "公钥不能为空")
String publicKey;
}
================================================
FILE: api/src/main/java/com/orange/verify/api/vo/open/AccountUpdatePasswordVo.java
================================================
package com.orange.verify.api.vo.open;
import lombok.Data;
import org.hibernate.validator.constraints.NotBlank;
import javax.validation.constraints.Size;
import java.io.Serializable;
@Data
public class AccountUpdatePasswordVo implements Serializable {
@NotBlank(message = "用户名不能为空")
@Size(min = 5,max = 10,message = "用户名长度是5到10位哟")
private String username;
@NotBlank(message = "新密码不能为空")
@Size(min = 5,max = 10,message = "新密码长度是5到10位哟")
private String password;
@NotBlank(message = "安全码不能为空")
@Size(min = 5,max = 10,message = "安全码长度是5到10位哟")
private String securityCode;
@NotBlank(message = "软件id不能为空")
private String softId;
}
================================================
FILE: api/src/main/java/com/orange/verify/api/vo/open/AccountVerificationCodeVo.java
================================================
package com.orange.verify.api.vo.open;
import lombok.Data;
import java.io.Serializable;
@Data
public class AccountVerificationCodeVo implements Serializable {
private String publicKey;
private String code;
}
================================================
FILE: api/src/main/java/com/orange/verify/api/vo/open/CardTimeLimitVo.java
================================================
package com.orange.verify.api.vo.open;
import lombok.Data;
import java.io.Serializable;
@Data
public class CardTimeLimitVo implements Serializable {
private Long startDate;
private Long endDate;
}
================================================
FILE: api/src/main/java/com/orange/verify/api/vo/open/SoftGetSoftDescVo.java
================================================
package com.orange.verify.api.vo.open;
import lombok.Data;
import org.hibernate.validator.constraints.NotBlank;
import java.io.Serializable;
@Data
public class SoftGetSoftDescVo implements Serializable {
@NotBlank(message = "软件id不能为空")
private String softId;
/**
* 换绑策略 0.支持换绑定 1.不支持换绑定
* change_strategy
*/
private Integer changeStrategy;
/**
* 多开策略 0.只支持单机 1.无限制
* dosing_strategy
*/
private Integer dosingStrategy;
/**
* 软件名称
* name
*/
private String name;
/**
* 公告
* notice
*/
private String notice;
/**
* 关闭注册后的返回信息
* registe_close_msg
*/
private String registeCloseMsg;
/**
* 注册状态 0.开放注册 1.关闭注册
* register_status
*/
private Integer registerStatus;
/**
* 关闭状态下的返回信息
* service_close_msg
*/
private String serviceCloseMsg;
/**
* 服务状态 0.收费 1.免费开放 2.关闭开放使用
* service_status
*/
private Integer serviceStatus;
}
================================================
FILE: api/src/main/java/com/orange/verify/api/vo/open/SoftLeaveMeesageSubmitVo.java
================================================
package com.orange.verify.api.vo.open;
import lombok.Data;
import org.hibernate.validator.constraints.NotBlank;
import javax.validation.constraints.Size;
import java.io.Serializable;
@Data
public class SoftLeaveMeesageSubmitVo implements Serializable {
@NotBlank(message = "留言内容不能为空")
@Size(min = 1,max = 255,message = "留言内容长度是255位哟")
private String content;
@NotBlank(message = "留言QQ不能为空")
@Size(min = 1,max = 10,message = "留言QQ长度是10位哟")
private String qq;
@NotBlank(message = "软件id不能为空")
private String softId;
private String ip;
}
================================================
FILE: api/src/main/java/com/orange/verify/api/vo/open/SoftVersionsVo.java
================================================
package com.orange.verify.api.vo.open;
import lombok.Data;
import java.io.Serializable;
@Data
public class SoftVersionsVo implements Serializable {
private String notice;
private Integer novatioNecessaria;
private String number;
private String updateUrl;
}
================================================
FILE: api/src/main/resources/application.properties
================================================
================================================
FILE: builder/.gitignore
================================================
/target/
!.mvn/wrapper/maven-wrapper.jar
### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
### NetBeans ###
/nbproject/private/
/build/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
================================================
FILE: builder/.mvn/wrapper/maven-wrapper.properties
================================================
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.5.4/apache-maven-3.5.4-bin.zip
================================================
FILE: builder/mvnw
================================================
#!/bin/sh
# ----------------------------------------------------------------------------
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
# ----------------------------------------------------------------------------
# ----------------------------------------------------------------------------
# Maven2 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)`"
# TODO classpath?
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
jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.4.2/maven-wrapper-0.4.2.jar"
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 command -v wget > /dev/null; then
if [ "$MVNW_VERBOSE" = true ]; then
echo "Found wget ... using wget"
fi
wget "$jarUrl" -O "$wrapperJarPath"
elif command -v curl > /dev/null; then
if [ "$MVNW_VERBOSE" = true ]; then
echo "Found curl ... using curl"
fi
curl -o "$wrapperJarPath" "$jarUrl"
else
if [ "$MVNW_VERBOSE" = true ]; then
echo "Falling back to using Java to download"
fi
javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java"
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
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 "$@"
================================================
FILE: builder/mvnw.cmd
================================================
@REM ----------------------------------------------------------------------------
@REM Licensed to the Apache Software Foundation (ASF) under one
@REM or more contributor license agreements. See the NOTICE file
@REM distributed with this work for additional information
@REM regarding copyright ownership. The ASF licenses this file
@REM to you under the Apache License, Version 2.0 (the
@REM "License"); you may not use this file except in compliance
@REM with the License. You may obtain a copy of the License at
@REM
@REM http://www.apache.org/licenses/LICENSE-2.0
@REM
@REM Unless required by applicable law or agreed to in writing,
@REM software distributed under the License is distributed on an
@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@REM KIND, either express or implied. See the License for the
@REM specific language governing permissions and limitations
@REM under the License.
@REM ----------------------------------------------------------------------------
@REM ----------------------------------------------------------------------------
@REM Maven2 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 key stroke 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 my 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.4.2/maven-wrapper-0.4.2.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% (
echo Found %WRAPPER_JAR%
) else (
echo Couldn't find %WRAPPER_JAR%, downloading it ...
echo Downloading from: %DOWNLOAD_URL%
powershell -Command "(New-Object Net.WebClient).DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"
echo Finished downloading %WRAPPER_JAR%
)
@REM End of extension
%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%
================================================
FILE: builder/pom.xml
================================================
4.0.0com.orange.verifybuilder1.0.0jarbuilderDemo project for Spring Bootorg.springframework.bootspring-boot-starter-parent2.1.0.RELEASEUTF-8UTF-81.8org.springframework.bootspring-boot-starter-data-jpaorg.springframework.bootspring-boot-starter-jdbcorg.mybatis.generatormybatis-generator-core1.3.7mysqlmysql-connector-java5.1.40org.springframework.bootspring-boot-starter-testtestcom.baomidoumybatis-plus-boot-starter3.0.6org.projectlomboklombok1.16.18org.springframework.bootspring-boot-maven-plugin
================================================
FILE: builder/src/main/java/com/orange/verify/api/Account.java
================================================
package com.orange.verify.api;
import com.orange.verify.common.BaseEntity;
import org.hibernate.annotations.Table;
import javax.persistence.Column;
import javax.persistence.Entity;
/**
* 软件用户表
* 每个软件对应一批用户
* 软件和用户之间是一对多的关系...
*/
@Entity(name = "t_account")
@Table(appliesTo = "t_account",comment = "软件用户表")
public class Account extends BaseEntity {
@Column(columnDefinition = "varchar(100) comment '软件绑定id'")
private String softId;
@Column(columnDefinition = "varchar(100) comment '卡密绑定id'")
private String cardId;
@Column(columnDefinition = "varchar(100) comment '用户名'")
private String username;
@Column(columnDefinition = "varchar(100) comment '用户密码'")
private String password;
@Column(columnDefinition = "varchar(100) comment '用户电脑的机器码'")
private String code;
@Column(columnDefinition = "varchar(100) comment '安全码,找回密码用'")
private String securityCode;
@Column(columnDefinition = "varchar(100) comment '用户的联系QQ'")
private String qq;
@Column(columnDefinition = "varchar(100) comment '用户的联系手机号'")
private String phoneNumber;
@Column(columnDefinition = "varchar(100) comment '用户的真实姓名'")
private String name;
@Column(columnDefinition = "varchar(100) comment '用户注册的时候ip地址'")
private String createIp;
@Column(columnDefinition = "varchar(255) comment '创建时候的ip信息'")
private String createIpInfo;
@Column(columnDefinition = "int(2) default 0 comment '是否加入了黑名单 0.不是 1.是的'")
private Integer blacklist;
}
================================================
FILE: builder/src/main/java/com/orange/verify/api/AccountLoginLog.java
================================================
package com.orange.verify.api;
import com.orange.verify.common.BaseEntity;
import org.hibernate.annotations.Table;
import javax.persistence.Entity;
/**
* 用户登录日志
*/
@Entity(name = "t_account_login_log")
@Table(appliesTo = "t_account_login_log",comment = "用户登录日志")
public class AccountLoginLog extends BaseEntity {
private String accountId;
private String ip;
private String ipInfo;
private String softId;
}
================================================
FILE: builder/src/main/java/com/orange/verify/api/AccountRegisterLog.java
================================================
package com.orange.verify.api;
import com.orange.verify.common.BaseEntity;
import org.hibernate.annotations.Table;
import javax.persistence.Entity;
/**
* 用户注册日志
*/
@Entity(name = "t_account_register_log")
@Table(appliesTo = "t_account_register_log",comment = "用户注册日志")
public class AccountRegisterLog extends BaseEntity {
private String accountId;
private String ip;
private String ipInfo;
private String softId;
}
================================================
FILE: builder/src/main/java/com/orange/verify/api/BaiduMapApi.java
================================================
package com.orange.verify.api;
import com.orange.verify.common.BaseEntity;
import org.hibernate.annotations.Table;
import javax.persistence.Column;
import javax.persistence.Entity;
/**
* 百度地理api配置
* 通过ip拿到ip地理信息
*/
@Entity(name = "t_baidu_map_api")
@Table(appliesTo = "t_baidu_map_api",comment = "百度地理api配置")
public class BaiduMapApi extends BaseEntity {
@Column(columnDefinition = "varchar(100) comment 'appkey'")
private String appkey;
}
================================================
FILE: builder/src/main/java/com/orange/verify/api/Card.java
================================================
package com.orange.verify.api;
import com.orange.verify.common.BaseEntity;
import org.hibernate.annotations.Table;
import javax.persistence.Column;
import javax.persistence.Entity;
/**
* 软件充值卡密
*/
@Entity(name = "t_card")
@Table(appliesTo = "t_card",comment = "软件充值卡")
public class Card extends BaseEntity {
@Column(columnDefinition = "varchar(100) comment '用户绑定id'")
private String accountId;
@Column(columnDefinition = "varchar(100) comment '卡类绑定id'")
private String cardTypeId;
@Column(columnDefinition = "varchar(255) comment '充值卡号'")
private String cardNumber;
@Column(columnDefinition = "int(2) default 0 comment '使用状态 0.未使用 1.已使用'")
private Integer useStatus;
@Column(columnDefinition = "int(2) default 0 comment '销售状态 0.未卖出 1.已卖出'")
private Integer sellStatus;
@Column(columnDefinition = "int(2) default 0 comment '是否封停使用 0.未封停 1.已封停'")
private Integer closure;
@Column(columnDefinition = "bigint comment '开始使用时间'")
private Long startDate;
@Column(columnDefinition = "bigint comment '结束时间'")
private Long endDate;
}
================================================
FILE: builder/src/main/java/com/orange/verify/api/CardType.java
================================================
package com.orange.verify.api;
import com.orange.verify.common.BaseEntity;
import org.hibernate.annotations.Table;
import javax.persistence.Column;
import javax.persistence.Entity;
/**
* 软件充值卡类型
*/
@Entity(name = "t_card_type")
@Table(appliesTo = "t_card_type",comment = "软件充值卡类型")
public class CardType extends BaseEntity {
@Column(columnDefinition = "varchar(100) comment '软件绑定id'")
private String softId;
@Column(columnDefinition = "int(2) default 0 comment '卡类单位 0.分 1.时 2.天 3.周 4.月 5.年'")
private Integer unit;
@Column(columnDefinition = "int comment '卡类值 比如对应的是分填1就是1分钟 以此类推'")
private Integer value;
}
================================================
FILE: builder/src/main/java/com/orange/verify/api/EmailAccount.java
================================================
package com.orange.verify.api;
import com.orange.verify.common.BaseEntity;
import org.hibernate.annotations.Table;
import javax.persistence.Column;
import javax.persistence.Entity;
/**
* 邮箱账户
* 用于通知 留言信息 给那个...
*/
@Entity(name = "t_email_account")
@Table(appliesTo = "t_email_account",comment = "邮箱账户")
public class EmailAccount extends BaseEntity {
@Column(columnDefinition = "varchar(255) comment '用户名'")
private String username;
@Column(columnDefinition = "varchar(255) comment '用户密码'")
private String password;
@Column(columnDefinition = "int(2) default 0 comment '是否使用 0.使用 1.不使用'")
private Integer isUse;
@Column(columnDefinition = "bigint default 0 comment '被使用的次数'")
private Long total;
}
================================================
FILE: builder/src/main/java/com/orange/verify/api/Soft.java
================================================
package com.orange.verify.api;
import com.orange.verify.common.BaseEntity;
import org.hibernate.annotations.Table;
import javax.persistence.Column;
import javax.persistence.Entity;
/**
* 软件
*/
@Entity(name = "t_soft")
@Table(appliesTo = "t_soft",comment = "软件")
public class Soft extends BaseEntity {
@Column(columnDefinition = "varchar(100) comment '软件名称'")
private String name;
@Column(columnDefinition = "int(2) default 0 comment '服务状态 0.收费 1.免费开放 2.关闭开放使用'")
private Integer serviceStatus;
@Column(columnDefinition = "varchar(255) default '' comment '关闭状态下的返回信息'")
private String serviceCloseMsg;
@Column(columnDefinition = "varchar(255) comment '公告'")
private String notice;
@Column(columnDefinition = "int(2) default 0 comment '注册状态 0.开放注册 1.关闭注册'")
private Integer registerStatus;
@Column(columnDefinition = "varchar(255) default '' comment '关闭注册后的返回信息'")
private String registeCloseMsg;
@Column(columnDefinition = "int(2) default 0 comment '多开策略 0.只支持单机 1.无限制'")
private Integer dosingStrategy;
@Column(columnDefinition = "int(2) default 0 comment '换绑策略 0.支持换绑定 1.不支持换绑定'")
private Integer changeStrategy;
@Column(columnDefinition = "int(2) default 0 comment '软件被留言 是否邮件通知 0.通知 1.不通知'")
private Integer emailNotificatio;
@Column(columnDefinition = "varchar(100) default '' comment '被通知的邮箱账户名'")
private String emailName;
}
================================================
FILE: builder/src/main/java/com/orange/verify/api/SoftLeaveMessage.java
================================================
package com.orange.verify.api;
import com.orange.verify.common.BaseEntity;
import org.hibernate.annotations.Table;
import javax.persistence.Column;
import javax.persistence.Entity;
/**
* 软件留言
*/
@Entity(name = "t_soft_leave_message")
@Table(appliesTo = "t_soft_leave_message",comment = "软件留言")
public class SoftLeaveMessage extends BaseEntity {
@Column(columnDefinition = "varchar(100) comment '软件绑定id'")
private String softId;
@Column(columnDefinition = "varchar(255) comment '用户留言内容'")
private String content;
@Column(columnDefinition = "varchar(100) comment '用户的QQ号'")
private String qq;
private String ip;
private String ipInfo;
}
================================================
FILE: builder/src/main/java/com/orange/verify/api/SoftVersions.java
================================================
package com.orange.verify.api;
import com.orange.verify.common.BaseEntity;
import org.hibernate.annotations.Table;
import javax.persistence.Column;
import javax.persistence.Entity;
/**
* 软件版本控制
*/
@Entity(name = "t_soft_versions")
@Table(appliesTo = "t_soft_versions",comment = "软件版本控制")
public class SoftVersions extends BaseEntity {
@Column(columnDefinition = "varchar(100) comment '软件绑定id'")
private String softId;
@Column(columnDefinition = "varchar(100) comment '版本号'")
private String number;
@Column(columnDefinition = "int(2) default 0 comment '是否强制更新 0.不强制 1.强制'")
private Integer novatioNecessaria;
@Column(columnDefinition = "varchar(255) default '' comment '更新url'")
private String updateUrl;
@Column(columnDefinition = "varchar(255) default '' comment '更新公告'")
private String notice;
}
================================================
FILE: builder/src/main/java/com/orange/verify/api/User.java
================================================
package com.orange.verify.api;
import com.orange.verify.common.BaseEntity;
import org.hibernate.annotations.Table;
import javax.persistence.Column;
import javax.persistence.Entity;
/**
* 平台管理用户
* 必须满足三个条件才可登陆
* flag = 另外的条件标志
*/
@Entity(name = "t_user")
@Table(appliesTo = "t_user",comment = "平台管理用户")
public class User extends BaseEntity {
@Column(columnDefinition = "varchar(100) comment '管理用户名'")
private String username;
@Column(columnDefinition = "varchar(100) comment '管理用户密码'")
private String password;
@Column(columnDefinition = "varchar(100) comment '管理标识符'")
private String flag;
}
================================================
FILE: builder/src/main/java/com/orange/verify/builder/BuilderApplication.java
================================================
package com.orange.verify.builder;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.domain.EntityScan;
/**
* 根据填写的api bean 生成到数据库
* @author orange
*/
@SpringBootApplication
@EntityScan(basePackages={"${entity.scan.base.packages}"})
public class BuilderApplication {
public static void main(String[] args) {
SpringApplication.run(BuilderApplication.class, args);
}
}
================================================
FILE: builder/src/main/java/com/orange/verify/builder/Generator.java
================================================
package com.orange.verify.builder;
import org.mybatis.generator.api.MyBatisGenerator;
import org.mybatis.generator.config.Configuration;
import org.mybatis.generator.config.xml.ConfigurationParser;
import org.mybatis.generator.internal.DefaultShellCallback;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;
/**
* 根据数据库反向生成到bean
* @author orange
*/
public class Generator {
public static void main( String[] args ) throws Exception {
Properties properties = new Properties();
InputStream in = Generator.class.getClassLoader().getResourceAsStream("application.properties");
properties.load(in);
String generator = properties.getProperty("generator");
List warnings = new ArrayList();
boolean overwrite = true;
ClassLoader classloader = Thread.currentThread().getContextClassLoader();
InputStream is = classloader.getResourceAsStream(generator);
ConfigurationParser cp = new ConfigurationParser(warnings);
Configuration config = cp.parseConfiguration(is);
DefaultShellCallback callback = new DefaultShellCallback(overwrite);
MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
myBatisGenerator.generate(null);
}
}
================================================
FILE: builder/src/main/java/com/orange/verify/builder/config/EmptyCommentGenerator.java
================================================
package com.orange.verify.builder.config;
import org.mybatis.generator.api.CommentGenerator;
import org.mybatis.generator.api.IntrospectedColumn;
import org.mybatis.generator.api.IntrospectedTable;
import org.mybatis.generator.api.dom.java.*;
import org.mybatis.generator.api.dom.xml.XmlElement;
import java.util.Properties;
import java.util.Set;
public class EmptyCommentGenerator implements CommentGenerator {
@Override
public void addConfigurationProperties(Properties properties) {
}
@Override
public void addFieldComment(Field field, IntrospectedTable introspectedTable, IntrospectedColumn introspectedColumn) {
}
@Override
public void addFieldComment(Field field, IntrospectedTable introspectedTable) {
}
@Override
public void addModelClassComment(TopLevelClass topLevelClass, IntrospectedTable introspectedTable) {
}
@Override
public void addClassComment(InnerClass innerClass, IntrospectedTable introspectedTable) {
}
@Override
public void addClassComment(InnerClass innerClass, IntrospectedTable introspectedTable, boolean b) {
}
@Override
public void addEnumComment(InnerEnum innerEnum, IntrospectedTable introspectedTable) {
}
@Override
public void addGetterComment(Method method, IntrospectedTable introspectedTable, IntrospectedColumn introspectedColumn) {
}
@Override
public void addSetterComment(Method method, IntrospectedTable introspectedTable, IntrospectedColumn introspectedColumn) {
}
@Override
public void addGeneralMethodComment(Method method, IntrospectedTable introspectedTable) {
}
@Override
public void addJavaFileComment(CompilationUnit compilationUnit) {
}
@Override
public void addComment(XmlElement xmlElement) {
}
@Override
public void addRootComment(XmlElement xmlElement) {
}
@Override
public void addGeneralMethodAnnotation(Method method, IntrospectedTable introspectedTable, Set set) {
}
@Override
public void addGeneralMethodAnnotation(Method method, IntrospectedTable introspectedTable, IntrospectedColumn introspectedColumn, Set set) {
}
@Override
public void addFieldAnnotation(Field field, IntrospectedTable introspectedTable, Set set) {
}
@Override
public void addFieldAnnotation(Field field, IntrospectedTable introspectedTable, IntrospectedColumn introspectedColumn, Set set) {
}
@Override
public void addClassAnnotation(InnerClass innerClass, IntrospectedTable introspectedTable, Set set) {
}
}
================================================
FILE: builder/src/main/java/com/orange/verify/builder/config/MySQLCommentGenerator.java
================================================
package com.orange.verify.builder.config;
import com.orange.verify.common.BaseEntity;
import lombok.extern.java.Log;
import org.mybatis.generator.api.FullyQualifiedTable;
import org.mybatis.generator.api.IntrospectedColumn;
import org.mybatis.generator.api.IntrospectedTable;
import org.mybatis.generator.api.dom.java.*;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Properties;
@Log
public class MySQLCommentGenerator extends EmptyCommentGenerator {
private Properties properties;
public MySQLCommentGenerator() {
properties = new Properties();
}
@Override
public void addConfigurationProperties(Properties properties) {
// 获取自定义的 properties
this.properties.putAll(properties);
}
@Override
public void addModelClassComment(TopLevelClass topLevelClass, IntrospectedTable introspectedTable) {
String author = properties.getProperty("author");
String dateFormat = properties.getProperty("dateFormat", "yyyy-MM-dd");
SimpleDateFormat dateFormatter = new SimpleDateFormat(dateFormat);
FullyQualifiedTable fullyQualifiedTable = introspectedTable.getFullyQualifiedTable();
Field field = new Field();
field.setVisibility(JavaVisibility.PRIVATE);
field.setType(new FullyQualifiedJavaType("long"));
field.setStatic(true);
field.setFinal(true);
field.setName("serialVersionUID");
field.setInitializationString("1L");
topLevelClass.addField(field);
FullyQualifiedJavaType fqjt = new FullyQualifiedJavaType("Serializable");
FullyQualifiedJavaType imp = new FullyQualifiedJavaType("java.io.Serializable");
FullyQualifiedJavaType imp2 = new FullyQualifiedJavaType("com.baomidou.mybatisplus.annotation.*");
topLevelClass.addSuperInterface(fqjt);
topLevelClass.addImportedType(imp);
topLevelClass.addImportedType(imp2);
topLevelClass.addJavaDocLine("/**");
topLevelClass.addJavaDocLine(" * " + introspectedTable.getRemarks());
topLevelClass.addJavaDocLine(" * " + fullyQualifiedTable.getIntrospectedTableName());
topLevelClass.addJavaDocLine(" * @author " + author);
topLevelClass.addJavaDocLine(" * @date " + dateFormatter.format(new Date()));
topLevelClass.addJavaDocLine(" */");
topLevelClass.addJavaDocLine("@TableName(\""+ fullyQualifiedTable.getIntrospectedTableName() +"\")");
topLevelClass.addJavaDocLine("@KeySequence(\"SEQ_TEST\")");
log.info("数据库表:" + fullyQualifiedTable.getIntrospectedTableName() + " 生成...");
}
@Override
public void addFieldComment(Field field, IntrospectedTable introspectedTable, IntrospectedColumn introspectedColumn) {
// 获取列注释
String remarks = introspectedColumn.getRemarks();
if (introspectedColumn.getJavaProperty().equals("id")) {
field.addJavaDocLine("@TableId(value = \""+ introspectedColumn.getActualColumnName() +"\", type = IdType.ID_WORKER_STR)");
}
else if (introspectedColumn.getJavaProperty().equals("delFlag")) {
field.addJavaDocLine("@TableLogic");
}
else if (introspectedColumn.getJavaProperty().equals("createDate")) {
field.addJavaDocLine("@TableField(value = \""+ introspectedColumn.getActualColumnName() +"\",fill = FieldFill.INSERT)");
}
else if (introspectedColumn.getJavaProperty().equals("updateDate")) {
field.addJavaDocLine("@TableField(value = \""+ introspectedColumn.getActualColumnName() +"\",fill = FieldFill.UPDATE)");
}
else {
field.addJavaDocLine("/**");
if (!remarks.equals("")) {
field.addJavaDocLine(" * " + remarks);
}
field.addJavaDocLine(" * " + introspectedColumn.getActualColumnName());
field.addJavaDocLine(" */");
}
}
}
================================================
FILE: builder/src/main/java/com/orange/verify/common/BaseEntity.java
================================================
package com.orange.verify.common;
import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.MappedSuperclass;
import java.io.Serializable;
@MappedSuperclass
public abstract class BaseEntity implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Column(nullable = false,columnDefinition = "varchar(100) comment '主键'")
private String id;
@Column(columnDefinition = ("int(2) default 0 comment '删除判断'"))
private int delFlag;
@Column(columnDefinition = ("varchar(100) default null comment '备注'"))
private String remarks;
@Column(columnDefinition = ("bigint(20) default null comment '创建时间'"))
private Long createDate;
@Column(columnDefinition = ("bigint(20) default null comment '更新时间'"))
private Long updateDate;
}
================================================
FILE: builder/src/main/resources/application.properties
================================================
entity.scan.base.packages=com.orange.verify.api
generator=verify-generator-config.xml
spring.jpa.show-sql=true
spring.datasource.url=jdbc:mysql://localhost:3306/com_orange_verify_db?characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
#hibernateɳıĬInnoDB
spring.jpa.database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
spring.jpa.properties.hibernate.hbm2ddl.auto=create
spring.jpa.properties.hibernate.show_sql=false
================================================
FILE: builder/src/main/resources/verify-generator-config.xml
================================================
================================================
FILE: builder/src/test/java/com/orange/verify/builder/BuilderApplicationTests.java
================================================
package com.orange.verify.builder;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class)
@SpringBootTest
public class BuilderApplicationTests {
@Test
public void contextLoads() {
}
}
================================================
FILE: common/.gitignore
================================================
/target/
!.mvn/wrapper/maven-wrapper.jar
### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
### NetBeans ###
/nbproject/private/
/build/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
================================================
FILE: common/.mvn/wrapper/maven-wrapper.properties
================================================
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.5.4/apache-maven-3.5.4-bin.zip
================================================
FILE: common/mvnw
================================================
#!/bin/sh
# ----------------------------------------------------------------------------
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
# ----------------------------------------------------------------------------
# ----------------------------------------------------------------------------
# Maven2 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)`"
# TODO classpath?
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
jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.4.2/maven-wrapper-0.4.2.jar"
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 command -v wget > /dev/null; then
if [ "$MVNW_VERBOSE" = true ]; then
echo "Found wget ... using wget"
fi
wget "$jarUrl" -O "$wrapperJarPath"
elif command -v curl > /dev/null; then
if [ "$MVNW_VERBOSE" = true ]; then
echo "Found curl ... using curl"
fi
curl -o "$wrapperJarPath" "$jarUrl"
else
if [ "$MVNW_VERBOSE" = true ]; then
echo "Falling back to using Java to download"
fi
javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java"
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
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 "$@"
================================================
FILE: common/mvnw.cmd
================================================
@REM ----------------------------------------------------------------------------
@REM Licensed to the Apache Software Foundation (ASF) under one
@REM or more contributor license agreements. See the NOTICE file
@REM distributed with this work for additional information
@REM regarding copyright ownership. The ASF licenses this file
@REM to you under the Apache License, Version 2.0 (the
@REM "License"); you may not use this file except in compliance
@REM with the License. You may obtain a copy of the License at
@REM
@REM http://www.apache.org/licenses/LICENSE-2.0
@REM
@REM Unless required by applicable law or agreed to in writing,
@REM software distributed under the License is distributed on an
@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@REM KIND, either express or implied. See the License for the
@REM specific language governing permissions and limitations
@REM under the License.
@REM ----------------------------------------------------------------------------
@REM ----------------------------------------------------------------------------
@REM Maven2 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 key stroke 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 my 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.4.2/maven-wrapper-0.4.2.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% (
echo Found %WRAPPER_JAR%
) else (
echo Couldn't find %WRAPPER_JAR%, downloading it ...
echo Downloading from: %DOWNLOAD_URL%
powershell -Command "(New-Object Net.WebClient).DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"
echo Finished downloading %WRAPPER_JAR%
)
@REM End of extension
%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%
================================================
FILE: common/pom.xml
================================================
4.0.0com.orange.verifycommon1.0.0UTF-8UTF-81.8cn.hutoolhutool-all4.2.1org.projectlomboklombok1.16.18compileorg.apache.commonscommons-lang33.8.1commons-codeccommons-codec1.11compilecom.sun.mailjavax.mail1.6.2org.apache.tomcat.embedtomcat-embed-core8.5.34compileorg.apache.maven.pluginsmaven-jar-plugin
================================================
FILE: common/src/main/java/com/orange/verify/common/email/MailUtil.java
================================================
package com.orange.verify.common.email;
import com.sun.mail.util.MailSSLSocketFactory;
import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.security.GeneralSecurityException;
import java.util.Properties;
/**
* 用于QQ邮件封装
* @author Orange
* @date 2018/11/1
*/
public class MailUtil {
private String senderAccount;
private String senderPassword;
/**
* @param senderAccount 发件人邮箱号
* @param senderPassword 发件人密码
*/
public MailUtil(String senderAccount, String senderPassword) {
this.senderAccount = senderAccount;
this.senderPassword = senderPassword;
}
/**
* @param senderObject 接收者
* @param title 发送标题
* @param content 发送内容
*/
public void send(String senderObject,String title,String content) throws MessagingException,
GeneralSecurityException {
// 获取系统属性
Properties properties = System.getProperties();
// 设置邮件服务器
properties.setProperty("mail.smtp.host", "smtp.qq.com");
properties.put("mail.smtp.auth", "true");
MailSSLSocketFactory sf = new MailSSLSocketFactory();
sf.setTrustAllHosts(true);
properties.put("mail.smtp.ssl.enable", "true");
properties.put("mail.smtp.ssl.socketFactory", sf);
// 获取默认session对象
Session session = Session.getDefaultInstance(properties,new Authenticator(){
@Override
public PasswordAuthentication getPasswordAuthentication()
{
return new PasswordAuthentication(senderAccount, senderPassword); //发件人邮件用户名、密码
}
});
// 创建默认的 MimeMessage 对象
MimeMessage message = new MimeMessage(session);
// Set From: 头部头字段
message.setFrom(new InternetAddress(senderAccount));
// Set To: 头部头字段
message.addRecipient(Message.RecipientType.TO, new InternetAddress(senderObject));
// Set Subject: 头部头字段
message.setSubject(title);
// 设置消息体
message.setText(content);
// 发送消息
Transport.send(message);
}
}
================================================
FILE: common/src/main/java/com/orange/verify/common/ip/BaiduIp.java
================================================
package com.orange.verify.common.ip;
import cn.hutool.core.text.UnicodeUtil;
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
import cn.hutool.http.HttpStatus;
import cn.hutool.json.JSONObject;
import lombok.extern.java.Log;
/**
* @author Orange
* @date 2018/12/4
*/
@Log
public class BaiduIp {
public static final String API_REQUEST_ERROR = "API_REQUEST_ERROR";
public static final String API_BAIDU_ERROR = "API_BAIDU_ERROR";
private String ak = "";
public static BaiduIp start(String ak) {
return new BaiduIp().init(ak);
}
private BaiduIp init(String ak) {
this.ak = ak;
return this;
}
/**
* 根据 用户ip 获取 所在地
* @param ip 用户上网的IP地址
* @return
* @throws Exception
*/
public String getAddressByIp(String ip) throws Exception {
String url = "https://api.map.baidu.com/location/ip";
String data = "?ip=" + ip + "&ak=" + this.ak + "&coor=bd09ll";
HttpResponse execute = HttpRequest.get(url + data).execute();
if (execute.getStatus() == HttpStatus.HTTP_OK) {
String body = UnicodeUtil.toString(execute.body());
JSONObject addressJson = new JSONObject(body);
Integer status = (Integer) addressJson.get("status");
if (status == 0) {
String content = addressJson.get("content").toString();
JSONObject contentJson = new JSONObject(content);
String address = contentJson.get("address").toString();
log.info("IP " + ip + " >>> " + address);
return address;
}
throw new Exception(API_BAIDU_ERROR);
}
throw new Exception(API_REQUEST_ERROR);
}
}
================================================
FILE: common/src/main/java/com/orange/verify/common/ip/IpUtil.java
================================================
package com.orange.verify.common.ip;
import org.apache.commons.lang3.StringUtils;
import javax.servlet.http.HttpServletRequest;
public class IpUtil {
/**
*获取Ip
*@paramrequest
*@return
*/
public static String getIp(HttpServletRequest request){
String Xip = request.getHeader("X-Real-IP");
String XFor = request.getHeader("X-Forwarded-For");
if(StringUtils.isNotEmpty(XFor)&&!"unKnown".equalsIgnoreCase(XFor)){
int index=XFor.indexOf(",");
if(index!=-1){
return XFor.substring(0,index);
}else{
return XFor;
}
}
XFor=Xip;
if(StringUtils.isNotEmpty(XFor)&&!"unKnown".equalsIgnoreCase(XFor)){
return XFor;
}
if(StringUtils.isBlank(XFor)||"unknown".equalsIgnoreCase(XFor)){
XFor=request.getHeader("Proxy-Client-IP");
}
if(StringUtils.isBlank(XFor)||"unknown".equalsIgnoreCase(XFor)){
XFor=request.getHeader("WL-Proxy-Client-IP");
}
if(StringUtils.isBlank(XFor)||"unknown".equalsIgnoreCase(XFor)){
XFor=request.getHeader("HTTP_CLIENT_IP");
}
if(StringUtils.isBlank(XFor)||"unknown".equalsIgnoreCase(XFor)){
XFor=request.getHeader("HTTP_X_FORWARDED_FOR");
}
if(StringUtils.isBlank(XFor)||"unknown".equalsIgnoreCase(XFor)){
XFor=request.getRemoteAddr();
}
return XFor;
}
}
================================================
FILE: common/src/main/java/com/orange/verify/common/rsa/RsaUtil.java
================================================
package com.orange.verify.common.rsa;
import org.apache.commons.codec.binary.Base64;
import sun.misc.BASE64Decoder;
import javax.crypto.Cipher;
import java.security.*;
import java.security.interfaces.RSAPrivateKey;
import java.security.interfaces.RSAPublicKey;
import java.security.spec.PKCS8EncodedKeySpec;
import java.security.spec.X509EncodedKeySpec;
import java.util.HashMap;
import java.util.Map;
/**
* 非对称加密算法RSA算法组件
* 非对称算法一般是用来传送对称加密算法的密钥来使用的,相对于DH算法,RSA算法只需要一方构造密钥,不需要
* 大费周章的构造各自本地的密钥对了。DH算法只能算法非对称算法的底层实现。而RSA算法算法实现起来较为简单
*
* @author kongqz
*/
public class RsaUtil {
//非对称密钥算法
public static final String KEY_ALGORITHM = "RSA";
/**
* 密钥长度,DH算法的默认密钥长度是1024
* 密钥长度必须是64的倍数,在512到65536位之间
*/
private static final int KEY_SIZE = 1024;
//公钥
private static final String PUBLIC_KEY = "RSAPublicKey";
//私钥
private static final String PRIVATE_KEY = "RSAPrivateKey";
/**
* 初始化密钥对
*
* @return Map 甲方密钥的Map
*/
public static Map initKey() throws Exception {
//实例化密钥生成器
KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance(KEY_ALGORITHM);
//初始化密钥生成器
keyPairGenerator.initialize(KEY_SIZE);
//生成密钥对
KeyPair keyPair = keyPairGenerator.generateKeyPair();
//甲方公钥
RSAPublicKey publicKey = (RSAPublicKey) keyPair.getPublic();
//甲方私钥
RSAPrivateKey privateKey = (RSAPrivateKey) keyPair.getPrivate();
//将密钥存储在map中
Map keyMap = new HashMap();
keyMap.put(PUBLIC_KEY, publicKey);
keyMap.put(PRIVATE_KEY, privateKey);
return keyMap;
}
/**
* 私钥加密
*
* @param data 待加密数据
* @param key 密钥
* @return byte[] 加密数据
*/
private static byte[] encryptByPrivateKey(byte[] data, byte[] key) throws Exception {
//取得私钥
PKCS8EncodedKeySpec pkcs8KeySpec = new PKCS8EncodedKeySpec(key);
KeyFactory keyFactory = KeyFactory.getInstance(KEY_ALGORITHM);
//生成私钥
PrivateKey privateKey = keyFactory.generatePrivate(pkcs8KeySpec);
//数据加密
Cipher cipher = Cipher.getInstance(keyFactory.getAlgorithm());
cipher.init(Cipher.ENCRYPT_MODE, privateKey);
return cipher.doFinal(data);
}
/**
* 公钥加密
*
* @param data 待加密数据
* @param key 密钥
* @return byte[] 加密数据
*/
private static byte[] encryptByPublicKey(byte[] data, byte[] key) throws Exception {
//实例化密钥工厂
KeyFactory keyFactory = KeyFactory.getInstance(KEY_ALGORITHM);
//初始化公钥
//密钥材料转换
X509EncodedKeySpec x509KeySpec = new X509EncodedKeySpec(key);
//产生公钥
PublicKey pubKey = keyFactory.generatePublic(x509KeySpec);
//数据加密
Cipher cipher = Cipher.getInstance(keyFactory.getAlgorithm());
cipher.init(Cipher.ENCRYPT_MODE, pubKey);
return cipher.doFinal(data);
}
/**
* 私钥解密
*
* @param data 待解密数据
* @param key 密钥
* @return byte[] 解密数据
*/
private static byte[] decryptByPrivateKey(byte[] data, byte[] key) throws Exception {
//取得私钥
PKCS8EncodedKeySpec pkcs8KeySpec = new PKCS8EncodedKeySpec(key);
KeyFactory keyFactory = KeyFactory.getInstance(KEY_ALGORITHM);
//生成私钥
PrivateKey privateKey = keyFactory.generatePrivate(pkcs8KeySpec);
//数据解密
Cipher cipher = Cipher.getInstance(keyFactory.getAlgorithm());
cipher.init(Cipher.DECRYPT_MODE, privateKey);
return cipher.doFinal(data);
}
/**
* 公钥解密
*
* @param data 待解密数据
* @param key 密钥
* @return byte[] 解密数据
*/
private static byte[] decryptByPublicKey(byte[] data, byte[] key) throws Exception {
//实例化密钥工厂
KeyFactory keyFactory = KeyFactory.getInstance(KEY_ALGORITHM);
//初始化公钥
//密钥材料转换
X509EncodedKeySpec x509KeySpec = new X509EncodedKeySpec(key);
//产生公钥
PublicKey pubKey = keyFactory.generatePublic(x509KeySpec);
//数据解密
Cipher cipher = Cipher.getInstance(keyFactory.getAlgorithm());
cipher.init(Cipher.DECRYPT_MODE, pubKey);
return cipher.doFinal(data);
}
/**
* 取得私钥
*
* @param keyMap 密钥map
* @return byte[] 私钥
*/
private static byte[] getPrivateKey(Map keyMap) {
Key key = (Key) keyMap.get(PRIVATE_KEY);
return key.getEncoded();
}
/**
* 取得公钥
*
* @param keyMap 密钥map
* @return byte[] 公钥
*/
private static byte[] getPublicKey(Map keyMap) throws Exception {
Key key = (Key) keyMap.get(PUBLIC_KEY);
return key.getEncoded();
}
/**
* 生成公钥 base64加密返回 String
*/
public static String getPublicKeyToBase64(Map keyMap) throws Exception {
byte[] publicKey = getPublicKey(keyMap);
return Base64.encodeBase64String(publicKey);
}
/**
* 生成私钥 base64加密返回 String
*/
public static String getPrivateKeyToBase64(Map keyMap) throws Exception {
byte[] privateKey = getPrivateKey(keyMap);
return Base64.encodeBase64String(privateKey);
}
/**
* 私钥解密 base64首先解密To byte 再私钥解密
*/
public static String decodeRsa(String rsa, String privateKey) throws Exception {
BASE64Decoder decoder = new BASE64Decoder();
byte[] buf = decoder.decodeBuffer(rsa);
byte[] bytes = decoder.decodeBuffer(privateKey);
byte[] result = decryptByPrivateKey(buf, bytes);
return new String(result);
}
}
================================================
FILE: pom.xml
================================================
4.0.0com.orange.verifyverify-master1.0-SNAPSHOTapiadminadmin-webbuildercommon
================================================
FILE: sdk/易语言/encrypt.js
================================================
function encrypt(enValue,enPublicKey){var navigator=this;var window=this;(function(global,factory){typeof exports==='object'&&typeof module!=='undefined'?factory(exports):typeof define==='function'&&define.amd?define(['exports'],factory):(factory((global.JSEncrypt={})));}(this,(function(exports){'use strict';var BI_RM="0123456789abcdefghijklmnopqrstuvwxyz";function int2char(n){return BI_RM.charAt(n);}function op_and(x,y){return x&y;}function op_or(x,y){return x|y;}function op_xor(x,y){return x^y;}function op_andnot(x,y){return x&~y;}function lbit(x){if(x==0){return-1;}var r=0;if((x&0xffff)==0){x>>=16;r+=16;}if((x&0xff)==0){x>>=8;r+=8;}if((x&0xf)==0){x>>=4;r+=4;}if((x&3)==0){x>>=2;r+=2;}if((x&1)==0){++r;}return r;}function cbit(x){var r=0;while(x!=0){x&=x-1;++r;}return r;}var b64map="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var b64pad="=";function hex2b64(h){var i;var c;var ret="";for(i=0;i+3<=h.length;i+=3){c=parseInt(h.substring(i,i+3),16);ret+=b64map.charAt(c>>6)+b64map.charAt(c&63);}if(i+1==h.length){c=parseInt(h.substring(i,i+1),16);ret+=b64map.charAt(c<<2);}else if(i+2==h.length){c=parseInt(h.substring(i,i+2),16);ret+=b64map.charAt(c>>2)+b64map.charAt((c&3)<<4);}while((ret.length&3)>0){ret+=b64pad;}return ret;}function b64tohex(s){var ret="";var i;var k=0;var slop=0;for(i=0;i>2);slop=v&3;k=1;}else if(k==1){ret+=int2char((slop<<2)|(v>>4));slop=v&0xf;k=2;}else if(k==2){ret+=int2char(slop);ret+=int2char(v>>2);slop=v&3;k=3;}else{ret+=int2char((slop<<2)|(v>>4));ret+=int2char(v&0xf);k=0;}}if(k==1){ret+=int2char(slop<<2);}return ret;}var extendStatics=function(d,b){extendStatics=Object.setPrototypeOf||({__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b;})||function(d,b){for(var p in b)if(b.hasOwnProperty(p))d[p]=b[p];};return extendStatics(d,b);};function __extends(d,b){extendStatics(d,b);function __(){this.constructor=d;}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __());}var decoder;var Hex={decode:function(a){var i;if(decoder===undefined){var hex="0123456789ABCDEF";var ignore=" \f\n\r\t\u00A0\u2028\u2029";decoder={};for(i=0;i<16;++i){decoder[hex.charAt(i)]=i;}hex=hex.toLowerCase();for(i=10;i<16;++i){decoder[hex.charAt(i)]=i;}for(i=0;i=2){out[out.length]=bits;bits=0;char_count=0;}else{bits<<=4;}}if(char_count){throw new Error("Hex encoding incomplete: 4 bits missing");}return out;}};var decoder$1;var Base64={decode:function(a){var i;if(decoder$1===undefined){var b64="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var ignore="= \f\n\r\t\u00A0\u2028\u2029";decoder$1=Object.create(null);for(i=0;i<64;++i){decoder$1[b64.charAt(i)]=i;}for(i=0;i=4){out[out.length]=(bits>>16);out[out.length]=(bits>>8)&0xFF;out[out.length]=bits&0xFF;bits=0;char_count=0;}else{bits<<=6;}}switch(char_count){case 1:throw new Error("Base64 encoding incomplete: at least 2 bits missing");case 2:out[out.length]=(bits>>10);break;case 3:out[out.length]=(bits>>16);out[out.length]=(bits>>8)&0xFF;break;}return out;},re:/-----BEGIN [^-]+-----([A-Za-z0-9+\/=\s]+)-----END [^-]+-----|begin-base64[^\n]+\n([A-Za-z0-9+\/=\s]+)====/,unarmor:function(a){var m=Base64.re.exec(a);if(m){if(m[1]){a=m[1];}else if(m[2]){a=m[2];}else{throw new Error("RegExp out of sync");}}return Base64.decode(a);}};var max=10000000000000;var Int10=(function(){function Int10(value){this.buf=[+value||0];}Int10.prototype.mulAdd=function(m,c){var b=this.buf;var l=b.length;var i;var t;for(i=0;i0){b[i]=c;}};Int10.prototype.sub=function(c){var b=this.buf;var l=b.length;var i;var t;for(i=0;i=0;--i){s+=(max+b[i]).toString().substring(1);}return s;};Int10.prototype.valueOf=function(){var b=this.buf;var v=0;for(var i=b.length-1;i>=0;--i){v=v*max+b[i];}return v;};Int10.prototype.simplify=function(){var b=this.buf;return(b.length==1)?b[0]:this;};return Int10;}());var ellipsis="\u2026";var reTimeS=/^(\d\d)(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])([01]\d|2[0-3])(?:([0-5]\d)(?:([0-5]\d)(?:[.,](\d{1,3}))?)?)?(Z|[-+](?:[0]\d|1[0-2])([0-5]\d)?)?$/;var reTimeL=/^(\d\d\d\d)(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])([01]\d|2[0-3])(?:([0-5]\d)(?:([0-5]\d)(?:[.,](\d{1,3}))?)?)?(Z|[-+](?:[0]\d|1[0-2])([0-5]\d)?)?$/;function stringCut(str,len){if(str.length>len){str=str.substring(0,len)+ellipsis;}return str;}var Stream=(function(){function Stream(enc,pos){this.hexDigits="0123456789ABCDEF";if(enc instanceof Stream){this.enc=enc.enc;this.pos=enc.pos;}else{this.enc=enc;this.pos=pos;}}Stream.prototype.get=function(pos){if(pos===undefined){pos=this.pos++;}if(pos>=this.enc.length){throw new Error("Requesting byte offset "+pos+" on a stream of length "+this.enc.length);}return("string"===typeof this.enc)?this.enc.charCodeAt(pos):this.enc[pos];};Stream.prototype.hexByte=function(b){return this.hexDigits.charAt((b>>4)&0xF)+this.hexDigits.charAt(b&0xF);};Stream.prototype.hexDump=function(start,end,raw){var s="";for(var i=start;i176){return false;}}return true;};Stream.prototype.parseStringISO=function(start,end){var s="";for(var i=start;i191)&&(c<224)){s+=String.fromCharCode(((c&0x1F)<<6)|(this.get(i++)&0x3F));}else{s+=String.fromCharCode(((c&0x0F)<<12)|((this.get(i++)&0x3F)<<6)|(this.get(i++)&0x3F));}}return s;};Stream.prototype.parseStringBMP=function(start,end){var str="";var hi;var lo;for(var i=start;i127);var pad=neg?255:0;var len;var s="";while(v==pad&&++start4){s=v;len<<=3;while(((+s^pad)&0x80)==0){s=+s<<1;--len;}s="("+len+" bit)\n";}if(neg){v=v-256;}var n=new Int10(v);for(var i=start+1;i=skip;--j){s+=(b>>j)&1?"1":"0";}if(s.length>maxLength){return intro+stringCut(s,maxLength);}}return intro+s;};Stream.prototype.parseOctetString=function(start,end,maxLength){if(this.isASCII(start,end)){return stringCut(this.parseStringISO(start,end),maxLength);}var len=end-start;var s="("+len+" byte)\n";maxLength/=2;if(len>maxLength){end=start+maxLength;}for(var i=start;imaxLength){s+=ellipsis;}return s;};Stream.prototype.parseOID=function(start,end,maxLength){var s="";var n=new Int10();var bits=0;for(var i=start;imaxLength){return stringCut(s,maxLength);}n=new Int10();bits=0;}}if(bits>0){s+=".incomplete";}return s;};return Stream;}());var ASN1=(function(){function ASN1(stream,header,length,tag,sub){if(!(tag instanceof ASN1Tag)){throw new Error("Invalid tag value.");}this.stream=stream;this.header=header;this.length=length;this.tag=tag;this.sub=sub;}ASN1.prototype.typeName=function(){switch(this.tag.tagClass){case 0:switch(this.tag.tagNumber){case 0x00:return"EOC";case 0x01:return"BOOLEAN";case 0x02:return"INTEGER";case 0x03:return"BIT_STRING";case 0x04:return"OCTET_STRING";case 0x05:return"NULL";case 0x06:return"OBJECT_IDENTIFIER";case 0x07:return"ObjectDescriptor";case 0x08:return"EXTERNAL";case 0x09:return"REAL";case 0x0A:return"ENUMERATED";case 0x0B:return"EMBEDDED_PDV";case 0x0C:return"UTF8String";case 0x10:return"SEQUENCE";case 0x11:return"SET";case 0x12:return"NumericString";case 0x13:return"PrintableString";case 0x14:return"TeletexString";case 0x15:return"VideotexString";case 0x16:return"IA5String";case 0x17:return"UTCTime";case 0x18:return"GeneralizedTime";case 0x19:return"GraphicString";case 0x1A:return"VisibleString";case 0x1B:return"GeneralString";case 0x1C:return"UniversalString";case 0x1E:return"BMPString";}return"Universal_"+this.tag.tagNumber.toString();case 1:return"Application_"+this.tag.tagNumber.toString();case 2:return"["+this.tag.tagNumber.toString()+"]";case 3:return"Private_"+this.tag.tagNumber.toString();}};ASN1.prototype.content=function(maxLength){if(this.tag===undefined){return null;}if(maxLength===undefined){maxLength=Infinity;}var content=this.posContent();var len=Math.abs(this.length);if(!this.tag.isUniversal()){if(this.sub!==null){return"("+this.sub.length+" elem)";}return this.stream.parseOctetString(content,content+len,maxLength);}switch(this.tag.tagNumber){case 0x01:return(this.stream.get(content)===0)?"false":"true";case 0x02:return this.stream.parseInteger(content,content+len);case 0x03:return this.sub?"("+this.sub.length+" elem)":this.stream.parseBitString(content,content+len,maxLength);case 0x04:return this.sub?"("+this.sub.length+" elem)":this.stream.parseOctetString(content,content+len,maxLength);case 0x06:return this.stream.parseOID(content,content+len,maxLength);case 0x10:case 0x11:if(this.sub!==null){return"("+this.sub.length+" elem)";}else{return"(no elem)";}case 0x0C:return stringCut(this.stream.parseStringUTF(content,content+len),maxLength);case 0x12:case 0x13:case 0x14:case 0x15:case 0x16:case 0x1A:return stringCut(this.stream.parseStringISO(content,content+len),maxLength);case 0x1E:return stringCut(this.stream.parseStringBMP(content,content+len),maxLength);case 0x17:case 0x18:return this.stream.parseTime(content,content+len,(this.tag.tagNumber==0x17));}return null;};ASN1.prototype.toString=function(){return this.typeName()+"@"+this.stream.pos+"[header:"+this.header+",length:"+this.length+",sub:"+((this.sub===null)?"null":this.sub.length)+"]";};ASN1.prototype.toPrettyString=function(indent){if(indent===undefined){indent="";}var s=indent+this.typeName()+" @"+this.stream.pos;if(this.length>=0){s+="+";}s+=this.length;if(this.tag.tagConstructed){s+=" (constructed)";}else if((this.tag.isUniversal()&&((this.tag.tagNumber==0x03)||(this.tag.tagNumber==0x04)))&&(this.sub!==null)){s+=" (encapsulates)";}s+="\n";if(this.sub!==null){indent+=" ";for(var i=0,max=this.sub.length;i6){throw new Error("Length over 48 bits not supported at position "+(stream.pos-1));}if(len===0){return null;}buf=0;for(var i=0;i>6;this.tagConstructed=((buf&0x20)!==0);this.tagNumber=buf&0x1F;if(this.tagNumber==0x1F){var n=new Int10();do{buf=stream.get();n.mulAdd(128,buf&0x7F);}while(buf&0x80);this.tagNumber=n.simplify();}}ASN1Tag.prototype.isUniversal=function(){return this.tagClass===0x00;};ASN1Tag.prototype.isEOC=function(){return this.tagClass===0x00&&this.tagNumber===0x00;};return ASN1Tag;}());var dbits;var canary=0xdeadbeefcafe;var j_lm=((canary&0xffffff)==0xefcafe);var lowprimes=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997];var lplim=(1<<26)/lowprimes[lowprimes.length-1];var BigInteger=(function(){function BigInteger(a,b,c){if(a!=null){if("number"==typeof a){this.fromNumber(a,b,c);}else if(b==null&&"string"!=typeof a){this.fromString(a,256);}else{this.fromString(a,b);}}}BigInteger.prototype.toString=function(b){if(this.s<0){return"-"+this.negate().toString(b);}var k;if(b==16){k=4;}else if(b==8){k=3;}else if(b==2){k=1;}else if(b==32){k=5;}else if(b==4){k=2;}else{return this.toRadix(b);}var km=(1<0){if(p>p)>0){m=true;r=int2char(d);}while(i>=0){if(p>(p+=this.DB-k);}else{d=(this[i]>>(p-=k))&km;if(p<=0){p+=this.DB;--i;}}if(d>0){m=true;}if(m){r+=int2char(d);}}}return m?r:"0";};BigInteger.prototype.negate=function(){var r=nbi();BigInteger.ZERO.subTo(this,r);return r;};BigInteger.prototype.abs=function(){return(this.s<0)?this.negate():this;};BigInteger.prototype.compareTo=function(a){var r=this.s-a.s;if(r!=0){return r;}var i=this.t;r=i-a.t;if(r!=0){return(this.s<0)?-r:r;}while(--i>=0){if((r=this[i]-a[i])!=0){return r;}}return 0;};BigInteger.prototype.bitLength=function(){if(this.t<=0){return 0;}return this.DB*(this.t-1)+nbits(this[this.t-1]^(this.s&this.DM));};BigInteger.prototype.mod=function(a){var r=nbi();this.abs().divRemTo(a,null,r);if(this.s<0&&r.compareTo(BigInteger.ZERO)>0){a.subTo(r,r);}return r;};BigInteger.prototype.modPowInt=function(e,m){var z;if(e<256||m.isEven()){z=new Classic(m);}else{z=new Montgomery(m);}return this.exp(e,z);};BigInteger.prototype.clone=function(){var r=nbi();this.copyTo(r);return r;};BigInteger.prototype.intValue=function(){if(this.s<0){if(this.t==1){return this[0]-this.DV;}else if(this.t==0){return-1;}}else if(this.t==1){return this[0];}else if(this.t==0){return 0;}return((this[1]&((1<<(32-this.DB))-1))<>24;};BigInteger.prototype.shortValue=function(){return(this.t==0)?this.s:(this[0]<<16)>>16;};BigInteger.prototype.signum=function(){if(this.s<0){return-1;}else if(this.t<=0||(this.t==1&&this[0]<=0)){return 0;}else{return 1;}};BigInteger.prototype.toByteArray=function(){var i=this.t;var r=[];r[0]=this.s;var p=this.DB-(i*this.DB)%8;var d;var k=0;if(i-->0){if(p>p)!=(this.s&this.DM)>>p){r[k++]=d|(this.s<<(this.DB-p));}while(i>=0){if(p<8){d=(this[i]&((1<