欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

关于设计发放礼包,第二天自动更新礼包数量怎么实现?数据库怎么设计?

程序员文章站 2022-04-13 13:43:40
...
假设我设置总共要发放1000个礼包,每天100,无论当天100个有没有全部被领取,都重新统计一下剩余的礼包数量,第二天开始,如果剩余礼包够100个,当天发放礼包数量又重新是100个,如果不够100个,就发放当前数目的礼包,直到全部礼包被领取为止。
问题在于,我怎么在转天自动更新数量,时间的获取是个难题,应该在数据库里存个时间字段,但时间的自动更新就是个问题,不知道大家听明白我的意思没?

回复内容:

假设我设置总共要发放1000个礼包,每天100,无论当天100个有没有全部被领取,都重新统计一下剩余的礼包数量,第二天开始,如果剩余礼包够100个,当天发放礼包数量又重新是100个,如果不够100个,就发放当前数目的礼包,直到全部礼包被领取为止。
问题在于,我怎么在转天自动更新数量,时间的获取是个难题,应该在数据库里存个时间字段,但时间的自动更新就是个问题,不知道大家听明白我的意思没?

你把自己搞晕了

数据库记录总量total字段

每次发放的时候判断今天是否已经发了100个 ,没有超过就发。哪来什么时间自动更新一说啊

配置表
id 主键id
title 礼包名称
nums 礼包发放总数
day_nums 每日发放总数
max_data 活动结束时间
ext 扩展字段 (可以记录礼包的用处,因为我不知道你这个礼包有什么功能)

礼包发放日志表
id 主键
lb_id 礼包主键
uid 用户id
on_time 时间

php
//判断今天是否已经发放100个礼包
(select count(*) from logs where on_time = ".date("Y-m-d",time()).")
~是
// 不发放
~否
//判断该用户今天是否已经领取礼包
(select * from logs where uid=$uid and on_time = ".date("Y-m-d",time()).")

  ~是
  不发放
  ~否
   // 礼包配置数减1
   // 写入礼包发放日志表

不是有job吗?

相关标签: php mysql