销售域完整设计(算法版)
一、销售域的核心职责与业务边界
1. 业务定位
销售域作为销售业务处理中心,负责管理门店销售、促销活动、销售订单、退换货等核心销售流程,为前端销售提供业务支撑,同时为财务域提供收入数据。
2. 核心职责
- 
销售订单管理:订单创建、状态流转、订单查询
 - 
促销活动管理:促销规则、优惠券、折扣策略
 - 
价格策略管理:会员价、促销价、组合价
 - 
退换货管理:退货流程、换货流程、退款处理
 - 
销售分析:销售报表、业绩分析、商品销售排行
 - 
库存校验:实时库存检查、库存预留
 
二、销售域表结构ER设计
-- 创建销售域数据库
CREATE DATABASE sales_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
USE sales_db;
-- 1. 销售订单主表
CREATE TABLE sales_orders (
    id BIGINT PRIMARY KEY AUTO_INCREMENT,
    order_no VARCHAR(50) NOT NULL UNIQUE COMMENT '订单编号',
    order_type ENUM('门店销售', '线上订单', '团购', '批发') DEFAULT '门店销售',
    store_id BIGINT NOT NULL COMMENT '门店ID',
    warehouse_id BIGINT COMMENT '出货仓库ID',
    cashier_id VARCHAR(50) NOT NULL COMMENT '收银员ID',
    customer_id BIGINT COMMENT '会员ID',
    
    -- 订单金额
    total_amount DECIMAL(15,2) NOT NULL COMMENT '订单总金额',
    discount_amount DECIMAL(15,2) DEFAULT 0 COMMENT '折扣金额',
    coupon_discount DECIMAL(15,2) DEFAULT 0 COMMENT '优惠券折扣',
    promotion_discount DECIMAL(15,2) DEFAULT 0 COMMENT '促销折扣',
    actual_amount DECIMAL(15,2) NOT NULL COMMENT '实收金额',
    change_amount DECIMAL(15,2) DEFAULT 0 COMMENT '找零金额',
    
    -- 支付信息
    payment_method ENUM('现金', '银行卡', '微信', '支付宝', '会员卡', '混合支付') DEFAULT '现金',
    payment_status ENUM('待支付', '已支付', '支付失败', '已退款') DEFAULT '待支付',
    paid_amount DECIMAL(15,2) DEFAULT 0 COMMENT '已支付金额',
    paid_time DATETIME COMMENT '支付时间',
    transaction_no VARCHAR(100) COMMENT '支付流水号',
    
    -- 订单状态
    order_status ENUM('草稿', '已确认', '已出库', '已完成', '已取消', '退货中') DEFAULT '草稿',
    source_type ENUM('POS', '小程序', 'APP', '网页') DEFAULT 'POS',
    
    -- 时间信息
    order_time DATETIME NOT NULL COMMENT '下单时间',
    confirm_time DATETIME COMMENT '确认时间',
    delivery_time DATETIME COMMENT '出库时间',
    complete_time DATETIME COMMENT '完成时间',
    cancel_time DATETIME COMMENT '取消时间',
    
    -- 退换货信息
    return_status ENUM('无退货', '部分退货', '全部退货'