java如何让用户一天只能提交n次任务,n值可以在数据库里修改

“每个学生每天能提交一条或几条(数量可以设置)当天完成的任务简单描述,放到列表中显示。”

每天提交的n值可以在数据库里修改,比如教师要求学生每天提交2条,数据库的n改为2,然后学生在一天内只能提交2条,第二天这个值得重置为2(想了很久还是不知道怎么在当前代码基础上增加这个功能,不想用quartz,也不去获取last_insert_id()/max(id))

学生登录的时候在什么地方去获取这个n值(每个学生也应该有一个对应的n),然后提交一次减少一次,直到为0 不能再提交(jsp把按钮隐藏),但是第二天怎么办???怎么重置学生的n值?

我用的是java+MySQL+SSH,该怎么做啊

4个回答

可以使用redis,先判断是否为空,为空从数据库查询并缓存到redis中,key为学生id,value为2,提交一次减1,设并置过期失效时间为第二天0点1分,思路供参考。

qq_33357956
qq_33357956 回复: jsp页面用的是<c:foreach items="${pagers.data}" var ="r" varStatus="status">来获取数据库信息
10 个月之前 回复
qq_33357956
qq_33357956 回复qq_33357956: <c:if test="${r.student.id == user.id && r.create_at == 当前日期}">
10 个月之前 回复
qq_33357956
qq_33357956 回复Json-Huang: 现在的要求是每天只能提交一天,我想直接在jsp页面获取数据库然后判断学生id是否等于任务的id,然后任务的提交日期是否等于当前日期。但是学生之前每天都提交,数据库有很多条,我该怎么去比较啊
10 个月之前 回复
hjs218
Json-Huang 回复qq_33357956: 也有其他方式,比如通过sql实现,SELECT count(*) from tableA where stu_id =‘xxx’ and Day(create_time)=Day(NOW()) Stu_id为学生ID,create_time为实际记录的时间,通过上面sql可以查询学生当天已提交的任务数量,跟设置的2进行校验即可控制按钮是否隐藏。
10 个月之前 回复
qq_33357956
qq_33357956 可以不再添加其他工具吗,我的整个系统以及做完了,没法再添加额外的工具了
10 个月之前 回复

现在要求改了一下,每天只能提交一次,这个怎么实现呢

提交操作加一个时间字段,每次提交的时候判断时间是否为当天,否,则不允许提交;是,允许提交。

qq_33357956
qq_33357956 只能提交一次,然后今天提交了不能再提交,第二天又可以提交这样怎么实现
10 个月之前 回复

Json-Huang这位仁兄的回答已经很清楚了,根据提交日期和学生id去查询提交记录数,如果记录数已经等于你限制的提交次数,就不能再提交,否则就可以提交,你想限制一天提交一次,一天n次都可以啊;
这个只需要改一下代码就可以,也不用接入别的工具框架之类的;

u011699755
java一米阳光 回复qq_33357956: 你后台根据你的条件去查的,不是都满足吗? 非要全部查出来,在页面判断? 只是想判断记录数,限制提交而已,不要搞复杂咯;
10 个月之前 回复
qq_33357956
qq_33357956 回复java一米阳光: 那符合条件的个数怎么获取呀<c:if test="${r.student.id == user.id && r.create_at == 当前日期}">
10 个月之前 回复
u011699755
java一米阳光 回复qq_33357956: ${pagers.data.size()} ,如果不对可能是${pagers.data.length}
10 个月之前 回复
qq_33357956
qq_33357956 回复java一米阳光: 后台Action用Pagers传递到JSP,然后<c:foreach items="${pagers.data}" var ="r" varStatus="status">这样循环,得到的都是r.id,r.time之类的某个字段,怎么获取记录数
10 个月之前 回复
u011699755
java一米阳光 回复qq_33357956: 得到list之后,list.size()不就知道记录数了,怎么可能查记录数都查不了呢,分页查询的时候还要查总记录数呢,好好想想
10 个月之前 回复
qq_33357956
qq_33357956 问题是我用的是Hql,所有查询语句都固定了全部封装了,关于数据库访问这一块代码我都是直接调用function,这个sql语句查询提交次数的我试过了实现不了
10 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问