设置-店铺管理

店铺管理模块功能解析文档

1. 模块架构概述

店铺管理模块采用前后端分离架构,前端使用Vue 3 Composition API实现用户界面和交互逻辑,后端使用Spring Boot实现API接口和业务逻辑。模块主要负责管理亚马逊店铺的基本信息、财务设置和海关信息。

1.1 系统架构图

┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│ 前端页面    │────>│ 后端API     │────>│ 数据库      │
│ (Vue 3)     │<────│ (Spring Boot)│<────│ (MySQL)     │
└─────────────┘     └─────────────┘     └─────────────┘

1.2 核心组件

2. 前端代码结构分析

2.1 主组件结构

前端主组件 index.vue 包含以下核心部分:

2.2 API调用服务

groupApi.js 定义了与后端交互的API方法:

3. 后端代码结构分析

3.1 控制器层

AmazonGroupController.java 提供以下API端点:

3.2 服务实现层

AmazonGroupServiceImpl.java 实现了以下核心功能:

3.3 数据模型

AmazonGroup 实体包含以下核心字段:

4. 核心功能实现

4.1 店铺管理实现

  1. 添加店铺

    • 前端调用 addStorename() 方法打开添加弹窗
    • 用户填写店铺信息后点击保存
    • 前端调用 saveStore() 方法,通过 groupApi.AmazonGroupSave() 向后端发送请求
    • 后端 saveAmazonGroupAction() 方法处理请求,保存店铺信息到数据库
  2. 编辑店铺

    • 前端点击店铺右侧的编辑图标,调用 updataStorename() 方法
    • 前端通过 groupApi.getAmazonGroupById() 获取店铺详情
    • 用户修改信息后点击保存
    • 前端调用 saveStore() 方法保存修改
    • 后端 saveAmazonGroupAction() 方法处理请求,更新店铺信息
  3. 删除店铺

    • 前端点击店铺右侧的删除图标,调用 delectStore() 方法
    • 前端显示确认对话框,用户确认删除
    • 前端调用 groupApi.deleteAmazongroup() 向后端发送请求
    • 后端 delAmazonGroupByIdAction() 方法处理请求,检查店铺是否有关联的授权信息
    • 如果没有关联授权,将店铺标记为删除状态

4.2 店铺排序实现

  1. 打开排序弹窗

    • 前端点击"排序"按钮,打开排序弹窗
    • 前端显示店铺列表,支持拖拽排序
  2. 拖拽排序

    • 用户通过拖拽方式调整店铺顺序
    • 前端 dragEnd() 方法更新店铺的排序号
  3. 保存排序

    • 用户点击"确认"按钮保存排序
    • 前端调用 submitFormIndex() 方法,通过 groupApi.updateBatch() 向后端发送请求
    • 后端 updateAmazonGroupConfigAction() 方法处理请求,批量更新店铺排序

4.3 财务设置实现

  1. 设置财务账套

    • 前端编辑店铺信息,开启"是否财务账套"开关
    • 前端显示公司名称和税号输入框
    • 用户填写相关信息
  2. 初始化财务账套

    • 前端开启"初始化财务账套"开关
    • 前端调用 saveStore() 方法保存设置
    • 前端先调用 initFinAccountingSubjects() 初始化财务科目
    • 然后调用 groupApi.AmazonGroupSave() 保存店铺信息

4.4 权限控制实现

5. API调用流程

5.1 获取店铺列表流程

sequenceDiagram
    participant 前端
    participant 后端
    participant 数据库
    
    前端->>后端: GET /api/v1/amzgroup/list
    后端->>后端: 获取当前用户信息
    后端->>数据库: 查询用户所属公司的店铺列表
    数据库-->>后端: 返回店铺数据
    后端-->>前端: 返回店铺列表

5.2 保存店铺信息流程

