refactor(contract): 重构客户文件类型相关代码,统一命名和继承结构

- 将 CompanyCustomerFileType 重命名为 CustomerFileType
- 统一相关 VO 和 model 的继承结构,使用 BaseEnumEntity
- 更新所有引用点,保持代码一致性
- 优化表格单元格显示逻辑,使用专用单元格工厂
This commit is contained in:
2025-09-22 17:25:24 +08:00
parent 3c3003fdf3
commit 35a15f4702
33 changed files with 150 additions and 141 deletions

View File

@@ -17,7 +17,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.util.StringUtils;
import com.ecep.contract.CompanyCustomerFileType;
import com.ecep.contract.CustomerFileType;
import com.ecep.contract.VendorFileType;
import com.ecep.contract.SpringApp;
import com.ecep.contract.ds.company.CompanyFileUtils;
@@ -164,7 +164,7 @@ public abstract class CompanyBasicService {
* @see CompanyVendorFile
* @see VendorFileType
* @see CompanyCustomerFile
* @see CompanyCustomerFileType
* @see CustomerFileType
*/
protected abstract <T, F extends CompanyBasicFile<T>> boolean fillFileAsDefaultType(F dbFile, File file, Consumer<String> status);

View File

@@ -18,7 +18,7 @@ import org.hibernate.Hibernate;
import org.springframework.security.core.userdetails.User;
import org.springframework.util.StringUtils;
import com.ecep.contract.CompanyCustomerFileType;
import com.ecep.contract.CustomerFileType;
import com.ecep.contract.ContractFileType;
import com.ecep.contract.ContractPayWay;
import com.ecep.contract.MessageHolder;
@@ -695,7 +695,7 @@ public class ContractVerifyComm {
for (LocalDate verifyDate : verifyDates) {
CompanyCustomerFile customerFile = files.stream()
.filter(v -> v.getSignDate() != null && v.isValid())
.filter(v -> v.getType() == CompanyCustomerFileType.EvaluationForm)
.filter(v -> v.getType() == CustomerFileType.EvaluationForm)
.filter(v -> MyDateTimeUtils.dateValidFilter(verifyDate, v.getSignDate(),
v.getSignDate().plusYears(1), 7))
.findFirst().orElse(null);
@@ -706,7 +706,7 @@ public class ContractVerifyComm {
CompanyCustomerFile latestFile = files.stream()
.filter(v -> v.getSignDate() != null && v.isValid())
.filter(v -> v.getType() == CompanyCustomerFileType.EvaluationForm)
.filter(v -> v.getType() == CustomerFileType.EvaluationForm)
.max(Comparator.comparing(CompanyCustomerFile::getSignDate))
.orElse(null);

View File

@@ -4,7 +4,7 @@ import java.util.List;
import org.springframework.stereotype.Repository;
import com.ecep.contract.CompanyCustomerFileType;
import com.ecep.contract.CustomerFileType;
import com.ecep.contract.ds.MyRepository;
import com.ecep.contract.model.CompanyCustomer;
import com.ecep.contract.model.CompanyCustomerFile;
@@ -14,5 +14,5 @@ public interface CompanyCustomerFileRepository extends MyRepository<CompanyCusto
List<CompanyCustomerFile> findAllByCustomer(CompanyCustomer companyCustomer);
List<CompanyCustomerFile> findAllByCustomerAndType(CompanyCustomer customer, CompanyCustomerFileType type);
List<CompanyCustomerFile> findAllByCustomerAndType(CompanyCustomer customer, CustomerFileType type);
}

View File

@@ -2,17 +2,17 @@ package com.ecep.contract.ds.customer.repository;
import org.springframework.stereotype.Repository;
import com.ecep.contract.CompanyCustomerFileType;
import com.ecep.contract.CustomerFileType;
import com.ecep.contract.ds.other.repository.BaseEnumEntityRepository;
import com.ecep.contract.model.CompanyCustomerFileTypeLocal;
@Repository
public interface CompanyCustomerFileTypeLocalRepository
extends BaseEnumEntityRepository<CompanyCustomerFileType, CompanyCustomerFileTypeLocal, Integer> {
extends BaseEnumEntityRepository<CustomerFileType, CompanyCustomerFileTypeLocal, Integer> {
@Override
default CompanyCustomerFileType[] getEnumConstants() {
return CompanyCustomerFileType.values();
default CustomerFileType[] getEnumConstants() {
return CustomerFileType.values();
}
@Override

View File

@@ -25,7 +25,7 @@ import org.springframework.data.domain.Sort;
import org.springframework.data.jpa.domain.Specification;
import org.springframework.stereotype.Service;
import com.ecep.contract.CompanyCustomerFileType;
import com.ecep.contract.CustomerFileType;
import com.ecep.contract.IEntityService;
import com.ecep.contract.SpringApp;
import com.ecep.contract.constant.CompanyCustomerConstant;
@@ -72,7 +72,7 @@ public class CompanyCustomerFileService implements IEntityService<CompanyCustome
}
)
public void delete(CompanyCustomerFile file) {
if (file.getType() == CompanyCustomerFileType.EvaluationForm) {
if (file.getType() == CustomerFileType.EvaluationForm) {
companyCustomerEvaluationFormFileRepository.deleteById(file.getId());
}
companyCustomerFileRepository.delete(file);
@@ -118,7 +118,7 @@ public class CompanyCustomerFileService implements IEntityService<CompanyCustome
return;
}
CompanyCustomerFile customerFile = optional.get();
if (customerFile.getType() == CompanyCustomerFileType.EvaluationForm) {
if (customerFile.getType() == CustomerFileType.EvaluationForm) {
companyCustomerEvaluationFormFileRepository.deleteById(id);
}
companyCustomerFileRepository.delete(customerFile);
@@ -134,12 +134,12 @@ public class CompanyCustomerFileService implements IEntityService<CompanyCustome
return companyCustomerFileRepository.saveAll(files);
}
public List<CompanyCustomerFile> findAllByCustomerAndType(CompanyCustomer customer, CompanyCustomerFileType type) {
public List<CompanyCustomerFile> findAllByCustomerAndType(CompanyCustomer customer, CustomerFileType type) {
return companyCustomerFileRepository.findAllByCustomerAndType(customer, type);
}
public List<CompanyCustomerEvaluationFormFile> findAllCustomerEvaluationFormFiles(CompanyCustomer companyCustomer) {
return findAllByCustomerAndType(companyCustomer, CompanyCustomerFileType.EvaluationForm).stream().map(v -> {
return findAllByCustomerAndType(companyCustomer, CustomerFileType.EvaluationForm).stream().map(v -> {
return companyCustomerEvaluationFormFileRepository.findById(v.getId()).orElseGet(() -> {
CompanyCustomerEvaluationFormFile formFile = new CompanyCustomerEvaluationFormFile();
formFile.setCustomerFile(v);
@@ -181,7 +181,7 @@ public class CompanyCustomerFileService implements IEntityService<CompanyCustome
return null;
}
// 检索评估表
List<CompanyCustomerFile> files = findAllByCustomerAndType(companyCustomer, CompanyCustomerFileType.EvaluationForm);
List<CompanyCustomerFile> files = findAllByCustomerAndType(companyCustomer, CustomerFileType.EvaluationForm);
CompanyCustomerFile latestFile = files.stream()
.filter(v -> v.getSignDate() != null && v.isValid())
.max(Comparator.comparing(CompanyCustomerFile::getSignDate))

View File

@@ -31,7 +31,7 @@ import org.springframework.data.jpa.domain.Specification;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import com.ecep.contract.CompanyCustomerFileType;
import com.ecep.contract.CustomerFileType;
import com.ecep.contract.IEntityService;
import com.ecep.contract.ds.company.service.CompanyBasicService;
import com.ecep.contract.ds.customer.repository.CompanyCustomerEvaluationFormFileRepository;
@@ -184,7 +184,7 @@ public class CompanyCustomerService extends CompanyBasicService
@Override
protected <T, F extends CompanyBasicFile<T>> boolean fillFileAsDefaultType(F dbFile, File file,
Consumer<String> status) {
dbFile.setType((T) CompanyCustomerFileType.General);
dbFile.setType((T) CustomerFileType.General);
fillFile(dbFile, file, null, status);
companyCustomerFileService.save((CompanyCustomerFile) dbFile);
return true;
@@ -254,7 +254,7 @@ public class CompanyCustomerService extends CompanyBasicService
protected <T, F extends CompanyBasicFile<T>> F fillFileType(File file, List<File> fileList,
Consumer<String> status) {
CompanyCustomerFile customerFile = new CompanyCustomerFile();
customerFile.setType(CompanyCustomerFileType.General);
customerFile.setType(CustomerFileType.General);
if (fillFile(customerFile, file, fileList, status)) {
return (F) customerFile;
}
@@ -264,8 +264,8 @@ public class CompanyCustomerService extends CompanyBasicService
@Override
protected <T, F extends CompanyBasicFile<T>> boolean setFileTypeAsEvaluationForm(F file) {
T type = file.getType();
if (type != CompanyCustomerFileType.EvaluationForm) {
file.setType((T) CompanyCustomerFileType.EvaluationForm);
if (type != CustomerFileType.EvaluationForm) {
file.setType((T) CustomerFileType.EvaluationForm);
return true;
}
return false;