gpt4 book ai didi

php - 用户生成/用户特定功能

转载 作者:行者123 更新时间:2023-11-29 01:01:34 25 4
gpt4 key购买 nike

我正在寻找最优雅、最安​​全的方法来执行以下操作。

我有一个日历和用户组。

用户可以将事件添加到日历上的特定日期,并指定每个事件持续多长时间。

我收到了一些来自用户的请求,要求我添加功能,让他们定义特定长度的事件包括休息时间、特定时间量或要求在事件之间留出特定时间量。

例如,如果事件时间超过 2 小时,则包括 20 分钟的休息时间。对于每个事件,需要在下一个事件开始前 30 分钟。

要求事件时间超过 2 小时以包括 20 分钟休息时间的同一组可能还要求事件时间超过 3 小时包括 30 分钟休息时间。

最后,用户试图获得的是耗时,不包括为他们计算的休息时间。目前我为他们提供了总运行时间,但他们正在寻找运行时间。

但是,这些请求中的每一个对于每个组都是不同的。其中一组可能希望在 2 小时的事件中休息 30 分钟,而另一组可能希望每 3 小时的事件只休息 10 分钟。

我有点想我可以将每个组的函数写入一个 php 文件,然后包含该文件并通过 php 进行计算,然后将计算出的总数返回给用户,但有些事情并不适合我。

另一种选择是将组函数输出到 javascript,并让它在客户端运行,因为我已经返回了事件的持续时间,但是如果用户属于多个具有不同规则的组,这看起来它可能会变得相当困惑。

我目前将开始和结束时间存储在数据库中,但没有“持续时间”,而且我认为我不应该将计算的总计存储在数据库中,因为如果一个小组决定更改他们的计算,我' d 需要在整个数据库中更改它。

有更好的方法吗?我只是将变量存储在 mysql 中,但我不知道如何告诉 mysql 根据这些变量进行计算。

我真的迷路了。有什么建议么?我希望有人做过类似的事情,并且可以提供一些关于最佳方向的见解。

如果有帮助,我的表格包含

eventid, user, group, startDate, startTime, endDate, endTime, type

我返回给用户的事件的json是

{"eventid":"'.$eventId.'", "user":"'.$userId.'","group":"'.$groupId.'","type":"'.$type.'","startDate":".$startDate.'","startTime":"'.$startTime.'","endDate":"'.$endDate.'","endTime":"'.$endTime.'","durationLength":"'.$duration.'", "durationHrs":"'.$durationHrs.'"}

例如,持续时间长度为 2.5,持续时间为 2:30。

最佳答案

仅存储事件的开始时间和结束时间,以及名为 notes 的 BLOB 字段。

我曾在多个系统上工作过,这些系统遭受了此类需求的特性蔓延,直到代码和数据建模变成了无法维护的异常情况集合。向代码添加新的排列需要做很多工作,而且这些情况通常只使用一次。

如果您需要执行备注字段中描述的规则和条件,实际上聘请事件协调员比尝试在软件中自动化所有内容更具成本效益。与您调整代码来处理异常情况相比,注重细节的人可以更快地适应异常情况。

关于php - 用户生成/用户特定功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2790229/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com