Java 如何实现每日签到 每个自然周

团长的忧郁 2019-02-19 01:10:32
用户每日点击签到即可获得10积分 ,第七天签到可获得28积分 ,用户签满7天最多可得88个积分.
问如何实现 ,每周结束后 从周一开始签 。
如何设计数据表?
...全文
1091 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
tony4geek 2019-12-20
  • 打赏
  • 举报
回复
每天签到记录下来,按照这个思路 ,查询 是否有7条记录。单独再存用户对应的积分表。 临界点签到要注意下
select count(1) from xxxxxxx where signin_time>= date_add(now(), interval 7 day) group by date_format(signi_time,'%Y%m%d');
小包包007 2019-12-19
  • 打赏
  • 举报
回复
int time//周一开始时间 int day//累计天数 int score//总分数 int lastGetTime//最后一此领取的时间(避免一天重复领取) 1:周一清理 当前的周一时间与time不一样,清理 2:第七天签到可获得28积分 星期天而且今天未领则得28 3:用户签满7天最多可得88个积分. 星期天而且day=6而且今天未领则得88 2和3的逻辑应该是一个方法
竖心旁的情 2019-12-19
  • 打赏
  • 举报
回复
弄个表存签到次数,下次签到的时候跟表里面的签到时间对比有没有大于1天,大于就更新为0,否则就加1.第几天可以用总的天数取余数。
liuxun963852 2019-02-22
  • 打赏
  • 举报
回复
id 用户id 日期 第几周

做一个签到表,分数可以放到别的表,每次签到往签到表添一条数据,同时更新分数表,更新分数表的时候看看这一周有多少条记录,够7条记录就多给18分
maradona1984 2019-02-21
  • 打赏
  • 举报
回复
从你描述来说,简单理解就是周一到周六签到拿10分,周日拿28,这个需要啥表设计?
你只需要写个
if(周日)
28分
else
10分
的代码逻辑
保证不重复签到即可
czx叔叔 2019-02-21
  • 打赏
  • 举报
回复
不需要设计表吧 加一个字段就够了
tianfang 2019-02-20
  • 打赏
  • 举报
回复
应用层代码判断时间,找出周开始和结束时间,可能的化可以用脚本语言 groovy/jython写,修改规则不用重新部署 数据库:id +签到信息的json字段 主要考应用层代码处理,数据库不用精细/复杂,万一需求变了改起来也麻烦 如果需要历史纪录,再加一个历史纪录表,(id,时间,积分变化数,积分总数)
nayi_224 2019-02-19
  • 打赏
  • 举报
回复
需求不明确,是周日签得28分,还是连续7天签到额外得18分,还是每连续签一个自然周额外得18分? 总之,用户id+签到时间就够了。
微信答题小程序源码产品功能: 1、 小程序主页: 答题小程序主页面展示:用户身份信息、等级信息、积分信息。答题模式包括:每日签到每日答题、个人排位赛、好友对战、排行榜、团队赛、系统公告、道具背包、系统设置等。 2、用户身份信息 用户身份信息展示:身份等级、积分情况、答题专业领域、胜率、胜场次数等。 3、 每日签到 每日签到:七天一个期,每天可签到得积分,如果连续2天以上签到除了可得到本日应得积分外,还可以额外获得连续签到奖励积分。 4、 每日答题 每日答题模式每个用户每天有5次答题机会,进入答题后每答对一题得100积分,连续答对可获得额外奖励积分,答错不得分。答题过程中每题有20秒的思考时间,必须在思考时间内选择答案。答题过程中可使用道具卡,道具卡包括:难题跳跃卡和积分翻倍卡。 5、 排位赛 排位赛答题模式:该模式是根据用户身份等级进行随机匹配,只能匹配同等身份等级的用户进行答题匹配,进入答题后双方在规定时间内完成答题,胜者得积分,当积分达到系统规定段位标准后身份自动升级,如:倔强青铜、不屈白银、荣耀黄金等。 6、 好友PK赛 好友pk赛可针对好友进行PK,使用流程为:用户将pk邀请发送给好友,好友可选择应战与否,同意应战后双方会进入一个房间,在规定时间内完成答题,答题总分数高者胜出。 7、团队赛 团队赛即可以进行多人对多人的组队比赛,例如2对2 3对3 或 5对5 当人数达到后系统随机分队进行答题比赛,(升级版已改为队友邀请制)答对题得分高的对胜出 8、排行榜 系统会针对每个答题模式的得分情况进行排行,以显示在各个答题模式或是总榜中的排名状态。 用户特点 无论你是个人还是企业或是教育机构,该答题小程序都能满足您在寓教于乐的需求,让用户在玩中学习,不知不觉学习到了相关知识。
本资源是一个基于微信小程序的互动打卡小程序,使用Java语言进行开发。该小程序旨在为用户提供一个便捷、有趣的打卡体验,通过签到、分享等功能增强用户与小程序之间的互动性。主要功能:签到功能:用户每天可在小程序内签到,记录签到天数和积分。连续签到天数越多,获得的积分越多。积分商城:用户可以使用累积的积分兑换各种奖品,如优惠券、实物礼品等。排行榜:根据用户的积分排名展示每日、每、每月的排行榜,激发用户竞争意识。邀请好友:用户可以邀请好友加入小程序,成功邀请后可获得额外积分奖励。活动推送:定期推送小程序内的优惠活动信息,吸引用户参与。技术栈:Java语言:作为后端开发语言,用于处理业务逻辑和数据存储。Spring Boot框架:用于简化Spring应用的开发和部署,提高开发效率。MyBatis框架:用于简化数据库操作,实现对MySQL数据库的访问。Redis缓存:用于提高系统性能,减轻数据库压力。Vue.js框架:用于构建前端页面,实现与用户的交互。开发环境:Windows或macOS操作系统:用于安装和运行Java开发环境(如JDK)。IntelliJ IDEA或Eclipse:用于编写和调试Java代码。MySQL数据库服务器:用于存储和管理用户数据。Redis服务器:用于缓存数据以提高系统性能。项目结构: lua复制代码- src/main/java/com/example/wechat/checkin/controller/ - CheckInController.java- src/main/java/com/example/wechat/checkin/service/ - CheckInService.java- src/main/java/com/example/wechat/checkin/mapper/ - CheckInMapper.java- src/main/resources/application.properties- src/main/resources/mappers/*.xml- src/main/resources/config/*.properties- src/main/webapp/index.html- src/main/webapp/app.js- src/main/webapp/components/*.vue- src/main/webapp/assets/* (图片、字体等资源文件)- pom.xml (Maven项目配置文件)- README.md (项目说明文档)- build.gradle (Gradle项目配置文件)- .gitignore (版本控制忽略文件)- settings.gradle (Gradle插件配置文件)- .idea (IntelliJ IDEA工程配置文件)- package.json (npm项目配置文件)- README_EN.md (英文版项目说明文档)- README_CN.md (中文版项目说明文档)- Dockerfile (Docker镜像构建文件)

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