1、该系统主要是通过政府公信力搭建一套市场化房产交易平台,解决市场上交易欺骗、信息不对等问题,旨在通过政府平台规范市场行为、引导市场正向发展。
2、该系统主要包含网站和移动端,前端展示待交易房源信息(含新房和二手房)供需方选择和咨询。具体业务功能包括房源发布(上架)、房源审核,意向签订及合同签订,交易付款,过户,政策事项申请、审批,房源(含楼盘)添加和审核,房源评估申请、评估、核定等功能。
3、该系统以房源出售挂牌→房源审核→意向沟通→洽谈→房源评估→签约→审核→付款→过户为主线业务流程进行设计,辅以便民事项功能,整体系统运行流程闭合,切实给市场化系统带来很多便利。
一、整体架构
该系统采用微服务方式,由接入层、业务层、平台层和数据层组成;
接入层:Nginx + API Gateway,负责请求路由、限流熔断、身份认证;
业务层:按业务划分为从业主体、房源、评估、合同、业务流程五个微服务,服务间通过OpenFeign同步调用,异步场景通过RocketMQ解耦;
平台层:配置中心(Nacos)、定时任务调度(quartz)等基础组件;
数据层:MySQL(业务数据)+ Redis(缓存)。
二、设计思路
基于本系统的使用用户涉及范围广、业务周期长且随着政策变化业务流程也要随之改变等方面的现实考虑,本系统的设计思路如下:
通过引入流程引擎设计业务流程,应对随时变化的业务流程并保证业务状态点统一,将易变的业务规则抽象为策略接口,通过Spring的依赖注入进行动态路由,确保业务迭代时对核心代码开闭原则的落地;
采用功能权限 + 数据规则引擎’双轨制机制,数据权限不侵入业务逻辑,通过Mybatis拦截器和AOP动态拼接SQL过滤条件,实现数据隔离的透明化;
三、我的工作:
我的主要工作是对团队代码进行整理和规范,负责权限和用户这块的代码开发;
四、难点:
在实际开发过程中,刚开始我们将流程状态全部记录在业务表的状态中,随着业务流程和数据量越来越大,在业务流程的管控和展示方面系统显的越来越不能满足实际需要,后来我们就引入了开源的流程引擎,将业务流程和业务表分开管理,极大的简化了开发效率也能很方便的满足用户的特定需求。