MiniMall:招商微服务业务和数据结构

招商微服务主要是和购物中心进行招商的一些资料管理,包括项目资料管理、楼宇楼层资料管理、铺位资料管理、品牌资料管理、业态资料管理、商户资料管理、合同资料管理。

再稍微具体点的话,可以将项目、楼宇、楼层、铺位当做是购物中心的物业资源,商户是入驻购物中心与购物中心签订租赁合同的乙方,品牌和业态是商户的经营属性描述。

1. 项目资料管理

通常情况下,购物中心由集团进行管控,项目是具体到某个购物中心与商户签订租赁合同的甲方。比如上海xxx万达广场、上海xxx正大广场。

1.1 业务功能

(1)项目资料的属性很简单,主要包括项目名称和项目代码,其中项目代码为项目资料的业务主键,全局唯一。

(2)两种业务状态:使用中、已停用。这就表示,项目资料一旦录入系统,是不允许被物理删除的。

(3)两种业务操作:启用、停用。已停用业务状态的项目可以重新被启用,已启用业务状态的项目可以被停用。

1.2 数据结构

CREATE TABLE `invest_store`  (
  `uuid` varchar(38) NOT NULL COMMENT '唯一标识',
  `code` varchar(32) NOT NULL COMMENT '代码',
  `name` varchar(64) NOT NULL COMMENT '名称',
  `state` varchar(16) NOT NULL COMMENT '状态',
  `remark` varchar(1024) NULL COMMENT '说明',
  PRIMARY KEY (`uuid`),
  INDEX `idx_store_1`(`code`)
) COMMENT = '项目表';

2. 楼宇资料管理

楼宇是指购物中心的楼栋,比如A1楼宇、A2楼宇等等。

2.1 业务功能

(1)楼宇资料是受项目限制的,也就是说先有项目,才有楼宇的概念。

(2)楼宇资料的属性包括楼宇名称和楼宇代码,同样的楼宇代码作为业务主键,其在某个项目下唯一。

(3)两种业务状态:使用中、已停用。

(4)两种业务操作:启用、停用。

2.2 数据结构

CREATE TABLE `invest_building`  (
  `uuid` varchar(38) NOT NULL COMMENT '唯一标识',
  `store_uuid` varchar(38) NOT NULL COMMENT '项目uuid',
  `code` varchar(32) NOT NULL COMMENT '代码',
  `name` varchar(64) NOT NULL COMMENT '名称',
  `state` varchar(16) NOT NULL COMMENT '状态',
  `remark` varchar(1024) NULL COMMENT '说明',
  PRIMARY KEY (`uuid`),
  INDEX `idx_building_1`(`store_uuid`)
) COMMENT = '楼宇表';

3. 楼层资料管理

楼层是基于楼宇而言的,比如A1楼宇的1层、2层等。

3.1 业务功能

(1)楼层受楼宇限制,在项目+楼宇下,每个楼层的代码是唯一的。

(2)两种业务状态:使用中、已停用。

(3)两种业务操作:启用、停用。

3.2 数据结构

CREATE TABLE `invest_floor`  (
  `uuid` varchar(38) NOT NULL COMMENT '唯一标识',
  `store_uuid` varchar(38) NOT NULL COMMENT '项目uuid',
  `building_uuid` varchar(38) NOT NULL COMMENT '楼宇uuid',
  `code` varchar(32) NOT NULL COMMENT '代码',
  `name` varchar(64) NOT NULL COMMENT '名称',
  `state` varchar(16) NOT NULL COMMENT '状态',
  `remark` varchar(1024) NULL COMMENT '说明',
  PRIMARY KEY (`uuid`),
  INDEX `idx_floor_1`(`store_uuid`, `building_uuid`)
) COMMENT = '楼层表';

4. 铺位资料管理

铺位是项目与商户进行签订租赁合同的真实资源,其具体到某个楼层,比如1层的01-0001铺。与项目、楼宇、楼层统称物业资源。

4.1 业务功能

(1)铺位受楼层限制,在项目+楼宇+楼层下,每个铺位的代码是唯一的。

(2)两种业务状态:使用中、已停用。

(3)两种业务操作:启用、停用。

4.2 数据结构

