【feat】调整文件上传下载,将上传下载链接配置在数据库
This commit is contained in:
parent
4697cd95a1
commit
e532b21465
@ -1,8 +1,13 @@
|
||||
# 程序配置
|
||||
# xxl job数据库链接
|
||||
#cook
|
||||
#dbUrl="jdbc:mysql://127.0.0.1:3306/data-dump-xxl-job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai"
|
||||
#dbUsername="root"
|
||||
#dbPassword="celnet@2025.bln"
|
||||
#携科
|
||||
dbUrl="jdbc:mysql://127.0.0.1:3306/data-dump-xxl-job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai"
|
||||
dbUsername="root"
|
||||
dbPassword="celnet@2025.bln"
|
||||
dbPassword="Celnet2025.QY"
|
||||
#dbUrl="jdbc:mysql://127.0.0.113306/data-dump-xxl-job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai"
|
||||
#dbUsername="msg"
|
||||
#dbPassword="msg@2021"
|
||||
|
@ -51,11 +51,6 @@ public class FileManagerServiceImpl implements FileManagerService {
|
||||
@Autowired
|
||||
private SalesforceExecutor salesforceExecutor;
|
||||
|
||||
@Value(value = "${sf.file-download-url}")
|
||||
private String downloadUrl;
|
||||
|
||||
@Value(value = "${sf.file-upload-url}")
|
||||
private String uploadUrl;
|
||||
|
||||
|
||||
|
||||
@ -169,6 +164,16 @@ public class FileManagerServiceImpl implements FileManagerService {
|
||||
Map<String, String> headers = Maps.newHashMap();
|
||||
headers.put("Authorization", "Bearer " + token);
|
||||
headers.put("connection", "keep-alive");
|
||||
String downloadUrl = null;
|
||||
List<Map<String, Object>> poll = customMapper.list("code,value","org_config",null);
|
||||
for (Map<String, Object> map1 : poll) {
|
||||
if ("FILE_DOWNLOAD_URL".equals(map1.get("code"))) {
|
||||
downloadUrl = (String) map1.get("value");
|
||||
}else {
|
||||
EmailUtil.send("DumpFile ERROR", "文件下载失败!下载地址未配置");
|
||||
return;
|
||||
}
|
||||
}
|
||||
String url = downloadUrl + String.format(Const.SF_RICH_TEXT_FILE_URL, objectApi, recordId, fieldApi, fieldId);
|
||||
|
||||
try {
|
||||
@ -297,6 +302,17 @@ public class FileManagerServiceImpl implements FileManagerService {
|
||||
}
|
||||
ids.add(id);
|
||||
}
|
||||
String uploadUrl = null;
|
||||
List<Map<String, Object>> poll = customMapper.list("code,value","org_config",null);
|
||||
for (Map<String, Object> map1 : poll) {
|
||||
if ("FILE_UPLOAD_URL".equals(map1.get("code"))) {
|
||||
uploadUrl = (String) map1.get("value");
|
||||
}else {
|
||||
EmailUtil.send("UploadFile ERROR", "文件上传失败!上传地址未配置");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// 拼接url
|
||||
String url = uploadUrl + String.format(Const.SF_UPLOAD_RICH_TEXT_FILE_URL, objectApi, recordId);
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
package com.celnet.datadump.service.impl;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
@ -10,10 +11,12 @@ import com.celnet.datadump.config.SalesforceTargetConnect;
|
||||
import com.celnet.datadump.entity.DataObject;
|
||||
import com.celnet.datadump.enums.FileType;
|
||||
import com.celnet.datadump.global.Const;
|
||||
import com.celnet.datadump.param.DataDumpParam;
|
||||
import com.celnet.datadump.param.FileTransformParam;
|
||||
import com.celnet.datadump.global.SystemConfigCode;
|
||||
import com.celnet.datadump.mapper.CustomMapper;
|
||||
import com.celnet.datadump.service.*;
|
||||
import com.celnet.datadump.util.EmailUtil;
|
||||
import com.celnet.datadump.util.HttpUtil;
|
||||
import com.celnet.datadump.util.OssUtil;
|
||||
import com.google.common.collect.Lists;
|
||||
@ -75,12 +78,6 @@ public class FileServiceImpl implements FileService {
|
||||
@Autowired
|
||||
private CommonService commonService;
|
||||
|
||||
@Value(value = "${sf.file-download-url}")
|
||||
private String downloadUrl;
|
||||
|
||||
@Value(value = "${sf.file-upload-url}")
|
||||
private String uploadUrl;
|
||||
|
||||
@Override
|
||||
public void verifyFile(String api, String field) {
|
||||
log.info("verify file api:{}, field:{}", api, field);
|
||||
@ -137,6 +134,16 @@ public class FileServiceImpl implements FileService {
|
||||
|
||||
@Override
|
||||
public void dumpFile(String api, String field, Boolean singleThread) {
|
||||
String downloadUrl = null;
|
||||
List<Map<String, Object>> poll = customMapper.list("code,value","org_config",null);
|
||||
for (Map<String, Object> map1 : poll) {
|
||||
if ("FILE_DOWNLOAD_URL".equals(map1.get("code"))) {
|
||||
downloadUrl = (String) map1.get("value");
|
||||
}else {
|
||||
EmailUtil.send("DumpFile ERROR", "文件下载失败!下载地址未配置");
|
||||
return;
|
||||
}
|
||||
}
|
||||
log.info("dump file api:{}, field:{}", api, field);
|
||||
PartnerConnection connect = salesforceConnect.createConnect();
|
||||
String token = connect.getSessionHeader().getSessionId();
|
||||
@ -167,6 +174,7 @@ public class FileServiceImpl implements FileService {
|
||||
}
|
||||
String finalName = name;
|
||||
for (Map<String, Object> map : list) {
|
||||
String finalDownloadUrl = downloadUrl;
|
||||
Future<?> future = salesforceExecutor.execute(() -> {
|
||||
String id = null;
|
||||
// 上传完毕 更新附件信息
|
||||
@ -182,7 +190,7 @@ public class FileServiceImpl implements FileService {
|
||||
if (StringUtils.isNotBlank(fileName)) {
|
||||
String filePath = api + "/" + id + "_" + fileName;
|
||||
// 拼接url
|
||||
String url = downloadUrl + String.format(Const.SF_FILE_URL, api, id, field);
|
||||
String url = finalDownloadUrl + String.format(Const.SF_FILE_URL, api, id, field);
|
||||
Response response = HttpUtil.doGet(url, null, headers);
|
||||
if (response.body() != null) {
|
||||
InputStream inputStream = response.body().byteStream();
|
||||
@ -423,6 +431,18 @@ public class FileServiceImpl implements FileService {
|
||||
|
||||
@Override
|
||||
public void uploadFile(String api, String field, Boolean singleThread) {
|
||||
|
||||
String uploadUrl = null;
|
||||
List<Map<String, Object>> poll = customMapper.list("code,value","org_config",null);
|
||||
for (Map<String, Object> map1 : poll) {
|
||||
if ("FILE_UPLOAD_URL".equals(map1.get("code"))) {
|
||||
uploadUrl = (String) map1.get("value");
|
||||
}else {
|
||||
EmailUtil.send("UploadFile ERROR", "文件上传失败!上传地址未配置");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
log.info("upload file api:{}, field:{}", api, field);
|
||||
PartnerConnection connect = salesforceTargetConnect.createConnect();
|
||||
String token = connect.getSessionHeader().getSessionId();
|
||||
@ -449,6 +469,7 @@ public class FileServiceImpl implements FileService {
|
||||
if (CollectionUtils.isEmpty(list)) {
|
||||
continue;
|
||||
}
|
||||
String finalUploadUrl = uploadUrl;
|
||||
Future<?> future = salesforceExecutor.execute(() -> {
|
||||
String newDocumentId = null;
|
||||
for (Map<String, Object> map : list) {
|
||||
@ -477,7 +498,7 @@ public class FileServiceImpl implements FileService {
|
||||
break;
|
||||
}
|
||||
// 拼接url
|
||||
String url = uploadUrl + String.format(Const.SF_UPLOAD_FILE_URL, api);
|
||||
String url = finalUploadUrl + String.format(Const.SF_UPLOAD_FILE_URL, api);
|
||||
HttpPost httpPost = new HttpPost(url);
|
||||
httpPost.setHeader("Authorization", "Bearer " + token);
|
||||
httpPost.setHeader("connection", "keep-alive");
|
||||
@ -592,6 +613,17 @@ public class FileServiceImpl implements FileService {
|
||||
|
||||
@Override
|
||||
public void uploadFileToAttachment(String api, String field, Boolean singleThread) {
|
||||
String uploadUrl = null;
|
||||
List<Map<String, Object>> poll = customMapper.list("code,value","org_config",null);
|
||||
for (Map<String, Object> map1 : poll) {
|
||||
if ("FILE_UPLOAD_URL".equals(map1.get("code"))) {
|
||||
uploadUrl = (String) map1.get("value");
|
||||
}else {
|
||||
EmailUtil.send("UploadFile ERROR", "文件上传失败!上传地址未配置");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
log.info("upload file api:{}, field:{}", api, field);
|
||||
PartnerConnection connect = salesforceTargetConnect.createConnect();
|
||||
String token = connect.getSessionHeader().getSessionId();
|
||||
@ -612,6 +644,7 @@ public class FileServiceImpl implements FileService {
|
||||
// 获取未存储的附件id
|
||||
List<Map<String, Object>> list = customMapper.list("Id, ParentId, Name, url, Description, Parent_type", api, "is_upload = 0");
|
||||
for (Map<String, Object> map : list) {
|
||||
String finalUploadUrl = uploadUrl;
|
||||
Future<?> future = salesforceExecutor.execute(() -> {
|
||||
String id = null;
|
||||
// 上传完毕 更新附件信息
|
||||
@ -649,7 +682,7 @@ public class FileServiceImpl implements FileService {
|
||||
Map<String, Object> lMap = customMapper.getById("new_id",parentType, parentId);
|
||||
|
||||
// 拼接url
|
||||
String url = uploadUrl + String.format(Const.SF_UPLOAD_FILE_URL, api);
|
||||
String url = finalUploadUrl + String.format(Const.SF_UPLOAD_FILE_URL, api);
|
||||
HttpPost httpPost = new HttpPost(url);
|
||||
httpPost.setHeader("Authorization", "Bearer " + token);
|
||||
httpPost.setHeader("connection", "keep-alive");
|
||||
|
@ -2,12 +2,15 @@ spring:
|
||||
datasource:
|
||||
type: com.zaxxer.hikari.HikariDataSource
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
url: jdbc:mysql://127.0.0.1:3306/cook?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai
|
||||
# 携科
|
||||
url: jdbc:mysql://127.0.0.1:3306/xieke?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai
|
||||
username: root
|
||||
password: celnet@2025.bln
|
||||
# url: jdbc:mysql://183.6.105.131:13306/zhonghe_test?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai
|
||||
password: Celnet2025.QY
|
||||
# cook
|
||||
# url: jdbc:mysql://127.0.0.1:3306/cook?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai
|
||||
# username: root
|
||||
# password: Celnet@2022
|
||||
# password: celnet@2025.bln
|
||||
|
||||
mail:
|
||||
host: smtp.163.com
|
||||
port: 465
|
||||
|
@ -2,11 +2,14 @@ spring:
|
||||
datasource:
|
||||
type: com.zaxxer.hikari.HikariDataSource
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
url: jdbc:mysql://127.0.0.1:3306/cook?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
|
||||
# 携科
|
||||
url: jdbc:mysql://127.0.0.1:3306/xieke?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai
|
||||
username: root
|
||||
password: Celnet2025.QY
|
||||
# cook
|
||||
# url: jdbc:mysql://127.0.0.1:3306/cook?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai
|
||||
# username: root
|
||||
# password: celnet@2025.bln
|
||||
password: root
|
||||
|
||||
mail:
|
||||
host: smtp.mxhichina.com
|
||||
port: 465
|
||||
@ -18,8 +21,8 @@ spring:
|
||||
#sf webservice配置
|
||||
sf:
|
||||
# 附件下载url
|
||||
file-download-url: https://cookmedicalasia.my.salesforce.com
|
||||
file-upload-url: https://cookchina--sandbox.sandbox.my.sfcrmproducts.cn
|
||||
file-download-url: https://d2000000079c7eaa.lightning.force.com
|
||||
file-upload-url: https://steco-process.lightning.sfcrmapps.cn
|
||||
#线程数
|
||||
executor-size: 5
|
||||
list:
|
||||
|
@ -2,9 +2,15 @@ spring:
|
||||
datasource:
|
||||
type: com.zaxxer.hikari.HikariDataSource
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
url: jdbc:mysql://127.0.0.1:3306/cook?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
|
||||
# 携科
|
||||
url: jdbc:mysql://127.0.0.1:3306/xieke?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai
|
||||
username: root
|
||||
password: celnet@2025.bln
|
||||
password: Celnet2025.QY
|
||||
# cook
|
||||
# url: jdbc:mysql://127.0.0.1:3306/cook?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai
|
||||
# username: root
|
||||
# password: celnet@2025.bln
|
||||
|
||||
mail:
|
||||
host: smtp.163.com
|
||||
port: 465
|
||||
|
Loading…
Reference in New Issue
Block a user