Files
PoJie/ruoyi-modules/ruoyi-mall/MODULE_STRUCTURE.md
T
2026-02-22 12:12:02 +08:00

51 KiB
Raw Blame History

商城模块结构说明

模块拆分

根据 MODULE_STRUCTURE_PLAN.md 的要求,ruoyi-mall 模块已按照规划拆分为以下子模块:

1. ruoyi-mall-product (商品中心)

  • 职责: 商品(SPU)、SKU、分类、品牌、属性管理
  • 包名: org.dromara.mall.product
  • 状态: 核心功能已实现(商品管理、分类管理、品牌管理、属性管理
  • 数据库表: mall_product, mall_sku, mall_category, mall_brand, mall_attribute_template, mall_attribute, mall_attribute_value, mall_product_attribute

2. ruoyi-mall-trade (交易中心)

  • 职责: 购物车、订单、售后管理
  • 包名: org.dromara.mall.trade
  • 状态: 核心功能已实现(购物车、订单、售后、评价
  • 数据库表: mall_cart, mall_order, mall_order_item, mall_after_sale, mall_order_evaluate, mall_order_coupon

3. ruoyi-mall-coupon (优惠券中心)

  • 职责: 优惠券发放、核销、过期处理
  • 包名: org.dromara.mall.coupon
  • 状态: 核心功能已实现(优惠券管理、用户优惠券
  • 数据库表: mall_coupon, mall_coupon_user

4. ruoyi-mall-promotion (营销中心)

  • 职责: 营销活动、拼团、秒杀、砍价
  • 包名: org.dromara.mall.promotion
  • 状态: 核心功能已实现(活动管理、秒杀、拼团、砍价
  • 数据库表: mall_promotion, mall_group_buy, mall_group_buy_order, mall_seckill, mall_bargain, mall_bargain_record, mall_bargain_help

5. ruoyi-mall-statistics (统计中心)

  • 职责: 交易分析、会员分析、数据统计
  • 包名: org.dromara.mall.statistics
  • 状态: 交易统计功能已实现

已完成工作

1. 模块结构

  • 创建了所有子模块的目录结构
  • 创建了各子模块的 pom.xml 配置文件
  • 配置了模块依赖关系

2. 自动配置

  • 创建了各子模块的 AutoConfiguration
  • 创建了 spring.factories 文件
  • 配置了组件扫描

3. 数据库

  • 扩展了 script/sql/ry_mall.sql 文件
  • 添加了分类、品牌表
  • 添加了优惠券相关表
  • 添加了营销活动相关表(拼团、秒杀等)
  • 添加了商品属性相关表(属性模板、属性、属性值、商品属性关联)

4. 文档

  • 创建了各子模块的 README.md 文件
  • 更新了主模块的 README.md 文件

代码迁移说明

当前状态

  • 现有代码位于 ruoyi-mall/src/main/java/org/dromara/mall/ 目录下
  • 现有代码使用 org.dromara.mall 作为包名
  • 现有代码包含:商品、SKU、购物车、订单等功能

迁移建议

由于代码迁移涉及大量文件的包名修改,建议采用渐进式迁移:

  1. 保留现有代码

    • 现有代码继续保留在 ruoyi-mall/src 目录
    • 保证现有功能正常运行
  2. 新功能开发

    • 新功能直接在新子模块中开发
    • 使用新的包名结构(如 org.dromara.mall.product
  3. 逐步迁移

    • 商品相关代码 → ruoyi-mall-product
    • 交易相关代码 → ruoyi-mall-trade
    • 优惠券功能 → ruoyi-mall-coupon
    • 营销功能 → ruoyi-mall-promotion
    • 统计功能 → ruoyi-mall-statistics

模块依赖关系

ruoyi-mall (聚合模块)
├── ruoyi-mall-product (商品中心)
│   └── 依赖: ruoyi-common-*
├── ruoyi-mall-trade (交易中心)
│   ├── 依赖: ruoyi-mall-product
│   └── 依赖: ruoyi-pay
├── ruoyi-mall-coupon (优惠券中心)
│   └── 依赖: ruoyi-common-*
├── ruoyi-mall-promotion (营销中心)
│   ├── 依赖: ruoyi-mall-product
│   └── 依赖: ruoyi-mall-coupon
└── ruoyi-mall-statistics (统计中心)
    ├── 依赖: ruoyi-mall-product
    └── 依赖: ruoyi-mall-trade

下一步工作

  1. 代码迁移 (可选)

    • 将现有代码迁移到对应的子模块
    • 修改包名以符合新的模块结构
  2. 功能实现

    • 实现各子模块的待实现功能
    • 参考各子模块的 README.md
  3. 测试验证

    • 验证各子模块的自动配置
    • 验证模块间的依赖关系

数据库表结构说明

1. ruoyi-mall-product (商品中心)

商品表 (mall_product)

  • 功能: 存储商品(SPU)基本信息
  • 关键字段: name, category_id, brand_id, status, sales_count, view_count, cover_url, images, description, detail
  • 索引: category_id, brand_id, status
  • 状态说明:
    • 0: 上架
    • 1: 下架

SKU表 (mall_sku)

  • 功能: 存储商品SKU信息,包括价格、库存、规格等
  • 关键字段: product_id, sku_code, price, stock, specs, status
  • 索引: product_id, sku_code, status
  • 状态说明:
    • 0: 启用
    • 1: 禁用

商品分类表 (mall_category)

  • 功能: 商品分类树形结构
  • 关键字段: name, parent_id, level, sort, icon, status
  • 索引: parent_id, status
  • 状态说明:
    • 0: 启用
    • 1: 禁用
  • 级别说明:
    • 1: 一级分类
    • 2: 二级分类
    • 3: 三级分类
  • 说明: 支持三级分类,通过 parent_id 构建树形结构,parent_id=0 表示顶级分类

品牌表 (mall_brand)

  • 功能: 商品品牌信息
  • 关键字段: name, logo, description, sort, status
  • 索引: status
  • 状态说明:
    • 0: 启用
    • 1: 禁用

属性模板表 (mall_attribute_template)

  • 功能: 属性模板定义,可绑定到分类
  • 关键字段: name, category_id, sort, status
  • 索引: category_id, status

属性表 (mall_attribute)

  • 功能: 属性定义
  • 关键字段: template_id, name, type, required, sort, status
  • 索引: template_id, status
  • 类型说明:
    • 0: 文本
    • 1: 数字
    • 2: 日期
    • 3: 枚举

属性值表 (mall_attribute_value)

  • 功能: 属性的值(用于枚举类型属性)
  • 关键字段: attribute_id, value, sort, status
  • 索引: attribute_id, status

商品属性关联表 (mall_product_attribute)

  • 功能: 商品关联的属性值
  • 关键字段: product_id, attribute_id, attribute_value_id, value
  • 索引: product_id, attribute_id, attribute_value_id

2. ruoyi-mall-trade (交易中心)

购物车表 (mall_cart)

  • 功能: 用户购物车信息
  • 关键字段: user_id, sku_id, quantity, selected
  • 索引: user_id, uk_user_sku (唯一索引)

订单表 (mall_order)

  • 功能: 订单主表
  • 关键字段: order_no, user_id, total_amount, pay_amount, pay_status, order_status, delivery_status, receiver_*
  • 索引: order_no (唯一), user_id, pay_order_no, order_status, pay_status
  • 状态说明:
    • pay_status:
      • 0: 未支付
      • 1: 已支付
      • 2: 已退款
    • order_status:
      • 0: 待付款
      • 1: 待发货
      • 2: 待收货
      • 3: 已完成
      • 4: 已取消
    • delivery_status:
      • 0: 未发货
      • 1: 已发货
      • 2: 已收货

订单明细表 (mall_order_item)

  • 功能: 订单商品明细
  • 关键字段: order_id, product_id, sku_id, price, quantity, total_amount
  • 索引: order_id, order_no, product_id, sku_id

收货地址表 (mall_address)

  • 功能: 用户收货地址管理
  • 关键字段: user_id, receiver_name, receiver_phone, province, city, district, address, is_default
  • 索引: user_id, is_default
  • 状态说明:
    • is_default: 0-否,1-是

售后申请表 (mall_after_sale)

  • 功能: 订单售后申请(退款、退货、换货)
  • 关键字段: after_sale_no, order_id, type, status, refund_amount
  • 索引: after_sale_no (唯一), order_id, user_id, status
  • 状态说明:
    • 0: 待审核
    • 1: 已同意
    • 2: 已拒绝
    • 3: 待退货
    • 4: 待收货
    • 5: 已完成
    • 6: 已取消
  • 类型说明:
    • 0: 退款
    • 1: 退货
    • 2: 换货

订单评价表 (mall_order_evaluate)

  • 功能: 订单商品评价
  • 关键字段: order_id, order_item_id, product_id, user_id, score, content, images
  • 索引: order_id, order_no, order_item_id, product_id, user_id

订单优惠券使用记录表 (mall_order_coupon)

  • 功能: 记录订单使用的优惠券信息
  • 关键字段: order_id, coupon_id, coupon_user_id, discount_amount
  • 索引: order_id, order_no, coupon_id, coupon_user_id

3. ruoyi-mall-coupon (优惠券中心)

优惠券表 (mall_coupon)

  • 功能: 优惠券模板定义
  • 关键字段: name, type, discount_amount, discount_rate, min_amount, valid_start_time, valid_end_time
  • 索引: status, valid_time
  • 类型说明:
    • 0: 满减券
    • 1: 折扣券
    • 2: 现金券

用户优惠券表 (mall_coupon_user)

  • 功能: 用户领取的优惠券
  • 关键字段: user_id, coupon_id, status, used_time, order_id
  • 索引: user_id, coupon_id, status
  • 状态说明:
    • 0: 未使用
    • 1: 已使用
    • 2: 已过期

4. ruoyi-mall-promotion (营销中心)

营销活动表 (mall_promotion)

  • 功能: 营销活动主表
  • 关键字段: name, type, start_time, end_time, rules (JSON)
  • 索引: type, status, time
  • 类型说明:
    • 0: 普通活动
    • 1: 拼团活动
    • 2: 秒杀活动
    • 3: 砍价活动

拼团表 (mall_group_buy)

  • 功能: 拼团活动配置
  • 关键字段: promotion_id, sku_id, group_price, group_size, duration_hours
  • 索引: promotion_id, sku_id

拼团订单表 (mall_group_buy_order)

  • 功能: 拼团订单记录
  • 关键字段: group_buy_id, group_no, order_id, user_id, status, expire_time
  • 索引: group_buy_id, group_no, order_id, status
  • 状态说明:
    • 0: 拼团中
    • 1: 已成团
    • 2: 已失败

秒杀表 (mall_seckill)

  • 功能: 秒杀活动配置
  • 关键字段: promotion_id, sku_id, seckill_price, seckill_stock, start_time, end_time
  • 索引: promotion_id, sku_id, time

砍价活动表 (mall_bargain)

  • 功能: 砍价活动配置
  • 关键字段: promotion_id, sku_id, bargain_price, original_price, min_price, help_count
  • 索引: promotion_id, sku_id

砍价记录表 (mall_bargain_record)

  • 功能: 用户发起的砍价记录
  • 关键字段: bargain_id, bargain_no, user_id, current_price, status, expire_time
  • 索引: bargain_id, bargain_no, user_id, status
  • 状态说明:
    • 0: 进行中
    • 1: 已成功
    • 2: 已失败
    • 3: 已下单

砍价助力记录表 (mall_bargain_help)

  • 功能: 砍价助力记录
  • 关键字段: bargain_record_id, bargain_no, user_id, help_price
  • 索引: bargain_record_id, bargain_no, user_id

5. ruoyi-mall-statistics (统计中心)

统计模块主要基于现有业务表进行数据分析和统计,可根据需要创建统计汇总表。

  • 主要数据源表:
    • mall_order, mall_order_item - 订单和订单明细表(用于交易统计、商品销售统计)
    • mall_product - 商品表(用于商品浏览统计,基于view_count字段)
    • mall_promotion, mall_group_buy, mall_seckill, mall_bargain - 营销活动表(用于活动效果统计)
    • mall_coupon, mall_coupon_user, mall_order_coupon - 优惠券相关表(用于优惠券使用统计)
    • 用户表(通过mall_order.user_id关联,用于会员分析,需会员模块支持)

功能清单

1. ruoyi-mall-product (商品中心)

已实现功能

商品管理 (SPU)
  • 商品CRUD操作
    • 商品列表查询(分页、条件筛选)
    • 商品详情查询
    • 商品新增/修改/删除
    • 商品上架/下架
  • 商品浏览量和销量统计
    • 浏览量自动统计
    • 销量自动累计
  • 商品详情管理
    • 商品描述和详情富文本支持
    • 商品图片管理(封面、轮播图)
SKU管理
  • SKU CRUD操作
    • SKU列表查询(支持按商品ID查询)
    • SKU详情查询
    • SKU新增/修改/删除
  • SKU库存管理
    • 库存数量管理
    • 库存扣减和恢复
  • SKU规格属性管理
    • 规格属性JSON格式存储
    • 规格属性查询和展示
商品分类管理
  • 分类树形结构查询
    • 支持三级分类树形结构
    • 管理端和移动端分类树查询
  • 分类CRUD操作
    • 分类列表查询(分页、条件筛选)
    • 分类详情查询
    • 分类新增/修改/删除
    • 分类导出功能
  • 分类排序
    • 支持自定义排序字段
  • 分类图标管理
    • 字段已支持,需前端集成文件上传功能
品牌管理
  • 品牌CRUD操作
    • 品牌列表查询(分页、条件筛选)
    • 品牌详情查询
    • 品牌新增/修改/删除
    • 品牌导出功能
  • 品牌描述管理
    • 品牌描述字段支持
  • 品牌排序
    • 支持自定义排序字段
  • 品牌状态管理
    • 启用/禁用状态控制
  • 品牌Logo上传
    • 字段已支持,需前端集成文件上传功能
商品属性管理
  • 属性模板管理
    • 属性模板CRUD操作
    • 属性模板绑定分类(可选)
    • 属性模板导出功能
  • 属性管理
    • 属性CRUD操作
    • 属性类型管理(文本、数字、日期、枚举)
    • 属性绑定模板(可选)
    • 属性必填设置
    • 属性导出功能
  • 属性值管理
    • 属性值CRUD操作
    • 属性值绑定属性
    • 属性值排序
    • 属性值导出功能
  • 商品属性关联
    • 商品关联属性值
    • 批量保存商品属性
    • 根据商品ID查询属性
    • 支持枚举类型属性值选择
    • 支持文本/数字/日期类型自定义值

待实现功能

  • 商品规格模板系统增强
    • 规格模板独立管理(当前规格通过SKU的specs字段JSON存储)
    • 规格模板与属性模板区分管理
    • 规格值标准化管理
    • 规格模板可视化配置
    • 说明: 当前系统中,SKU规格通过mall_sku.specs字段以JSON格式存储。属性模板系统(mall_attribute_template)可用于管理商品属性,但规格模板作为独立的规格管理系统,可用于标准化管理商品SKU的规格组合(如颜色+尺寸等),支持规格模板定义、规格值管理和规格模板与商品关联等功能。
  • 商品搜索功能
    • 全文搜索(集成Elasticsearch或类似方案)
      • 商品名称、描述全文搜索
      • 搜索关键词高亮
      • 搜索排序优化(按相关度、销量、价格等)
    • 商品筛选(按分类、品牌、价格等)
      • 多条件组合筛选
      • 属性值筛选
      • 价格区间筛选
      • 库存状态筛选
      • 筛选结果统计

2. ruoyi-mall-trade (交易中心)

已实现功能

购物车管理
  • 购物车添加/删除
    • 添加商品到购物车
    • 删除购物车商品
    • 清空购物车
  • 购物车数量修改
    • 修改购物车商品数量
  • 购物车选中状态管理
    • 单个商品选中/取消选中
    • 批量选中/取消选中
  • 购物车详情查询
    • 购物车列表查询
    • 购物车详情查询(包含商品和SKU完整信息)
订单管理
  • 订单创建
    • 从购物车创建订单
    • 直接购买创建订单
    • 订单明细自动生成
  • 订单查询
    • 订单列表查询(分页、状态筛选)
    • 订单详情查询(包含订单明细)
  • 订单取消
    • 用户主动取消订单
    • 订单取消后库存自动恢复
  • 订单状态管理
    • 订单状态流转(待付款、待发货、待收货、已完成、已取消)
    • 支付状态管理
    • 发货状态管理
  • 订单支付集成
    • 与支付中心(ruoyi-pay)集成
    • 支付回调处理
    • 支付成功后订单状态自动更新
    • 库存自动扣减

待实现功能

  • 售后管理
    • 订单退款申请
    • 退货申请
    • 换货申请
    • 售后审核
    • 售后状态跟踪
    • 退货物流跟踪
    • 商家确认收货
    • 完成售后处理
    • 取消售后申请
  • 订单评价
    • 订单评价提交
    • 评价列表查询
    • 评价回复(商家)
    • 评价审核
    • 评价图片上传(字段已支持,需前端上传功能)
  • 地址管理
    • 收货地址管理(实体类、Mapper、Service、Controller已实现)
      • 收货地址CRUD操作
      • 用户地址列表查询
      • 默认地址查询
      • 地址导出功能(管理端)
    • 默认地址设置
      • 设置默认地址接口
      • 自动取消其他默认地址
  • 订单优惠券使用
    • 订单优惠券记录(实体类、Mapper、Service已实现)
    • 优惠券金额计算(已实现CouponCalculator工具类和MallOrderCouponService.calculateAndUseCoupon方法)
      • 支持满减券、折扣券、现金券三种类型的金额计算
      • 已实现订单创建时的优惠券计算和使用流程
      • 已实现优惠金额统计方法(按订单ID、订单号、优惠券ID统计)

3. ruoyi-mall-coupon (优惠券中心)

待实现功能

  • 优惠券管理
    • 优惠券CRUD操作
    • 优惠券类型管理(满减、折扣、现金)
    • 优惠券发放规则配置
    • 优惠券有效期管理
    • 优惠券状态管理
  • 用户优惠券
    • 用户领券
    • 用户优惠券列表查询
    • 优惠券使用(订单结算时)
    • 优惠券退还(订单取消时)
    • 优惠券过期处理(定时任务)
      • 实现状态: MallCouponJob.processExpiredCoupons()定时任务已实现,每天凌晨2点执行
  • 优惠券统计
    • 发放统计(已实现统计接口)
    • 使用统计(已实现统计接口)
    • 使用率统计(已实现统计接口)
    • 核销金额统计(需集成订单优惠券使用记录表,当前返回0)

4. ruoyi-mall-promotion (营销中心)

已实现功能

  • 营销活动管理
    • 活动CRUD操作
    • 活动类型管理
    • 活动规则配置(JSON格式)
    • 活动时间管理
    • 活动状态管理
  • 秒杀功能
    • 秒杀活动创建
    • 秒杀库存管理(扣减、恢复)
    • 秒杀活动查询
    • 秒杀活动状态管理
    • 秒杀订单处理(需在交易中心集成)
    • 秒杀库存预扣(需在交易中心集成)
  • 拼团功能
    • 拼团活动创建
    • 拼团活动查询
    • 拼团活动状态管理
    • 拼团订单创建(需在交易中心集成)
    • 拼团加入(需在交易中心集成)
    • 拼团成团处理(需在交易中心集成)
    • 拼团过期处理(定时任务)
  • 砍价功能
    • 砍价活动创建
    • 砍价活动查询
    • 砍价活动状态管理
    • 砍价发起(需在交易中心集成)
    • 砍价助力(需在交易中心集成)
    • 砍价进度管理(需在交易中心集成)
    • 砍价订单处理(需在交易中心集成)
    • 砍价过期处理(定时任务)

待实现功能

  • 订单集成(需在交易中心模块实现)
    • 秒杀订单处理(核心逻辑已实现,待订单服务集成)
      • 秒杀活动验证(活动时间、库存、状态校验)
        • 验证秒杀活动是否存在且状态为启用(status=0)
        • 验证秒杀活动时间是否在有效期内(当前时间在start_time和end_time之间)
        • 验证秒杀库存是否充足(seckill_stock >= 购买数量)
        • 验证关联的营销活动(mall_promotion)是否启用
      • 秒杀价格计算(使用秒杀价而非原价)
        • mall_seckill表获取seckill_price(秒杀价,单位:分)
        • 订单明细价格使用秒杀价,而非SKU原价
        • 订单总金额基于秒杀价计算
        • 实现状态: SeckillOrderService.getSeckillPrice()方法已实现
      • 秒杀订单标记(订单表记录活动类型和活动ID
        • 订单表(mall_order)需包含字段:promotion_type(活动类型,2=秒杀)、promotion_id(营销活动ID)、seckill_id(秒杀ID
        • SQL脚本已创建:script/sql/mall_order_promotion_fields.sql
        • 订单创建时记录活动信息,便于后续查询和统计
        • 订单明细表(mall_order_item)也建议记录活动价格信息
        • 实现状态: SQL脚本已准备,待订单实体类和服务实现后集成
      • 秒杀限购校验(同一用户同一商品限购数量)
        • 查询用户已购买的秒杀订单数量(同一秒杀活动、同一SKU)
        • 校验是否超过限购数量(可从mall_promotion.rules JSON中读取限购规则,或默认每人限购1件)
        • 仅统计已支付的订单,待支付/已取消订单不计入限购
        • 实现状态: SeckillOrderService.validatePurchaseLimit()方法已实现核心逻辑,但由于订单实体类尚未实现,限购查询部分待订单服务实现后完善
      • 秒杀订单超时处理(未支付订单自动取消)
        • 订单创建时记录创建时间,设置订单超时时间(如15分钟)
        • 定时任务扫描未支付的秒杀订单(订单状态=待支付,创建时间超过超时时间)
        • 自动取消订单并恢复预扣的秒杀库存
        • 发送订单超时取消通知给用户
        • 实现状态: 待订单服务实现后添加定时任务
    • 秒杀库存预扣
      • 下单时预扣秒杀库存(避免超卖)
        • 订单创建时调用SeckillOrderService.preDeductSeckillStock(seckillId, quantity)预扣秒杀库存
        • 使用数据库乐观锁(UPDATE ... WHERE seckill_stock >= quantity)确保并发安全
        • 预扣成功后,订单状态为"待支付",库存已预扣但未最终确认
        • 如果预扣失败(库存不足),订单创建失败,返回库存不足提示
        • 实现状态: SeckillOrderService.preDeductSeckillStock()方法已实现,调用MallSeckillService.reduceStock()
      • 支付成功时确认库存扣减
        • 支付回调处理时,订单状态更新为"已支付"
        • 预扣的秒杀库存此时正式扣减(预扣库存已在上一步完成,此处仅状态确认)
        • 如果订单已标记为秒杀订单,确认秒杀库存扣减成功
        • 实现状态: 预扣逻辑已实现,支付确认需在订单服务的支付回调中调用
      • 订单取消时恢复秒杀库存
        • 用户主动取消订单或系统超时取消时,调用SeckillOrderService.restoreSeckillStock(seckillId, quantity)恢复秒杀库存
        • 仅恢复"待支付"状态的订单预扣库存
        • "已支付"订单取消需走退款流程,不恢复秒杀库存(秒杀商品通常不支持退款)
        • 实现状态: SeckillOrderService.restoreSeckillStock()方法已实现,调用MallSeckillService.restoreStock()
      • 库存预扣超时释放机制
        • 订单创建时记录预扣时间,设置预扣超时时间(如15分钟,与订单超时时间一致)
        • 定时任务扫描预扣超时的订单(订单状态=待支付,创建时间超过超时时间)
        • 自动释放预扣库存并取消订单
        • 确保库存预扣和订单超时处理的一致性
        • 实现状态: 待订单服务实现后添加定时任务
    • 拼团订单创建
      • 拼团活动验证(活动时间、库存、状态校验)
      • 创建拼团订单记录(mall_group_buy_order表)
      • 生成拼团编号(group_no
      • 计算拼团过期时间(基于duration_hours
      • 拼团价格计算(使用拼团价)
      • 拼团订单状态初始化(状态=0拼团中)
    • 拼团加入
      • 拼团编号验证(验证拼团是否存在且可加入)
      • 拼团状态校验(仅拼团中状态可加入)
      • 拼团人数校验(未达到成团人数)
      • 拼团过期校验(未超过过期时间)
      • 创建拼团订单记录(关联同一group_no
      • 拼团人数自动累加
      • 自动检测成团条件(达到group_size人数)
    • 拼团成团处理
      • 成团条件判断(达到成团人数)
      • 更新拼团订单状态(状态=1已成团)
      • 记录成团时间(success_time
      • 成团通知(通知所有参与用户)
      • 成团后订单状态流转(待发货等)
    • 砍价发起
      • 砍价活动验证(活动时间、库存、状态校验)
      • 创建砍价记录(mall_bargain_record表)
      • 生成砍价编号(bargain_no
      • 初始化砍价价格(current_price=原价,bargain_price=0
      • 计算砍价过期时间(基于duration_hours
      • 砍价状态初始化(状态=0进行中)
      • 用户发起次数限制校验
    • 砍价助力
      • 砍价编号验证(验证砍价记录是否存在且有效)
      • 砍价状态校验(仅进行中状态可助力)
      • 砍价过期校验(未超过过期时间)
      • 助力用户校验(不能为自己助力、不能重复助力)
      • 计算助力金额(随机或固定算法,需达到最低价限制)
      • 创建助力记录(mall_bargain_help表)
      • 更新砍价进度(current_pricebargain_pricehelp_count
      • 检测砍价完成条件(达到最低价或完成助力次数)
    • 砍价进度管理
      • 砍价进度查询(当前价格、已砍金额、助力人数、进度百分比)
      • 砍价列表查询(用户发起的砍价记录)
      • 砍价详情查询(包含助力记录列表)
      • 砍价状态更新(进行中、已成功、已失败、已下单)
      • 砍价完成检测(自动检测是否达到最低价)
    • 砍价订单处理
      • 砍价完成验证(状态=已成功)
      • 砍价价格使用(使用砍后价创建订单)
      • 订单标记(记录砍价记录ID
      • 更新砍价状态(状态=3已下单)
      • 砍价订单超时处理(未支付订单释放砍价资格)
    • 定时任务
      • 秒杀活动状态更新任务
        • 扫描即将开始的活动(start_time <= 当前时间 且 status=1禁用),自动启用(status=0
        • 扫描已结束的活动(end_time < 当前时间 且 status=0启用),自动禁用(status=1
        • 执行频率:每5分钟执行一次
        • 实现状态: MallPromotionJob.updateSeckillStatus()方法已实现
      • 拼团过期处理(定时任务)
        • 扫描过期拼团(expire_time < 当前时间 且 状态=拼团中)
        • 更新拼团状态(状态=2已失败)
        • 取消关联订单(取消所有关联的未支付订单)
        • 恢复库存(恢复拼团商品的库存)
        • 发送失败通知(通知所有参与用户)
        • 执行频率:建议每5-10分钟执行一次
        • 实现状态: 待创建MallGroupBuyOrderMapper和相关Service方法后实现
      • 砍价过期处理(定时任务)
        • 扫描过期砍价(expire_time < 当前时间 且 状态=进行中)
        • 更新砍价状态(状态=2已失败)
        • 清理未使用的砍价记录
        • 发送失败通知(通知发起用户)
        • 执行频率:建议每10-30分钟执行一次
        • 实现状态: 待创建MallBargainRecordMapper和相关Service方法后实现

5. ruoyi-mall-statistics (统计中心)

已实现功能

  • 交易分析
    • 订单统计(总订单数、总销售额)
    • 已支付订单统计(已支付订单数、已支付金额)
    • 退款金额统计
    • 今日统计(今日订单数、今日销售额)
    • 商品销售排行(按销售金额排序)
    • 交易趋势分析(按日期分组统计)

待实现功能

  • 会员分析(需会员模块支持,当前系统可通过订单表mall_order.user_id实现基础统计)
    • 会员增长统计
      • 总会员数统计(基于用户表或订单表去重用户数)
      • 每日新增会员数统计(按注册时间或首次下单时间)
      • 会员增长趋势分析(按日期统计新增会员数)
      • 会员增长环比/同比增长分析
    • 会员消费统计
      • 会员总消费金额统计(按用户ID聚合订单金额)
      • 会员平均消费金额(总消费/会员数)
      • 会员消费排行(按消费金额排序)
      • 会员消费分布分析(消费区间分布)
      • 高价值会员识别(消费金额Top N会员)
    • 会员活跃度分析
      • 活跃会员数统计(有订单的会员数)
      • 会员活跃度等级划分(根据下单频率、消费金额等)
      • 会员留存率分析(新会员留存、老会员复购)
      • 会员流失分析(长期未下单会员识别)
  • 商品分析(基于现有mall_productmall_order_item表实现)
    • 商品销售统计(部分功能可通过交易统计的商品排行实现)
      • 商品销售金额统计(按商品ID聚合订单明细)
      • 商品销售数量统计(按商品ID聚合订单数量)
      • 商品销售趋势分析(按日期统计商品销售)
      • 商品销售排行(按销售金额、销售数量排序)
      • 商品分类销售统计(按商品分类聚合统计)
      • 商品品牌销售统计(按品牌聚合统计)
    • 商品浏览统计(商品表已有view_count字段,需商品模块支持浏览统计接口)
      • 商品浏览量统计(基于mall_product.view_count字段)
      • 商品浏览量排行(按浏览量排序)
      • 商品浏览趋势分析(需记录浏览日志表或通过商品表view_count字段)
      • 热门商品识别(浏览量Top N商品)
      • 商品浏览与销售关联分析
    • 商品转化率分析
      • 商品转化率计算(订单数/浏览量,或销量/浏览量)
      • 商品转化率排行(按转化率排序)
      • 高转化率商品识别
      • 低转化率商品分析(识别需优化商品)
      • 商品浏览到下单转化漏斗分析
  • 营销分析(基于mall_promotionmall_couponmall_order表实现)
    • 活动效果统计(需营销模块支持,基于mall_promotion和订单表关联)
      • 活动参与人数统计(参与活动的订单用户数)
      • 活动订单数统计(按活动ID聚合订单)
      • 活动销售额统计(活动订单的销售金额)
      • 活动转化率分析(活动订单数/活动参与人数)
      • 活动类型效果对比(拼团、秒杀、砍价等活动效果对比)
      • 活动ROI分析(活动投入成本 vs 活动带来的销售额)
      • 活动效果趋势分析(按日期统计活动效果)
    • 优惠券使用统计(基于mall_couponmall_coupon_usermall_order_coupon表)
      • 优惠券发放统计(优惠券发放数量,基于mall_coupon_user表)
      • 优惠券使用统计(优惠券使用数量,mall_coupon_user.status=1
      • 优惠券使用率统计(使用数/发放数)
      • 优惠券核销金额统计(基于mall_order_coupon.discount_amount
      • 优惠券类型使用对比(满减、折扣、现金券使用情况)
      • 优惠券使用趋势分析(按日期统计优惠券使用)
      • 优惠券效果分析(优惠券带来的订单和销售额)
    • 营销ROI分析
      • 营销活动总投入统计(活动成本计算)
      • 营销活动总产出统计(活动带来的销售额)
      • 营销ROI计算(产出/投入)
      • 各营销渠道ROI对比(活动、优惠券等)
      • 营销效果评估(投入产出比分析)
  • 数据报表
    • 数据报表导出
      • 交易统计报表导出(Excel格式)
      • 商品销售报表导出
      • 会员统计报表导出
      • 营销活动报表导出
      • 自定义报表配置和导出
    • 数据可视化接口
      • 图表数据接口(支持折线图、柱状图、饼图等)
      • 实时数据统计接口
      • 数据大屏数据接口
      • 数据导出格式支持(Excel、PDF、CSV等)

API接口详细说明

1. ruoyi-mall-product (商品中心)

管理端接口

商品管理 (/mall/product)
  • GET /mall/product/list - 查询商品列表(分页)
  • GET /mall/product/{id} - 获取商品详情
  • POST /mall/product - 新增商品
  • PUT /mall/product - 修改商品
  • DELETE /mall/product/{ids} - 删除商品
商品分类管理 (/mall/product/category)
  • GET /mall/product/category/list - 查询商品分类列表(分页)
  • GET /mall/product/category/tree - 查询商品分类树形列表
  • GET /mall/product/category/{id} - 获取商品分类详情
  • POST /mall/product/category - 新增商品分类
  • PUT /mall/product/category - 修改商品分类
  • DELETE /mall/product/category/{ids} - 删除商品分类
  • POST /mall/product/category/export - 导出商品分类列表
品牌管理 (/mall/product/brand)
  • GET /mall/product/brand/list - 查询品牌列表(分页)
  • GET /mall/product/brand/{id} - 获取品牌详情
  • POST /mall/product/brand - 新增品牌
  • PUT /mall/product/brand - 修改品牌
  • DELETE /mall/product/brand/{ids} - 删除品牌
  • POST /mall/product/brand/export - 导出品牌列表
属性模板管理 (/mall/product/attribute/template)
  • GET /mall/product/attribute/template/list - 查询属性模板列表(分页)
  • GET /mall/product/attribute/template/{id} - 获取属性模板详情
  • POST /mall/product/attribute/template - 新增属性模板
  • PUT /mall/product/attribute/template - 修改属性模板
  • DELETE /mall/product/attribute/template/{ids} - 删除属性模板
  • POST /mall/product/attribute/template/export - 导出属性模板列表
属性管理 (/mall/product/attribute)
  • GET /mall/product/attribute/list - 查询属性列表(分页)
  • GET /mall/product/attribute/{id} - 获取属性详情
  • GET /mall/product/attribute/template/{templateId} - 根据模板ID查询属性列表
  • POST /mall/product/attribute - 新增属性
  • PUT /mall/product/attribute - 修改属性
  • DELETE /mall/product/attribute/{ids} - 删除属性
  • POST /mall/product/attribute/export - 导出属性列表
属性值管理 (/mall/product/attribute/value)
  • GET /mall/product/attribute/value/list - 查询属性值列表(分页)
  • GET /mall/product/attribute/value/{id} - 获取属性值详情
  • GET /mall/product/attribute/value/attribute/{attributeId} - 根据属性ID查询属性值列表
  • POST /mall/product/attribute/value - 新增属性值
  • PUT /mall/product/attribute/value - 修改属性值
  • DELETE /mall/product/attribute/value/{ids} - 删除属性值
  • POST /mall/product/attribute/value/export - 导出属性值列表
商品属性关联管理 (/mall/product/attribute/product)
  • GET /mall/product/attribute/product/{id} - 获取商品属性关联详情
  • GET /mall/product/attribute/product/product/{productId} - 根据商品ID查询商品属性关联列表
  • POST /mall/product/attribute/product - 新增商品属性关联
  • POST /mall/product/attribute/product/batch - 批量新增商品属性关联
  • POST /mall/product/attribute/product/product/{productId} - 保存商品属性关联(先删除旧的,再插入新的)
  • PUT /mall/product/attribute/product - 修改商品属性关联
  • DELETE /mall/product/attribute/product/{ids} - 删除商品属性关联
  • DELETE /mall/product/attribute/product/product/{productId} - 根据商品ID删除商品属性关联

移动端接口

商品分类 (/app/mall/product/category)
  • GET /app/mall/product/category/tree - 查询商品分类树形列表(仅启用分类)
品牌 (/app/mall/product/brand)
  • GET /app/mall/product/brand/list - 查询品牌列表(仅启用品牌)
商品 (/app/mall/product)
  • GET /app/mall/product/list - 查询商品列表(仅上架商品)
  • GET /app/mall/product/{id} - 获取商品详情(仅上架商品)

2. ruoyi-mall-trade (交易中心)

管理端接口

订单管理 (/mall/order)
  • GET /mall/order/list - 查询订单列表(分页、条件筛选)
  • GET /mall/order/{id} - 获取订单详情
  • PUT /mall/order - 修改订单
  • DELETE /mall/order/{ids} - 删除订单
  • PUT /mall/order/delivery/{id} - 订单发货
售后申请管理 (/mall/order/after-sale)
  • GET /mall/order/after-sale/list - 查询售后申请列表(分页)
  • GET /mall/order/after-sale/{id} - 获取售后申请详情
  • DELETE /mall/order/after-sale/{ids} - 删除售后申请
  • POST /mall/order/after-sale/export - 导出售后申请列表
  • PUT /mall/order/after-sale/audit/{id} - 审核售后申请(同意/拒绝)
  • PUT /mall/order/after-sale/receive/{id} - 确认收货(商家确认收到退货)
  • PUT /mall/order/after-sale/complete/{id} - 完成售后
订单评价管理 (/mall/order/evaluate)
  • GET /mall/order/evaluate/list - 查询订单评价列表(分页)
  • GET /mall/order/evaluate/{id} - 获取订单评价详情
  • DELETE /mall/order/evaluate/{ids} - 删除订单评价
  • POST /mall/order/evaluate/export - 导出订单评价列表
  • PUT /mall/order/evaluate/audit/{id} - 审核评价(通过/驳回)
  • PUT /mall/order/evaluate/reply/{id} - 回复评价

移动端接口

购物车 (/app/mall/cart)
  • GET /app/mall/cart/list - 查询购物车列表
  • GET /app/mall/cart/detail/list - 查询购物车详情列表(包含商品信息)
  • POST /app/mall/cart - 添加购物车
  • PUT /app/mall/cart - 修改购物车
  • DELETE /app/mall/cart/{ids} - 删除购物车
  • DELETE /app/mall/cart/clear - 清空购物车
  • PUT /app/mall/cart/selected/{id} - 更新单个商品选中状态
  • PUT /app/mall/cart/selected/batch - 批量更新选中状态
订单 (/app/mall/order)
  • POST /app/mall/order/submit - 提交订单并发起支付
  • GET /app/mall/order/list - 查询订单列表
  • GET /app/mall/order/{id} - 查询订单详情
  • PUT /app/mall/order/cancel/{id} - 取消订单
  • POST /app/mall/order/pay/notify - 支付回调(由支付中心调用)
售后申请 (/app/mall/order/after-sale)
  • GET /app/mall/order/after-sale/list - 查询售后申请列表
  • GET /app/mall/order/after-sale/order/{orderId} - 根据订单ID查询售后申请列表
  • GET /app/mall/order/after-sale/{id} - 获取售后申请详情
  • POST /app/mall/order/after-sale - 新增售后申请(退款/退货/换货)
  • PUT /app/mall/order/after-sale/logistics/{id} - 填写退货物流信息
  • PUT /app/mall/order/after-sale/cancel/{id} - 取消售后申请
订单评价 (/app/mall/order/evaluate)
  • GET /app/mall/order/evaluate/list - 查询订单评价列表
  • GET /app/mall/order/evaluate/order/{orderId} - 根据订单ID查询评价列表
  • GET /app/mall/order/evaluate/product/{productId} - 根据商品ID查询评价列表(仅已审核)
  • GET /app/mall/order/evaluate/{id} - 获取订单评价详情
  • POST /app/mall/order/evaluate - 提交订单评价
优惠券 (/app/mall/coupon)
  • GET /app/mall/coupon/available/list - 查询可领取的优惠券列表
  • GET /app/mall/coupon/{id} - 获取优惠券详情
用户优惠券 (/app/mall/coupon/user)
  • GET /app/mall/coupon/user/list - 查询用户优惠券列表
  • GET /app/mall/coupon/user/available/list - 查询用户可用优惠券列表(未使用且未过期)
  • GET /app/mall/coupon/user/{id} - 获取用户优惠券详情
  • POST /app/mall/coupon/user/receive/{couponId} - 领取优惠券

3. ruoyi-mall-coupon (优惠券中心)

管理端接口

优惠券管理 (/mall/coupon)
  • GET /mall/coupon/list - 查询优惠券列表(分页)
  • GET /mall/coupon/{id} - 获取优惠券详情
  • POST /mall/coupon - 新增优惠券
  • PUT /mall/coupon - 修改优惠券
  • DELETE /mall/coupon/{ids} - 删除优惠券
  • POST /mall/coupon/export - 导出优惠券列表
  • PUT /mall/coupon/changeStatus/{id} - 启用/禁用优惠券
  • GET /mall/coupon/statistics - 获取优惠券统计信息(发放数量、使用数量、使用率)
用户优惠券管理 (/mall/coupon/user)
  • GET /mall/coupon/user/list - 查询用户优惠券列表(分页)
  • GET /mall/coupon/user/{id} - 获取用户优惠券详情
  • DELETE /mall/coupon/user/{ids} - 删除用户优惠券
  • POST /mall/coupon/user/export - 导出用户优惠券列表

4. ruoyi-mall-promotion (营销中心)

管理端接口

营销活动管理 (/mall/promotion)
  • GET /mall/promotion/list - 查询营销活动列表(分页)
  • GET /mall/promotion/{id} - 获取营销活动详情
  • POST /mall/promotion - 新增营销活动
  • PUT /mall/promotion - 修改营销活动
  • DELETE /mall/promotion/{ids} - 删除营销活动
  • POST /mall/promotion/export - 导出营销活动列表
  • PUT /mall/promotion/changeStatus/{id} - 启用/禁用营销活动
秒杀活动管理 (/mall/seckill)
  • GET /mall/seckill/list - 查询秒杀活动列表(分页)
  • GET /mall/seckill/{id} - 获取秒杀活动详情
  • POST /mall/seckill - 新增秒杀活动
  • PUT /mall/seckill - 修改秒杀活动
  • DELETE /mall/seckill/{ids} - 删除秒杀活动
  • POST /mall/seckill/export - 导出秒杀活动列表
  • PUT /mall/seckill/changeStatus/{id} - 启用/禁用秒杀活动
拼团活动管理 (/mall/groupbuy)
  • GET /mall/groupbuy/list - 查询拼团活动列表(分页)
  • GET /mall/groupbuy/{id} - 获取拼团活动详情
  • POST /mall/groupbuy - 新增拼团活动
  • PUT /mall/groupbuy - 修改拼团活动
  • DELETE /mall/groupbuy/{ids} - 删除拼团活动
  • POST /mall/groupbuy/export - 导出拼团活动列表
  • PUT /mall/groupbuy/changeStatus/{id} - 启用/禁用拼团活动
砍价活动管理 (/mall/bargain)
  • GET /mall/bargain/list - 查询砍价活动列表(分页)
  • GET /mall/bargain/{id} - 获取砍价活动详情
  • POST /mall/bargain - 新增砍价活动
  • PUT /mall/bargain - 修改砍价活动
  • DELETE /mall/bargain/{ids} - 删除砍价活动
  • POST /mall/bargain/export - 导出砍价活动列表
  • PUT /mall/bargain/changeStatus/{id} - 启用/禁用砍价活动

移动端接口

营销活动 (/app/mall/promotion)
  • GET /app/mall/promotion/list - 查询营销活动列表(可按类型筛选)
  • GET /app/mall/promotion/{id} - 获取营销活动详情
秒杀活动 (/app/mall/seckill)
  • GET /app/mall/seckill/list - 查询可用秒杀活动列表
  • GET /app/mall/seckill/{id} - 获取秒杀活动详情
  • GET /app/mall/seckill/sku/{skuId} - 根据SKU ID查询秒杀活动
拼团活动 (/app/mall/groupbuy)
  • GET /app/mall/groupbuy/list - 查询可用拼团活动列表
  • GET /app/mall/groupbuy/{id} - 获取拼团活动详情
  • GET /app/mall/groupbuy/sku/{skuId} - 根据SKU ID查询拼团活动
砍价活动 (/app/mall/bargain)
  • GET /app/mall/bargain/list - 查询可用砍价活动列表
  • GET /app/mall/bargain/{id} - 获取砍价活动详情
  • GET /app/mall/bargain/sku/{skuId} - 根据SKU ID查询砍价活动

5. ruoyi-mall-statistics (统计中心)

管理端接口

统计数据 (/mall/statistics)
  • GET /mall/statistics/transaction - 获取交易统计数据
    • 支持按日期范围查询(startDate, endDate
    • 支持设置商品销售排行数量限制(limit,默认10)
    • 返回数据包括:总订单数、总销售额、已支付订单数、已支付金额、退款金额、今日统计、趋势数据、商品销售排行
  • GET /mall/statistics/member - 获取会员统计数据
    • 支持按日期范围查询(startDate, endDate
    • 返回数据包括:总会员数、今日新增会员数、活跃会员数、增长趋势、消费统计
    • ⚠️ 注意:会员统计功能需要会员模块支持,当前返回基础结构

定时任务规划

优惠券模块

  • 优惠券过期处理任务
    • 功能: 定时扫描过期的用户优惠券,更新状态为已过期
    • 执行频率: 每天凌晨2点执行一次
    • 实现位置: ruoyi-mall-coupon 模块
    • 方法: MallCouponJob.processExpiredCoupons() (调用 MallCouponUserService.processExpiredCoupons())

营销模块

  • 拼团过期处理任务
    • 功能: 定时扫描过期的拼团订单,更新状态为已失败,处理退款
    • 执行频率: 每5分钟执行一次
    • 实现位置: ruoyi-mall-promotion 模块
  • 砍价过期处理任务
    • 功能: 定时扫描过期的砍价记录,更新状态为已失败
    • 执行频率: 每5分钟执行一次
    • 实现位置: ruoyi-mall-promotion 模块
  • 秒杀活动状态更新任务
    • 功能: 定时更新秒杀活动状态(开始/结束)
    • 执行频率: 每5分钟执行一次
    • 实现位置: ruoyi-mall-promotion 模块
    • 方法: MallPromotionJob.updateSeckillStatus()

订单模块(可选)

  • 订单自动取消任务
    • 功能: 定时扫描超时未支付的订单,自动取消并恢复库存
    • 执行频率: 每10分钟执行一次
    • 实现位置: ruoyi-mall-trade 模块

技术栈与开发规范

技术栈

  • 框架: Spring Boot 3.x
  • ORM: MyBatis-Plus
  • 数据库: MySQL 8.0+
  • 认证: Sa-Token
  • API文档: Swagger/OpenAPI 3.0
  • 构建工具: Maven

开发规范

包结构规范

  • controller - 控制器层(分为 adminapp 两个子包)
  • domain - 实体类(包含 bo 业务对象和 vo 视图对象子包)
  • mapper - MyBatis Mapper 接口
  • service - 服务接口(实现类放在 impl 子包)
  • config - 配置类(自动配置类)
  • enums - 枚举类
  • job - 定时任务(可选)

代码规范

  • 统一使用 Lombok 简化代码
  • 统一异常处理,使用 ServiceException 抛出业务异常
  • 统一返回格式,使用 R<T> 封装返回结果
  • 统一分页查询,使用 PageQueryTableDataInfo<T>
  • 统一日志记录,使用 @Log 注解记录操作日志
  • 统一权限控制,管理端接口使用 @SaCheckPermission 注解

数据库设计规范

  • 表名使用 mall_ 前缀
  • 字段命名使用下划线命名法(snake_case)
  • 必须包含 create_by, create_time, update_by, update_time 字段
  • 删除标记使用逻辑删除(deleted 字段)
  • 状态字段统一使用 status0表示启用/正常,1表示禁用/异常

API设计规范

  • RESTful 风格设计
  • 管理端接口路径:/mall/{module}/{resource}
  • 移动端接口路径:/app/mall/{module}/{resource}
  • 使用 HTTP 标准方法:GET(查询)、POST(新增)、PUT(修改)、DELETE(删除)
  • 统一使用 JSON 格式进行数据交互
  • 使用 Swagger 注解完善接口文档

模块集成说明

支付中心集成 (ruoyi-pay)

  • 集成方式: 通过 Feign 客户端或本地 Jar 依赖
  • 核心功能:
    • 订单提交时调用支付中心创建支付单
    • 支付中心回调通知支付结果
    • 订单状态与支付状态同步
  • 配置要求: 在 application.yml 中配置 pay-app-idpay-notify-url

商品中心依赖关系

  • ruoyi-mall-trade 依赖 ruoyi-mall-product(查询商品和SKU信息)
  • ruoyi-mall-promotion 依赖 ruoyi-mall-product(营销活动关联商品)
  • ruoyi-mall-statistics 依赖 ruoyi-mall-productruoyi-mall-trade(数据统计分析)

开发指南

新增功能开发步骤

  1. 数据库设计

    • script/sql/ry_mall.sql 中设计表结构
    • 确保字段命名规范,包含必要的索引
  2. 创建实体类

    • 在对应模块的 domain 包下创建实体类
    • 创建对应的 Bo(业务对象)和 Vo(视图对象)
  3. 创建 Mapper

    • mapper 包下创建 Mapper 接口
    • 如需复杂查询,在 resources/mapper 下创建 XML 文件
  4. 创建 Service

    • service 包下创建 Service 接口
    • service/impl 包下创建 Service 实现类
  5. 创建 Controller

    • 管理端接口:在 controller/admin 包下创建
    • 移动端接口:在 controller/app 包下创建
    • 添加 Swagger 注解完善接口文档
  6. 测试验证

    • 编写单元测试(可选)
    • 使用 Swagger UI 测试接口
    • 验证业务逻辑正确性

代码迁移指南

如果要将现有代码迁移到新模块结构:

  1. 创建新模块结构(如果尚未创建)
  2. 复制代码到新模块
  3. 修改包名(如 org.dromara.mall.domainorg.dromara.mall.product.domain
  4. 更新导入语句
  5. 更新 Mapper XML 文件中的命名空间
  6. 测试验证功能正常

注意事项

  1. 包名冲突: 如果同时保留现有代码和新模块代码,需要注意包名冲突问题
  2. 依赖管理: 确保模块间的依赖关系正确配置,避免循环依赖
  3. 数据库迁移: 执行 SQL 文件创建新表结构,注意数据迁移(如果需要)
  4. 配置管理: 各子模块的配置通过 spring.factories 自动加载
  5. 事务管理: 订单创建、支付回调等核心流程需要确保事务一致性
  6. 库存管理: SKU库存扣减需要考虑并发问题,建议使用分布式锁或数据库锁(悲观锁/乐观锁)
  7. 支付集成: 订单支付需要与 ruoyi-pay 模块集成,确保支付流程正确
  8. 数据统计: 统计模块建议使用异步处理,避免影响业务性能
  9. 文件上传: 商品图片、品牌Logo、分类图标等文件上传功能需要集成文件服务(如OSS)
  10. 缓存策略: 商品列表、分类树等热点数据建议使用Redis缓存
  11. 幂等性: 支付回调、订单创建等关键操作需要保证幂等性
  12. 数据一致性: 订单创建、库存扣减等操作需要在同一事务中完成