refactor(service): 实现VoableService接口以统一VO与实体映射逻辑

refactor(model): 重构实体类与VO类的字段映射关系
style: 调整代码格式与注释
fix: 修复部分字段映射错误
This commit is contained in:
2025-09-26 12:31:08 +08:00
parent 045a1e9eed
commit 42a8f9ab30
67 changed files with 2277 additions and 610 deletions

View File

@@ -28,6 +28,7 @@ import org.springframework.util.StringUtils;
import com.ecep.contract.BlackReasonType;
import com.ecep.contract.IEntityService;
import com.ecep.contract.SpringApp;
import com.ecep.contract.cloud.CloudInfo;
import com.ecep.contract.ds.company.repository.CompanyBlackReasonRepository;
import com.ecep.contract.ds.company.repository.CompanyOldNameRepository;
@@ -36,9 +37,11 @@ import com.ecep.contract.ds.other.service.SysConfService;
import com.ecep.contract.model.CloudRk;
import com.ecep.contract.model.Company;
import com.ecep.contract.model.CompanyBlackReason;
import com.ecep.contract.service.VoableService;
import com.ecep.contract.util.FileUtils;
import com.ecep.contract.util.HttpJsonUtils;
import com.ecep.contract.util.MyStringUtils;
import com.ecep.contract.vo.CloudRkVo;
import com.fasterxml.jackson.annotation.JsonAlias;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.databind.JsonMappingException;
@@ -52,7 +55,7 @@ import lombok.Data;
@Lazy
@Service
@CacheConfig(cacheNames = "cloud-rk")
public class CloudRkService implements IEntityService<CloudRk> {
public class CloudRkService implements IEntityService<CloudRk>, VoableService<CloudRk, CloudRkVo> {
private static final Logger logger = LoggerFactory.getLogger(CloudRkService.class);
public static final String KEY_PROXY = "cloud.rk.proxy";
@@ -375,4 +378,68 @@ public class CloudRkService implements IEntityService<CloudRk> {
}
cloudRKRepository.saveAll(list);
}
@Override
public void updateByVo(CloudRk cloudRk, CloudRkVo vo) {
if (cloudRk == null || vo == null) {
throw new IllegalArgumentException("CloudRk and CloudRkVo cannot be null");
}
// 更新基本属性
if (vo.getCloudId() != null) {
cloudRk.setCloudId(vo.getCloudId());
}
cloudRk.setAutoUpdate(vo.isAutoUpdate());
cloudRk.setUpdateDays(vo.getUpdateDays());
if (vo.getCustomerGrade() != null) {
cloudRk.setCustomerGrade(vo.getCustomerGrade());
}
if (vo.getCustomerScore() != null) {
cloudRk.setCustomerScore(vo.getCustomerScore());
}
if (vo.getCustomerDescription() != null) {
cloudRk.setCustomerDescription(vo.getCustomerDescription());
}
if (vo.getVendorGrade() != null) {
cloudRk.setVendorGrade(vo.getVendorGrade());
}
if (vo.getVendorScore() != null) {
cloudRk.setVendorScore(vo.getVendorScore());
}
if (vo.getVendorDescription() != null) {
cloudRk.setVendorDescription(vo.getVendorDescription());
}
if (vo.getRank() != null) {
cloudRk.setRank(vo.getRank());
}
if (vo.getRankDescription() != null) {
cloudRk.setRankDescription(vo.getRankDescription());
}
if (vo.getCloudLatest() != null) {
cloudRk.setCloudLatest(vo.getCloudLatest());
}
if (vo.getCloudBlackListUpdated() != null) {
cloudRk.setCloudBlackListUpdated(vo.getCloudBlackListUpdated());
}
if (vo.getCloudEntUpdate() != null) {
cloudRk.setCloudEntUpdate(vo.getCloudEntUpdate());
}
if (vo.getDescription() != null) {
cloudRk.setDescription(vo.getDescription());
}
if (vo.getLatestUpdate() != null) {
cloudRk.setLatestUpdate(vo.getLatestUpdate());
}
// 更新关联的公司
if (vo.getCompanyId() != null) {
CompanyService companyService = SpringApp.getBean(CompanyService.class);
Company company = companyService.findById(vo.getCompanyId());
if (company != null) {
cloudRk.setCompany(company);
}
}
}
}