| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138 |
- -- =====================================================
- -- 门店档案模块建表 + 菜单权限初始化
- -- 日期:2026-07-09
- -- 说明:新建门店档案主表、固定资产设备表、合同附件表,
- -- 并在运营管理下新增"门店档案管理"菜单及权限按钮
- -- =====================================================
- -- =====================================================
- -- 1. 门店档案主表
- -- =====================================================
- CREATE TABLE IF NOT EXISTS `t_shop_archive` (
- `id` BIGINT NOT NULL COMMENT '主键ID(雪花算法)',
- `shop_id` BIGINT NOT NULL COMMENT '关联门店ID(t_shop.id)',
- `shop_name` VARCHAR(100) NOT NULL COMMENT '门店名称(冗余,便于查询)',
- `shop_address` VARCHAR(255) DEFAULT NULL COMMENT '门店地址(完整详细地址)',
- `venue_type` VARCHAR(20) DEFAULT NULL COMMENT '合作场地类型:CHARGING_STATION-充电站, OFFICE_BUILDING-写字楼',
- `cooperation_mode` VARCHAR(100) DEFAULT NULL COMMENT '合作模式(多选逗号分隔):DRINKS-水饮副食, BOX_MEAL-盒饭',
- `party_b_salesman` VARCHAR(50) DEFAULT NULL COMMENT '乙方业务员姓名',
- `party_b_salesman_phone` VARCHAR(20) DEFAULT NULL COMMENT '乙方业务员手机号',
- `party_a_company` VARCHAR(200) DEFAULT NULL COMMENT '甲方公司名称(签约主体全称)',
- `party_a_manager` VARCHAR(50) DEFAULT NULL COMMENT '甲方场地管理人员姓名',
- `party_a_manager_phone` VARCHAR(20) DEFAULT NULL COMMENT '甲方场地管理人员电话',
- `business_status` VARCHAR(20) DEFAULT 'NORMAL' COMMENT '门店经营状态:NORMAL-正常营业, SUSPENDED-暂停营业, WITHDRAWN-已撤场',
- `remark` VARCHAR(500) DEFAULT NULL COMMENT '门店备注(特殊要求等)',
- `contract_no` VARCHAR(100) DEFAULT NULL COMMENT '合同编号(企业归档唯一编码)',
- `contract_sign_date` DATE DEFAULT NULL COMMENT '合同签订日期',
- `contract_start_date` DATE DEFAULT NULL COMMENT '合同起始日',
- `contract_end_date` DATE DEFAULT NULL COMMENT '合同到期日',
- `contract_status` VARCHAR(20) DEFAULT 'PENDING' COMMENT '合同状态:PENDING-待签约, ACTIVE-已生效, EXPIRING-到期待续约, TERMINATED-已解约终止',
- `rent_start_date` DATE DEFAULT NULL COMMENT '租金起始日',
- `monthly_rent` DECIMAL(10,2) DEFAULT NULL COMMENT '每月固定租金金额(元)',
- `rent_free_days` INT DEFAULT 0 COMMENT '免租期天数',
- `rent_pay_deadline_day` INT DEFAULT NULL COMMENT '租金缴纳截止日(每月几号)',
- `deposit_amount` DECIMAL(10,2) DEFAULT NULL COMMENT '保证金(合同约定总额,元)',
- `deposit_status` VARCHAR(20) DEFAULT 'UNPAID' COMMENT '保证金缴纳状态:UNPAID-未缴纳, PARTIAL-部分缴纳, FULL-全额缴纳',
- `deposit_paid_amount` DECIMAL(10,2) DEFAULT NULL COMMENT '保证金实缴金额(元)',
- `deposit_refund_condition` VARCHAR(500) DEFAULT NULL COMMENT '保证金退还条件',
- `billing_mode` VARCHAR(20) DEFAULT 'RENT_ONLY' COMMENT '合作计费模式:RENT_ONLY-纯租金, RENT_ELECTRIC-租金+电费, COMMISSION_ONLY-纯提成, RENT_COMMISSION-租金+提成, RENT_COMMISSION_ELECTRIC-租金+提成+电费',
- `electricity_price` DECIMAL(8,4) DEFAULT NULL COMMENT '电费结算单价(元/度)',
- `electricity_share_rule` VARCHAR(500) DEFAULT NULL COMMENT '电费公摊规则说明',
- `commission_base_type` VARCHAR(20) DEFAULT NULL COMMENT '提成基数计算口径:SALES-门店实收销售额, GROSS_PROFIT-门店毛利总额, NET_REVENUE-扣除成本后营收',
- `commission_base` DECIMAL(12,2) DEFAULT NULL COMMENT '提成基数(元)',
- `commission_rate` DECIMAL(5,2) DEFAULT NULL COMMENT '提成比例(0~100,单位%)',
- `commission_min_guarantee` DECIMAL(10,2) DEFAULT NULL COMMENT '最低保底提成金额(元)',
- `commission_period_months` INT DEFAULT 0 COMMENT '提成账期(延后N个月结算)',
- `payment_cycle` VARCHAR(20) DEFAULT 'MONTHLY' COMMENT '计费方式:MONTHLY-月付, QUARTERLY-季度付, SEMI_ANNUAL-半年付, ANNUAL-年付',
- `termination_date` DATE DEFAULT NULL COMMENT '解约日期',
- `termination_remark` VARCHAR(500) DEFAULT NULL COMMENT '解约备注',
- `payment_method` VARCHAR(20) DEFAULT NULL COMMENT '打款方式:CORPORATE-对公, PRIVATE-对私',
- `payee_account_name` VARCHAR(100) DEFAULT NULL COMMENT '甲方收款账户名称',
- `payee_bank_name` VARCHAR(100) DEFAULT NULL COMMENT '收款开户行',
- `payee_bank_account` VARCHAR(50) DEFAULT NULL COMMENT '银行账号',
- `taxpayer_id` VARCHAR(50) DEFAULT NULL COMMENT '纳税人识别号',
- `invoice_type` VARCHAR(20) DEFAULT NULL COMMENT '发票类型:SPECIAL-增值税专票, NORMAL-增值税普票',
- `invoice_tax_rate` DECIMAL(5,2) DEFAULT NULL COMMENT '开票税率(单位%)',
- `creator_id` BIGINT DEFAULT NULL COMMENT '数据创建人ID',
- `creator_name` VARCHAR(50) DEFAULT NULL COMMENT '数据创建人姓名',
- `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
- `editor_id` BIGINT DEFAULT NULL COMMENT '最后编辑人ID',
- `editor_name` VARCHAR(50) DEFAULT NULL COMMENT '最后编辑人姓名',
- `update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后编辑时间',
- PRIMARY KEY (`id`),
- UNIQUE KEY `uk_shop_id` (`shop_id`),
- KEY `idx_contract_no` (`contract_no`),
- KEY `idx_contract_status` (`contract_status`),
- KEY `idx_business_status` (`business_status`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='门店档案主表';
- -- =====================================================
- -- 2. 门店固定资产设备表
- -- =====================================================
- CREATE TABLE IF NOT EXISTS `t_shop_fixed_asset` (
- `id` BIGINT NOT NULL COMMENT '主键ID(雪花算法)',
- `shop_archive_id` BIGINT NOT NULL COMMENT '关联门店档案ID(t_shop_archive.id)',
- `shop_id` BIGINT NOT NULL COMMENT '关联门店ID(冗余,便于查询)',
- `asset_type` VARCHAR(20) NOT NULL COMMENT '资产类型:VENDING_MACHINE-自助售卖机, MICROWAVE-微波炉',
- `asset_name` VARCHAR(100) DEFAULT NULL COMMENT '资产名称(如售卖机名称)',
- `asset_code` VARCHAR(100) DEFAULT NULL COMMENT '资产编号(机器编号/微波炉编号)',
- `asset_status` VARCHAR(20) DEFAULT 'NORMAL' COMMENT '设备当前状态:NORMAL-正常运行, REPAIR-故障维修, IDLE-闲置撤机',
- `remark` VARCHAR(200) DEFAULT NULL COMMENT '备注',
- `creator_id` BIGINT DEFAULT NULL COMMENT '创建人ID',
- `creator_name` VARCHAR(50) DEFAULT NULL COMMENT '创建人姓名',
- `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
- `editor_id` BIGINT DEFAULT NULL COMMENT '最后编辑人ID',
- `editor_name` VARCHAR(50) DEFAULT NULL COMMENT '最后编辑人姓名',
- `update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后编辑时间',
- PRIMARY KEY (`id`),
- KEY `idx_shop_archive_id` (`shop_archive_id`),
- KEY `idx_shop_id` (`shop_id`),
- KEY `idx_asset_type` (`asset_type`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='门店固定资产设备表';
- -- =====================================================
- -- 3. 门店合同附件表
- -- =====================================================
- CREATE TABLE IF NOT EXISTS `t_shop_contract_attachment` (
- `id` BIGINT NOT NULL COMMENT '主键ID(雪花算法)',
- `shop_archive_id` BIGINT NOT NULL COMMENT '关联门店档案ID(t_shop_archive.id)',
- `shop_id` BIGINT NOT NULL COMMENT '关联门店ID(冗余,便于查询)',
- `attachment_type` VARCHAR(30) NOT NULL COMMENT '附件类型:CONTRACT-合同附件, LEASE_AGREEMENT-场地租赁协议, ELECTRICITY_AGREEMENT-电费补充协议, DEPOSIT_RECEIPT-保证金收据, TERMINATION_AGREEMENT-解约/补充变更协议',
- `file_name` VARCHAR(200) NOT NULL COMMENT '原始文件名',
- `file_url` VARCHAR(500) NOT NULL COMMENT 'OSS文件URL',
- `file_size` BIGINT DEFAULT NULL COMMENT '文件大小(字节)',
- `file_extension` VARCHAR(20) DEFAULT NULL COMMENT '文件扩展名(pdf, jpg, png, docx等)',
- `sort_order` INT DEFAULT 0 COMMENT '排序序号',
- `creator_id` BIGINT DEFAULT NULL COMMENT '上传人ID',
- `creator_name` VARCHAR(50) DEFAULT NULL COMMENT '上传人姓名',
- `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '上传时间',
- PRIMARY KEY (`id`),
- KEY `idx_shop_archive_id` (`shop_archive_id`),
- KEY `idx_shop_id` (`shop_id`),
- KEY `idx_attachment_type` (`attachment_type`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='门店合同附件表';
- -- =====================================================
- -- 4. 菜单数据(运营管理 → 门店档案管理)
- -- =====================================================
- INSERT INTO t_menu (id, parent_id, menu_type, title, name, path, component, `rank`, show_link, show_parent)
- VALUES (306, 300, 0, '门店档案管理', 'ShopArchive', '/operation/shop-archive', '', 5, 1, 0);
- -- =====================================================
- -- 5. 权限按钮(挂在 门店档案管理 下,menu_type=3)
- -- =====================================================
- INSERT INTO t_menu (id, parent_id, menu_type, title, name, path, component, `rank`, auths, show_link, show_parent) VALUES
- (30601, 306, 3, '查看', 'ShopArchiveRead', '', '', 1, 'shop:archive:read', 1, 0),
- (30602, 306, 3, '创建', 'ShopArchiveCreate', '', '', 2, 'shop:archive:create', 1, 0),
- (30603, 306, 3, '编辑', 'ShopArchiveUpdate', '', '', 3, 'shop:archive:update', 1, 0),
- (30604, 306, 3, '删除', 'ShopArchiveDelete', '', '', 4, 'shop:archive:delete', 1, 0);
- -- =====================================================
- -- 6. admin 角色(role_id=1)关联新菜单与权限按钮
- -- =====================================================
- INSERT INTO t_role_menu (id, role_id, menu_id) VALUES
- (90306, 1, 306),
- (90307, 1, 30601),
- (90308, 1, 30602),
- (90309, 1, 30603),
- (90310, 1, 30604);
|