# 业务集成使用

# 工程示例

系统应用集成示例工程打开 (opens new window)

# 概述

业务调用通知接口方式,通过此方式进行业务的集成调用和通知的管理

# 本内容你将获得

  • 通知服务的配置
  • 调用通知服务的方式
  • 通知接口服务的接口

# 当前集成的接口

通知集成的接口模式,打开 (opens new window)

添加 maven 依赖,如下:

<dependency>
  <groupId>com.alinesno.cloud.base.notice</groupId>
  <artifactId>alinesno-cloud-base-notice-api</artifactId>
  <version>${alinesno.cloud.version}</version>
</dependency>

# 阿里云

发送单个参数短信

SmsDto smsDto = new SmsDto() ;
smsDto.setAppCode("123456790988");
smsDto.setPhone("12345678901");
smsDto.setTemplateCode("SMS_126630218");

Map<String , Object> params = new HashMap<String , Object>() ;
params.put("code", 123654) ;
smsDto.setParams(params);

String result = HttpRequest.post(url + "aliyunSms/send")
        .header("Content-Type", "application/json")//头信息,多个头信息多次调用此方法即可
        .body(JSONObject.toJSONString(smsDto))
        .execute().body();

System.out.println(result);

发送多个参数短信

SmsDto smsDto = new SmsDto() ;
smsDto.setAppCode("985099861126807552");
smsDto.setPhone("12345678901");
smsDto.setTemplateCode("SMS_126580268");

Map<String , Object> params = new HashMap<String , Object>() ;
params.put("status", "success") ;
params.put("remark", "测试订单信息") ;
smsDto.setParams(params);

String result = HttpRequest.post(url + "aliyunSms/send")
        .header("Content-Type", "application/json")//头信息,多个头信息多次调用此方法即可
        .body(JSONObject.toJSONString(smsDto))
        .execute().body();

System.out.println(result);

发送阿里云邮箱

EmailDto dto = new EmailDto();

dto.setText("<!DOCTYPE html>\n"
  + "<html lang=\"en\">\n"
  + "<head>\n"
  + "    <meta charset=\"UTF-8\">\n"
  + "    <title>Title</title>\n"
  + "</head>\n"
  + "<style>\n"
  + "    p {text-indent:3em;}\n"
  + "</style>\n"
  + "<body>\n"
  + " \n"
  + "<div><b>标题:应用升级发布审核</b></div>\n"
  + "<p></p>\n"
  + "<div><b>内容:Dear ${name}</b></div>\n"
  + "<p><b>您好:有一个应用升级发布需要您的审核,请点击链接进行审核。</b></p>\n"
  + "<p><b>发起者:</b><a href=\"${email}\">${email}</a></p>\n"
  + "<p><b>项目名称:${projectName}</b></p>\n"
  + "<p><b>应用名称:${appName}</b></p>\n"
  + "<p><a href=\"${url}\" target=\"_blank\">${url}</a></p>\n"
  + "<p><b>请尽快审核,谢谢!</b></p>\n"
  + "<p>(系统发送,请勿直接回复)</p>\n"
  + " \n"
  + "</div>\n"
  + "</body>\n"
  + "</html>");
dto.setTitle("申请注册通知");
dto.setAppCode(appId);
dto.setTo("my_test@163.com");
dto.setFrom("acp_test_email@163.com");

String result = HttpRequest.post(url + "aliyunEmail/sendHtml").header("Content-Type", "application/json")// 头信息,多个头信息多次调用此方法即可
  .body(JSONObject.toJSONString(dto)).execute().body();

log.debug("sendResult:{}", result);

# 163 邮箱

发送文短信

EmailDto dto = new EmailDto();

dto.setText("您正在申请手机注册,验证码为:" + UUID.randomUUID());
dto.setTitle("申请注册通知");
dto.setAppCode(appId);
dto.setTo("my_test@163.com");
dto.setFrom("acp_test_email@163.com");

String result = HttpRequest.post(url + "163Email/sendText").header("Content-Type", "application/json")// 头信息,多个头信息多次调用此方法即可
    .body(JSONObject.toJSONString(dto)).execute().body();

log.debug("sendResult:{}", result);

# 钉钉

发送钉钉文本

DingTalkDto dto = new DingTalkDto() ;

dto.setText("elemet 弹容点击外部 自动关闭");
dto.setAppCode("123456790988");
dto.setAtPerson("12345678901");
dto.setAtAll("true");

String result = HttpRequest.post(url + "dingtalk/sendText")
          .header("Content-Type", "application/json")//头信息,多个头信息多次调用此方法即可
          .body(JSONObject.toJSONString(dto))
          .execute().body();

log.debug("sendResult:{}" , result);

发送 markdown 文本

DingTalkDto dto = new DingTalkDto() ;

dto.setTitle("监测预警");
dto.setMarkdown("#### 北京天气\r\n"
  + ">9度,西北风1级\r\n"
  + "> 空气良89\r\n"
  + "> 相对温度73%\n") ;
dto.setAppCode("123456790988");

String result = HttpRequest.post(url + "dingtalk/sendMarkdown")
          .header("Content-Type", "application/json")//头信息,多个头信息多次调用此方法即可
          .body(JSONObject.toJSONString(dto))
          .execute().body();

log.debug("sendResult:{}" , result);

发送 ActionCard 配置

DingTalkDto dto = new DingTalkDto() ;

dto.setTitle("监测预警");
dto.setText("elemet 弹容点击外部 自动关闭");
dto.setLink("http://alinesno-platform.linesno.com") ;
dto.setImagePath("http://alinesno-platform.linesno.com/logo.png") ;
dto.setAppCode("123456790988");

  String result = HttpRequest.post(url + "dingtalk/sendActionCard")
            .header("Content-Type", "application/json")//头信息,多个头信息多次调用此方法即可
            .body(JSONObject.toJSONString(dto))
            .execute().body();

log.debug("sendResult:{}" , result);

# 其它