diff --git a/laws-modules-docking/src/main/java/com/jero/modules/docking/feishu/service/impl/FeiShuDockingServiceImpl.java b/laws-modules-docking/src/main/java/com/jero/modules/docking/feishu/service/impl/FeiShuDockingServiceImpl.java index 3a8f5e53..00e8edd6 100644 --- a/laws-modules-docking/src/main/java/com/jero/modules/docking/feishu/service/impl/FeiShuDockingServiceImpl.java +++ b/laws-modules-docking/src/main/java/com/jero/modules/docking/feishu/service/impl/FeiShuDockingServiceImpl.java @@ -479,10 +479,11 @@ public class FeiShuDockingServiceImpl implements IFeiShuDockingService { } } // 将url替换为单点登录的地址 - // 使用 URL 编码来处理特殊字符,将url替换为单点登录的地址 - String hrefUrl = URLEncoder.encode(botMessageDto.getHrefUrl(), "UTF-8"); - if (StringUtils.isNotBlank(hrefUrl)) { + if (StringUtils.isNotBlank(botMessageDto.getHrefUrl())) { + // 使用 URL 编码来处理特殊字符,将url替换为单点登录的地址 + String hrefUrl = URLEncoder.encode(botMessageDto.getHrefUrl(), "UTF-8"); hrefUrl = signLoginUrl.replace("{REDIRECT_URI}", hrefUrl); + botMessageDto.setHrefUrl(hrefUrl); } // 构建消息内容部分 JSONArray contentArray = new JSONArray(); @@ -494,10 +495,10 @@ public class FeiShuDockingServiceImpl implements IFeiShuDockingService { contentArray.add(textBeforeHrefObject); } // 构建超链接文本 - if (StringUtils.isNotBlank(botMessageDto.getHrefText()) && StringUtils.isNotBlank(hrefUrl)) { + if (StringUtils.isNotBlank(botMessageDto.getHrefText()) && StringUtils.isNotBlank(botMessageDto.getHrefUrl())) { JSONObject hrefContentObject = new JSONObject(); hrefContentObject.put("tag", "a"); - hrefContentObject.put("href", hrefUrl); + hrefContentObject.put("href", botMessageDto.getHrefUrl()); hrefContentObject.put("text", botMessageDto.getHrefText()); contentArray.add(hrefContentObject); } diff --git a/laws-modules-docking/src/main/java/com/jero/modules/docking/hiwork/handle/SendFeiShuHandle.java b/laws-modules-docking/src/main/java/com/jero/modules/docking/hiwork/handle/SendFeiShuHandle.java index bd5187d4..609efe41 100644 --- a/laws-modules-docking/src/main/java/com/jero/modules/docking/hiwork/handle/SendFeiShuHandle.java +++ b/laws-modules-docking/src/main/java/com/jero/modules/docking/hiwork/handle/SendFeiShuHandle.java @@ -4,15 +4,12 @@ import com.alibaba.fastjson.JSON; import com.jero.common.util.SpringContextUtils; import com.jero.modules.docking.feishu.dto.BotMessageDto; 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 lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.springframework.core.env.Environment; import org.springframework.stereotype.Service; -import javax.annotation.Resource; - /** * @Author: liao * @Date: 2023/10/17 11:23 @@ -27,10 +24,18 @@ public class SendFeiShuHandle implements ISendMsgHandle { IFeiShuDockingService bean = SpringContextUtils.getBean(IFeiShuDockingService.class); Environment env = SpringContextUtils.getBean(Environment.class); BotMessageDto botMessageDto = new BotMessageDto(); - botMessageDto.setHrefText(esContent); - botMessageDto.setHrefUrl(env.getProperty("feishu.redirect_prefix") + openPage); - botMessageDto.setTitle(esTitle); - botMessageDto.setReceiveIds(esReceiver); + if (StringUtils.isBlank(openType)) { + // 不带超链接的普通消息 + botMessageDto.setTextBeforeHref(esContent); + 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)); bean.sendHrefMessageByBot(botMessageDto); }