工作随记-Java利用企业微信群机器人定时发送消息

这篇具有很好参考价值的文章主要介绍了工作随记-Java利用企业微信群机器人定时发送消息。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

hi,大家好,我是恰恰

阅读本文需要2分钟~

最近利用企业微信群机器人做的需求主要有

1.返奖率通知与告警:抽奖箱能抽出垃圾也能抽出大货,每隔5分钟查询一下这个返奖率,如果用户频繁抽出大货,这个抽奖箱的返奖率已经高出了阈值,那么我们就将其下架。

2.自动发送导表文件:关于运营每天都需要导表,我已俨然成为了一名导表侠,迫在眉睫我必须自我解放,所以可以利用机器人每天早上十点给运营们发送导表文件。

以自动发送导表文件为例 我需要把新注册的用户在平台消费大于等于50元的用户ID给到运营同学

开始写代码~

  • 新建一个类 把URL信息填充好
      /** 企业微信群上传文件url */
      public static final String UPLOAD_FILE_URL = "https://qyapi.weixin.qq.com/cgi-bin/webhook/upload_media?key=填你的机器人的key&type=file";
      /** 发送群消息url */
      public static final String SEND_MESSAGE_URL = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=填你的机器人的key";
    

    1.先筛选出消费大于等于50元用户的List,组装数据保存到电脑D盘(EasyUtil是一个把List导出到本地的工具)

  •       List<NewRegistrationUser> collect = resultList.stream().filter(r -> r.getOpenBoxAmount() + r.getDirectPurAmount() >= 50).collect(Collectors.toList());
    
          List<Map<String, Object>> list = new ArrayList<>();
        for (int i = 0; i < collect.size(); i++) {
          LinkedHashMap<String, Object> map = new LinkedHashMap<>();
          NewRegistrationUser user = collect.get(i);
          map.put("用户ID ", user.getUserId());
          map.put("付费金额", user.getOpenBoxAmount()+user.getDirectPurAmount());
          list.add(map);
        }
        List<String> arrayList = new ArrayList(list.get(0).keySet());
        //表头信息
        String head =date+"消费大于等于50元名单";
        EasyUtil.easyUtil(arrayList, head, list);
    

 2.先将文件上传到企微的文件上传接口里去,使用hutool发送Post请求,他会返回一个media_id,

   String path = "D:\\导表\\" + head + ".xlsx";
    // 上传文件
    HashMap<String, Object> sendMap = new HashMap<>();
    sendMap.put("file", FileUtil.file(path));
    String result = cn.hutool.http.HttpUtil.post(UPLOAD_FILE_URL,sendMap);
    JSONObject jsonObject = JSON.parseObject(result);
    Integer errcode = Integer.valueOf(jsonObject.get("errcode").toString());

3.如果code返回0说明文件上传成功,进行下一步把文件推送到企微

 if (errcode.equals(0)) {
      // 推送消息
      String mediaid = (String) jsonObject.get("media_id");

      Map<String,Object> mediaMap = new HashMap<>();
      mediaMap.put("media_id",mediaid);
      Map<String,Object> msgMap = new HashMap<>();
      msgMap.put("msgtype","file");
      msgMap.put("file",mediaMap);
      cn.hutool.http.HttpUtil.post(SEND_MESSAGE_URL, JSON.toJSONString(paramMap));
  

4.再发送一句文字消息

      HashMap<String, Object> paramMap = new HashMap<>();
      HashMap<String, Object> aMap = new HashMap<>();
      String format = String.format("%s | %s | %d ", date, newRegistrationUser.size(), collect.size());
      aMap.put("content", "导表小助手来咯~"+"\n"+"时间 | 新注册人数 | 消费大于等于50人数 \n" + String.join("\n", format));
      msgMap.put("text",aMap);
      paramMap.put("msgtype", "text");
      paramMap.put("text", aMap);
      cn.hutool.http.HttpUtil.post(SEND_MESSAGE_URL, JSON.toJSONString(paramMap));
    } 

效果就是这样的

工作随记-Java利用企业微信群机器人定时发送消息

