目录
一、业务需求
二、步骤
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
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(" | "); "); 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元时,提示如下:
相关阅读
发表评论