refactor(model): 重构模型类包结构并优化序列化处理
重构模型类包结构,将模型类按功能模块划分到不同的子包中。优化序列化处理,为VO类添加serialVersionUID并实现Serializable接口。移除部分冗余的serialVersionUID字段,简化模型类代码。同时修复UITools中空值处理的问题,并更新pom版本至0.0.100-SNAPSHOT。 - 将模型类按功能模块划分到ds子包中 - 为VO类添加序列化支持 - 移除冗余的serialVersionUID字段 - 修复UITools空值处理问题 - 更新项目版本号
This commit is contained in:
@@ -169,7 +169,8 @@ public class WebSocketServerCallbackManager {
|
||||
JsonNode paramsNode = argumentsNode.get(0);
|
||||
if (service instanceof IEntityService<?> entityService) {
|
||||
Object entity = null;
|
||||
if (paramsNode.has("id") && !paramsNode.get("id").isNull()) {
|
||||
|
||||
if (paramsNode.has("id") && (!paramsNode.get("id").isNull() && paramsNode.get("id").asInt() > 0)) {
|
||||
int id = paramsNode.get("id").asInt();
|
||||
entity = entityService.getById(id);
|
||||
if (entity == null) {
|
||||
@@ -368,14 +369,16 @@ public class WebSocketServerCallbackManager {
|
||||
JsonNode paramsNode = argumentsNode.get(0);
|
||||
JsonNode pageableNode = argumentsNode.get(1);
|
||||
PageArgument pageArgument = objectMapper.treeToValue(pageableNode, PageArgument.class);
|
||||
QueryService<?> entityService = (QueryService<?>) service;
|
||||
Page<?> page = entityService.findAll(paramsNode, pageArgument.toPageable());
|
||||
return PageContent.of(page.map(entity -> {
|
||||
if (entity instanceof Voable<?>) {
|
||||
return ((Voable<?>) entity).toVo();
|
||||
}
|
||||
return entity;
|
||||
}));
|
||||
if (service instanceof QueryService<?> queryService) {
|
||||
Page<?> page = queryService.findAll(paramsNode, pageArgument.toPageable());
|
||||
return PageContent.of(page.map(entity -> {
|
||||
if (entity instanceof Voable<?>) {
|
||||
return ((Voable<?>) entity).toVo();
|
||||
}
|
||||
return entity;
|
||||
}));
|
||||
}
|
||||
throw new RuntimeException(service + " should be QueryService");
|
||||
}
|
||||
|
||||
private Object invokerCountMethod(Object service, JsonNode argumentsNode) {
|
||||
|
||||
@@ -10,9 +10,10 @@ import com.ecep.contract.cloud.u8.ctx.ContractCtx;
|
||||
import com.ecep.contract.cloud.u8.ctx.CustomerCtx;
|
||||
import com.ecep.contract.cloud.u8.ctx.VendorCtx;
|
||||
import com.ecep.contract.constant.CloudServiceConstant;
|
||||
import com.ecep.contract.model.CloudRk;
|
||||
import com.ecep.contract.model.CloudYu;
|
||||
import com.ecep.contract.model.Company;
|
||||
import com.ecep.contract.ds.company.service.CompanyService;
|
||||
import com.ecep.contract.ds.other.model.CloudRk;
|
||||
import com.ecep.contract.ds.other.model.CloudYu;
|
||||
import com.ecep.contract.ds.company.model.Company;
|
||||
import com.ecep.contract.ui.Tasker;
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
import lombok.Setter;
|
||||
@@ -44,7 +45,7 @@ public class CompanyCompositeUpdateTasker extends Tasker<Object> implements WebS
|
||||
@Override
|
||||
public void init(JsonNode argsNode) {
|
||||
int companyId = argsNode.get(0).asInt();
|
||||
company = getCachedBean(com.ecep.contract.ds.company.service.CompanyService.class).getById(companyId);
|
||||
company = getCachedBean(CompanyService.class).getById(companyId);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -27,11 +27,11 @@ import com.ecep.contract.cloud.tyc.CloudTycService;
|
||||
import com.ecep.contract.ds.customer.service.CompanyCustomerEvaluationFormFileService;
|
||||
import com.ecep.contract.ds.customer.service.CompanyCustomerFileService;
|
||||
import com.ecep.contract.ds.customer.service.CompanyCustomerService;
|
||||
import com.ecep.contract.model.CloudTyc;
|
||||
import com.ecep.contract.model.Company;
|
||||
import com.ecep.contract.model.CompanyCustomer;
|
||||
import com.ecep.contract.model.CompanyCustomerEvaluationFormFile;
|
||||
import com.ecep.contract.model.CompanyCustomerFile;
|
||||
import com.ecep.contract.ds.other.model.CloudTyc;
|
||||
import com.ecep.contract.ds.company.model.Company;
|
||||
import com.ecep.contract.ds.customer.model.CompanyCustomer;
|
||||
import com.ecep.contract.ds.customer.model.CompanyCustomerEvaluationFormFile;
|
||||
import com.ecep.contract.ds.customer.model.CompanyCustomerFile;
|
||||
import com.ecep.contract.ui.Tasker;
|
||||
import com.ecep.contract.util.CompanyUtils;
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
|
||||
@@ -9,9 +9,9 @@ import com.ecep.contract.MessageHolder;
|
||||
import com.ecep.contract.ds.contract.service.ContractService;
|
||||
import com.ecep.contract.ds.customer.service.CompanyCustomerFileService;
|
||||
import com.ecep.contract.ds.customer.service.CompanyCustomerService;
|
||||
import com.ecep.contract.model.CompanyCustomer;
|
||||
import com.ecep.contract.model.CompanyCustomerFile;
|
||||
import com.ecep.contract.model.Contract;
|
||||
import com.ecep.contract.ds.customer.model.CompanyCustomer;
|
||||
import com.ecep.contract.ds.customer.model.CompanyCustomerFile;
|
||||
import com.ecep.contract.ds.contract.model.Contract;
|
||||
import com.ecep.contract.ui.Tasker;
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
|
||||
|
||||
@@ -6,8 +6,8 @@ import org.springframework.util.StringUtils;
|
||||
import com.ecep.contract.MessageHolder;
|
||||
import com.ecep.contract.ds.company.service.CompanyService;
|
||||
import com.ecep.contract.ds.customer.service.CompanyCustomerService;
|
||||
import com.ecep.contract.model.Company;
|
||||
import com.ecep.contract.model.CompanyCustomer;
|
||||
import com.ecep.contract.ds.company.model.Company;
|
||||
import com.ecep.contract.ds.customer.model.CompanyCustomer;
|
||||
import com.ecep.contract.ui.Tasker;
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
|
||||
|
||||
@@ -1,4 +1,69 @@
|
||||
package com.ecep.contract.service.tasker;
|
||||
|
||||
public class CompanyRkUpdateTasker {
|
||||
import com.ecep.contract.MessageHolder;
|
||||
import com.ecep.contract.cloud.rk.CloudRkService;
|
||||
import com.ecep.contract.cloud.rk.ctx.CloudRkCtx;
|
||||
import com.ecep.contract.constant.CloudServiceConstant;
|
||||
import com.ecep.contract.ds.company.model.Company;
|
||||
import com.ecep.contract.ds.company.service.CompanyService;
|
||||
import com.ecep.contract.ds.other.model.CloudRk;
|
||||
import com.ecep.contract.ui.Tasker;
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
import lombok.Setter;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.BeansException;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public class CompanyRkUpdateTasker extends Tasker<Object> implements WebSocketServerTasker {
|
||||
private static final Logger logger = LoggerFactory.getLogger(CompanyRkUpdateTasker.class);
|
||||
@Setter
|
||||
private Company company;
|
||||
@Setter
|
||||
private CloudRkService cloudRkService;
|
||||
|
||||
@Override
|
||||
public void init(JsonNode argsNode) {
|
||||
int companyId = argsNode.get(0).asInt();
|
||||
company = getCachedBean(CompanyService.class).getById(companyId);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Object execute(MessageHolder holder) throws Exception {
|
||||
holder.debug("1. 从 " + CloudServiceConstant.RK_NAME + " 更新...");
|
||||
try {
|
||||
cloudRkService = getCachedBean(CloudRkService.class);
|
||||
} catch (BeansException e) {
|
||||
throw new RuntimeException("服务未启用");
|
||||
}
|
||||
CloudRk cloudRk = cloudRkService.getOrCreateCloudRk(company);
|
||||
if (cloudRk == null) {
|
||||
throw new RuntimeException("无法创建或获取 CloudRk 对象");
|
||||
}
|
||||
|
||||
try {
|
||||
CloudRkCtx cloudRkCtx = new CloudRkCtx();
|
||||
if (cloudRkCtx.syncCompany(company, cloudRk, holder)) {
|
||||
holder.info("更新完成");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
String message = e.getMessage();
|
||||
if (message.length() > 50) {
|
||||
message = message.substring(0, 50);
|
||||
}
|
||||
cloudRk.setDescription(message);
|
||||
} finally {
|
||||
cloudRk.setLatestUpdate(LocalDateTime.now());
|
||||
try {
|
||||
cloudRkService.save(cloudRk);
|
||||
} catch (Exception e) {
|
||||
holder.error("保存 CloudRk 错误: " + cloudRk.getDescription());
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,8 +7,8 @@ import java.util.concurrent.atomic.AtomicInteger;
|
||||
import com.ecep.contract.MessageHolder;
|
||||
import com.ecep.contract.ds.contract.service.ContractService;
|
||||
import com.ecep.contract.ds.contract.tasker.ContractVerifyComm;
|
||||
import com.ecep.contract.model.Company;
|
||||
import com.ecep.contract.model.Contract;
|
||||
import com.ecep.contract.ds.company.model.Company;
|
||||
import com.ecep.contract.ds.contract.model.Contract;
|
||||
import com.ecep.contract.ui.Tasker;
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ import org.springframework.util.StringUtils;
|
||||
|
||||
import com.ecep.contract.ContractPayWay;
|
||||
import com.ecep.contract.MessageHolder;
|
||||
import com.ecep.contract.model.Contract;
|
||||
import com.ecep.contract.ds.contract.model.Contract;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ import java.util.Locale;
|
||||
import com.ecep.contract.MessageHolder;
|
||||
import com.ecep.contract.ds.contract.service.ContractService;
|
||||
import com.ecep.contract.ds.contract.tasker.ContractVerifyComm;
|
||||
import com.ecep.contract.model.Contract;
|
||||
import com.ecep.contract.ds.contract.model.Contract;
|
||||
import com.ecep.contract.ui.Tasker;
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
|
||||
|
||||
@@ -3,9 +3,9 @@ package com.ecep.contract.service.tasker;
|
||||
import com.ecep.contract.MessageHolder;
|
||||
import com.ecep.contract.ds.customer.service.CompanyCustomerFileService;
|
||||
import com.ecep.contract.ds.customer.service.CompanyCustomerService;
|
||||
import com.ecep.contract.model.Company;
|
||||
import com.ecep.contract.model.CompanyCustomer;
|
||||
import com.ecep.contract.model.CompanyCustomerFile;
|
||||
import com.ecep.contract.ds.company.model.Company;
|
||||
import com.ecep.contract.ds.customer.model.CompanyCustomer;
|
||||
import com.ecep.contract.ds.customer.model.CompanyCustomerFile;
|
||||
import com.ecep.contract.ui.Tasker;
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
|
||||
|
||||
@@ -19,13 +19,13 @@ import com.ecep.contract.ds.other.service.InventoryService;
|
||||
import com.ecep.contract.ds.project.service.ProjectCostItemService;
|
||||
import com.ecep.contract.ds.project.service.ProjectCostService;
|
||||
import com.ecep.contract.handler.SessionInfo;
|
||||
import com.ecep.contract.model.Contract;
|
||||
import com.ecep.contract.model.ContractItem;
|
||||
import com.ecep.contract.ds.contract.model.Contract;
|
||||
import com.ecep.contract.ds.contract.model.ContractItem;
|
||||
import com.ecep.contract.model.Employee;
|
||||
import com.ecep.contract.model.Inventory;
|
||||
import com.ecep.contract.model.Project;
|
||||
import com.ecep.contract.model.ProjectCost;
|
||||
import com.ecep.contract.model.ProjectCostItem;
|
||||
import com.ecep.contract.ds.project.model.Project;
|
||||
import com.ecep.contract.ds.project.model.ProjectCost;
|
||||
import com.ecep.contract.ds.project.model.ProjectCostItem;
|
||||
import com.ecep.contract.ui.Tasker;
|
||||
import com.ecep.contract.util.NumberUtils;
|
||||
import com.ecep.contract.util.TaxRateUtils;
|
||||
|
||||
Reference in New Issue
Block a user