Commit 6007f7fb authored by 高东东's avatar 高东东

优化功能

parent aeb3fdd1
...@@ -40,4 +40,8 @@ public class AvicCustomPathService extends BaseService<AvicCustomPathModel,AvicC ...@@ -40,4 +40,8 @@ public class AvicCustomPathService extends BaseService<AvicCustomPathModel,AvicC
public List<AvicCustomPathModel> queryForAvicCustomPathList(String agencyCode) { public List<AvicCustomPathModel> queryForAvicCustomPathList(String agencyCode) {
return this.queryForList("" , false, agencyCode); return this.queryForList("" , false, agencyCode);
} }
public AvicCustomPath queryForAvicCustomPathBySequenceNbr(String path) {
return null;
}
} }
...@@ -26,6 +26,7 @@ import org.apache.logging.log4j.Logger; ...@@ -26,6 +26,7 @@ import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.MediaType; import org.springframework.http.MediaType;
import org.springframework.scheduling.annotation.Async;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PathVariable;
...@@ -46,6 +47,8 @@ import com.alibaba.fastjson.JSONArray; ...@@ -46,6 +47,8 @@ import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.avic.face.model.AvicCustomPathModel; import com.yeejoin.amos.avic.face.model.AvicCustomPathModel;
import com.yeejoin.amos.avic.face.model.TransferModel; import com.yeejoin.amos.avic.face.model.TransferModel;
import com.yeejoin.amos.avic.face.orm.entity.AvicCustomPath;
import com.yeejoin.amos.avic.face.service.AvicCustomPathService;
import com.yeejoin.indicators.feign.IndicatorsManager; import com.yeejoin.indicators.feign.IndicatorsManager;
import com.yeejoin.indicators.feign.request.DataFetchRequest; import com.yeejoin.indicators.feign.request.DataFetchRequest;
import com.yeejoin.indicators.feign.request.DataRecordRequest; import com.yeejoin.indicators.feign.request.DataRecordRequest;
...@@ -69,6 +72,9 @@ public class WebServicesFileFransferResource { ...@@ -69,6 +72,9 @@ public class WebServicesFileFransferResource {
@Autowired @Autowired
WorkflowManager workflowManager; WorkflowManager workflowManager;
@Autowired
private AvicCustomPathService simpleService;
@Value(value = "${upload.temp.dir}") @Value(value = "${upload.temp.dir}")
String tempDir; String tempDir;
...@@ -188,17 +194,29 @@ public class WebServicesFileFransferResource { ...@@ -188,17 +194,29 @@ public class WebServicesFileFransferResource {
public ResponseModel postfile(@RequestBody TransferModel transferModel) { public ResponseModel postfile(@RequestBody TransferModel transferModel) {
Map<String, Object> task = indicatorsManager.indicatorClient.getTaskByTaskId(transferModel.getTaskId()) Map<String, Object> task = indicatorsManager.indicatorClient.getTaskByTaskId(transferModel.getTaskId())
.getResult(); .getResult();
syncSendFile(task, transferModel);
DataReportAuditRequest dataReportAuditRequest = new DataReportAuditRequest();
dataReportAuditRequest.setTaskId(transferModel.getTaskId());
dataReportAuditRequest.setInstanceId(task.get("processInstanceId").toString());
dataReportAuditRequest.setRemark(transferModel.getComment());
dataReportAuditRequest.setCondition("0");
indicatorsManager.indicatorClient.auditWorkFlow(dataReportAuditRequest);
return ResponseHelper.buildResponse(null);
}
@Async
private void syncSendFile(Map<String, Object> task, TransferModel transferModel) {
AvicCustomPath avicCustomPath = simpleService.getById(transferModel.getPath());
try {
JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance(); JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();
Client client = dcf.createClient(webserviceUrl); Client client = dcf.createClient(webserviceUrl);
try {
if (ObjectUtils.isEmpty(transferModel.getAvicCode())) { if (ObjectUtils.isEmpty(transferModel.getAvicCode())) {
for (String file : transferModel.getFiles().stream().map(m -> m.getUrl()) for (String file : transferModel.getFiles().stream().map(m -> m.getUrl())
.collect(Collectors.toList())) { .collect(Collectors.toList())) {
String filePath = tempDir; String filePath = tempDir;
File dest = new File(filePath + file); File dest = new File(filePath + file);
DataHandler handler = new DataHandler(new FileDataSource(dest)); DataHandler handler = new DataHandler(new FileDataSource(dest));
client.invoke("transferFile", handler, dest.getName(), transferModel.getPath()); client.invoke("transferFile", handler, dest.getName(), avicCustomPath.getPath());
} }
} else { } else {
for (String file : transferModel.getFiles().stream().map(m -> m.getUrl()) for (String file : transferModel.getFiles().stream().map(m -> m.getUrl())
...@@ -206,23 +224,13 @@ public class WebServicesFileFransferResource { ...@@ -206,23 +224,13 @@ public class WebServicesFileFransferResource {
String filePath = tempDir; String filePath = tempDir;
File dest = new File(filePath + file); File dest = new File(filePath + file);
DataHandler handler = new DataHandler(new FileDataSource(dest)); DataHandler handler = new DataHandler(new FileDataSource(dest));
client.invoke("useCodetransferFile", handler, dest.getName(), transferModel.getPath(), client.invoke("useCodetransferFile", handler, dest.getName(), avicCustomPath.getPath(),
transferModel.getAvicCode()); transferModel.getAvicCode());
} }
} }
// JSONObject actTask = workflowManager.workflowClient.getTask(task.get("processInstanceId").toString());
// workflowManager.workflowClient.pickupAndCompleteTask(actTask.getJSONObject("data").getString("id"), new HashMap<>());
DataReportAuditRequest dataReportAuditRequest = new DataReportAuditRequest();
dataReportAuditRequest.setTaskId(transferModel.getTaskId());
dataReportAuditRequest.setInstanceId(task.get("processInstanceId").toString());
dataReportAuditRequest.setRemark(transferModel.getComment());
dataReportAuditRequest.setCondition("0");
indicatorsManager.indicatorClient.auditWorkFlow(dataReportAuditRequest);
} catch (java.lang.Exception e) { } catch (java.lang.Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
return ResponseHelper.buildResponse(null);
} }
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
......
...@@ -25,6 +25,8 @@ public class FileFransferServiceImpl implements FileFransferService { ...@@ -25,6 +25,8 @@ public class FileFransferServiceImpl implements FileFransferService {
@Autowired @Autowired
AvicCustomPathService avicCustomPathService; AvicCustomPathService avicCustomPathService;
String baseDir = "E:\\webservice\\";
@Override @Override
public void useCodetransferFile(DataHandler handler, String fileName, String path, String code) { public void useCodetransferFile(DataHandler handler, String fileName, String path, String code) {
saveFile(handler, fileName, path); saveFile(handler, fileName, path);
...@@ -36,8 +38,8 @@ public class FileFransferServiceImpl implements FileFransferService { ...@@ -36,8 +38,8 @@ public class FileFransferServiceImpl implements FileFransferService {
FileOutputStream os = null; FileOutputStream os = null;
try { try {
is = handler.getInputStream(); is = handler.getInputStream();
File file = new File(String.format("%s%s%s", path, File.separator, fileName)); File file = new File(String.format("%s%s%s%s", baseDir,path.replace(":", ""), File.separator, fileName));
File dir = new File(String.format("%s%s", path, File.separator)); File dir = new File(String.format("%s%s%s", baseDir, path.replace(":", ""), File.separator));
if (!dir.exists()) { if (!dir.exists()) {
dir.mkdirs(); dir.mkdirs();
} }
......
spring.application.name=AMOS-BIZ-AVIC-API spring.application.name=AMOS-BIZ-AVIC-API-TARGET
server.servlet.context-path=/avic server.servlet.context-path=/avic
server.port=8808 server.port=8808
spring.profiles.active=dev spring.profiles.active=dev
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment