Java实现微信每天定时发送消息2.0 -- 柚子真好吃

  • 一、实际效果
  • 二、架构调整
  • 三、数据库设计
  • 四、核心代码
  • 五、开源地址

一、实际效果

实现原理可参考1.0版本:点击跳转

内容可自定义,人员可自定义

二、架构调整

  1. 2.0版本采用Spring Boot 搭建服务;
  2. 定时任务采用quartz任务;
  3. 增加后台数据库架构;

三、数据库设计

r_admin      管理员信息
r_remind    消息记录
r_type      消息类型
r_user      用户信息

四、核心代码

  1. 调度器调用任务

    @Service
    public class EveryDayRemindServiceImpl implements EveryDayRemindService {@Resourceprivate RemindMapper remindMapper;@Overridepublic void executeEveryDayRemind() throws SchedulerException {//调度器SchedulerFactory sf = new StdSchedulerFactory();Scheduler sched = sf.getScheduler();//数据库结果集List<RemindVo> list = remindMapper.getEveryDayReminds();//遍历设定每日任务for (RemindVo remindVo : list) {JobDetail job = JobBuilder.newJob(EveryDayTask.class).withIdentity("everyDayJob", remindVo.getRemindId()).build();CronTrigger trigger = TriggerBuilder.newTrigger().withIdentity("everyDayTrigger", remindVo.getRemindId()).usingJobData("name", remindVo.getName()).usingJobData("toName", remindVo.getToName()).usingJobData("content", remindVo.getContent()).withSchedule(CronScheduleBuilder.cronSchedule(remindVo.getCron())).build();sched.scheduleJob(job, trigger);sched.start();}}
    }
    
  2. 每日任务执行

       @Data
    public class EveryDayTask implements Job {private String name;private String toName;private String content;@Overridepublic void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {WeChatRobot robot = new WeChatRobot();System.out.println("------------------消息发送------------------");System.out.println("发送时间:"+ DateUitls.getDate());System.out.println("发送人员:"+name);System.out.println("接收人员:"+toName);System.out.println("发送内容"+content);System.out.println("-------------------------------------------");robot.OpenWeChat();robot.ChooseFriends(toName);robot.SendMessage(content);}
    }
    
  3. 机器人执行发送

    public class WeChatRobot {private Robot bot = null;private Clipboard clip = null;public WeChatRobot() {try {this.clip = Toolkit.getDefaultToolkit().getSystemClipboard();this.bot = new Robot();} catch (AWTException e) {e.printStackTrace();}}public void OpenWeChat() {bot.keyPress(KeyEvent.VK_CONTROL);bot.keyPress(KeyEvent.VK_ALT);bot.keyPress(KeyEvent.VK_W);bot.keyRelease(KeyEvent.VK_CONTROL);bot.keyRelease(KeyEvent.VK_ALT);bot.delay(1000);}public void ChooseFriends(String name) {Transferable text = new StringSelection(name);clip.setContents(text, null);bot.delay(1000);bot.keyPress(KeyEvent.VK_CONTROL);bot.keyPress(KeyEvent.VK_F);bot.keyRelease(KeyEvent.VK_CONTROL);bot.delay(1000);bot.keyPress(KeyEvent.VK_CONTROL);bot.keyPress(KeyEvent.VK_V);bot.keyRelease(KeyEvent.VK_CONTROL);bot.delay(2000);bot.keyPress(KeyEvent.VK_ENTER);}public void SendMessage(String message) {Transferable text = new StringSelection(message);clip.setContents(text, null);bot.delay(1000);bot.keyPress(KeyEvent.VK_CONTROL);bot.keyPress(KeyEvent.VK_V);bot.keyRelease(KeyEvent.VK_CONTROL);bot.delay(1000);bot.keyPress(KeyEvent.VK_ENTER);bot.delay(1000);bot.keyPress(KeyEvent.VK_CONTROL);bot.keyPress(KeyEvent.VK_ALT);bot.keyPress(KeyEvent.VK_W);bot.keyRelease(KeyEvent.VK_CONTROL);bot.keyRelease(KeyEvent.VK_ALT);}
    }
    

五、开源地址

github: https://github.com/fsyxjwxw/WeChatRobot2.0/ 点击跳转

Java实现微信每天定时发送消息2.0 -- 柚子真好吃相关推荐

  1. 企业微信如何定时发送消息?

    为了增进与客户之间的往来,提高客户活跃度,我们要与客户时刻保持接触.那么为了有计划的与客户保持联系,可不可以在企业微信中设置消息的定时发送呢? 实际上,企业微信无法定时发送消息,但我们可以通过使用第三 ...

  2. Windows下企业微信机器人定时发送消息

    Windows下企业微信机器人定时发送消息提醒(小白篇) - 简书 Windows terminal使用curl出现错误 - 简书 $url = "https://qyapi.weixin. ...

  3. python微信定时发消息_python实现给微信指定好友定时发送消息

    微信如何在设定时间自动发送信息给指定好友 微信没有定时发送信息的功能,但是可以借助小程序. 世界上最遥远的距离,不是生与死,而是小编就站在你面前,你却不知道小编爱你. 打开微信之后在搜索小程序中输入蜗 ...

  4. java实现如何定时给微信群中发送消息

    大家好,我是雄雄. 前言 前几天,发了一个系列这样的文章,如下所示: java实现每日给女友微信发送早安等微信信息 java实现给微信群中定时推送消息 如何将每日新闻添加到自己博客中,发送到微信群中 ...

  5. MeterSphere实现“机器人定时在企业微信群中发送消息”功能

    背景 之前有过用PowerShell实现"机器人定时在企业微信群中发送消息"功能,并有输出相关教程. 但发现有一些问题:比如电脑关机了导致任务不能如期启动,于是在摸索中找到可替代P ...

  6. PowerShell实现“机器人定时在企业微信群中发送消息”功能(下)

    本章实现 由于篇幅较多,会拆分为上.下两部分来写. 本章实现: 06.机器人定时在企业微信群中发送消息功能 上章实现 01.如何在企业微信中添加群机器人 02.简单用机器人发送一条消息(postman ...

  7. PowerShell实现“机器人定时在企业微信群中发送消息”功能(上)

    本章实现 由于篇幅较多,会拆分为上.下两部分来写. 本章实现: 01.如何在企业微信中添加群机器人 02.简单用机器人发送一条消息(postman实现) 03.powershell打开 04.简单用机 ...

  8. Python微信操控itchat定时发送消息

    前言 itchat是一个开源的个人微信接口,利用itchat可以实现例如微信自动回复,定时发送信息.详细可查看itchat项目文档,这里我只介绍一些简单的操作,并用10行代码完成定时发送消息. 安装 ...

  9. 微信小程序订阅消息定时发送消息

    微信小程序订阅消息定时发送消息 本人专注使用云开发,实现一个前端可以做后端以及整个项目的部署与上线. 如果觉得我讲的好就可以给我点个赞.也可以加我微信了解详情. 1.我们先要了解什么是订阅消息 而现在 ...

最新文章

  1. 模板 - AC自动机
  2. zabbix对一台主机监控的操作
  3. 《银河英雄传说》杨威利经典语录1(田中芳树最经典的作品,我顶级拥护!有志同道合的一定要来给我留言!)...
  4. 开发板、Windows、Ubuntu三者互联——韦东山嵌入式Linux学习笔记08
  5. @新金融人,点击翻开未来金融新画卷
  6. Java中的证书透明度验证
  7. D3D9 effect (hlsl)(转)
  8. 自由动力论坛一枝花,全靠汇道童鞋来当家
  9. 部门日报系统部署备忘录
  10. 如何删除在Github中创建的项目
  11. 只加两行代码,为什么用了整整两天时间?
  12. python热力图美化_python如何画热力图?
  13. P. Laguna/Evaluation of an Automatic Threshold Based Detector of Waveform Limits in Holter ECG
  14. 半正定矩阵的对角元素不小于该矩阵的最小特征值
  15. CTFHub技能书解题笔记-信息泄露-备份文件下载-网站源码
  16. 115网盘视频播放速度调节
  17. mysql lob字段_数据库的LOB大字段的一些总结
  18. 指令能被计算机硬件理解并执行,计算机
  19. mysql stop failed_Mysql报错:Failed to stop mysqld.service: Unit mysqld.service not loaded.
  20. 升级iOS CocoaPods 版本

热门文章

  1. day17正则表达式
  2. 使用hls.js播放m3u8视频流
  3. 2007年08月《安全天下事》
  4. 《笑傲江湖》VR电影版要来了
  5. 短视频运营小技巧,如何做好内容策划?可以从三个方面出发
  6. 为什么思考会让人感到精疲力尽
  7. Do not use “// @ts-ignore“ because it alters compilation errors问题的处理
  8. 虚拟数字人的商业价值
  9. 旺旺老师JavaSE基础第一章(06)Java编译器(上)
  10. HDU 6917 Shorten the array(构造)