目录

一、业务需求

二、步骤

2.1 创建一个钉钉群

2.2 在钉钉群设置里找到机器人

​编辑 2.3 点击添加机器人,然后根据提示一路走到 自定义机器人。

​编辑 2.4  自定义机器人设置

 2.5 复制Url

三、钉钉自定义机器人发送信息参考文档

3.1 参考文档

 四、代码

4.1 描述

 4.2 当添加采购单超过2000元时,提示如下:

一、业务需求

 当新增采购单时候,单子价格超过2000元时在钉钉群里艾特所有人或者指定的某个人让他审核。

二、步骤

2.1 创建一个钉钉群

2.2 在钉钉群设置里找到机器人

 2.3 点击添加机器人,然后根据提示一路走到 自定义机器人。

 2.4  自定义机器人设置

 2.5 复制Url

三、钉钉自定义机器人发送信息参考文档

3.1 参考文档

 四、代码

4.1 描述

当我们点击新增采购单时候 在这个业务的service里添加发送钉钉消息的代码。

/**

* 添加采购单

* @param poMaster

* @return

* @throws SQLException

*/

public Integer insert(PoMaster poMaster) throws SQLException {

String poId = "PO" + DateUtil.format(DateUtil.date(), "yyyyMMddHHmmssSSS");

poMaster.setId(poId);

poMaster.setStatus(PoStatus.NEW.getCode());

poMaster.setPurchaser(LocalUserUtil.getLocalUser().getNickName());

poMaster.setLastUpdateBy(poMaster.getPurchaser());

//校验金额

List items = poMaster.getItems();

BigDecimal totalPrice = new BigDecimal(0);

for (PoItem item : items) {

totalPrice = totalPrice.add(item.getPrice().multiply(new BigDecimal(item.getQty())));

item.setPoId(poId);

}

//对比

if (totalPrice.compareTo(poMaster.getTotalPrice()) != 0) {

throw new BizException(601, "金额不正确");

}

Object that = this;

PoMasterService proxy = (PoMasterService) AopContext.currentProxy();

proxy.poSave(poMaster);

/**

* 1.发送邮箱请求审核

*/

// setEmail(poMaster);

/**

* 发送钉钉请求

*/

setDingDing(poMaster);

return 0;

}

/**

* 2.发送钉钉

*/

private void setDingDing(PoMaster poMaster) {

if (poMaster.getTotalPrice().doubleValue() > 2000) {

/** webtooken值*/

String url = "https://oapi.dingtalk.com/robot/send?access_token=cd2172799d13fd73eb8ed983af6bac2fc66940cf5fdb7384ab6d186ff56cfb3e";

// JSONObject代表一个JSON中的键值对象,这个对象以大括号包围,每个键值对使用,隔开,键与值使用

JSONObject msg = new JSONObject();

msg.set("at", new JSONObject().set("isAtAll", true));

msg.set("msgtype", "text");

msg.set("text",new JSONObject().set("content", "采购单" + poMaster.getId() + "需要您审核"));

/** 将json转为字符串*/

String json = JSONUtil.toJsonStr(msg);

String result = HttpRequest.post(url)

.body(json)

.execute().body();

JSONObject object = JSONUtil.parseObj(result);

log.debug("采购单{},发送邮件审核成功", poMaster.getId());

}else {

log.debug("采购单{},未达到下线金额,不用审核", poMaster.getId());

}

}

/**

* 添加采购单时候 超过2000员需要审核

* 2. 发送邮箱请求审核

*/

private void setEmail(PoMaster poMaster) {

if (poMaster.getTotalPrice().doubleValue() > 2000) {

MailAccount account = new MailAccount();

account.setHost("smtp.aliyun.com"); //阿里云的邮箱服务器地址

account.setPort(25);

account.setAuth(true);

account.setUser("814736551@aliyun.com");

account.setPass("Huang814736551");

account.setFrom("814736551@aliyun.com");

StringBuilder body = new StringBuilder();

body.append(StrUtil.format("

采购单:{},总金额:{}, 需要您的审核

", poMaster.getId(), poMaster.getTotalPrice()));

body.append("

");

body.append("

");

body.append("

");

body.append("

");

body.append("

");

body.append("

");

body.append("

");

poMaster.getItems().forEach(item -> {

body.append("

");

body.append("

");

body.append("

");

body.append("

");

body.append("

");

body.append("

");

});

body.append("

");

body.append("商品名称");

body.append("

");

body.append("采购数量");

body.append("

");

body.append("采购单价");

body.append("

");

body.append(" 商品金额");

body.append("

");

body.append(StrUtil.format("{}", item.getId(), item.getProductName()));

body.append("

");

body.append(item.getQty());

body.append("

");

body.append("¥" + item.getPrice());

body.append("

");

body.append("¥" + item.getPrice().multiply(new BigDecimal(item.getQty())));

body.append("

");

MailUtil.send(account, "1924337800@qq.com", "采购单审核-" + poMaster.getId(), body.toString(), true);

log.debug("采购单{},发送邮件审核成功", poMaster.getId());

} else {

log.debug("采购单{},未达到下线金额,不用审核", poMaster.getId());

}

}

 4.2 当添加采购单超过2000元时,提示如下:

相关阅读

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。