java微信签到功能实现,现在微信签到功能很流行,这个签到功能帮助微信用户更好的管理自己的微信公众号,那你想知道java微信签到功能如何实现呢,今天小编就特意为大家分享一个关于java微信签到功能实现:java做的一个简易的微信签到系统的案例,有兴趣的宝宝们欢迎来阅读。

java做的一个简易的微信签到系统

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

2.一天只能签到一次

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

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

部分代码:

// 保存用户信息

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做的一个简易的微信签到系统希望能够对大家有帮助

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

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

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

  2. Java一周签到一次_java做的一个简易的微信签到系统

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

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

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

  4. java设计按月每天签到_java实现app签到功能

    本文实例为大家分享了java实现app签到功能的具体代码,供大家参考,具体内容如下 1.首先设计二张表,第一张表sign_calc记录用户连续签到次数,字段id,user_id,continue_da ...

  5. java设计课程数学生数_JAVA课程设计小学数学算数测试软件.pdf

    软 件 学 院 课程设计报告书 课程名称 面向对象程序设计 设计题目 小学数学测试软件 专业班级 学 号 姓 名 指导教师 2014 年 6 月 目 录 1 设计时间3 2 设计目的3 3 设计题目3 ...

  6. java什么时候用有参_Java有陷阱——慎用入参做返回值

    正常情况下,在Java中入参是不建议用做返回值的.除了造成代码不易理解.语义不清等问题外,可能还埋下了陷阱等你入坑. 问题背景 比如有这么一段代码: 上面代码,服务A希望调用服务B,以获取supply ...

  7. java实验报告 05 类与_java程序设计类与方法-java实验报告

    java程序设计类与方法-java实验报告 java程序设计类与方法-java实验报告 1. 实验内容或题目 (1) 编写Java应用程序,实现以下功能:当应用程序运行后,根据屏幕提示进行交互式输入并 ...

  8. java判断邮箱名和文件名_Java公开课|想学好Java,教你操作Java校验文件名和邮箱地址,快来看看...

    [摘要]作为一门面向对象编程语言,Java吸收了C++语言的优点,也展现了其强大的一面,我们能在各个地方看到其功能强大和简单易用的两个特征,当然,也吸引了很多程序员的注意力,所以就有人想了解Java的 ...

  9. 使用java实现面向对象编程第二章_java面向对象编程——第二章 java基础语法

    第二章 java基础语法 1.java关键字 abstract boolean break byte case catch char class const continue default do d ...

最新文章

  1. 如何在 CentOS 7 中安装或升级最新的内核
  2. 在Linux上限制远程登陆的IP
  3. [python] 3 、基于串口通信的嵌入式设备上位机自动测试程序框架(简陋框架)...
  4. html如何用v-for遍历,v-for循环遍历
  5. python退出程序-Python程序退出方式小结
  6. GC算法以及垃圾回收器
  7. .net Framework各个版本之间的发展
  8. 【转】OneDrive开发入门
  9. Android TextView 带背景的文字垂直方向显示(ems属性)
  10. Qt5下载与安装(Windows版)
  11. 解密SuperWebview的一种另类方法
  12. 如果出现 Cause: java.lang.ClassNotFoundException: Cannot find class: com.itheima.domian.User
  13. 数据管理知识体系指南(第二版)-第四章——数据架构-学习笔记
  14. 今天电脑突然出现问题: 请安装 TCP/IP 协议 错误 10106 【已解决·】
  15. 微信整人假红包图片_微信整人红包动态图如何制作 微信红包图片显示5秒后变成恶搞图或其它文字制作方法...
  16. 连接WiFi电脑却无法上网
  17. Djange构建招聘信息爬虫系统
  18. (十一)IPSec协议
  19. 将自己的 ubuntu 系统制作为ISO镜像
  20. 那些花儿!吉他简谱~

热门文章

  1. python t检验显著差异_Python整合方差齐性检验的t检验的小技巧
  2. (转)一致性哈希算法原理
  3. 机器人(ROS)理实融合课程设计与开展
  4. 云豹POSPAL软件及硬件设置方法
  5. js实现简单好玩儿的放大镜个人讲解
  6. 2021-05-01Java面试知识点
  7. 区块链项目如何开发?区块链APP和DAPP怎么做?
  8. 是用JDBC从数据库中获取数据并以java对象返回
  9. 具有生物启发训练方法的物理深度学习:物理硬件的无梯度方法
  10. Spring、SpringMVC、SpringBoot及其插件学习笔记集合(持续更新中....)