若依微服务(三)新增一个微服务——附件管理服务

附件管理服务

若依本身有一个文件上传模块,但是实现的功能比较基础。

我打算构建一个更偏应用的附件管理服务,功能更加完整丰富。

功能如下:

  1. 附件的上传、批量上传、下载、打包下载、查询、删除、假删除
  2. UI界面包含附件的预览和类似网盘的层级目录
  3. 完善的权限控制

通过这个附件管理服务的开发,熟悉一下若依框架微服务的添加流程。

思考

想了想大概分这几步:

  1. 在moudles服务中增加一个ruoyi-annex服务
  2. 编辑pom文件,添加依赖
  3. 编辑配置文件,挂接到nacos
  4. 登录nacos编辑ruoyi-gateway的配置文件,添加路由
  5. 设计附件表nnx_annex,包含字段:文件类型,层级,唯一ID,删除标识,描述,文件名,文件存储空间ID,文件路径,租户ID
  6. 设计附件权限表nnx_annex_role, nnx_annex_user
  7. 设计附件存储空间nnx_storage,(附件管理中心按理说应该支持多种存储方案如 window文件系统、对象存储、mongodb,所以文件存储在哪里就说不定了),包含字段:文件存储空间ID,名称,类型,链接参数(json)
  8. 启动若依代码生成,将上述表格CURD代码都生成出来
  9. 添加上传、批量上传、下载、打包下载、查询、删除、假删除的接口
  10. 实现上述接口
  11. 在ruoyi-api中暴露上述接口
  12. 仿造若依代码生成服务,构建UI界面
  13. 添加类似网盘的层级目录窗体
  14. 借助KKfileview实现文件预览

实践

1 新建一个空的module 

    

     左边栏在ruoyi-modules上右键->新建->新模块,打开新建模块窗体。

    我的Idea是最新的社区免费版,不能直接新建springboot项目,但是没关系,我们一步步自己添加需要的内容。

    左侧默认就行,右边名称改为ruoyi-annex,位置不变,语言选java,构建系统选maven,父项选ruoyi-modules。点击创建。

    创建完成后项目结构如下图:

    

     右侧maven管理栏如下图:

    

    ruoyi-modules的pom文件会新增一行,如下图:

    

2.  修改pom文件

默认创建的Pom文件跟我们项目使用的还是有很大差异,需要根据同级项目的pom文件修改。这里由于我们需要用到数据库,所以仿造ruoyi-system模块修改Pom文件。

<artifactId>标签修改为ruoyi-modules-annex

<artifactId>标签同级增加<description>标签,增加一些对模块的描述。

<artfiactId>标签同级增加<dependencies>标签,来引入依赖,

每个依赖库都需要在<dependencies>标签内部增加<dependency>标签来声明引用,明确标出引用的包名、位置、和版本。

  集成nacos:

复制代码
<!-- SpringCloud Alibaba Nacos -->
     <dependency>
         <groupId>com.alibaba.cloud</groupId>
         <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
     </dependency>    
<!-- SpringCloud Alibaba Nacos Config -->
    <dependency>
        <groupId>com.alibaba.cloud</groupId>
        <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
    </dependency>
复制代码

  集成sentinel:

 

Sentinel

 

 

<artifactId>标签
posted @   浦金宏  阅读(786)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示