5.如果是通知告警信息是个LIst就把文字组装成这样

 List<String> warnTexts = recordsList.stream().map(wi -> String.format("%s | %s | %d | %.2f%%", wi.getComboBoxId(), wi.getAdminUserName(),wi.getProfit(),wi.getProfitRate()).collect(Collectors.toList());
    HashMap<String, Object> paramMap = new HashMap<>();
    HashMap<String, Object> aMap = new HashMap<>();
    aMap.put("content", LocalDateTime.now() + "\n"+ "自动下架通知(请相关人员注意)~"+"\n" + "ID | 负责人 | 利润 | 利润率 \n" + String.join("\n", warnTexts));
    paramMap.put("msgtype", "text");
    paramMap.put("text", aMap);
    cn.hutool.http.HttpUtil.post(SEND_MESSAGE_URL, JSON.toJSONString(paramMap));

工作随记-Java利用企业微信群机器人定时发送消息

6.再写一个定时任务调一下咱们写的这个方法~就可以定时啦

//每天上午10点执行任务
 @Scheduled(cron = "0 0 10 * * ?")
  public void NewUserAmount(){
    //拉取前一天的数据
    newUserAmountService.NewUserAmount(LocalDate.now().minusDays(1));
  }

 ok,能帮助到你的话,给我点个赞哦!文章来源地址https://www.toymoban.com/news/detail-484715.html

到了这里,关于工作随记-Java利用企业微信群机器人定时发送消息的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 运用python实现企业微信群机器人消息推送

    使用场景 :将BI报表精准推送入(群),精准触达用户 目的 :提高管理层对数据的感知度 工具:python+企业微信 步骤: 1、创建企业微信群机器人,提取Webhook地址(群机器人地址) 2、编写代码填充推送内容信息实现推送 3、其他需求自定义代码编写 实现方法1–优化后 实现

    2024年02月16日
    浏览(26)
  • C#使用企业微信群机器人推送生产数据

        在日常的工作生产中,经常会有将将生产数据或者一些信息主动推送给相关的管理人员,我们公司在开发WMS系统时,为了仓库的储存安全,需要在危废品库存达到一定的储量时,自动通知仓管员去处理危废品,所以就需要程序自动的通过企业微信告知仓管员,这个时候就

    2024年02月10日
    浏览(40)
  • 企业微信群:机器人定时提醒功能数据库配置化

    目录 企微群机器人使用 APScheduler概要使用说明 cron方式设置 场景设置案例  表结构 代码 场景:对于周期性重复需要做的事情,每次都需要人工去提醒,容易忘记,而企业微信群可以添加群机器人,群机器人提供接口能力,按照接口格式说明把消息内容发到群里以及@相关人,

    2024年02月15日
    浏览(28)
  • Zabbix 6.4 版本企业微信群机器人报警配置

    从Zabbix 5.4升级后配置企业微信报警发下原来的脚本代码报错,搜索一圈发下使因为新版本对里面的部分代码不支持,几经周折终于找到这段可用的代码。 告警-媒介-创建媒介类型 直接添加webhook类型脚本 Token是企业微信内建好的机器人webhook地址后面的参数 其他照填,很简单

    2024年02月15日
    浏览(31)
  • Python实现企业微信群机器人自动化推送

    人工智能(Artificial Intelligence),英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。 ——《百度百科》 实际工作中,有类似这样的场景, 需要将某些通知信息定期发送到企业微信群,需要将公司某些指标的异

    2024年02月09日
    浏览(47)
  • Jenkins 获取 Git 的提交记录(变更记录)通过机器人发送到企业微信群中

    如上,第一个就是文本,实测可以使用# 标题栏, 引用 其他的可以自己研究下. 下面这个是插件企业微信插件.  ##下面说明下. 缘起:通过企业微信插件已经能够实现较简单且有去的构建发布信息了. 但是过于简单的输出信息且插件不能直接自定义 ##需求:         在现有插件输出的

    2024年02月16日
    浏览(33)
  • 搭建一个 MidJourney-微信群机器人

    知数云 MJ 微信群机器人,调用 Midjourney Imagine API 进行画图。 市面上价值XXXX的 MidJourney 微信群机器人,且用且珍惜。 需求 :mytimerun。 wechaty_puppet_service_token = “环境变量” zhishuyun_chatgpt_35_token = “GPT API 接口的 token” zhishuyun_midjourney_token = “MJ API 接口的 token” 执行代码前先设

    2024年02月16日
    浏览(34)
  • 智能二狗机器人使用攻略,微信群活跃助手

    群里聊天的人来来去去就那几个?聊来聊去都是一样的话题? 要怎么才能丰富社群的玩法体验,提高成语的积极性,打造99+社群呢? 别慌,让二狗机器人来拯救你的无聊! 数十款互动玩法,轻松玩转社群!牢牢粘住用户,让他们爱上群聊~ 1、互动小游戏 想找点乐子放松一下

    2024年02月08日
    浏览(66)
  • 封装Python脚本:使用企业微信机器人发送消息至企业微信

    官方文档地址:https://developer.work.weixin.qq.com/document/path/91770#%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E7%BE%A4%E6%9C%BA%E5%99%A8%E4%BA%BA 可以通过如下步骤设置企业微信机器人: 首先建立或者进入某个群聊 进入群聊设置页面, 点击“群机器人添加”可添加一个机器人成功 添加成功后,复制并保

    2024年02月09日
    浏览(26)
  • 企业微信创建群机器人步骤

    1.选择群,右键点击“管理聊天信息“   2.添加机器人的信息    3.创建好的机器人都有一个唯一的Webhook地址,点击Webhook地址就可以看到文档说明,自动推送消息需要自行开发。     开发者中心地址:https://developer.work.weixin.qq.com/

    2024年02月13日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包