摘要:先说需求实现一个展现列表,列表中有三个时间点。分别是创建时间转移时间反馈时间处理时间关闭时间。要求以转移时间为起点,如果转移时间秒一天后,对应有权限的人没有将此反馈,或者转移时间秒十天后那么也标记为超时。
先说需求
PHP实现一个展现列表,列表中有三个时间点。分别是创建时间、转移时间、反馈时间、处理时间、关闭时间。
要求:
1.以转移时间为起点,如果转移时间+86400秒(一天)后,对应有权限的人没有将此id反馈,或者转移时间+864000秒(十天)后那么也标记为超时。
2.可以对列表结果进行搜索 全部|超时|未超时
`send_time` timestamp NOT NULL DEFAULT "1980-01-01 00:00:00" COMMENT "任务下发时间", `first_feedback_time` timestamp NOT NULL DEFAULT "1980-01-01 00:00:00" COMMENT "任务首次反馈时间", `first_proposal_time` timestamp NOT NULL DEFAULT "1980-01-01 00:00:00" COMMENT "任务首次处理时间",再看代码
send_time 转移时间
first_feedback_time 反馈时间 默认1980-01-01 00:00:00
first_proposal_time 处理时间 默认1980-01-01 00:00:00
# 此处略去其他mysql逻辑 IF ( send_time != "1980-01-01 00:00:00" AND TIMESTAMPDIFF(SECOND, send_time, now()) > 86400, ( IF ( first_feedback_time = "1980-01-01 00:00:00" OR TIMESTAMPDIFF( SECOND, send_time, first_feedback_time ) > 86400 OR ( first_proposal_time = "1980-01-01 00:00:00" AND TIMESTAMPDIFF( SECOND, send_time, first_proposal_time ) > 864000 ), 1 ,- 1 ) ), - 1 ) AS time_out # 此处略去其他mysql逻辑MYSQL官方:timestampdiff 其他思路
可以写定时脚本,将超时|非超时状态 写入一个具体字段
tips:如果想针对超时|非超时做搜索,在mysql中可以用
Having time_out =$_POST["is_time_out"]
另外,记录个奇怪的问题解决:group by的数据 order的时候应该包含group by的字段,否则会出现可能结果集随机
[1]
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/23080.html
摘要:同盾技术总监张新波在第二期移动时代互联网金融的架构趋势中阐述了同盾是如何从零开始打造千万级实时风控云服务,具体介绍了同盾系统平台构建过程中主要需要解决的三大难题,以及解决这些问题的具体时实践过程。 同盾科技,是由阿里、Paypal 反欺诈专家创建的,国内第一家风险控制与反欺诈云服务提供商,其涉及领域包括电商、B2B、互联网金融、游戏等。同盾技术总监张新波在 UPYUN Open ...
摘要:而常用的包需要把所有数据拿到后才能生成,在面对生成超大数据量的文件时这显然是会造成内存溢出的,所以考虑使用让边写入输出流边让浏览器下载的形式来完成需求。 最近接到一个需求,通过选择的时间段导出对应的用户访问日志到excel中, 由于用户量较大,经常会有导出50万加数据的情况。而常用的PHPexcel包需要把所有数据拿到后才能生成excel, 在面对生成超大数据量的excel文件时这显然...
阅读 2911·2023-04-25 21:23
阅读 3000·2021-09-22 15:24
阅读 841·2019-08-30 12:55
阅读 2081·2019-08-29 18:42
阅读 2574·2019-08-29 16:27
阅读 926·2019-08-26 17:40
阅读 2156·2019-08-26 13:29
阅读 2586·2019-08-26 11:45