如何使用基本数据结构为“客户”构建日期/时间可用性

问题描述 投票:0回答:0

我正在创建一个 Firebase 应用程序。所以这包括 TypeScript 和基于对象的 NoSQL 数据库。

我不想要像 B 树或图形数据库那样花哨的东西。这需要使用

Array
s 和
Map
s(字典/对象),以及像
Date
string
等基本类型来完成

我正在为

ServiceProvider
s 创建一个预订应用程序,它将在给定日期的给定时间开始为
Customer
s 预订 n 分钟。

  • 每个
    ServiceProvider
    可以有一个给定的
    BaseUnavailability
    属性:
    • 这可以是从“每周一”到“每隔一个周末三个小时,除非是每月的最后一天......”等等。
  • 每个
    ServiceProvider
    可以说“我将在 x 特定日期(可选 m 特定分钟)仅此一次。”我们称此属性为
    ServiceProvider.AdditionalUnavailability
  • 可用性随后将受到每个
    Customer
    的预订的影响,当满足某些条件时。
    • 每个
      ServiceProvider
      都能够同时处理不同数量的
      Customer
    • 稍后这将取决于服务类型(即
      Package
      已预订的
      Customer
      )以及
      Package
      可以处理的相同类型的同时
      ServiceProvider
      的数量,但目前每个
       ServiceProvider
      可以处理
      ServiceProvider().MaxSimultaneousCustomers
      .

我的问题是:我如何以一种可用于确定新

Customer
可以轻松预订
ServiceProvider
的时间的方式来构建它,并且我可以使用它来在日历上或在其他格式?

儒略历可以为我提供我需要的帮助吗?

然后,当

ServiceProvider
更改其基本可用性时,我执行计算以将用户友好的
Date
对象转换为儒略日和小时?这种方法的缺点是
Date
JulianDay
(反之亦然)需要很快:每次显示日历或构建数据库查询时我都必须这样做。

我可以去1-366并考虑年份吗?

typescript data-structures database-design architecture nosql
© www.soinside.com 2019 - 2024. All rights reserved.