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

效果就是这样的

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));

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

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

ok,能帮助到你的话,给我点个赞哦!

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

  1. 如何使用企业微信群机器人定时发送消息

    场景描述: 每天早上8点钟通过企业微信群机器人发消息提醒大家打卡.在Aboter中该如何实现呢? 步骤: 首先创建一个IPaaS流程,触发条件组件编辑区选择[定时触发]类型.编辑区进行如下设置: 拖动 ...

  2. vuewebsocket做消息提醒_企业微信群怎么定时群发消息?如何突破群发次数限制?...

    文丨语鹦企服私域管家原创,未经授权不得转载 我们在使用企业微信做营销时,经常需要给客户群发通知或活动福利.企业微信提供多客户群群发工具,只需一键群发,即可通知到所有群.但遇上节假日或者忙碌的时候,定时 ...

  3. 钉钉群机器人定时发送消息并@所有人

    1.添加钉钉自定义群机器人 参考文章如下: 官方网址:https://open-doc.dingtalk.com/docs/doc.htm?spm=a219a.7629140.0.0.p2lr6t&a ...

  4. Python企业微信群机器人推送消息,定时提醒。

    import time import schedule import datetime from WorkWeixinRobot.work_weixin_robot import WWXRobotww ...

  5. Python实现企业微信群机器人自动化推送

    人工智能(Artificial Intelligence),英文缩写为AI.它是研究.开发用于模拟.延伸和扩展人的智能的理论.方法.技术及应用系统的一门新的技术科学. --<百度百科> 文 ...

  6. 企业微信群机器人是什么?企微机器人如何自动发消息?

    经常有很多用户会问我们,企业微信群机器人是什么,有什么用,有什么限制?企业微信群机器人提供的是一个webhook消息,如何可以通过这个来自动发消息呢?之前写过一些关于企业微信群机器人如何发消息的教程, ...

  7. [Java实战][仅需1步]企业微信群机器人[0基础接入]

    [仅需1步]企业微信群机器人[0基础接入][java] 背景 介绍 使用 测试 项目 背景 公司需要把日常的服务器错误抛到企业微信群中,我正好记录下使用企业微信群机器人- 介绍 企业微信群机器人 应用 ...

  8. 基于Java实现企业微信群聊机器人-文件上传+消息推送(保证可用)

    基于Java实现企业微信群聊机器人-文件上传+消息推送 1.pom.xml(注意版本尽量保持一致) 2.文件工具类 3.企业微信请求类 4.企业微信响应类 5.发送方法 6.企业微信机器人创建和配置 ...

  9. 【AIO】使用ORACLE数据库存储过程发送企业微信群机器人消息

    前言 为了对标阿里系的钉钉,腾讯于2016年4月18日推出了企业微信 专注企业内部通讯(目前已加入客户管理及客户通讯功能),替代原有的RTX腾讯通 企业微信由于微信的生态及其易用性,已被很多企业使用, ...

最新文章

  1. windows下安装mysql以及解决(MySQL 服务正在启动 . MySQL 服务无法启动。服务没有报告任何错误。)...
  2. 图卷积网络进行骨骼识别代码_【骨骼行为识别】2s-AGCN论文理解
  3. boost::gregorian模块实现日期相关的测试程序
  4. [Python MoviePy 音视频开发零基础到实战] 一、用6条代码为你的视频裁剪以及添加水印
  5. 数值和布尔值的解构赋值
  6. 非常好用的终端命令,稀饭~
  7. 微信图片怎么添加竖排文字_微信图文排版怎么在图片上加文字?
  8. 小米平板4刷recovery教程_小米平板4解锁刷入魔趣详细教程 米板4怎么解锁刷机
  9. 这2个PDF转Word免费不限页数工具很多人没用过
  10. 数据结构:单链表中在P结点前插入S结点
  11. STM32串口DMA方式接收数据。类似环形FIFO。超省CPU资源!
  12. Android生态系统分裂剖析 开放性系统带来的影响
  13. 小数点化分数的过程_小学数学分数和小数互化知识点归纳
  14. Android图片内存的计算
  15. USB简单介绍USB共享网络功能(一)
  16. 基于JAVA国产精品动漫网站计算机毕业设计源码+数据库+lw文档+系统+部署
  17. Mellanox网卡FW刷新步骤
  18. python如何显示时间_python显示当前时间
  19. 如何画西装外套?西装怎么画?
  20. COM新手入门知识点汇总

热门文章

  1. String类常用方法思维导图总结
  2. 那些著名的黑客事件 七
  3. python bind_Python tkinter之Bind(绑定事件)的使用示例
  4. 【Unity3D游戏开发】GameObject.Find()、Transform.Find查找隐藏对象 (十)
  5. postgresql空间操作
  6. 气压计 MS5611-01BA03 数据读取
  7. 与普通仓库相比,自动化立体库的优缺点
  8. 工商管理专业知识与实务(初级)【8】
  9. mysql相关的dll_libmysql_d.dll,下载,简介,描述,修复,等相关问题一站搞定_DLL之家
  10. win10下安装java