吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3135|回复: 8
收起左侧

[Java 转载] Java实现倒计时和金山词霸每日一句发送到企业微信

   关闭 [复制链接]
无缺i 发表于 2022-1-8 17:29

Java实现倒计时和金山词霸每日一句发送到企业微信

使用企业微信每天自动发送倒计时和金山词霸每日一句
根据https://www.52pojie.cn/thread-1436999-1-1.html 修改

创建企业微信应用

注册企业

用电脑打开企业微信官网,注册一个企业

创建应用

注册成功后,点「管理企业」进入管理界面,选择「应用管理」 → 「自建」 → 「创建应用」

20210208143228

创建完成后进入应用详情页,可以得到应用ID( agentid ),应用Secret( secret ),复制并填到上方。

PS:获取应用Secret时,可能会将其推送到企业微信客户端,这时候微信里边是看不到的,需要在企业微信客户端里边才能看到。

image-20220108170159732

获取企业ID

进入「我的企业」页面,拉到最下边,可以看到企业ID,复制并填到上方。

推送消息到微信

进入「我的企业」 → 「微信插件」,拉到下边扫描二维码,关注以后即可收到推送的消息

image-20220108170410955

PS:如果出现接口请求正常,企业微信接受消息正常,个人微信无法收到消息的情况,请确认如下配置:

  • 进入「我的企业」 → 「微信插件」,拉到最下方,勾选「允许成员在微信插件中接收和回复聊天消息 」
  • 在企业微信客户端 「我」 → 「设置」 → 「新消息通知」中关闭「仅在企业微信中接受消息」限制条件

代码实现

导入hu-tool依赖

        <dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-all</artifactId>
            <version>5.7.15</version>
        </dependency>

代码

实现方法
public void cronWeChatMessage(){
        //访问金山词霸接口
        String dsapi = HttpRequest.get("https://open.iciba.com/dsapi/").execute().body();
        //使用hutool解析
        JSONObject dsapiJson = JSONUtil.parseObj(dsapi);
        //拼接字符串
        String text = dsapiJson.getStr("content") + "\n" + dsapiJson.getStr("note");
        //定义结束的时间
        String DateStr = "2022-06-07 08:00:00";
        Date endDate = DateUtil.parse(DateStr);
        //获取当前时间
        Date date = DateUtil.date();
        //计算时间差
        long day = DateUtil.between(date, endDate, DateUnit.DAY);
        //企业ID
        String corpid = "";
        //应用Secret
        String corpsecret = "";
        //获取token 获取到的token是有时间限制,因为这里每天只会执行一次,所以不用考虑过期的问题,每次执行重新获取token就行了
        String tokenBody = HttpRequest.get("https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=" + corpid + "&corpsecret=" + corpsecret).execute().body();
        String access_token = (String) JSONUtil.parseObj(tokenBody).get("access_token");
        //封装请求信息
        Map<String, Object> map = new HashMap<>();
        //发送给当前企业微信下的所有人
        map.put("touser","@all");
        //发送类型
        map.put("msgtype","textcard");
        //应用ID
        map.put("agentid",1000002);
        map.put("textcard",new WeChatCentent("距离专升本考试还剩"+ day +"天",text, "","无缺"));
        String s = JSONUtil.toJsonStr(map);
        HttpResponse response = HttpRequest.post(" https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=" + access_token).body(s).execute();
        StaticLog.info("response:{}",response.body());
    }
实体类
public class WeChatCentent implements Serializable {

    private String content;
    private String title;
    private String description;
    private String url;
    private String btntxt;

    public WeChatCentent(String content) {
        this.content = content;
    }

    public WeChatCentent(String title, String description, String url, String btntxt) {
        this.title = title;
        this.description = description;
        this.url = url;
        this.btntxt = btntxt;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    public String getBtntxt() {
        return btntxt;
    }

    public void setBtntxt(String btntxt) {
        this.btntxt = btntxt;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }
}

实现效果

<img src="http://ftp.25wz.cn/study/image-20220108171309461.png" alt="image-20220108171309461" style="zoom:50%;" />

程序包

蓝奏云

使用方法

打开jar包

  • config\config.properties文件中添加corpidcorpsecret
  • config\cron.setting文件中修改定时时间

在jar包当前所在目录下允许

java -jar cron.jar

免费评分

参与人数 2吾爱币 +2 热心值 +2 收起 理由
Kuroisora + 1 + 1 我很赞同!
laozhangty + 1 + 1 热心回复!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

PpaPingggg 发表于 2022-1-8 20:14
可以 收藏了
头像被屏蔽
fandy7 发表于 2022-1-8 21:34
laozhangty 发表于 2022-1-9 09:16
NCGZS 发表于 2022-5-4 17:01
jar包怎么打开,反编译吗
 楼主| 无缺i 发表于 2022-5-5 14:11
NCGZS 发表于 2022-5-4 17:01
jar包怎么打开,反编译吗

jar包用WinRAR之类的解压软件就可以打开
qq1230236 发表于 2022-6-2 17:07
能不能出个详细的教程,给我们小白看看,嘿嘿
zrf029 发表于 2023-7-26 17:36
学习学习
caivi 发表于 2023-7-26 18:39
学习一下
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 20:52

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表