智慧园区租赁管理详细设计

15 阅读6分钟

智慧园区租赁管理

目标:房屋租赁 → 合同 → 计费 → 账单 → 收款的全生命周期管理

一、文档说明

1.1 适用对象

  • 产品经理:需求确认、范围控制、验收依据
  • 后端开发:领域建模、数据库设计、接口实现

二、系统建设目标

2.1 业务目标

  • 实现园区、楼栋、房源的统一资产管理
  • 实现企业入驻到退租的全流程闭环
  • 支持多园区、多合同、多房源、多计费规则并存
  • 支持租金、物业费、水电能耗等多费用类型
  • 减少人工算账、漏账、错账风险

三、系统总体架构

3.1 架构概览

前端(Web / 管理后台)
        ↓
API 网关 / 鉴权(Token / RBAC)
        ↓
租赁管理服务
        ↓
MySQL(主数据) + Redis(缓存 / 锁 / 账单幂等)

四、核心业务流程

4.1 企业入驻流程(主流程)

flowchart TD
    A[创建园区 / 楼栋 / 房源] --> B[录入企业基础信息]
    B --> C[创建租赁合同<br/>起止日期 / 押金]
    C --> D[绑定房源]
    D --> E[配置计费规则<br/>租金 / 物业费等]
    E --> F[系统按规则自动生成账单]
    F --> G[收款登记]

4.2 能耗抄表与计费流程账单生成

flowchart TD
    A[维护房源表计信息]
    A --> A1[水表]
    A --> A2[电表]
    A --> A3[气表]

    A1 --> B[定期抄表]
    A2 --> B
    A3 --> B
    
    B --> C[计算本期用量]
    C --> D[匹配计费规则]
    
    D --> D1[单价计费]

    
    D1 --> E[计算能耗费用]
    
    E --> F[生成账单明细]
    F --> G[合并账单]

五、领域模型与ER关系

5.1 基础 ER 关系

  • 一个园区 → 多个楼栋
  • 一个楼栋 → 多个房源
  • 一个企业 → 多个合同
  • 一个合同 → 多个房源
  • 一个合同 → 多个计费规则
  • 一个计费规则 → 多个账单
  • 一个账单 → 多笔收款

5.2 能耗计费领域关系

  • 一个房源 → 多个表计
  • 一个表计 → 多条抄表记录
  • 一条抄表记录 → 对应一个账期用量
  • 一个计费规则 → 关联表计类型(水 / 电)
  • 一个账单 → 包含租金 / 物业 / 水 / 电多条明细

六、核心数据表设计

6.1 园区表 park

字段名说明类型长度非空备注
id园区IDbigint主键
park_name园区名称varchar100
park_address园区地址varchar255
status状态tinyint1启用 / 0停用

6.2 楼栋表 park_building

字段名说明类型长度非空备注
id楼栋IDbigint主键
park_id园区IDbigint外键
building_name楼栋名称varchar100
floor_count楼层数int

6.3 房源表 park_room

字段名说明类型长度非空备注
id房源IDbigint主键
park_id园区IDbigint
building_id楼栋IDbigint
room_code房号varchar50如 101 / A-305
floor_no楼层int
house_type房屋类型varchar20商铺 / 住宅 / 仓库 / 办公室
build_area建筑面积decimal12,2单位:㎡
inner_area室内面积decimal12,2使用面积,单位:㎡
rent_area计租面积decimal12,2实际用于租金计算的面积
rent_price租金单价decimal12,2租金,元/㎡/月
property_price物业费单价decimal12,2元/㎡/月
rent_status租赁状态tinyint0空置 / 1已租 / 2预定

6.4 房源设备绑定表 park_room_device

字段名说明类型长度非空备注
id主键bigint
park_id园区IDbigint
room_id房源IDbigint
device_id设备IDbigint
device_no设备编号varchar50
energy_type能源类型varchar20水 / 电 / 气
remark备注varchar255

6.5 入驻租户表 lease_tenant

