最近在跟男朋友做一个卖房租房的小程序(男朋友妈妈是中介,我是免费劳动力),其实一般找中介,说出你的期望租金,房屋范围,房子大小,中介就开始狂发图片,我觉得还蛮辛苦的.
这次做的小程序呢,是用户在app提交了需求,然后我把这个需求发送到钉钉里面,员工可以看这个用户的需求.
首先,钉钉群新增一个机器人,获取webhook,接下来发钉钉会用到

然后开始编码部分
DingTalkRobot .java

package com.jiujiu.hmini.dingtalk;import com.alibaba.fastjson.JSON;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;import java.io.*;
import java.net.URL;
import java.net.URLConnection;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;public class DingTalkRobot {private static Logger logger = LoggerFactory.getLogger(DingTalkRobot.class);/*** 发送POST请求,参数是Map, contentType=x-www-form-urlencoded** @param url* @param mapParam* @return*/public static String sendPostByMap(String url, Map<String, Object> mapParam) {Map<String, String> headParam = new HashMap();headParam.put("Content-type", "application/json;charset=UTF-8");return sendPost(url, mapParam, headParam);}/*** 向指定 URL 发送POST方法的请求** @param url   发送请求的 URL* @param param 请求参数,* @return 所代表远程资源的响应结果*/public static String sendPost(String url, Map<String, Object> param, Map<String, String> headParam) {PrintWriter out = null;BufferedReader in = null;String result = "";try {URL realUrl = new URL(url);// 打开和URL之间的连接URLConnection conn = realUrl.openConnection();// 设置通用的请求属性 请求头conn.setRequestProperty("accept", "*/*");conn.setRequestProperty("connection", "Keep-Alive");conn.setRequestProperty("user-agent","Fiddler");if (headParam != null) {for (Entry<String, String> entry : headParam.entrySet()) {conn.setRequestProperty(entry.getKey(), entry.getValue());}}// 发送POST请求必须设置如下两行conn.setDoOutput(true);conn.setDoInput(true);// 获取URLConnection对象对应的输出流out = new PrintWriter(conn.getOutputStream());// 发送请求参数out.print(JSON.toJSONString(param));// flush输出流的缓冲out.flush();// 定义BufferedReader输入流来读取URL的响应in = new BufferedReader(new InputStreamReader(conn.getInputStream()));String line;while ((line = in.readLine()) != null) {result += line;}} catch (Exception e) {logger.info("发送 POST 请求出现异常!" + e);e.printStackTrace();}//使用finally块来关闭输出流、输入流finally {try {if (out != null) {out.close();}if (in != null) {in.close();}} catch (IOException ex) {ex.printStackTrace();}}return result;}
}

测试代码
钉钉机器人@所有人

package com.jiujiu.hmini.dingtalk;import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;import java.util.HashMap;
import java.util.Map;//我加了注解因为别的地方会引用他
//@Component
public class SendDingTalk {private static Logger logger = LoggerFactory.getLogger(SendDingTalk.class);public void send(DingMsg dingMsg) {logger.info("发送至钉钉的信息为" +dingMsg);String dingDingToken="https://oapi.dingtalk.com/robot/send?access_token=5bac7ff919e511aa344c5fbe107f3e75b8ec990a7debba0b9da492fe69e538bb";Map<String,Object> json = new HashMap();Map<String,Object> text = new HashMap();Map<String,Boolean> at = new HashMap<>();json.put("msgtype","text");text.put("content","久久信息,有顾客来新订单啦!" + "\n" +dingMsg.getType() + "\n" +"姓名:" + dingMsg.getUserName() +"\n"+"手机号码:" + dingMsg.getMobile() + "\n" +"期望价格:" +dingMsg.getPrice() + "元" + "\n" +"期望面积:" + dingMsg.getArea() + "平方米" + "\n");json.put("text",text);at.put("isAtAll", true);json.put("at", at);logger.info(String.valueOf(json));// 发送post请求String response = DingTalkRobort.sendPostByMap(dingDingToken, json);System.out.println("相应结果:"+response);}
}

最后效果

参考链接

https://www.cnblogs.com/zhouheblog/p/11058817.html

自定义钉钉机器人发消息@所有人相关推荐

  1. 使用钉钉发送消息(可用于 服务异常通知、定时任务异常通知 等等...)

    一.前言 服务器上有时 定时任务.重要接口 等出现异常,导致数据不正常,不能及时通知到服务负责人,及时处理问题.所以引入"钉钉"作为通知工具,当服务出现异常便可立即收到通知,及时处 ...

  2. android gradle自定义钉钉群提醒

    转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/122970426 本文出自[赵彦军的博客] 今天接到一个需求,写一个 gradle ...

  3. 1.Python相关---钉钉报警及邮件发送

    1.1-钉钉报警 参考官方文档:https://open.dingtalk.com/document/orgapp/custom-robot-access 调用频率限制: 由于消息发送太频繁会严重影响 ...

  4. 【钉钉-场景化能力包】钉钉群机器人助力工单管理

    客户痛点 工单维修是企业售后管理的重要一环,随着公司业务的快速发展,工单处理数量迅速上升,采用纸质工单方式反馈流程长,人工处理误差大且难以及时统计员工的工作情况,因此越发难以满足企业客户服务的需求,尤 ...

  5. 怎么用python编写个apk_【android】如何利用python做Android项目自动化构建,并一键实现构建结果发送到钉钉通知以及通过二维码下载apk或者其他处理等功能...

    今天我们来谈一谈用python做Android项目自动化构建的过程.我们知道在常规的Android开发过程中,开发人员打包的时候需要在Android Studio当中进行,或者通过gradle命令,但 ...

  6. 网站项目通过钉钉机器人向钉钉群发送信息

    项目使用场景描述 PC网站内填好的数据发送至钉钉群,以钉钉机器人卡片形式发送 样例如图: 开发思路 首先我使用的是vue前端和egg.js后端(基于node.js) 开发思路流程: 网页内填写数据(表 ...

  7. 钉钉机器人给指定人发消息

    钉钉机器人给指定人发消息 前言 一.官方网址 二.结合Jave代码 总结 前言 在某个业务执行成功后通过钉钉群给指定人发送消息 一.官方网址 https://ding-doc.dingtalk.com ...

  8. 自定义钉钉机器人消息提示

    文章目录 1.开启钉钉机器人 2.postman测试 3.curl测试 4.java测试 官方参考:https://developers.dingtalk.com/document/app/custo ...

  9. 钉钉自定义机器人配合SVN钩子事件进行消息的推送实践

    目前很多公司还是使用SVN(TortoiseSVN)进行版本控制,使用简单,适合管理一般项目.协同办公软件目前钉钉比较成熟,阿里也一直在宣传推广,这两年公司也在使用,主要用于信息的沟通,其它的绩效.考 ...

最新文章

  1. 为什么batchnormalize 有效
  2. 避免误删文件:Linux回收站机制
  3. 探究platform_driver中“多态”思想
  4. 安装一个插件、回馈给你一款属于猿的绚丽浏览器
  5. Scylla——开源免费的优秀代理 IP 池:自动验证、JSON API、基于 React 的 Web UI、Docker 支持...
  6. MIT软件构造 -- ADT Patterns: Interfaces, Generics, and Enums
  7. Linux命令每五分钟执行一次,Linux crontab 每5秒钟执行一次 shell 脚本 的方法
  8. 上传文件应注意的异常:FileUpLoad控件.
  9. MATLAB实现频数直方图——hist的使用
  10. windows系统搭建图像识别开发环境
  11. 【环境配置】Visual Studio opencv配置
  12. 阿肯色大学计算机,阿肯色大学怎么样?
  13. Android 桌面小部件的背景透明度及颜色的动态实现
  14. 电子护照阅读器现身出入境办证大厅
  15. 忘记Jenkins管理员密码的解决办法
  16. 生活大爆炸第四季 那些精妙的台词翻译
  17. java 圆类 圆锥类_喉室位于_java程序设计答案_学小易找答案
  18. 设置IE文档模式解决IE浏览器兼容性
  19. WinForm制作定时显示基金净值的桌面小工具
  20. 如何找回word文档的打开密码

热门文章

  1. Android 常见的透明度颜色值ARGB 半透明 全透明
  2. BZOJ 2243: [SDOI2011]染色
  3. Sniffer报文放送
  4. AAM(Active Appearance Model)算法介绍
  5. 如何写好一篇论文——闵老师《论文写作》心得
  6. 2020民泰银行软件测试,2020应届生银行工作一个半月感受
  7. 坐标范围计算显示缩放级别zoom自适应显示地图
  8. 方根法公式_层次分析法中用方根法计算权重在Excel中的具体操作
  9. Vue+SpringBoot实现Excel在线预览功能(PS:添加样式比较费劲)
  10. kettle与MySQL数据库建立连接教程