refactor(util): 重构BeanContext接口及相关实现
将ContextUtils重命名为BeanContext,并统一客户端和服务端的实现 添加DefaultBeanContext作为默认实现 优化Inventory同步任务逻辑,支持WebSocket远程调用 更新tasker_mapper.json添加新的任务映射 移除未使用的syncInventory方法
This commit is contained in:
@@ -4,7 +4,7 @@ import com.ecep.contract.*;
|
||||
import com.ecep.contract.controller.project.cost.ProjectCostImportItemsFromContractsTasker;
|
||||
import com.ecep.contract.model.ContractFileTypeLocal;
|
||||
import com.ecep.contract.service.*;
|
||||
import com.ecep.contract.util.ContextUtils;
|
||||
import com.ecep.contract.util.BeanContext;
|
||||
import com.ecep.contract.vo.*;
|
||||
import javafx.beans.property.SimpleBooleanProperty;
|
||||
import javafx.collections.ObservableMap;
|
||||
@@ -22,10 +22,10 @@ import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Data
|
||||
public class ContractVerifyComm implements ContextUtils {
|
||||
ContextUtils parent;
|
||||
public class ContractVerifyComm implements BeanContext {
|
||||
BeanContext parent;
|
||||
|
||||
public ContractVerifyComm(ContextUtils parent) {
|
||||
public ContractVerifyComm(BeanContext parent) {
|
||||
this.parent = parent;
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
package com.ecep.contract.task;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import com.ecep.contract.MessageHolder;
|
||||
import com.ecep.contract.WebSocketClientTasker;
|
||||
|
||||
/**
|
||||
* 库存全量同步任务客户端实现
|
||||
* 用于通过WebSocket与服务器通信,执行库存数据的全量同步
|
||||
*/
|
||||
public class InventoryAllSyncTask extends Tasker<Object> implements WebSocketClientTasker {
|
||||
private static final Logger logger = LoggerFactory.getLogger(InventoryAllSyncTask.class);
|
||||
|
||||
@Override
|
||||
public String getTaskName() {
|
||||
return "InventoryAllSyncTask";
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateProgress(long current, long total) {
|
||||
super.updateProgress(current, total);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Object execute(MessageHolder holder) throws Exception {
|
||||
// 设置任务标题
|
||||
updateTitle("全量库存同步任务");
|
||||
|
||||
// 更新任务消息
|
||||
updateMessage("开始执行全量库存同步...");
|
||||
|
||||
// 调用远程WebSocket任务
|
||||
return callRemoteTask(holder, getLocale());
|
||||
}
|
||||
}
|
||||
@@ -1,13 +1,55 @@
|
||||
package com.ecep.contract.task;
|
||||
|
||||
import com.ecep.contract.MessageHolder;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
public class InventorySyncTask extends Tasker<Object> {
|
||||
import com.ecep.contract.MessageHolder;
|
||||
import com.ecep.contract.WebSocketClientTasker;
|
||||
import com.ecep.contract.vo.InventoryVo;
|
||||
|
||||
import lombok.Setter;
|
||||
|
||||
public class InventorySyncTask extends Tasker<Object> implements WebSocketClientTasker {
|
||||
private static final Logger logger = LoggerFactory.getLogger(InventorySyncTask.class);
|
||||
|
||||
@Setter
|
||||
private InventoryVo inventory;
|
||||
|
||||
@Override
|
||||
public String getTaskName() {
|
||||
return "InventorySyncTask";
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateProgress(long current, long total) {
|
||||
super.updateProgress(current, total);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Object execute(MessageHolder holder) throws Exception {
|
||||
// TODO Auto-generated method stub
|
||||
throw new UnsupportedOperationException("Unimplemented method 'execute'");
|
||||
}
|
||||
try {
|
||||
// 设置任务标题
|
||||
updateTitle("库存同步任务");
|
||||
|
||||
// 更新任务消息
|
||||
holder.info("开始同步库存数据...");
|
||||
|
||||
if (inventory == null) {
|
||||
holder.warn("请选择要同步的数据.");
|
||||
return null;
|
||||
}
|
||||
if (!StringUtils.hasText(inventory.getCode())) {
|
||||
holder.warn("请填写商品编码.");
|
||||
return null;
|
||||
}
|
||||
|
||||
// 调用远程WebSocket任务
|
||||
return callRemoteTask(holder, getLocale(), inventory.getId());
|
||||
} catch (Exception e) {
|
||||
logger.error("库存同步任务执行失败", e);
|
||||
updateMessage("库存同步任务执行失败:" + e.getMessage());
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user