Skip to content

add 链路分析

源文件:docs/front end/dm/lemes-web/src/views/devicemate/information/deviceType/add.vue

前端 API:docs/front end/dm/lemes-web/src/views/devicemate/api/information/deviceType/index.js

后端落点:lemes-cloud/lemes-business-devicemate/lemes-service-dm-device/lemes-service-dm-device-server/src/main/java/com/lenovo/lemes/service/dm/device/controller/DeviceTypeController.java / lemes-cloud/lemes-business-devicemate/lemes-service-dm-device/lemes-service-dm-device-server/src/main/java/com/lenovo/lemes/service/dm/device/service/impl/DeviceTypeServiceImpl.java

主表:device_type

Vue 组件总览

组件层级路径角色是否主链路是否直接CRUD独立MD跳转一句话作用
indexindex主页面当前页查看承接 add 页面主入口、列表查询和业务操作入口。
sparePartsindex > spareParts业务链路节点查看负责串联 importFile 等主链路节点,本身不直接提交核心请求。
importFileindex > spareParts > importFile业务化公共组件查看复用通用组件外壳,但当前页通过 :import-file-ajax 注入业务配置,承接业务处理。
specindex > spec业务链路节点查看负责串联 importFile 等主链路节点,本身不直接提交核心请求。
importFileindex > spec > importFile业务化公共组件查看复用通用组件外壳,但当前页通过 :import-file-ajax 注入业务配置,承接业务处理。
safetyindex > safety业务子模块查看负责 safety 模块的展示、操作编排和删除提交。

辅助组件说明

  • basicInfo:辅助组件,负责页面局部交互或展示,不直接承载新增/编辑主业务逻辑。
  • iTitle:辅助组件,负责页面局部交互或展示,不直接承载新增/编辑主业务逻辑。
  • iTable:负责通用列表渲染、分页、多选、排序和操作列承载,在 spareParts / spec / safety 中复用。
  • index:辅助组件,负责页面局部交互或展示,不直接承载新增/编辑主业务逻辑。
  • dialogs:负责通用弹窗容器、确认和关闭交互。
  • meterReading:辅助组件,负责页面局部交互或展示,不直接承载新增/编辑主业务逻辑。

技术图

add 页面数据流图

  • Flow 布局:standardadd 页面摘要图

  • Summary 布局:standard

1. 页面概览

  • 当前节点对应文件 docs/front end/dm/lemes-web/src/views/devicemate/information/deviceType/add.vue
  • 当前节点识别到 5 个重点组件、27 个辅助组件。
  • 当前节点识别到 2 条业务页面跳转链路、2 个真实接口。

2. 上游入口

  • deviceType 通过 <el-button> @click 跳转到当前页,路由为 /default/devicemate/information/deviceType/add

3. 业务页面跳转链路

  • <el-button> @click -> /default/devicemate/information/deviceType/deviceType -> deviceType,该目标页已在上游链路展开,当前只保留回跳引用。
  • <el-button> @click -> /default/devicemate/information/deviceType/deviceType -> deviceType,该目标页已在上游链路展开,当前只保留回跳引用。

4. 前端真实调用链

  • <el-button> @click -> submit -> addDeviceTypeAjax
  • activated 生命周期 -> activated -> getStoreMainListAjax

5. 接口总览

methodpath功能所属节点前端触发后端入口
POST/dm-device/deviceType/add新增提交主页面<el-button> @click -> submit -> addDeviceTypeAjaxsave
GET/dm-device/deviceType/queryStoreMainList业务请求主页面activated 生命周期 -> activated -> getStoreList -> getStoreMainListAjaxqueryStoreMain

6. 接口详细说明

6.1 POST /dm-device/deviceType/add

接口信息

  • 请求地址:/dm-device/deviceType/add
  • 请求方式:POST
  • 功能简述:新增提交
  • 所属页面:主页面
  • 前端触发链路:
  • <el-button> @click -> submit -> addDeviceTypeAjax
  • 后端入口:save
  • Service 方法:saveDeviceType

入参

  • 后端接口实际接收对象:DeviceTypeVo
  • 参数位置:body
json
{}
  • 当前链路未展开到更细的字段级定义。

出参

  • 外层响应:ResultData

  • 业务数据体:框架统一成功响应

  • 当前链路重点在业务动作与后端处理,公共包裹字段未继续展开。

后端逻辑链路

  1. 校验
  • Controller 入口为 save(@Validated @RequestBody DeviceTypeVo vo),由 @Validated 和请求对象注解触发基础参数校验。
  1. 预处理
  • Service 内先构造 LambdaQueryWrapper 作为条件容器。
  • 新增时会先通过 Redis 序列号服务生成 partNo
  1. 核心业务
  • 使用 ServiceImpl 通用查询能力拉取目标数据集合。
  • 导入成功数据最终通过 saveOrUpdateBatch(...) 批量写入主表。
  1. 状态变更
  • 会向 part_main 插入一条新记录,并在有附件时回写附件 targetId
  1. 数据影响
  • 主表新增一条物料主数据;附件记录绑定到新生成的业务 id。
  1. 收尾
  • 当前链路未识别出额外步骤。

