Initial commit: 单商户积分商城 - 管理后台前端 + CRMEB 后端

Made-with: Cursor
This commit is contained in:
apple
2026-03-08 18:35:11 +08:00
commit 5432904bcb
2282 changed files with 311241 additions and 0 deletions

View File

@@ -0,0 +1,55 @@
#!/bin/bash
# 编译 crmeb-admin、上传并重启 miao50 服务器上的 admin 服务(全自动,需先做一次性免密配置)
# 一次性配置: ssh-copy-id -i ~/.ssh/id_ed25519_crmeb_deploy.pub root@101.37.253.50
# 使用: ./deploy-admin-miao50.sh
set -e
SSH_IDENTITY="${SSH_IDENTITY:-$HOME/.ssh/id_ed25519_crmeb_deploy}"
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_DIR="$(cd "$SCRIPT_DIR/.." && pwd)"
DEPLOY_CONF="$PROJECT_DIR/deploy.conf"
# 解析 miao50 配置deploy.conf 中 miao50 段的 KEY=value
get_conf() {
grep -E "^${1}=" "$DEPLOY_CONF" | tail -1 | cut -d= -f2-
}
SERVER_HOST=$(get_conf SERVER_HOST)
SERVER_USER=$(get_conf SERVER_USER)
SERVER_PORT=$(get_conf SERVER_PORT)
REMOTE_DIR=$(get_conf REMOTE_DIR)
ADMIN_JAR_NAME=$(get_conf ADMIN_JAR_NAME)
ADMIN_LOCAL_PORT=$(get_conf ADMIN_LOCAL_PORT)
# 若未读到(可能不是 miao50 段),使用默认
[[ -z "$SERVER_HOST" ]] && SERVER_HOST=101.37.253.50
[[ -z "$REMOTE_DIR" ]] && REMOTE_DIR=/www/wwwroot/crmeb
[[ -z "$ADMIN_JAR_NAME" ]] && ADMIN_JAR_NAME=miao-admin-2.2.jar
[[ -z "$ADMIN_LOCAL_PORT" ]] && ADMIN_LOCAL_PORT=30032
[[ -z "$SERVER_USER" ]] && SERVER_USER=root
[[ -z "$SERVER_PORT" ]] && SERVER_PORT=22
JAR_PATH="$PROJECT_DIR/crmeb-admin/target/$ADMIN_JAR_NAME"
REMOTE_JAR="$REMOTE_DIR/$ADMIN_JAR_NAME"
echo "=== 1. 编译 crmeb-admin ==="
cd "$PROJECT_DIR"
mvn clean package -pl crmeb-admin -am -DskipTests -q
echo "已生成: $JAR_PATH"
echo ""
echo "=== 2. 上传到 $SERVER_USER@$SERVER_HOST:$REMOTE_DIR ==="
[[ -f "$SSH_IDENTITY" ]] && SSH_OPTS=(-o "IdentityFile=$SSH_IDENTITY") || SSH_OPTS=()
scp "${SSH_OPTS[@]}" -o StrictHostKeyChecking=accept-new -P "$SERVER_PORT" "$JAR_PATH" "$SERVER_USER@$SERVER_HOST:$REMOTE_DIR/"
echo "上传完成."
echo ""
echo "=== 3. 远程停止并重启 admin (profile=miao50, port=$ADMIN_LOCAL_PORT) ==="
ssh "${SSH_OPTS[@]}" -p "$SERVER_PORT" "$SERVER_USER@$SERVER_HOST" "cd $REMOTE_DIR && \
(pkill -f $ADMIN_JAR_NAME || true) && \
sleep 2 && \
nohup java -jar $ADMIN_JAR_NAME --spring.profiles.active=miao50 --server.port=$ADMIN_LOCAL_PORT > admin.log 2>&1 & \
sleep 3 && \
(pgrep -f $ADMIN_JAR_NAME && echo 'Admin 进程已启动' || echo '请检查 admin.log 启动是否失败')"
echo ""
echo "=== 部署完成 ==="

92
backend/shell/startAdmin.sh Executable file
View File