sequenceDiagram
    participant 前端
    participant 后端
    participant 数据库
    
    前端->>后端: PUT /api/v1/amzgroup/save
    后端->>后端: 获取当前用户信息
    后端->>数据库: 检查店铺名称是否已存在
    数据库-->>后端: 返回检查结果
    后端->>数据库: 保存或更新店铺信息
    数据库-->>后端: 返回保存结果
    后端-->>前端: 返回操作结果

5.3 删除店铺流程

sequenceDiagram
    participant 前端
    participant 后端
    participant 数据库
    
    前端->>后端: DELETE /api/v1/amzgroup/delete/{id}
    后端->>后端: 获取当前用户信息
    后端->>数据库: 检查店铺是否有关联的授权信息
    数据库-->>后端: 返回检查结果
    后端->>数据库: 将店铺标记为删除状态
    数据库-->>后端: 返回更新结果
    后端-->>前端: 返回操作结果

5.4 批量更新店铺排序流程

sequenceDiagram
    participant 前端
    participant 后端
    participant 数据库
    
    前端->>后端: POST /api/v1/amzgroup/updateBatch
    后端->>后端: 获取当前用户信息
    后端->>数据库: 批量更新店铺排序号
    数据库-->>后端: 返回更新结果
    后端-->>前端: 返回操作结果

6. 技术要点和难点

6.1 前端技术要点

6.2 后端技术要点

6.3 技术难点

7. 代码优化建议

7.1 前端代码优化

  1. 错误处理优化

    • 当前代码在API调用失败时缺少统一的错误处理机制
    • 建议实现全局错误处理拦截器,统一处理API错误
  2. 表单验证优化

    • 当前表单验证逻辑较为简单,建议使用Element Plus的表单验证规则
    • 实现更全面的表单验证,确保数据的有效性
  3. 代码结构优化

    • 将店铺管理相关的逻辑抽取为独立的composable函数
    • 提高代码的复用性和可读性
  4. 性能优化

    • 实现店铺列表的虚拟滚动,提高大数据量下的渲染性能
    • 使用缓存机制减少重复的API调用

7.2 后端代码优化

  1. 安全性优化

    • 当前代码中缺少对输入参数的验证,建议实现请求参数验证
    • 使用@Valid注解和校验组实现更严格的参数验证
  2. 异常处理优化

    • 当前代码中异常处理较为简单,建议实现统一的异常处理机制
    • 提供更详细的错误信息和错误码
  3. 性能优化

    • 实现店铺列表的缓存机制,减少数据库查询
    • 使用批量操作减少数据库交互次数
  4. 代码结构优化

    • 将业务逻辑进一步分离,提高代码的可维护性
    • 实现更细粒度的服务层接口

7.3 架构优化

  1. 微服务架构

    • 考虑将店铺管理模块抽取为独立的微服务
    • 提高系统的扩展性和可维护性
  2. 缓存架构

    • 实现分布式缓存,提高系统性能
    • 缓存店铺列表和常用数据
  3. 监控架构

    • 实现店铺管理模块的监控和告警机制
    • 及时发现和处理系统异常

8. 总结

店铺管理模块是Wimoor系统中管理亚马逊店铺信息的核心模块,通过该模块用户可以方便地管理店铺的基本信息、财务设置和海关信息。模块采用前后端分离架构,前端使用Vue 3 Composition API实现用户界面,后端使用Spring Boot实现业务逻辑。

模块的核心功能包括店铺的添加、编辑、删除,店铺排序的调整,财务账套的设置和初始化,以及海关信息的配置。通过这些功能,用户可以有效地管理多个亚马逊店铺的信息,为后续的业务操作提供基础数据支持。

在技术实现上,模块解决了权限控制、数据一致性、拖拽排序等技术难点,为系统的稳定运行提供了保障。同时,通过代码优化建议的实施,可以进一步提高模块的性能、安全性和可维护性。


版本号 #1
由 Admin 创建于 2026-01-30 19:22:35 CST
由 Admin 更新于 2026-01-30 19:22:50 CST