数据链路

接口调用类型库名.表名mapper.pagesql作用(简写)
POST /dm-device/deviceType/add新增?.device_typeMyBatis-Plus save新增物料主数据
POST /dm-device/deviceType/add远程写入?.附件数据fileClient.updateFile回写附件 targetId,绑定业务对象

数据流走向

  • 数据来源:
  • 前端页面通过 <el-button> @click -> submit -> addDeviceTypeAjax 触发请求
  • 数据处理路径:
  • Controller:save
  • Service:saveDeviceType
  • 使用 ServiceImpl 通用查询能力拉取目标数据集合。
  • 导入成功数据最终通过 saveOrUpdateBatch(...) 批量写入主表。
  • 数据落点:
  • ?.device_type
  • ?.附件数据

备注

  • 前端请求路径含服务前缀 /dm-device,合理推断该前缀来自网关或服务路由。

6.2 GET /dm-device/deviceType/queryStoreMainList

接口信息

  • 请求地址:/dm-device/deviceType/queryStoreMainList
  • 请求方式:GET
  • 功能简述:业务请求
  • 所属页面:主页面
  • 前端触发链路:
  • activated 生命周期 -> activated -> getStoreList -> getStoreMainListAjax
  • 后端入口:queryStoreMain
  • Service 方法:queryStoreMain

入参

  • 参数位置:unknown

  • 当前链路未展开到更细的字段级定义。

出参

  • 外层响应:ResultData

  • 业务数据体:框架统一成功响应

  • 当前链路重点在业务动作与后端处理,公共包裹字段未继续展开。

后端逻辑链路

  1. 校验
  • 当前链路未识别出额外步骤。
  1. 预处理
  • 当前链路未识别出额外步骤。
  1. 核心业务
  • 当前链路未识别出额外步骤。
  1. 状态变更
  • 当前链路未识别出额外步骤。
  1. 数据影响
  • 当前链路未识别出额外步骤。
  1. 收尾
  • 当前链路未识别出额外步骤。

数据链路

  • 当前链路未识别到明确数据库表操作。

数据流走向

  • 数据来源:
  • 前端页面通过 activated 生命周期 -> activated -> getStoreList -> getStoreMainListAjax 触发请求
  • 数据处理路径:
  • Controller:queryStoreMain
  • Service:queryStoreMain
  • 数据落点:
  • 当前链路未识别到明确数据落点。

备注

  • 前端请求路径含服务前缀 /dm-device,合理推断该前缀来自网关或服务路由。

重点组件说明

组件:index

  • 角色:主页面
  • 层级路径:index
  • 是否直接CRUD:否
  • 一句话作用:承接 add 页面主入口、列表查询和业务操作入口。
  • 业务动作:新增提交
  • 下游重点组件:spareParts / spec / safety

组件:spareParts

  • 角色:业务链路节点
  • 层级路径:index > spareParts
  • 父组件:index
  • 是否直接CRUD:否
  • 一句话作用:负责串联 importFile 等主链路节点,本身不直接提交核心请求。
  • 详细说明:不单独生成 MD,说明保留在当前主页面文档。
  • 下游重点组件:importFile

组件:importFile

  • 角色:业务化公共组件
  • 层级路径:index > spareParts > importFile
  • 父组件:spareParts
  • 是否直接CRUD:否
  • 一句话作用:复用通用组件外壳,但当前页通过 :import-file-ajax 注入业务配置,承接业务处理。
  • 详细说明:不单独生成 MD,说明保留在当前主页面文档。

组件:spec

  • 角色:业务链路节点
  • 层级路径:index > spec
  • 父组件:index
  • 是否直接CRUD:否
  • 一句话作用:负责串联 importFile 等主链路节点,本身不直接提交核心请求。
  • 详细说明:不单独生成 MD,说明保留在当前主页面文档。
  • 下游重点组件:importFile

组件:importFile

  • 角色:业务化公共组件
  • 层级路径:index > spec > importFile
  • 父组件:spec
  • 是否直接CRUD:否
  • 一句话作用:复用通用组件外壳,但当前页通过 :import-file-ajax 注入业务配置,承接业务处理。
  • 详细说明:不单独生成 MD,说明保留在当前主页面文档。

组件:safety

  • 角色:业务子模块
  • 层级路径:index > safety
  • 父组件:index
  • 是否直接CRUD:是
  • 一句话作用:负责 safety 模块的展示、操作编排和删除提交。
  • 业务动作:删除提交
  • 详细说明:不单独生成 MD,说明保留在当前主页面文档。

7. 子组件列表

  • deviceType:路由路径 /default/devicemate/information/deviceType/deviceType,当前为回跳引用

8. 修改入口

  • 改当前节点逻辑:先看上游入口,再看组件总览和业务页面跳转链路,最后核对接口与后端落点。
  • 改跳页逻辑:不仅要改当前页的方法和参数,还要同步检查目标页文档是否受影响。
  • 重点组件较多,改组件分类或主链路时要同时看组件链和路由链。