CREATE TABLE `invest_position`  (
  `uuid` varchar(38) NOT NULL COMMENT '唯一标识',
  `store_uuid` varchar(38) NOT NULL COMMENT '项目uuid',
  `building_uuid` varchar(38) NOT NULL COMMENT '楼宇uuid',
  `floor_uuid` varchar(38) NOT NULL COMMENT '楼层uuid',
  `code` varchar(32) NOT NULL COMMENT '代码',
  `name` varchar(64) NOT NULL COMMENT '名称',
  `state` varchar(16) NOT NULL COMMENT '状态',
  `remark` varchar(1024) NULL COMMENT '说明',
  PRIMARY KEY (`uuid`),
  INDEX `idx_position_1`(`store_uuid`, `building_uuid`, `floor_uuid`)
) COMMENT = '位置表';

5. 品牌资料管理

品牌是指购物中心入驻的品牌商,通常在招商前就有一个招商计划,对某个铺位落实到品牌,然后对该品牌的商户进行招商。比如耐克、阿迪达斯等。

5.1 业务功能

(1)品牌资料包括名称和代码,其中代码全局唯一。录入之后就不允许再进行修改。

(2)两种业务状态:使用中、已停用。

(3)两种业务操作:启用、停用。

5.2 数据结构

CREATE TABLE `invest_brand`  (
  `uuid` varchar(38) NOT NULL COMMENT '唯一标识',
  `code` varchar(32) NOT NULL COMMENT '代码',
  `name` varchar(64) NOT NULL COMMENT '名称',
  `state` varchar(16) NOT NULL COMMENT '状态',
  `remark` varchar(1024) NULL COMMENT '说明',
  PRIMARY KEY (`uuid`),
  INDEX `idx_brand_1`(`code`)
) COMMENT = '品牌表';

6. 业态资料管理

业态是指商户的经营范围,比如服饰、首饰珠宝、餐饮等。

6.1 业务功能

(1)业态资料包括名称和代码,其中代码全局唯一。录入之后就不允许再进行修改。

(2)两种业务状态:使用中、已停用。

(3)两种业务操作:启用、停用。

6.2 数据结构

CREATE TABLE `invest_biztype`  (
  `uuid` varchar(38) NOT NULL COMMENT '唯一标识',
  `code` varchar(32) NOT NULL COMMENT '代码',
  `name` varchar(64) NOT NULL COMMENT '名称',
  `state` varchar(16) NOT NULL COMMENT '状态',
  `remark` varchar(1024) NULL COMMENT '说明',
  PRIMARY KEY (`uuid`),
  INDEX `idx_biztype_1`(`code`)
) COMMENT = '业态表';

7. 商户资料管理

商户是指入驻到购物中心的乙方,比如xxx有限公司。

7.1 业务功能

(1)商户资料包括名称和代码,其中代码全局唯一。录入之后就不允许再进行修改。

(2)两种业务状态:使用中、已停用。

(3)两种业务操作:启用、停用。

7.2 数据结构

CREATE TABLE `invest_tenant`  (
  `uuid` varchar(38) NOT NULL COMMENT '唯一标识',
  `code` varchar(32) NOT NULL COMMENT '代码',
  `name` varchar(64) NOT NULL COMMENT '名称',
  `state` varchar(16) NOT NULL COMMENT '状态',
  `remark` varchar(1024) NULL COMMENT '说明',
  PRIMARY KEY (`uuid`),
  INDEX `idx_tenant_1`(`code`)
) COMMENT = '商戶表';

8. 合同资料管理

合同是商场与商户签订的权责说明,除了项目和商户属性外,还有楼宇、楼层、铺位等属性。当然还有最重要的一点,合同也是商场和商户产生财务账款的来源,其规定了每个月店铺的租金是多少,每个月商场向商户收取的销售提成的提成率是多少。

8.1 业务功能

(1)两种业务状态:未生效、已生效。未生效是指新建保存成功之后,还处于草稿状态,此时合同可以被重复修改甚至被删除。而已生效是指合同真正生效,并开始产生每个月结算周期明细用于出账。

(2)合同有起始日期和结束日期,在这个时间段内,约定每个月的月租金,以及整个合同期内销售提成率(这里不考虑分段提成、超额分段提成)。

8.2 数据结构

