重构WebSocket服务名称从WebSocketService改为WebSocketClientService,并实现Serializable接口 添加WebSocket常量定义和消息处理实现 优化实体类equals和hashCode方法 修复控制器路径和日志配置 添加查询服务和任务接口方法
57 lines
1.6 KiB
Java
57 lines
1.6 KiB
Java
package com.ecep.contract.task;
|
|
|
|
import com.ecep.contract.MessageHolder;
|
|
import com.ecep.contract.SpringApp;
|
|
import com.ecep.contract.WebSocketClientTasker;
|
|
import com.ecep.contract.WebSocketClientService;
|
|
import com.ecep.contract.service.YongYouU8Service;
|
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
/**
|
|
* 合同同步任务
|
|
*/
|
|
public class ContractSyncTask extends Tasker<Object> implements WebSocketClientTasker {
|
|
private static final Logger logger = LoggerFactory.getLogger(ContractSyncTask.class);
|
|
|
|
private YongYouU8Service yongYouU8Service;
|
|
|
|
private YongYouU8Service getYongYouU8Service() {
|
|
if (yongYouU8Service == null) {
|
|
yongYouU8Service = SpringApp.getBean(YongYouU8Service.class);
|
|
}
|
|
return yongYouU8Service;
|
|
}
|
|
|
|
public String getTaskName() {
|
|
return "ContractSyncTask";
|
|
}
|
|
|
|
@Override
|
|
public void updateProgress(long current, long total) {
|
|
super.updateProgress(current, total);
|
|
}
|
|
|
|
@Override
|
|
|
|
protected Object execute(MessageHolder holder) throws Exception {
|
|
updateTitle("用友U8系统-同步合同");
|
|
return callRemoteTask(holder);
|
|
}
|
|
|
|
private Object callRemoteTask(MessageHolder holder) {
|
|
WebSocketClientService webSocketService = SpringApp.getBean(WebSocketClientService.class);
|
|
webSocketService.withSession(session -> {
|
|
try {
|
|
session.submitTask(this);
|
|
} catch (JsonProcessingException e) {
|
|
throw new RuntimeException(e);
|
|
}
|
|
});
|
|
|
|
return null;
|
|
}
|
|
|
|
}
|