1.发送签到会提示你签到成功,并获得2积分

2.一天只能签到一次

3.连续一星期签到会额外送12个积分

4.可以查询你当前积分总数

效果图:本订阅好还在完善中,可能还不能用,不久后将会一步步完善功能,用于生活,到时欢迎大家关注"z植物空间z"订阅号,

部分代码:

// 保存用户信息

public static void saveWeixinUser(String openId) {

MySQLUtil mysql = new MySQLUtil();

Connection conn = mysql.getConnection();

String sql = "insert into weixin_user (open_id,subscribe_time,subscribe_status) values (?,now(),1)";

PreparedStatement ps = null;

try {

ps = conn.prepareStatement(sql);

ps.setString(1, openId);

ps.execute();

} catch (SQLException e) {

e.printStackTrace();

} finally {

mysql.releaseResource(conn, ps, null);

}

}

// 更新用户总积分

public static void updateUserPoints(String openId, int signPoints) {

MySQLUtil mysql = new MySQLUtil();

Connection conn = mysql.getConnection();

String sql = "update weixin_user set points=points+? where open_id = ?";

PreparedStatement ps = null;

try {

ps = conn.prepareStatement(sql);

ps.setInt(1, signPoints);

ps.setString(2, openId);

ps.execute();

} catch (SQLException e) {

e.printStackTrace();

} finally {

mysql.releaseResource(conn, ps, null);

}

}

// 保存签到信息

public static void saveWeixinSign(String openId, int signPoints) {

MySQLUtil mysql = new MySQLUtil();

Connection conn = mysql.getConnection();

String sql = "insert into weixin_sign (open_id,sign_time,sign_points) values (?,now(),?)";

PreparedStatement ps = null;

try {

ps = conn.prepareStatement(sql);

ps.setString(1, openId);

ps.setInt(2, signPoints);

ps.execute();

} catch (SQLException e) {

e.printStackTrace();

} finally {

mysql.releaseResource(conn, ps, null);

}

}

//用户查积分

public static String searchjifen(String openId){

MySQLUtil mysql = new MySQLUtil();

Connection conn = mysql.getConnection();

String signPoints=null;

String sql = "select sign_Points from weixin_sign where open_id=?";

PreparedStatement ps = null;

ResultSet rs = null;

try {

ps = conn.prepareStatement(sql);

ps.setString(1, openId);

rs = ps.executeQuery();

if(rs.next()){

signPoints=rs.getString("sign_Points");

}

} catch (SQLException e) {

e.printStackTrace();

} finally {

mysql.releaseResource(conn, ps, rs);

}

return signPoints;

}

// 判断用户今天是否签到过

public static boolean isTodaySigned(String openId) {

boolean result = false;

MySQLUtil mysql = new MySQLUtil();

Connection conn = mysql.getConnection();

ResultSet rs = null;

String sql = "SELECT count(*) as signCounts FROM weixin_sign WHERE open_id=? AND DATE_FORMAT(sign_time,‘%Y-%m-%d‘) = DATE_FORMAT(now(),‘%Y-%m-%d‘)";

PreparedStatement ps = null;

try {

ps = conn.prepareStatement(sql);

ps.setString(1, openId);

rs = ps.executeQuery();

int signCounts = 0;

if(rs.next()){

signCounts = rs.getInt("signCounts");

}

if(1 == signCounts){

result = true;

}

} catch (SQLException e) {

e.printStackTrace();

} finally {

mysql.releaseResource(conn, ps, rs);

}

return result;

}

// 判断用户本周是否第七次签到

public static boolean isSevenSign(String openId, String monday) {

boolean result = false;

MySQLUtil mysql = new MySQLUtil();

Connection conn = mysql.getConnection();

ResultSet rs = null;

String sql = "SELECT count(*) FROM weixin_sign WHERE open_id=? AND sign_time between str_to_date(‘?‘,‘%Y-%m-%d %H:%i:%s‘) and now()";

PreparedStatement ps = null;

try {

ps = conn.prepareStatement(sql);

ps.setString(1, openId);

ps.setString(2, monday);

rs = ps.executeQuery();

int signCounts = 0;

if(rs.next()){

signCounts = rs.getInt("signCounts");

}

if(6 == signCounts){

result = true;

}

} catch (SQLException e) {

e.printStackTrace();

} finally {

mysql.releaseResource(conn, ps, rs);

}

return result;

}

----------------------------------------------------------------------------------------------------------------

//将文本消息保存到数据库

if(msgType.equals(MessageUtil.REQ_MESSAGE_TYPE_TEXT)){

String content = requestMap.get("Content");

if(content.equals("签到")){

boolean result = MySQLUtil.isTodaySigned(fromUserName);

if(!result){

boolean flag = MySQLUtil.isSevenSign(fromUserName, getMondayOfThisWeek()+" 00:00:00");

//连续7天签到,送12积分

if(flag){

MySQLUtil.saveWeixinSign(fromUserName, 12);

MySQLUtil.updateUserPoints(fromUserName, 12);

tm.setContent("签到成功!获得2个积分!"+"\n签到时间为:"+str+"\n本周连续7次签到,额外赠送10个积分!");

}

//每天签到送2积分

else{

MySQLUtil.saveWeixinSign(fromUserName, 2);

MySQLUtil.updateUserPoints(fromUserName, 2);

tm.setContent("签到成功!获得2积分"+"\n签到时间为:"+str);

}

}else{

tm.setContent("您今日已签到,明日再来吧!");

}

}else if(content.equals("查积分")){

String signPoints=MySQLUtil.searchjifen(fromUserName);

tm.setContent("您的当前积分为:"+signPoints+"积分");

}else{tm.setContent("暂时无此服务");}

}

