feat: 新增多个服务类及工具类,重构部分代码结构

重构服务类结构,将分散的服务统一整合到service包下
新增ProjectConstant常量类及多个实体服务类
添加SecurityUtils安全工具类和BeanCacher工具类
优化部分UI控件和转换器的实现
This commit is contained in:
2025-09-06 13:43:52 +08:00
parent 0e444508ff
commit effd7b103c
253 changed files with 2920 additions and 1646 deletions

View File

@@ -1,23 +1,23 @@
package com.ecep.contract.controller;
import java.util.List;
import java.util.Map;
import org.hibernate.Hibernate;
import org.springframework.data.domain.Page;
import org.springframework.data.jpa.domain.Specification;
import org.springframework.util.StringUtils;
import com.ecep.contract.SpringApp;
import com.ecep.contract.cloud.u8.YongYouU8Service;
import com.ecep.contract.controller.company.CompanyWindowController;
import com.ecep.contract.ds.company.service.CompanyService;
import com.ecep.contract.controller.table.cell.CompanyTableCell;
import com.ecep.contract.controller.table.cell.LocalDateTimeTableCell;
import com.ecep.contract.model.CloudYu;
import com.ecep.contract.model.Company;
import com.ecep.contract.ui.table.cell.CompanyTableCell;
import com.ecep.contract.ui.table.cell.LocalDateTimeTableCell;
import com.ecep.contract.service.CompanyService;
import com.ecep.contract.service.YongYouU8Service;
import com.ecep.contract.util.ParamUtils;
import com.ecep.contract.vm.CloudYuInfoViewModel;
import jakarta.persistence.criteria.Path;
import javafx.collections.ObservableList;
import javafx.event.ActionEvent;
import javafx.scene.control.ContextMenu;
@@ -54,27 +54,11 @@ public class YongYouU8ManagerSkin
@Override
protected List<CloudYuInfoViewModel> loadTableData() {
String searchText = controller.searchKeyField.getText();
Specification<CloudYu> spec = null;
Map<String, Object> params = ParamUtils.builder().build();
if (StringUtils.hasText(searchText)) {
Specification<CloudYu> companySpec = (root, query, builder) -> {
Path<Object> company = root.get("company");
return builder.or(
builder.like(company.get("name"), "%" + searchText + "%"),
builder.like(company.get("shortName"), "%" + searchText + "%"));
};
Specification<CloudYu> cloudIdSpec = (root, query, builder) -> {
return builder.like(root.get("cloudId"), "%" + searchText + "%");
};
Specification<CloudYu> exceptionSpec = (root, query, builder) -> {
return builder.like(root.get("exceptionMessage"), "%" + searchText + "%");
};
spec = Specification.anyOf(companySpec, cloudIdSpec, exceptionSpec);
params.put("searchText", searchText);
}
Page<CloudYu> page = getU8Service().findAll(spec, getPageable());
Page<CloudYu> page = getU8Service().findAll(params, getPageable());
updateFooter(page);
return page.map(CloudYuInfoViewModel::from).toList();
}