《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
关于 LearnKu
订单产生的时间你是知道的呀,然后你获取自定义的时间间隔(比如是5),用订单时间加上自定义时间,看 小时 的那里是否落在了 0-9 和 18-23,如果是的话,你再加15个小时,不就获得了需要延时执行的时间了吗? 订单产生时间为 2023-10-08 15:00,加5个小时为 2023-10-08 20:00,小时落在了 18-23 这个区间,所以在 2023-10-08 20:00 基础上加15个小时,得到 2023-10-09 11:00
就是个计算逻辑,你正常延时时间为5*3600=18000s。这个时候先计算当前时间是否大于当天18:00,是的话,直接第二天9点+18000即为关闭时间。如果当前时间小于18点,则用18点的时间戳-当前时间,如果结果大于18000,则表示5小时后,还不到下班时间,直接用当前时间+18000位关闭时间。如果小于18000,则结束时间为第二天9点+(18000-上一侧小于的那个值)。不知道理解的对不对
先计算订单的超时时间 = 订单开始时间 + 自定义时间 如果计算出来的时间 在18:00以后 则更正为真正的失效时间
如果订单在18:00 - 09:00之内 就分为两种情况 订单的超时时间 = 订单开始时间 + 自定义时间 假如超时时间还在下班时间之内那么更正失效时间为第二天的上班时间加上自定义的时间,如果超时时间在上班时间之外,自定义时间 - (超时时间-9:00)+09:00
下班时间 和 处理时间都 从配置里获取 然后 创建订单或者是 支付完成的时候去算 客服处理有效期就行了
订单时间 与 下班时间 18:00 相差小时数 X 小于等于 指定时间间隔 N (这里为5), 取消订单时间为 09:00 加上 (N-X) 个小时 :flushed: 不知道行不行
初始化三个变量1.当前时钟初始值为订单时间2.处理剩余时间(题目中是5)3.累计时间,向前推进距离订单时间的小时数
三个方法1潜进器,当前时钟落在9-18点外,潜进至下个9点,时钟更新至9,累计时间增加(到9点的时差),剩余时间不变。2.探进器,时钟落在9-18点,探进至18点,如未探过18点,则剩余时间减至0,累计时间增加,如探过18点,剩余时间减少(到18点的距离),累计时间到18点,时钟至18点。3调度器,判断时钟在9-18内还是外,决定调用潜进器还是探进器,潜进器和探进器调用后都再次调用调度器,直到剩余时间为0,三个方法都不会再调用,执行完毕,此时订单时间加上累计时间即截止时间。
以节点向前推,哪些累加,哪些减少,就这么个思路,可以完善一下,比如时钟换成日期,理论上传入一个时间点,也可以计算当前剩余时间
也可用分配来解决 大概逻辑:
1.正常工作日 2.周末(要考虑特色) 3.节假日
不考虑周末节假日的情况
一个 if 解决的事情,优雅不到哪里去。