字段名说明类型长度非空备注
id租户IDbigint主键
tenant_type租户类型tyint0:企业 / 1:个人
tenant_name租户名称varchar200企业名称或个人姓名
unified_credit_code企业统一信用代码varchar50仅企业租户
contact_name联系人姓名varchar50企业联系人 / 个人本人
contact_phone手机号码varchar50
id_card_no身份证号码varchar50个人租户必填
legal_person法人代表varchar50企业租户
registered_address注册地址varchar255企业注册地址
office_address实际使用地址varchar255入驻园区地址
entry_date入驻日期date首次入驻
exit_date退驻日期date完全退租
status租户状态varchar20正常入驻 / 已退驻 / 已停用
remark备注varchar500

6.6 租赁合同表 lease_contract

字段名说明类型长度非空备注
id合同IDbigint主键
contract_no合同编号varchar50唯一
park_id园区IDbigint
lease_tenant_id入驻租户IDbigint承租方
party_a_contact甲方联系电话varchar50园区/业主方
party_b_contact乙方联系电话varchar50企业联系人
attachment_url合同附件地址varchar500合同PDF/扫描件
sign_date签订日期date
start_date起租日期date
end_date到期日期date
base_rent_price起始租金单价decimal12,2展示用,元/㎡/月
deposit_amount押金金额decimal12,2
is_renew是否续租tinyint0否 / 1是
renew_from_contract_id续租来源合同IDbigint上一合同
terminate_date实际退租日期date
terminate_type退租类型tinyint1到期 / 2提前 / 3违约
terminate_reason退租原因varchar200
status合同状态tinyint1生效 / 2到期 / 3终止

6.7 合同房源表 lease_contract_room

字段名说明类型长度非空备注
id主键bigint
contract_id合同IDbigint
room_id房源IDbigint
lease_tenant_id入驻租户IDbigint承租方
rent_area实际计租面积decimal12,2
water_init_reading水表起始读数decimal12,2合同生效时抄表
electric_init_reading电表起始读数decimal12,2合同生效时抄表
gas_init_reading燃气表起始读数decimal12,2合同生效时抄表
remark备注varchar255

6.8 计费规则表 lease_fee_rule

字段名说明类型长度非空备注
id主键bigint
contract_id合同IDbigint
room_id房源IDbigint房间 / 商铺
fee_type费用类型varchar50租金 / 物业 / 水 /电
unit_price单价decimal12,4
cycle计费周期varchar20月/季/年

6.9 账单表 lease_bill

字段名说明类型长度非空备注
id账单项IDbigint主键
bill_no账单号varchar50同一账单下多条明细共用
bill_period账单日期varchar20YYYY-MM
lease_tenant_id入驻租户IDbigint对应入驻企业 / 个人
contract_id合同IDbigint租赁合同
room_id房源IDbigint房间 / 商铺
fee_type费用类型varchar50物业费 / 租金 / 水 / 电
park_meter_id抄表IDbigint抄表记录表ID
usage_value用量decimal12,2仅能耗类
unit_price单价decimal12,4
amount应收金额decimal12,2当前账单项金额
received_amount已收金额decimal12,2默认 0
bill_status账单状态tinyint0未收 / 1部分 / 2结清
due_date到期日date
remark备注varchar255

6.10 收款表 lease_payment

字段名说明类型长度非空备注
id主键bigint
bill_id账单IDbigint
pay_no支付单号varchar50
pay_amount收款金额decimal12,2
pay_time收款时间datetime
pay_channel支付方式varchar50银行 / 线下现金 / 支付宝 / 微信

6.11 抄表记录表 park_meter_reading

字段名说明类型长度非空备注
id主键IDbigint抄表记录ID
park_id园区IDbigint
room_id房源IDbigint房间 / 商铺
device_id设备IDbigint
device_no设备编号varchar50
energy_type能源类型varchar20水 / 电 / 气
unit计量单位varchar10m³ / kWh
reading_date抄表日期date
last_value上期读数decimal12,2
current_value本期读数decimal12,2
usage_value本期用量decimal12,2本期 - 上期
reading_type抄表方式tinyint1人工 / 2系统
remark备注varchar255