CREATE TABLE `invest_contract`  (
  `uuid` varchar(38) NOT NULL COMMENT '唯一标识',
  `serial_number` varchar(32) NOT NULL COMMENT '合同号',
  `signboard` varchar(255) NOT NULL COMMENT '店招',
  `state` varchar(16) NOT NULL COMMENT '状态',
  `store_uuid` varchar(38) NOT NULL COMMENT '项目uuid(甲方)',
  `tenant_uuid` varchar(38) NOT NULL COMMENT '商户uuid(乙方)',
  `building_uuid` varchar(38) NOT NULL COMMENT '楼宇uuid',
  `floor_uuid` varchar(38) NOT NULL COMMENT '楼层uuid',
  `position_uuid` varchar(38) NOT NULL COMMENT '铺位uuid',
  `brand_uuid` varchar(38) NOT NULL COMMENT '品牌uuid',
  `biztype_uuid` varchar(38) NOT NULL COMMENT '业态uuid',
  `begin_date` date NOT NULL COMMENT '合同起始日期',
  `end_date` date NOT NULL COMMENT '合同结束日期',
  `month_rent` numeric(19, 2) NOT NULL COMMENT '月租金',
  `subject_uuid` varchar(38) NOT NULL COMMENT '科目uuid',
  `tax_rate` numeric(19, 4) NULL COMMENT '科目税率',
  `sales_rate` numeric(19, 4) NOT NULL COMMENT '销售提成率',
  `remark` varchar(1024) NULL COMMENT '说明',
  PRIMARY KEY (`uuid`),
  INDEX `idx_contract_1`(`store_uuid`, `tenant_uuid`)
) COMMENT = '合同表';

9. 合同结算周期明细

合同结算周期明细由合同生效时根据合同期、月租金自动生产的月结算明细。

9.1 业务功能

(1)一个结算周期包括账期起止日期,本期出账金额以及税额,本期的销售提成率是多少。

(2)一个未出账的结算周期是允许出账的,出账时会根据当前出账周期和周期内的销售提成生成账单。

(3)出账是有时间限制的,即必须先出时间靠前的账单,不允许跳周期。

(4)一个结算周期不允许重复出账。

9.2 数据结构

CREATE TABLE `invest_settle_detail`  (
  `uuid` varchar(38) NOT NULL COMMENT '唯一标识',
  `store_uuid` varchar(38) NOT NULL COMMENT '项目uuid',
  `tenant_uuid` varchar(38) NOT NULL COMMENT '商户uuid',
  `contract_uuid` varchar(38) NOT NULL COMMENT '合同uuid',
  `begin_date` date NOT NULL COMMENT '账期开始日期',
  `end_date` date NOT NULL COMMENT '账期结束日期',
  `total` numeric(19, 2) NOT NULL COMMENT '本期出账金额',
  `tax` numeric(19, 2) NOT NULL COMMENT '本期出账税额',
  `subject_uuid` varchar(38) NOT NULL COMMENT '科目uuid',
  `sales_rate` numeric(19, 4) NOT NULL COMMENT '销售提成率',
  `tax_rate` numeric(19, 4) NOT NULL COMMENT '科目税率',
  `statement_uuid` varchar(38) NULL COMMENT '账单uuid,为-表示未出账',
  PRIMARY KEY (`uuid`),
  INDEX `idx_detail_1`(`contract_uuid`),
  INDEX `idx_detail_2`(`store_uuid`, `tenant_uuid`)
) COMMENT = '合同结算明细表';
——End——
更多精彩分享,可扫码关注微信公众号哦。

在这里插入图片描述

CollUtil.isNotEmpty方法不能直接判断JSONObject是否为空。CollUtil.isNotEmpty方法是用来判断集合是否为空的,而JSONObject不是一个集合类型。如果要判断JSONObject是否为空,可以使用JSONUtil.isEmpty方法来进行判断。JSONUtil.isEmpty方法会判断JSONObject是否为null或者是否不包含任何键值对。 #### 引用[.reference_title] - *1* [MiniMall:Hutool一点也不糊涂](https://blog.csdn.net/Anbang713/article/details/106185210)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [常用工具类Hutool的学习使用](https://blog.csdn.net/weixin_53998054/article/details/126133718)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Hutool Java开发工具包](https://blog.csdn.net/u011663149/article/details/88242190)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值