增加附件下载接口

2024年8月5日 16:42:46
This commit is contained in:
xiang2lin 2024-08-05 16:42:53 +08:00
parent ae561ea8b8
commit 42b10acc82
1 changed files with 54 additions and 25 deletions

View File

@ -69,6 +69,26 @@ public class RestUtil {
return null;
}
/**
* 附件下载
* @param loginName oa登录名
* @param apiCode 接口编码
* @param fileId 附件id
* @param fileName 附件名
* @return 附件字节数组
*/
public byte[] downloadFileBytes(String loginName,String apiCode,String fileId,String fileName){
if (StrUtil.isNotEmpty(apiCode)){
SysApplicationApiEntity sysApp = getByCode(apiCode);
String token = getToken(loginName,sysApp);
String appUrl = sysApp.getAppUrl();
String url = "/seeyon/rest/attachment/file/@ctp_file_ID@?fileName=@文件名@&token=@token@";
url = url.replaceAll("@ctp_file_ID@",fileId).replaceAll("@文件名@",fileName).replaceAll("@token@",token);
byte[] bytes = HttpUtil.downloadBytes(appUrl + url);
return bytes;
}
return null;
}
/**
* 获取token
* @param login_name
@ -78,6 +98,19 @@ public class RestUtil {
public String getToken(String login_name,String api_code){
if (StrUtil.isNotEmpty(api_code)){
SysApplicationApiEntity sysApp = getByCode(api_code);
return getToken(login_name,sysApp);
}else {
throw new BaseSystemException("api_code不能为空");
}
}
/**
* 获取token
* @param login_name oa登录名
* @param sysApp 应用信息
* @return
*/
public String getToken(String login_name,SysApplicationApiEntity sysApp){
if (null != sysApp){
HashMap<String, String> hashMap = new HashMap<>();
String app_url = sysApp.getAppUrl();
@ -102,12 +135,8 @@ public class RestUtil {
return jsonObject.getString("id");
}
}
}else {
throw new BaseSystemException("api_code不能为空");
}
return null;
}
private SysApplicationApiEntity getByCode(String api_code){
if (StrUtil.isNotEmpty(api_code)){
SysApplicationApiEntity sysApp = new SysApplicationApiEntity();