第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > Java实现微信每天定时发送消息2.0 -- 柚子真好吃

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

时间:2020-05-23 04:42:27

相关推荐

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

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

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

一、实际效果

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

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

二、架构调整

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

三、数据库设计

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

四、核心代码

调度器调用任务

@Servicepublic 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();}}}

每日任务执行

@Datapublic 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);}}

机器人执行发送

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: /fsyxjwxw/WeChatRobot2.0/ 点击跳转

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。