Merge remote-tracking branch 'origin/master'
This commit is contained in:
+6
-5
@@ -1,14 +1,15 @@
|
|||||||
package com.jero.modules.feishu.controller;
|
package com.jero.modules.docking.feishu.controller;
|
||||||
|
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.jero.common.api.vo.Result;
|
import com.jero.common.api.vo.Result;
|
||||||
import com.jero.modules.feishu.dto.BotMessageDto;
|
import com.jero.modules.docking.feishu.dto.BotMessageDto;
|
||||||
import com.jero.modules.feishu.dto.InstanceDto;
|
import com.jero.modules.docking.feishu.dto.InstanceDto;
|
||||||
import com.jero.modules.feishu.service.IFeiShuDockingService;
|
import com.jero.modules.docking.feishu.service.IFeiShuDockingService;
|
||||||
import com.jero.modules.feishu.vo.definition.ApprovalsDefinitionVo;
|
import com.jero.modules.docking.feishu.vo.definition.ApprovalsDefinitionVo;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
package com.jero.modules.feishu.dto;
|
package com.jero.modules.docking.feishu.dto;
|
||||||
|
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
package com.jero.modules.feishu.dto;
|
package com.jero.modules.docking.feishu.dto;
|
||||||
|
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
+4
-4
@@ -1,10 +1,10 @@
|
|||||||
package com.jero.modules.feishu.service;
|
package com.jero.modules.docking.feishu.service;
|
||||||
|
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.jero.common.api.vo.Result;
|
import com.jero.common.api.vo.Result;
|
||||||
import com.jero.modules.feishu.dto.BotMessageDto;
|
import com.jero.modules.docking.feishu.dto.BotMessageDto;
|
||||||
import com.jero.modules.feishu.dto.InstanceDto;
|
import com.jero.modules.docking.feishu.dto.InstanceDto;
|
||||||
import com.jero.modules.feishu.vo.definition.ApprovalsDefinitionVo;
|
import com.jero.modules.docking.feishu.vo.definition.ApprovalsDefinitionVo;
|
||||||
|
|
||||||
public interface IFeiShuDockingService {
|
public interface IFeiShuDockingService {
|
||||||
|
|
||||||
+35
-18
@@ -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.JSON;
|
||||||
import com.alibaba.fastjson.JSONArray;
|
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.system.vo.SysDictItemCore;
|
||||||
import com.jero.common.util.RedisUtil;
|
import com.jero.common.util.RedisUtil;
|
||||||
import com.jero.common.util.oConvertUtils;
|
import com.jero.common.util.oConvertUtils;
|
||||||
import com.jero.modules.feishu.dto.BotMessageDto;
|
import com.jero.modules.docking.feishu.dto.BotMessageDto;
|
||||||
import com.jero.modules.feishu.dto.InstanceDto;
|
import com.jero.modules.docking.feishu.dto.InstanceDto;
|
||||||
import com.jero.modules.feishu.service.IFeiShuDockingService;
|
import com.jero.modules.docking.feishu.service.IFeiShuDockingService;
|
||||||
import com.jero.modules.feishu.vo.bot.BotMessageVo;
|
import com.jero.modules.docking.feishu.vo.bot.BotMessageVo;
|
||||||
import com.jero.modules.feishu.vo.definition.*;
|
import com.jero.modules.docking.feishu.vo.definition.*;
|
||||||
import com.jero.modules.feishu.vo.instance.ApprovalsInstanceVo;
|
import com.jero.modules.docking.feishu.vo.instance.ApprovalsInstanceVo;
|
||||||
import com.jero.modules.feishu.vo.instance.InstanceLink;
|
import com.jero.modules.docking.feishu.vo.instance.InstanceLink;
|
||||||
import com.jero.modules.feishu.vo.instance.InstanceTask;
|
import com.jero.modules.docking.feishu.vo.instance.InstanceTask;
|
||||||
import com.jero.modules.system.entity.*;
|
import com.jero.modules.system.entity.*;
|
||||||
import com.jero.modules.system.service.*;
|
import com.jero.modules.system.service.*;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
@@ -35,7 +35,10 @@ import org.springframework.http.ResponseEntity;
|
|||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.web.client.RestTemplate;
|
import org.springframework.web.client.RestTemplate;
|
||||||
import org.springframework.web.util.UriComponentsBuilder;
|
import org.springframework.web.util.UriComponentsBuilder;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
import java.io.UnsupportedEncodingException;
|
||||||
|
import java.net.URLEncoder;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
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
|
// 转换userId为飞书Id
|
||||||
// 发起人的id
|
// 发起人的id
|
||||||
String promoterUserId = instanceDto.getPromoterUserId();
|
String promoterUserId = instanceDto.getPromoterUserId();
|
||||||
@@ -291,25 +294,38 @@ public class FeiShuDockingServiceImpl implements IFeiShuDockingService {
|
|||||||
if (StringUtils.isNotBlank(reviewPcLink)) {
|
if (StringUtils.isNotBlank(reviewPcLink)) {
|
||||||
reviewPcLinkList = Arrays.asList(reviewPcLink.split(","));
|
reviewPcLinkList = Arrays.asList(reviewPcLink.split(","));
|
||||||
reviewPcLinkList = reviewPcLinkList.stream()
|
reviewPcLinkList = reviewPcLinkList.stream()
|
||||||
.map(link -> url.replace("{REDIRECT_URI}", link))
|
.map(link -> {
|
||||||
.collect(Collectors.toList());
|
try {
|
||||||
|
String encodedLink = URLEncoder.encode(link, "UTF-8");
|
||||||
|
return url.replace("{REDIRECT_URI}", encodedLink);
|
||||||
|
} catch (UnsupportedEncodingException e) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}).collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
|
|
||||||
// 审核人对应的 mobile 跳转地址
|
// 审核人对应的 mobile 跳转地址
|
||||||
String reviewMobileLink = instanceDto.getReviewMobileLink();
|
String reviewMobileLink = instanceDto.getReviewMobileLink();
|
||||||
List<String> reviewMobileLinkList = new ArrayList<>();
|
List<String> reviewMobileLinkList = new ArrayList<>();
|
||||||
if (StringUtils.isNotBlank(reviewMobileLink)) {
|
if (StringUtils.isNotBlank(reviewMobileLink)) {
|
||||||
reviewMobileLinkList = Arrays.asList(reviewMobileLink.split(","));
|
reviewMobileLinkList = Arrays.asList(reviewMobileLink.split(","));
|
||||||
reviewMobileLinkList = reviewMobileLinkList.stream()
|
reviewMobileLinkList = reviewMobileLinkList.stream()
|
||||||
.map(link -> url.replace("{REDIRECT_URI}", link))
|
.map(link -> {
|
||||||
.collect(Collectors.toList());
|
try {
|
||||||
|
String encodedLink = URLEncoder.encode(link, "UTF-8");
|
||||||
|
return url.replace("{REDIRECT_URI}", encodedLink);
|
||||||
|
} catch (UnsupportedEncodingException e) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}).collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
// 发起人对应的pc的跳转地址
|
// 发起人对应的pc的跳转地址
|
||||||
String promoterPcLink = instanceDto.getPromoterPcLink();
|
String promoterPcLink = URLEncoder.encode(instanceDto.getPromoterPcLink(), "UTF-8");
|
||||||
if (StringUtils.isNotBlank(promoterPcLink)) {
|
if (StringUtils.isNotBlank(promoterPcLink)) {
|
||||||
promoterPcLink = url.replace("{REDIRECT_URI}", promoterPcLink);
|
promoterPcLink = url.replace("{REDIRECT_URI}", promoterPcLink);
|
||||||
}
|
}
|
||||||
// 发起人移动端的跳转地址
|
// 发起人移动端的跳转地址
|
||||||
String promoterMobileLink = instanceDto.getPromoterMobileLink();
|
String promoterMobileLink = URLEncoder.encode(instanceDto.getPromoterMobileLink(), "UTF-8");
|
||||||
if (StringUtils.isNotBlank(promoterMobileLink)) {
|
if (StringUtils.isNotBlank(promoterMobileLink)) {
|
||||||
promoterMobileLink = url.replace("{REDIRECT_URI}", promoterMobileLink);
|
promoterMobileLink = url.replace("{REDIRECT_URI}", promoterMobileLink);
|
||||||
}
|
}
|
||||||
@@ -403,7 +419,8 @@ public class FeiShuDockingServiceImpl implements IFeiShuDockingService {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// 将url替换为单点登录的地址
|
// 将url替换为单点登录的地址
|
||||||
String hrefUrl = botMessageDto.getHrefUrl();
|
// 使用 URL 编码来处理特殊字符,将url替换为单点登录的地址
|
||||||
|
String hrefUrl = URLEncoder.encode(botMessageDto.getHrefUrl(), "UTF-8");
|
||||||
if (StringUtils.isNotBlank(hrefUrl)) {
|
if (StringUtils.isNotBlank(hrefUrl)) {
|
||||||
hrefUrl = signLoginUrl.replace("{REDIRECT_URI}", hrefUrl);
|
hrefUrl = signLoginUrl.replace("{REDIRECT_URI}", hrefUrl);
|
||||||
}
|
}
|
||||||
@@ -570,7 +587,7 @@ public class FeiShuDockingServiceImpl implements IFeiShuDockingService {
|
|||||||
return result;
|
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)) {
|
if (oConvertUtils.isEmpty(key)) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
+1
-1
@@ -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 io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
+1
-1
@@ -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 io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
+1
-1
@@ -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 io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
+1
-1
@@ -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 com.alibaba.fastjson.annotation.JSONField;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
+1
-1
@@ -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 io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
+1
-1
@@ -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 io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
+2
-2
@@ -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 io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
+1
-1
@@ -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 io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
+1
-1
@@ -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 io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
+1
-3
@@ -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 io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 任务列表
|
* 任务列表
|
||||||
*/
|
*/
|
||||||
Reference in New Issue
Block a user