首页 > 其他分享 >钉钉日志推送实例

钉钉日志推送实例

时间:2023-05-30 15:13:53浏览次数:34  
标签:obj1 String 实例 new strb 日志 推送 append obj4

背景:jeecg boot集成钉钉小程序,进行日志填报,同时推送到钉钉日志系统给相关人员。主要方便日志问题的讨论,回复等。

效果:

 接口:

通过数据ID查找封装Marckdown方式进行推送;

public String doLogsDataDingtalk(String tableId, String toUsers) {         if (!thirdAppConfig.isDingtalkEnabled()) {             return null;         }         String accessToken = this.getAccessToken();         if (accessToken == null) {             return null;         }         try {             return sendMessage2(accessToken, tableId, toUsers);         } catch (Exception e) {             e.printStackTrace();         }         return null;     }   private String sendMessage2(String accessToken, String tableId, String toUsers) throws ApiException {         DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/report/create");         OapiReportCreateRequest req = new OapiReportCreateRequest();         OapiCreateReportParam obj1 = new OapiCreateReportParam();         List<OapiReportContentVo> list3 = new ArrayList<OapiReportContentVo>();         OapiReportContentVo obj4 = new OapiReportContentVo();// 内容         list3.add(obj4);         LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();         List<QualityTraceability> qualityTraceabilities = sysThirdAccountMapper.findQualityTraceabilityId(tableId);         if (qualityTraceabilities != null && qualityTraceabilities.size() > 0) {             QualityTraceability q = qualityTraceabilities.get(0);             SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");             StringBuilder strb = new StringBuilder();             strb.append("- **标题:**" + q.getTitle()).append("\n");             strb.append("- **详情说明:**" + q.getProblemDescribe()).append("\n");             strb.append("- **日志时间:**" + format.format(q.getProblemTime())).append("\n");             if (oConvertUtils.isNotEmpty(q.getOtherDescribe()))                 strb.append("- **其他描述:**" + q.getOtherDescribe()).append("\n");             if (oConvertUtils.isNotEmpty(q.getProblemFiles()) && q.getProblemFiles().contains("http")) {                 String[] problemFiles = q.getProblemFiles().split(",");                 strb.append("\n### **图片**:").append("\n");                 for (String problemFile : problemFiles) {                     strb.append("![图片](" + problemFile + ")").append("\n");                 }             }             obj4.setSort(7L);             obj4.setType(1L);             obj4.setContentType("markdown");             obj4.setContent(strb.toString());             obj4.setKey("日志内容");             //             obj1.setContents(list3);             String[] toUserss = toUsers.split(",");             List<String> toUserids = Arrays.asList(toUserss);             obj1.setToUserids(toUserids);             obj1.setTemplateId("1882de124f831b974c739354525b21d9");             obj1.setToChat(true);             obj1.setDdFrom("qrcode");             obj1.setUserid(sysUser.getUsername());             req.setCreateReportParam(obj1);             OapiReportCreateResponse rsp = client.execute(req, accessToken);             System.out.println(rsp.getBody());             return rsp.getBody();         }         return null;     }    

 

标签:obj1,String,实例,new,strb,日志,推送,append,obj4
From: https://www.cnblogs.com/baixiuhua/p/17443262.html

相关文章

  • Mysql Php 推送获取随机数据解决分页重复问题
    或许你已经看过很多博主写的文章,要不就是抄袭,要不就是给你一个下面的语句,随机是随机了,但是多来两页,你会发现前面出现的数据在第三页甚至第二页就出现了select*fromtableorderbyrand()这是因为rand()机制的问题,他每次都会打乱数据给你,然后你去取的时候0-10,11-20都有可能......
  • Git 拉取分支以及推送分支步骤
    一、git从指定分支拉取代码【前提:远程仓库已有你想拉取的分支,这里以develop分支为例】##首先确定想在哪个分支上拉代码,假设你想拉代码的分支是develop分支。第一步:在拉代码之前先查看以下自己所处的分支名称:gitbranchgitbranch命令解释:   gitbranch查看本地所有分支,其中有......
  • SpringBoot集成RocketMQ,rocketmq_client.log日志文件配置
    SpringBoot项目集成rocketmq-client<dependency><groupId>org.apache.rocketmq</groupId><artifactId>rocketmq-client</artifactId><version>4.7.0</version></dependency>项目启动时会在${user.home}/logs目录下创建一个roc......
  • Linux操作系统日志审计-关于secure和messages两个重要的日志的logrotate配置
    关于Linux操作系统中有两个日志非常的重要的,常常用来对操作系统的活动进行审计,两个日志文件分别是:/var/log/secure/var/log/messages 其中/var/log/secure是 securityandauthentication-relatedmessagesanderrors,安全与认证相关的信息和错误对于 /var/log/messages......
  • docker 实例网络异常占用
    首先删除无效容器或(如果您使用的是docker-composedockercontainerrm<container>docker-composerm<service>docker-compose)确保容器已消失:或者输出中不得有此类容器dockercontainerls|grep<container>docker-composeps|grep<container>现在它可能仍连接到网络,因此......
  • 达梦数据库表空间文件系统层面rm删除后,如果解决数据库日志报错问题
    问题场景:在系统层面rm删除掉了不需要的表空间文件,并非数据库内删除表空间文件,导致数据库报错日志过大。问题还原:新建2个测试用的表空间文件系统层面删除掉表空间文件 重启数据库服务后,数据库日志有相关报错信息停库转换dm.ctl文件为txt格式(生......
  • VST实例(5)节点(NODE) 二、节点的遍历
    二、节点的遍历每一个节点都有一个index值,用于描述其在相同level,相同父节点下的序号,但是,遍历时并不能利用这个值,因为这个值是变化的,当进行排序,插入节点、删除节点等等操作时,这个index会发生改变。同样的,vst.AbsoluteIndex(node)返回的是某一节点在VST中的绝对序号,也会在排序等......
  • VST实例(6) 节点(NODE) 特殊节点和节点的增减
    这一部分在程序中并未直接使用,只是对VST的一些特性进行讲解,不喜欢的可以跳过。三、特殊节点1、RootnodepropertyRootNode:PVirtualNode;rootnode不是一个具体的节点,是为了锚定树的层次结构,维护的一个内部树节点,这个节点大部分情况下与其他树节点一样,但有时会有不同的处理。......
  • VST实例(3)绘制VST
    在绘制以及事件中,需要明确两个名词:ITEM,通常指的是node,因为VST中一个节点就是一项。CELL(单元格),通常指的是一个VST下的某具体栏(column)。1、节点图标VST可以链接两组图标,分别是vst.Images;vst.StateImages;vst.Images用于存储VST的通用图标,而vst.StateImages用于存储在不同状......
  • vst实例(2) 创建VST
    前面我们知道,创建一个虚拟树,应该首先告知VST节点数据的大小(即nodedatasize),其实在创建树结构时,这一点并不是必须的,而是如果你需要让VST的每一个节点能指向一定的数据,从而在执行树的操作时,能用到这些数据,那么你最适合的方法是定义一个结构类型(record),然后让node.data指向这个record......