Merge remote-tracking branch 'origin/master'

This commit is contained in:
梁琦涛
2024-07-25 10:27:16 +08:00
15 changed files with 58 additions and 42 deletions
@@ -1,14 +1,15 @@
package com.jero.modules.feishu.controller;
package com.jero.modules.docking.feishu.controller;
import com.alibaba.fastjson.JSONObject;
import com.jero.common.api.vo.Result;
import com.jero.modules.feishu.dto.BotMessageDto;
import com.jero.modules.feishu.dto.InstanceDto;
import com.jero.modules.feishu.service.IFeiShuDockingService;
import com.jero.modules.feishu.vo.definition.ApprovalsDefinitionVo;
import com.jero.modules.docking.feishu.dto.BotMessageDto;
import com.jero.modules.docking.feishu.dto.InstanceDto;
import com.jero.modules.docking.feishu.service.IFeiShuDockingService;
import com.jero.modules.docking.feishu.vo.definition.ApprovalsDefinitionVo;
import io.swagger.annotations.Api;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
/**
@@ -1,4 +1,4 @@
package com.jero.modules.feishu.dto;
package com.jero.modules.docking.feishu.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -1,4 +1,4 @@
package com.jero.modules.feishu.dto;
package com.jero.modules.docking.feishu.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -1,10 +1,10 @@
package com.jero.modules.feishu.service;
package com.jero.modules.docking.feishu.service;
import com.alibaba.fastjson.JSONObject;
import com.jero.common.api.vo.Result;
import com.jero.modules.feishu.dto.BotMessageDto;
import com.jero.modules.feishu.dto.InstanceDto;
import com.jero.modules.feishu.vo.definition.ApprovalsDefinitionVo;
import com.jero.modules.docking.feishu.dto.BotMessageDto;
import com.jero.modules.docking.feishu.dto.InstanceDto;
import com.jero.modules.docking.feishu.vo.definition.ApprovalsDefinitionVo;
public interface IFeiShuDockingService {
@@ -1,4 +1,4 @@
package com.jero.modules.feishu.service.impl;
package com.jero.modules.docking.feishu.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
@@ -12,14 +12,14 @@ import com.jero.common.system.util.JwtUtil;
import com.jero.common.system.vo.SysDictItemCore;
import com.jero.common.util.RedisUtil;
import com.jero.common.util.oConvertUtils;
import com.jero.modules.feishu.dto.BotMessageDto;
import com.jero.modules.feishu.dto.InstanceDto;
import com.jero.modules.feishu.service.IFeiShuDockingService;
import com.jero.modules.feishu.vo.bot.BotMessageVo;
import com.jero.modules.feishu.vo.definition.*;
import com.jero.modules.feishu.vo.instance.ApprovalsInstanceVo;
import com.jero.modules.feishu.vo.instance.InstanceLink;
import com.jero.modules.feishu.vo.instance.InstanceTask;
import com.jero.modules.docking.feishu.dto.BotMessageDto;
import com.jero.modules.docking.feishu.dto.InstanceDto;
import com.jero.modules.docking.feishu.service.IFeiShuDockingService;
import com.jero.modules.docking.feishu.vo.bot.BotMessageVo;
import com.jero.modules.docking.feishu.vo.definition.*;
import com.jero.modules.docking.feishu.vo.instance.ApprovalsInstanceVo;
import com.jero.modules.docking.feishu.vo.instance.InstanceLink;
import com.jero.modules.docking.feishu.vo.instance.InstanceTask;
import com.jero.modules.system.entity.*;
import com.jero.modules.system.service.*;
import lombok.extern.slf4j.Slf4j;
@@ -35,7 +35,10 @@ import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;
import org.springframework.web.util.UriComponentsBuilder;
import javax.annotation.Resource;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.*;
import java.util.stream.Collectors;
@@ -249,7 +252,7 @@ public class FeiShuDockingServiceImpl implements IFeiShuDockingService {
}
}
private ApprovalsInstanceVo buildApprovalsInstanceVo(InstanceDto instanceDto) {
private ApprovalsInstanceVo buildApprovalsInstanceVo(InstanceDto instanceDto) throws Exception {
// 转换userId为飞书Id
// 发起人的id
String promoterUserId = instanceDto.getPromoterUserId();
@@ -291,25 +294,38 @@ public class FeiShuDockingServiceImpl implements IFeiShuDockingService {
if (StringUtils.isNotBlank(reviewPcLink)) {
reviewPcLinkList = Arrays.asList(reviewPcLink.split(","));
reviewPcLinkList = reviewPcLinkList.stream()
.map(link -> url.replace("{REDIRECT_URI}", link))
.collect(Collectors.toList());
.map(link -> {
try {
String encodedLink = URLEncoder.encode(link, "UTF-8");
return url.replace("{REDIRECT_URI}", encodedLink);
} catch (UnsupportedEncodingException e) {
return null;
}
}).collect(Collectors.toList());
}
// 审核人对应的 mobile 跳转地址
String reviewMobileLink = instanceDto.getReviewMobileLink();
List<String> reviewMobileLinkList = new ArrayList<>();
if (StringUtils.isNotBlank(reviewMobileLink)) {
reviewMobileLinkList = Arrays.asList(reviewMobileLink.split(","));
reviewMobileLinkList = reviewMobileLinkList.stream()
.map(link -> url.replace("{REDIRECT_URI}", link))
.collect(Collectors.toList());
.map(link -> {
try {
String encodedLink = URLEncoder.encode(link, "UTF-8");
return url.replace("{REDIRECT_URI}", encodedLink);
} catch (UnsupportedEncodingException e) {
return null;
}
}).collect(Collectors.toList());
}
// 发起人对应的pc的跳转地址
String promoterPcLink = instanceDto.getPromoterPcLink();
String promoterPcLink = URLEncoder.encode(instanceDto.getPromoterPcLink(), "UTF-8");
if (StringUtils.isNotBlank(promoterPcLink)) {
promoterPcLink = url.replace("{REDIRECT_URI}", promoterPcLink);
}
// 发起人移动端的跳转地址
String promoterMobileLink = instanceDto.getPromoterMobileLink();
String promoterMobileLink = URLEncoder.encode(instanceDto.getPromoterMobileLink(), "UTF-8");
if (StringUtils.isNotBlank(promoterMobileLink)) {
promoterMobileLink = url.replace("{REDIRECT_URI}", promoterMobileLink);
}
@@ -403,7 +419,8 @@ public class FeiShuDockingServiceImpl implements IFeiShuDockingService {
return;
}
// 将url替换为单点登录的地址
String hrefUrl = botMessageDto.getHrefUrl();
// 使用 URL 编码来处理特殊字符,将url替换为单点登录的地址
String hrefUrl = URLEncoder.encode(botMessageDto.getHrefUrl(), "UTF-8");
if (StringUtils.isNotBlank(hrefUrl)) {
hrefUrl = signLoginUrl.replace("{REDIRECT_URI}", hrefUrl);
}
@@ -570,7 +587,7 @@ public class FeiShuDockingServiceImpl implements IFeiShuDockingService {
return result;
}
private String translateDictValue(String code, String text, String table, String key, List<com.jero.common.system.vo.SysDictItemCore> listDict) {
private String translateDictValue(String code, String text, String table, String key, List<SysDictItemCore> listDict) {
if (oConvertUtils.isEmpty(key)) {
return null;
}
@@ -1,4 +1,4 @@
package com.jero.modules.feishu.vo.bot;
package com.jero.modules.docking.feishu.vo.bot;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -1,4 +1,4 @@
package com.jero.modules.feishu.vo.definition;
package com.jero.modules.docking.feishu.vo.definition;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -1,4 +1,4 @@
package com.jero.modules.feishu.vo.definition;
package com.jero.modules.docking.feishu.vo.definition;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -1,4 +1,4 @@
package com.jero.modules.feishu.vo.definition;
package com.jero.modules.docking.feishu.vo.definition;
import com.alibaba.fastjson.annotation.JSONField;
import io.swagger.annotations.ApiModelProperty;
@@ -1,4 +1,4 @@
package com.jero.modules.feishu.vo.definition;
package com.jero.modules.docking.feishu.vo.definition;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -1,4 +1,4 @@
package com.jero.modules.feishu.vo.definition;
package com.jero.modules.docking.feishu.vo.definition;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -1,6 +1,6 @@
package com.jero.modules.feishu.vo.instance;
package com.jero.modules.docking.feishu.vo.instance;
import com.jero.modules.feishu.vo.definition.DefinitionI18nResources;
import com.jero.modules.docking.feishu.vo.definition.DefinitionI18nResources;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -1,4 +1,4 @@
package com.jero.modules.feishu.vo.instance;
package com.jero.modules.docking.feishu.vo.instance;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -1,4 +1,4 @@
package com.jero.modules.feishu.vo.instance;
package com.jero.modules.docking.feishu.vo.instance;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -1,10 +1,8 @@
package com.jero.modules.feishu.vo.instance;
package com.jero.modules.docking.feishu.vo.instance;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* 任务列表
*/