update:修改飞书普通消息推送

This commit is contained in:
sunzheng
2024-08-08 16:13:51 +08:00
parent 2564d796d7
commit 7536f0f9a4
2 changed files with 19 additions and 13 deletions
@@ -479,10 +479,11 @@ public class FeiShuDockingServiceImpl implements IFeiShuDockingService {
} }
} }
// 将url替换为单点登录的地址 // 将url替换为单点登录的地址
// 使用 URL 编码来处理特殊字符,将url替换为单点登录的地址 if (StringUtils.isNotBlank(botMessageDto.getHrefUrl())) {
String hrefUrl = URLEncoder.encode(botMessageDto.getHrefUrl(), "UTF-8"); // 使用 URL 编码来处理特殊字符,将url替换为单点登录的地址
if (StringUtils.isNotBlank(hrefUrl)) { String hrefUrl = URLEncoder.encode(botMessageDto.getHrefUrl(), "UTF-8");
hrefUrl = signLoginUrl.replace("{REDIRECT_URI}", hrefUrl); hrefUrl = signLoginUrl.replace("{REDIRECT_URI}", hrefUrl);
botMessageDto.setHrefUrl(hrefUrl);
} }
// 构建消息内容部分 // 构建消息内容部分
JSONArray contentArray = new JSONArray(); JSONArray contentArray = new JSONArray();
@@ -494,10 +495,10 @@ public class FeiShuDockingServiceImpl implements IFeiShuDockingService {
contentArray.add(textBeforeHrefObject); contentArray.add(textBeforeHrefObject);
} }
// 构建超链接文本 // 构建超链接文本
if (StringUtils.isNotBlank(botMessageDto.getHrefText()) && StringUtils.isNotBlank(hrefUrl)) { if (StringUtils.isNotBlank(botMessageDto.getHrefText()) && StringUtils.isNotBlank(botMessageDto.getHrefUrl())) {
JSONObject hrefContentObject = new JSONObject(); JSONObject hrefContentObject = new JSONObject();
hrefContentObject.put("tag", "a"); hrefContentObject.put("tag", "a");
hrefContentObject.put("href", hrefUrl); hrefContentObject.put("href", botMessageDto.getHrefUrl());
hrefContentObject.put("text", botMessageDto.getHrefText()); hrefContentObject.put("text", botMessageDto.getHrefText());
contentArray.add(hrefContentObject); contentArray.add(hrefContentObject);
} }
@@ -4,15 +4,12 @@ import com.alibaba.fastjson.JSON;
import com.jero.common.util.SpringContextUtils; import com.jero.common.util.SpringContextUtils;
import com.jero.modules.docking.feishu.dto.BotMessageDto; import com.jero.modules.docking.feishu.dto.BotMessageDto;
import com.jero.modules.docking.feishu.service.IFeiShuDockingService; import com.jero.modules.docking.feishu.service.IFeiShuDockingService;
import com.jero.modules.docking.hiwork.entity.LawsUnifiedTodoLog;
import com.jero.modules.docking.hiwork.service.LawsUnifiedTodoLogService;
import com.jero.modules.message.handle.ISendMsgHandle; import com.jero.modules.message.handle.ISendMsgHandle;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.core.env.Environment; import org.springframework.core.env.Environment;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/** /**
* @Author: liao * @Author: liao
* @Date: 2023/10/17 11:23 * @Date: 2023/10/17 11:23
@@ -27,10 +24,18 @@ public class SendFeiShuHandle implements ISendMsgHandle {
IFeiShuDockingService bean = SpringContextUtils.getBean(IFeiShuDockingService.class); IFeiShuDockingService bean = SpringContextUtils.getBean(IFeiShuDockingService.class);
Environment env = SpringContextUtils.getBean(Environment.class); Environment env = SpringContextUtils.getBean(Environment.class);
BotMessageDto botMessageDto = new BotMessageDto(); BotMessageDto botMessageDto = new BotMessageDto();
botMessageDto.setHrefText(esContent); if (StringUtils.isBlank(openType)) {
botMessageDto.setHrefUrl(env.getProperty("feishu.redirect_prefix") + openPage); // 不带超链接的普通消息
botMessageDto.setTitle(esTitle); botMessageDto.setTextBeforeHref(esContent);
botMessageDto.setReceiveIds(esReceiver); botMessageDto.setTitle(esTitle);
botMessageDto.setReceiveIds(esReceiver);
}else {
// 带超链接的跳转消息
botMessageDto.setHrefText(esContent);
botMessageDto.setHrefUrl(env.getProperty("feishu.redirect_prefix") + openPage);
botMessageDto.setTitle(esTitle);
botMessageDto.setReceiveIds(esReceiver);
}
log.info("飞书====================" + JSON.toJSONString(botMessageDto)); log.info("飞书====================" + JSON.toJSONString(botMessageDto));
bean.sendHrefMessageByBot(botMessageDto); bean.sendHrefMessageByBot(botMessageDto);
} }