@@ -0,0 +1,92 @@
#!/bin/bash
#开始时间 时间戳
startTime=`date +'%Y-%m-%d %H:%M:%S'`
#接口项目站点路径(目录按照各自配置)
APP_PATH=/usr/local/crmeb
#APP_PATH=/Library/WebServer/Documents/zhongbang/java/crmeb/target
#jar包文件名称
APP_NAME=$APP_PATH/chenyin-admin-2.2.jar
#日志文件名称
LOG_FILE=$APP_PATH/cyadmin.log
#启动环境 # 如果需要配置数据和redis请在 application-prod.yml中修改, 用jar命令修改即可
APP_YML=--spring.profiles.active=chenyin
#数据库配置
rm -rf $LOG_FILE
echo "开始停止 Crmeb 项目进程"
#查询进程并杀掉当前jar/java程序
pid=`ps -ef|grep $APP_NAME | grep -v grep | awk '{print $2}'`
if [ $pid ];then
echo "pid: $pid"
kill -9 $pid
echo "Crmeb 项目进程进程终止成功"
fi
sleep 2
#判断jar包文件是否存在如果存在启动jar包并时时查看启动日志
if test -e $APP_NAME;then
echo '文件存在,开始启动此程序...'
# 启动jar包指向日志文件2>&1 & 表示打开或指向同一个日志文件 --spring.profiles.active=prod 启动 prod环境
nohup java -jar $APP_NAME $APP_YML > crmeb_out.log 2>&1 &
echo "正在发布中,请稍后......"
sleep 10s
#通过检测日志来判断
while [ -f $LOG_FILE ]
do
success=`grep "Started CrmebAdminApplication in " $LOG_FILE`
if [[ "$success" != "" ]]
then
# echo "Crmeb start ........."
break
else
# echo "Crmeb Running ......."
sleep 1s
fi
# echo "开始检测启动失败标记"
fail=`grep "Fail" $LOG_FILE`
if [[ "$fail" != "" ]]
then
echo "项目启动失败"
tail -f $LOG_FILE
break
else
# echo "Crmeb Running ......."
sleep 1s
fi
done
echo "Crmeb Started Success"
endTime=`date +'%Y-%m-%d %H:%M:%S'`
startSecond=$(date --date="$startTime" +%s);
endSecond=$(date --date="$endTime" +%s);
total=$((endSecond-startSecond))
# shellcheck disable=SC2027
echo "本次运行时间: "$total"s"
# shellcheck disable=SC2086
echo "当前时间:"$endTime
else
echo '$APP_NAME 文件不存在,请检查。'
fi
#在 $APP_NAME 同级目录下运行 ./startAdmin.sh 命令即可启动项目。

92
backend/shell/startFront.sh Executable file
View File

@@ -0,0 +1,92 @@
#!/bin/bash
#开始时间 时间戳
startTime=`date +'%Y-%m-%d %H:%M:%S'`
#接口项目站点路径(目录按照各自配置)
APP_PATH=/usr/local/crmeb
#APP_PATH=/Library/WebServer/Documents/zhongbang/java/crmeb/target
#jar包文件名称
APP_NAME=$APP_PATH/chenyin-front-2.2.jar
#日志文件名称
LOG_FILE=$APP_PATH/cyfront.log
#启动环境 # 如果需要配置数据和redis请在 application-prod.yml中修改, 用jar命令修改即可
APP_YML=--spring.profiles.active=chenyin
#数据库配置
rm -rf $LOG_FILE
echo "开始停止项目进程"
#查询进程并杀掉当前jar/java程序
pid=`ps -ef|grep $APP_NAME | grep -v grep | awk '{print $2}'`
if [ $pid ];then
echo "pid: $pid"
kill -9 $pid
echo "项目进程进程终止成功"
fi
sleep 2
#判断jar包文件是否存在如果存在启动jar包并时时查看启动日志
if test -e $APP_NAME;then
echo '文件存在,开始启动此程序...'
# 启动jar包指向日志文件2>&1 & 表示打开或指向同一个日志文件 --spring.profiles.active=prod 启动 prod环境
nohup java -jar $APP_NAME $APP_YML > cyfront.log 2>&1 &
echo "正在发布中,请稍后......"
sleep 10s
#通过检测日志来判断
while [ -f $LOG_FILE ]
do
success=`grep "Started FrontApplication in " $LOG_FILE`
if [[ "$success" != "" ]]
then
# echo "start ........."
break
else
# echo "Running ......."
sleep 1s
fi
# echo "开始检测启动失败标记"
fail=`grep "Fail" $LOG_FILE`
if [[ "$fail" != "" ]]
then
echo "项目启动失败"
tail -f $LOG_FILE
break
else
# echo "Running ......."
sleep 1s
fi
done
echo "Started Success"
endTime=`date +'%Y-%m-%d %H:%M:%S'`
startSecond=$(date --date="$startTime" +%s);
endSecond=$(date --date="$endTime" +%s);
total=$((endSecond-startSecond))
# shellcheck disable=SC2027
echo "本次运行时间: "$total"s"
# shellcheck disable=SC2086
echo "当前时间:"$endTime
else
echo '$APP_NAME 文件不存在,请检查。'
fi
#在 $APP_NAME 同级目录下运行 ./startAdmin.sh 命令即可启动项目。

View File

@@ -0,0 +1,21 @@
#接口项目站点路径(目录按照各自配置)
APP_PATH=/usr/local/crmeb
#jar包文件名称
APP_NAME=$APP_PATH/chenyin-admin-2.2.jar
echo "开始停止 Crmeb-admin 项目进程"
#查询进程并杀掉当前jar/java程序
pid=`ps -ef|grep $APP_NAME | grep -v grep | awk '{print $2}'`
echo "pid: $pid "
if [ $pid ];then
echo "pid: $pid"
kill -9 $pid
echo "Crmeb-admin 项目进程进程终止成功"
else
echo "未找到对应服务"
fi

View File

@@ -0,0 +1,21 @@
#接口项目站点路径(目录按照各自配置)
APP_PATH=/usr/local/crmeb
#jar包文件名称
APP_NAME=$APP_PATH/chenyin-front-2.2.jar
echo "开始停止admin项目进程"
#查询进程并杀掉当前jar/java程序
pid=`ps -ef|grep $APP_NAME | grep -v grep | awk '{print $2}'`
echo "pid: $pid "
if [ $pid ];then
echo "pid: $pid"
kill -9 $pid
echo "admin项目进程进程终止成功"
else
echo "未找到对应服务"
fi