Java一周签到一次_java做的一个简易的微信签到系统相关推荐

  1. 微信签到 表单 mysql_java做的一个简易的微信签到系统

    1.发送签到会提示你签到成功,并获得2积分 2.一天只能签到一次 3.连续一星期签到会额外送12个积分 4.可以查询你当前积分总数 效果图:本订阅好还在完善中,可能还不能用,不久后将会一步步完善功能, ...

  2. java设计按月每天签到_java微信签到功能实现:java做的一个简易的微信签到系统的案例...

    java微信签到功能实现,现在微信签到功能很流行,这个签到功能帮助微信用户更好的管理自己的微信公众号,那你想知道java微信签到功能如何实现呢,今天小编就特意为大家分享一个关于java微信签到功能实现 ...

  3. 微信字 签到 java_java微信签到功能实现:java做的一个简易的微信签到系统

    java微信签到功能实现,现在微信签到功能很流行,这个签到功能帮助微信用户更好的管理自己的微信公众号,那你想知道java微信签到功能如何实现呢,今天小编就特意为大家分享一个关于java微信签到功能实现 ...

  4. arduino智能浇花系统_解放双手!自己动手做一个简易智能浇花系统

    原标题:解放双手!自己动手做一个简易智能浇花系统 面对疫情,宅在家的我们可以以各种方式为战"疫"一线的医护工作者.紧急研究病毒的科研人员.口罩厂日夜工作的人们......加油打气. ...

  5. java 一周的第一天_Java获取某年某周的第一天

    Java获取某年某周的第一天 1.设计源代码 FirstDayOfWeek.java: /** * @Title:FirstDayOfWeek.java * @Package:com.you.free ...

  6. java猜数游戏图形界面_Java做一个猜数的小游戏

    @Author : By Runsen 效果展现 猜数字游戏是一个简单,有趣的小游戏.游戏者通过输入一个指定区间的数字,与系统产生的随机数进行对比,然后输出相应的结果. 游戏运行时产生一个0-10之间 ...

  7. java根据周数获取日期_java获取日期的周数和所属年份

    在项目中遇到需要导出excel表格   表格的标题需要根据数据来动态获取 格式为     2017年第 50  周计划检修申报.实施确认表 获取日期所属周数 Date date = new Date( ...

  8. java调用包中的类_java调用另一个包中的类的方法

    java调用另一个包中的类的方法 发布时间:2020-05-18 15:04:40 来源:亿速云 阅读:199 作者:小新 今天小编给大家分享的是java调用另一个包中的类的方法,相信很多人都不太了解 ...

  9. java达达租车接口_Java第一个项目——达达租车系统v1

    父类Vehicle package com.dada; public class Vehicle { protected String name;//车辆名称 protected int price; ...

最新文章

  1. phpMyAdmin 4.4.0 beta1 发布,MySQL 管理工具
  2. Android 在 SElinux下 如何获得对一个内核节点的访问权限
  3. HaoheDI让ETL变得简单
  4. iOS 里面如何使用第三方应用程序打开自己的文件,调用wps其他应用打开当前应用里面的的ppt doc xls...
  5. 算法(3)--leetcode-explore-learn-数据结构-数组1
  6. html文本弹性,HTML5 很有趣的文本蹦床/弹性弯曲动效
  7. python网页提交表单_Html表单——使用python在web页面上显示用户提交的数据
  8. python什么是入口文件_Python注释是什么东东
  9. Oracle 中文转拼音
  10. 一、初学计算机——认识键盘布局及快捷键使用
  11. 数据共享,如何拆掉那些“部门的墙”?by 傅一平
  12. Abnova 基因 FISH 探针丨CCND1(橙色)FISH 探针
  13. 11年小伙被武汉大学“录取”,上学4年后蒙了,学校:没录取你啊
  14. 关于笔记本电脑插上网线没反应的解决方案
  15. java怎么计算时间差_请问java怎么计算时间差
  16. SNMP介绍, OID及MIB库
  17. PTA--基础编程题目集(7-10 计算工资) Python版
  18. 前端:字符串正则表达式替换
  19. ORB-SLAM:精确多功能单目SLAM系统
  20. poscms会员登录方法

热门文章

  1. 2022-2028全球与中国客户忠诚度管理平台市场现状及未来发展趋势
  2. ZLIB压缩数据格式规范v3.3
  3. Kaggle案例之泰坦尼克船员幸存预测
  4. Consul 命令(CLI)
  5. Python OpenCV生成图片
  6. VIM插件安装和配置
  7. 中老年互联网经济成一片蓝海, 发展潜力究竟有多大?
  8. mysql获取前一个月的日期和前一年的日期
  9. html5微信适应暗黑模式,新版微信让人惊喜的不是黑暗模式,而是这个这个功能!实用性极强...
  10. 美的净味冰箱斩获德国iF设计奖,达到行业一级净味除菌除病毒标准