承接前文关于如何运用 AI 工具生成时序图的内容【1】,今天我们继续探讨 AI 驱动的 PlantUML:高效创建专业的 UML 类图与用例图。

【1】:
https://juejin.cn/post/7407637717206728755

【2】: 案例参照开源项目ruoyi-cloud:
https://gitee.com/y_project/RuoYi-Cloud

AI驱动分析类间关系并通过PlantUML生成类图

一、在Fitten Code中输入如下内容

@workspace 分析下com.ruoyi.system下岗位管理这功能各类之间的关系

得到的结果如下:
为了分析
com.ruoyi.system

岗位管理
功能各类之间的关系,我们需要查看相关的类和它们的方法。以下是基于提供的参考信息进行的分析:

1. 主要类和接口

1.1.
SysPost

  • 描述
    : 岗位实体类,包含岗位的基本信息。

  • 属性
    :


    • postId
      : 岗位ID
    • postCode
      : 岗位编码
    • postName
      : 岗位名称
    • postSort
      : 显示顺序
    • status
      : 状态
    • createBy
      : 创建者
    • createTime
      : 创建时间
    • updateBy
      : 更新者
    • updateTime
      : 更新时间
    • remark
      : 备注

1.2.
SysPostMapper
接口

  • 描述
    : MyBatis Mapper 接口,用于操作岗位数据。

  • 方法
    :


    • selectPostList
      : 查询岗位列表
    • selectPostAll
      : 查询所有岗位
    • selectPostById
      : 根据ID查询岗位
    • selectPostListByUserId
      : 根据用户ID查询岗位列表
    • selectPostsByUserName
      : 根据用户名查询岗位
    • checkPostNameUnique
      : 检查岗位名称是否唯一
    • checkPostCodeUnique
      : 检查岗位编码是否唯一
    • updatePost
      : 更新岗位信息
    • insertPost
      : 插入岗位信息
    • deletePostById
      : 根据ID删除岗位
    • deletePostByIds
      : 批量删除岗位

1.3.
SysPostService
接口

  • 描述
    : 岗位服务接口,定义岗位管理的相关业务逻辑。

  • 方法
    :


    • selectPostList
      : 查询岗位列表
    • selectPostAll
      : 查询所有岗位
    • selectPostById
      : 根据ID查询岗位
    • selectPostListByUserId
      : 根据用户ID查询岗位列表
    • selectPostsByUserName
      : 根据用户名查询岗位
    • checkPostNameUnique
      : 检查岗位名称是否唯一
    • checkPostCodeUnique
      : 检查岗位编码是否唯一
    • insertPost
      : 插入岗位信息
    • updatePost
      : 更新岗位信息
    • deletePostByIds
      : 批量删除岗位
    • export
      : 导出岗位信息

1.4.
SysPostServiceImpl

  • 描述
    :
    SysPostService
    接口的实现类,实现具体的业务逻辑。

  • 方法
    :


    • 实现
      SysPostService
      接口的所有方法

1.5.
SysPostController

  • 描述
    : 岗位管理控制器,处理HTTP请求。

  • 方法
    :


    • list
      : 查询岗位列表
    • export
      : 导出岗位信息
    • getInfo
      : 根据ID查询岗位详细信息
    • add
      : 新增岗位
    • edit
      : 修改岗位
    • remove
      : 删除岗位

2. 类之间的关系

2.1.
SysPost

SysPostMapper

  • SysPost
    是岗位实体类,
    SysPostMapper
    是操作
    SysPost
    数据的 MyBatis Mapper 接口。
  • SysPostMapper
    通过 MyBatis 映射文件 (
    SysPostMapper.xml
    ) 定义了与数据库交互的 SQL 语句。

2.2.
SysPostMapper

SysPostService

  • SysPostService
    接口定义了岗位管理的业务逻辑,
    SysPostServiceImpl
    是其实现类。
  • SysPostServiceImpl
    通过依赖注入
    SysPostMapper
    来访问数据库,实现业务逻辑。

2.3.
SysPostService

SysPostController

  • SysPostController
    是控制器类,处理HTTP请求,调用
    SysPostService
    的方法来完成业务逻辑。
  • SysPostController
    通过依赖注入
    SysPostService
    来访问业务逻辑。

3. 总结

