feat: 添加员工门户项目及相关后端改造
- 新增 hzhub-portal-employee 员工门户前端项目(基于 Vue3 + Element Plus) - 后端登录接口增加返回 nickName 字段 - 移除 KnowledgeInfoController 的 @SaCheckPermission 注解 - 删除 hzhub-portal-company 旧门户项目 - 更新项目文档和架构说明 - 添加后台运行管理脚本(start-all.sh / status-all.sh / stop-all.sh) - 更新 docker-compose 配置 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
1
hzhub-ai/.pid
Normal file
1
hzhub-ai/.pid
Normal file
@@ -0,0 +1 @@
|
||||
3999223
|
||||
@@ -58,7 +58,7 @@ spring:
|
||||
driverClassName: com.mysql.cj.jdbc.Driver
|
||||
# jdbc 所有参数配置参考 https://lionli.blog.csdn.net/article/details/122018562
|
||||
# rewriteBatchedStatements=true 批处理优化 大幅提升批量插入更新删除性能(对数据库有性能损耗 使用批量操作应考虑性能问题)
|
||||
url: jdbc:mysql://127.0.0.1:3306/ruoyi_ai?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true
|
||||
url: jdbc:mysql://127.0.0.1:3306/hzhub?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true
|
||||
username: root
|
||||
password: hzhub123
|
||||
# agent:
|
||||
|
||||
@@ -105,7 +105,7 @@ public class LoginUser implements Serializable {
|
||||
/**
|
||||
* 用户昵称
|
||||
*/
|
||||
private String nickname;
|
||||
private String nickName;
|
||||
|
||||
/**
|
||||
* 角色对象
|
||||
|
||||
@@ -40,7 +40,6 @@ public class KnowledgeInfoController extends BaseController {
|
||||
/**
|
||||
* 查询知识库列表
|
||||
*/
|
||||
@SaCheckPermission("system:info:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<KnowledgeInfoVo> list(KnowledgeInfoBo bo, PageQuery pageQuery) {
|
||||
return knowledgeInfoService.queryPageList(bo, pageQuery);
|
||||
|
||||
@@ -2,6 +2,7 @@ package org.hzhub.system.domain.vo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import lombok.Data;
|
||||
import org.hzhub.common.core.domain.model.LoginUser;
|
||||
|
||||
/**
|
||||
* 登录验证信息
|
||||
@@ -51,4 +52,10 @@ public class LoginVo {
|
||||
*/
|
||||
private String openid;
|
||||
|
||||
/**
|
||||
* 用户信息(用于前端展示昵称等)
|
||||
*/
|
||||
@JsonProperty("userInfo")
|
||||
private LoginUser userInfo;
|
||||
|
||||
}
|
||||
|
||||
@@ -154,7 +154,7 @@ public class SysLoginService {
|
||||
loginUser.setUserId(userId);
|
||||
loginUser.setDeptId(user.getDeptId());
|
||||
loginUser.setUsername(user.getUserName());
|
||||
loginUser.setNickname(user.getNickName());
|
||||
loginUser.setNickName(user.getNickName());
|
||||
loginUser.setUserType(user.getUserType());
|
||||
loginUser.setMenuPermission(permissionService.getMenuPermission(userId));
|
||||
loginUser.setRolePermission(permissionService.getRolePermission(userId));
|
||||
|
||||
@@ -84,6 +84,7 @@ public class PasswordAuthStrategy implements IAuthStrategy {
|
||||
loginVo.setAccessToken(StpUtil.getTokenValue());
|
||||
loginVo.setExpireIn(StpUtil.getTokenTimeout());
|
||||
loginVo.setClientId(client.getClientId());
|
||||
loginVo.setUserInfo(loginUser);
|
||||
return loginVo;
|
||||
}
|
||||
|
||||
|
||||
16
hzhub-ai/logs.sh
Executable file
16
hzhub-ai/logs.sh
Executable file
@@ -0,0 +1,16 @@
|
||||
#!/bin/bash
|
||||
# HZHub AI 后端服务日志查看脚本
|
||||
# 功能:查看服务运行日志
|
||||
|
||||
PROJECT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
LOG_FILE="$PROJECT_DIR/logs/backend.log"
|
||||
|
||||
if [ ! -f "$LOG_FILE" ]; then
|
||||
echo "⚠️ 日志文件不存在: $LOG_FILE"
|
||||
echo "服务可能未运行或未产生日志"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "查看 hzhub-ai 日志 (Ctrl+C 退出)"
|
||||
echo "========================================="
|
||||
tail -f "$LOG_FILE"
|
||||
18
hzhub-ai/restart.sh
Executable file
18
hzhub-ai/restart.sh
Executable file
@@ -0,0 +1,18 @@
|
||||
#!/bin/bash
|
||||
# HZHub AI 后端服务重启脚本
|
||||
# 功能:重启后台运行的 hzhub-ai Spring Boot 服务
|
||||
|
||||
PROJECT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
|
||||
echo "========================================="
|
||||
echo "重启 hzhub-ai 后端服务"
|
||||
echo "========================================="
|
||||
|
||||
# 停止服务
|
||||
"$PROJECT_DIR/stop.sh"
|
||||
|
||||
# 等待两秒确保完全停止
|
||||
sleep 2
|
||||
|
||||
# 启动服务
|
||||
"$PROJECT_DIR/start.sh"
|
||||
59
hzhub-ai/start.sh
Executable file
59
hzhub-ai/start.sh
Executable file
@@ -0,0 +1,59 @@
|
||||
#!/bin/bash
|
||||
# HZHub AI 后端服务启动脚本
|
||||
# 功能:后台启动 hzhub-ai Spring Boot 服务
|
||||
# 注意:实际启动的是 hzhub-admin 子模块
|
||||
|
||||
PROJECT_NAME="hzhub-ai"
|
||||
PROJECT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
PID_FILE="$PROJECT_DIR/.pid"
|
||||
LOG_FILE="$PROJECT_DIR/logs/backend.log"
|
||||
|
||||
# 创建日志目录
|
||||
mkdir -p "$PROJECT_DIR/logs"
|
||||
|
||||
echo "========================================="
|
||||
echo "启动 $PROJECT_NAME 后端服务"
|
||||
echo "========================================="
|
||||
|
||||
# 检查是否已经在运行
|
||||
if [ -f "$PID_FILE" ]; then
|
||||
PID=$(cat "$PID_FILE")
|
||||
if ps -p "$PID" > /dev/null 2>&1; then
|
||||
echo "⚠️ 服务已在运行中 (PID: $PID)"
|
||||
echo "如需重启,请先执行 ./stop.sh"
|
||||
exit 1
|
||||
else
|
||||
echo "清理无效的PID文件"
|
||||
rm -f "$PID_FILE"
|
||||
fi
|
||||
fi
|
||||
|
||||
# 启动服务
|
||||
echo "🚀 启动 Spring Boot 服务..."
|
||||
cd "$PROJECT_DIR/hzhub-admin"
|
||||
|
||||
# 使用nohup后台运行Maven Spring Boot
|
||||
nohup mvn spring-boot:run -Dspring-boot.run.profiles=dev > "$LOG_FILE" 2>&1 &
|
||||
PID=$!
|
||||
|
||||
# 等待更长时间检查进程是否成功启动(Spring Boot启动较慢)
|
||||
echo "⏳ 等待服务启动中..."
|
||||
sleep 5
|
||||
|
||||
if ps -p "$PID" > /dev/null 2>&1; then
|
||||
echo "$PID" > "$PID_FILE"
|
||||
echo "✅ 服务启动成功"
|
||||
echo " PID: $PID"
|
||||
echo " 日志: $LOG_FILE"
|
||||
echo " API: http://localhost:6039"
|
||||
echo ""
|
||||
echo "查看日志: tail -f $LOG_FILE"
|
||||
echo "查看状态: ./status.sh"
|
||||
echo ""
|
||||
echo "💡 提示: Spring Boot 完整启动需要30-60秒"
|
||||
echo " 请执行 ./logs.sh 或 tail -f $LOG_FILE 查看启动进度"
|
||||
else
|
||||
echo "❌ 服务启动失败"
|
||||
echo "请查看日志: $LOG_FILE"
|
||||
exit 1
|
||||
fi
|
||||
49
hzhub-ai/status.sh
Executable file
49
hzhub-ai/status.sh
Executable file
@@ -0,0 +1,49 @@
|
||||
#!/bin/bash
|
||||
# HZHub AI 后端服务状态检查脚本
|
||||
# 功能:查看服务运行状态
|
||||
|
||||
PROJECT_NAME="hzhub-ai"
|
||||
PROJECT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
PID_FILE="$PROJECT_DIR/.pid"
|
||||
LOG_FILE="$PROJECT_DIR/logs/backend.log"
|
||||
|
||||
echo "========================================="
|
||||
echo " $PROJECT_NAME 服务状态"
|
||||
echo "========================================="
|
||||
|
||||
# 检查PID文件
|
||||
if [ ! -f "$PID_FILE" ]; then
|
||||
echo "状态: ⚪ 未运行"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
PID=$(cat "$PID_FILE")
|
||||
|
||||
# 检查进程是否存在
|
||||
if ps -p "$PID" > /dev/null 2>&1; then
|
||||
echo "状态: 🟢 运行中"
|
||||
echo "PID: $PID"
|
||||
|
||||
# 显示进程详细信息
|
||||
ps -p "$PID" -o pid,ppid,cmd,etime
|
||||
|
||||
echo ""
|
||||
echo "日志文件: $LOG_FILE"
|
||||
echo "API地址: http://localhost:6039"
|
||||
echo ""
|
||||
|
||||
# 检查端口是否在监听
|
||||
if netstat -tuln 2>/dev/null | grep -q ":6039 "; then
|
||||
echo "端口状态: ✅ 6039 端口正在监听"
|
||||
else
|
||||
echo "端口状态: ⏳ 6039 端口未监听 (可能还在启动中)"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "最近20行日志:"
|
||||
echo "---"
|
||||
tail -n 20 "$LOG_FILE" 2>/dev/null || echo "暂无日志"
|
||||
else
|
||||
echo "状态: 🔴 已停止 (PID文件存在但进程不存在)"
|
||||
rm -f "$PID_FILE"
|
||||
fi
|
||||
44
hzhub-ai/stop.sh
Executable file
44
hzhub-ai/stop.sh
Executable file
@@ -0,0 +1,44 @@
|
||||
#!/bin/bash
|
||||
# HZHub AI 后端服务停止脚本
|
||||
# 功能:停止后台运行的 hzhub-ai Spring Boot 服务
|
||||
|
||||
PROJECT_NAME="hzhub-ai"
|
||||
PROJECT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
PID_FILE="$PROJECT_DIR/.pid"
|
||||
|
||||
echo "========================================="
|
||||
echo "停止 $PROJECT_NAME 后端服务"
|
||||
echo "========================================="
|
||||
|
||||
# 检查PID文件是否存在
|
||||
if [ ! -f "$PID_FILE" ]; then
|
||||
echo "⚠️ 未找到PID文件,服务可能未运行"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
PID=$(cat "$PID_FILE")
|
||||
|
||||
# 检查进程是否存在
|
||||
if ! ps -p "$PID" > /dev/null 2>&1; then
|
||||
echo "⚠️ 进程不存在 (PID: $PID)"
|
||||
rm -f "$PID_FILE"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# 停止进程
|
||||
echo "🛑 正在停止服务 (PID: $PID)..."
|
||||
kill "$PID"
|
||||
|
||||
# 等待进程结束
|
||||
sleep 3
|
||||
|
||||
# 检查进程是否已停止
|
||||
if ps -p "$PID" > /dev/null 2>&1; then
|
||||
echo "⚠️ 进程未响应,强制终止..."
|
||||
kill -9 "$PID"
|
||||
sleep 2
|
||||
fi
|
||||
|
||||
# 清理PID文件
|
||||
rm -f "$PID_FILE"
|
||||
echo "✅ 服务已停止"
|
||||
Reference in New Issue
Block a user