C a0943f6ca3 feat(resource): 新增「购买时长」字段(按量/月/季度/半年/年) 2 meses atrás
..
src a0943f6ca3 feat(resource): 新增「购买时长」字段(按量/月/季度/半年/年) 2 meses atrás
.gitignore 7b778b00de refactor: 根据代码审计报告优化代码质量 - 敏感配置外部化,application.yml使用环境变量,新增application-dev.yml - JWT Filter增加UsernameNotFoundException异常处理 - 用户列表接口返回UserVO排除密码字段 - 密码复杂度校验(至少6位,包含字母和数字) - 字典/服务商删除前检查资源引用 - CORS配置可配置化 - 日期合理性校验(到期日期不能早于开通日期) - 操作日志userId空值安全处理 - 登录失败锁定机制(5次失败锁定15分钟) - 枚举类管理状态码,消除魔法数字 - 前端statusClass抽取公共模块,表单字段修复 - 操作日志增加筛选功能(模块/操作/时间范围) - 费用统计改用SQL聚合优化性能 - 字典管理写操作权限收紧为管理员 - Vite host配置限制为localhost 2 meses atrás
README.md c8bfac8376 init: 软件项目资源登记平台初始代码提交 2 meses atrás
pom.xml c8bfac8376 init: 软件项目资源登记平台初始代码提交 2 meses atrás

README.md

资源登记平台 - 后端

基于 Spring Boot 3 + MyBatis-Plus + MySQL + JWT 的内部资源台账系统后端。

启动步骤

  1. 初始化数据库 先执行根目录 sql/schema.sql,会创建数据库 resource_platform 及全部表,并插入初始管理员账号。

  2. 修改配置 编辑 src/main/resources/application.yml:

    • spring.datasource 改成你自己的 MySQL 账号密码
    • spring.mail 改成你们公司的SMTP服务器信息(到期提醒邮件依赖这个)
    • jwt.secret 生产环境务必换成自己的随机字符串
  3. 启动

    mvn clean package -DskipTests
    java -jar target/resource-platform.jar
    

    或者直接用IDE运行 ResourcePlatformApplication。

    1. 默认账号
    2. 账号:admin
    3. 密码:admin123
    4. 首次登录后请立即在"个人中心-修改密码"里改掉。

    模块说明

    模块 说明
    auth 登录、修改密码
    user 用户管理(仅管理员)
    resource-type / provider 资源类型、服务商字典,可自行扩展
    project 项目管理
    resource 资源管理(核心),含多对多项目关联、Excel导出
    dashboard 工作台概览
    operation-log 操作日志
    task.ResourceExpireTask 每天定时扫描,刷新到期状态 + 发送邮件提醒

    关于到期提醒

    notify.cron 控制扫描频率(默认每天8点),remind-days-far(默认30天)和 remind-days-near(默认7天) 控制提前多久开始提醒。同一个资源同一个阶段只会发一封邮件,记录在 expire_notify_log 表里,不会每天打扰负责人。

    待你补充/确认的点

    • 邮件SMTP配置是真实账号密码,不要把改好真实密码的yml提交到代码仓库,建议改成读环境变量。
    • 当前权限是最简单的二级(管理员/普通用户),如果后续需要"只能管自己负责的资源"这种更细粒度权限,可以在Controller层基于SecurityUtils.getCurrentUserId()再加过滤,目前还没做。