岗位管理功能涉及的主要类和它们之间的关系如下:

  • SysPost
    是岗位实体类。
  • SysPostMapper
    是操作
    SysPost
    数据的 MyBatis Mapper 接口。
  • SysPostService
    是岗位服务接口,定义岗位管理的业务逻辑。
  • SysPostServiceImpl

    SysPostService
    的实现类,通过
    SysPostMapper
    访问数据库。
  • SysPostController
    是控制器类,处理HTTP请求,调用
    SysPostService
    的方法来完成业务逻辑。

这些类和接口通过依赖注入和方法调用,共同实现了岗位管理功能。

二、在Fitten Code中继续输入如下内容

接着上再用plantuml把岗位管理功能相关的类形成类图

分析出的结果如下:

@startuml

class SysPost {
    +Long postId
    +String postCode
    +String postName
    +Integer postSort
    +String status
    +String createBy
    +Date createTime
    +String updateBy
    +Date updateTime
    +String remark
}

interface SysPostMapper {
    +List<SysPost> selectPostList(SysPost post)
    +List<SysPost> selectPostAll()
    +SysPost selectPostById(Long postId)
    +List<Long> selectPostListByUserId(Long userId)
    +List<SysPost> selectPostsByUserName(String userName)
    +SysPost checkPostNameUnique(String postName)
    +SysPost checkPostCodeUnique(String postCode)
    +int updatePost(SysPost post)
    +int insertPost(SysPost post)
    +int deletePostById(Long postId)
    +int deletePostByIds(Long[] postIds)
}

interface SysPostService {
    +List<SysPost> selectPostList(SysPost post)
    +List<SysPost> selectPostAll()
    +SysPost selectPostById(Long postId)
    +List<Long> selectPostListByUserId(Long userId)
    +List<SysPost> selectPostsByUserName(String userName)
    +SysPost checkPostNameUnique(String postName)
    +SysPost checkPostCodeUnique(String postCode)
    +int insertPost(SysPost post)
    +int updatePost(SysPost post)
    +int deletePostByIds(Long[] postIds)
    +void export(SysPost post)
}

class SysPostServiceImpl {
    -SysPostMapper sysPostMapper
    +List<SysPost> selectPostList(SysPost post)
    +List<SysPost> selectPostAll()
    +SysPost selectPostById(Long postId)
    +List<Long> selectPostListByUserId(Long userId)
    +List<SysPost> selectPostsByUserName(String userName)
    +SysPost checkPostNameUnique(String postName)
    +SysPost checkPostCodeUnique(String postCode)
    +int insertPost(SysPost post)
    +int updatePost(SysPost post)
    +int deletePostByIds(Long[] postIds)
    +void export(SysPost post)
}

class SysPostController {
    -SysPostService sysPostService
    +ResponseEntity<TableDataInfo> list(SysPost post)
    +ResponseEntity<AjaxResult> export(SysPost post)
    +ResponseEntity<AjaxResult> getInfo(Long postId)
    +ResponseEntity<AjaxResult> add(SysPost post)
    +ResponseEntity<AjaxResult> edit(SysPost post)
    +ResponseEntity<AjaxResult> remove(Long[] postIds)
}

SysPostMapper <|-- SysPostServiceImpl : 依赖
SysPostService <|-- SysPostServiceImpl : 实现
SysPostService <|-- SysPostController : 依赖

@enduml

三、新建plantUml文件并复制如上内容

类图说明

  • SysPost
    类表示岗位实体,包含岗位的基本信息。
  • SysPostMapper
    接口定义了操作岗位数据的 MyBatis Mapper 方法。
  • SysPostService
    接口定义了岗位管理的业务逻辑。
  • SysPostServiceImpl
    类实现了
    SysPostService
    接口,并通过依赖注入
    SysPostMapper
    来访问数据库。
  • SysPostController
    类是控制器,处理HTTP请求,调用
    SysPostService
    的方法来完成业务逻辑。

通过这个类图,可以清晰地看到岗位管理功能中各个类之间的关系和依赖。
最终效果如下,可以导成图片文件。

四、在Fitten Code中继续输入如下内容

例如岗位管理主要划分为岗位新增、修改、删除和查询功能。通过plantuml生成用例图

与上同样新建一个plantUML,岗位用例图文件,复制生成的内容,岗位管理用例图就生成了,是不是很简单。

标签: none

添加新评论