Files
contract-manager/client/src/main/java/com/ecep/contract/service/CloudTycService.java
songqq 35b33d401b feat: 添加VendorGroupRequireFileTypeVo及相关服务功能
refactor: 重构多个服务类和方法,优化代码结构
fix: 修复PermissionVo中code字段更名为key的问题
docs: 更新create_vo.md文档,添加新创建的VO记录
perf: 优化WebSocketClientService中的session关闭逻辑
style: 清理无用导入和注释,统一代码格式
2025-09-21 23:08:34 +08:00

79 lines
2.5 KiB
Java

package com.ecep.contract.service;
import java.time.LocalDateTime;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import com.ecep.contract.DesktopUtils;
import com.ecep.contract.SpringApp;
import com.ecep.contract.constant.CloudServiceConstant;
import com.ecep.contract.util.ParamUtils;
import com.ecep.contract.util.UITools;
import com.ecep.contract.vm.CloudTycInfoViewModel;
import com.ecep.contract.vo.CloudTycVo;
import com.ecep.contract.vo.CompanyVo;
import javafx.application.Platform;
@Service
public class CloudTycService extends QueryService<CloudTycVo, CloudTycInfoViewModel> {
/**
* 天眼查报告,文件名中必须包含 天眼查 字样
*
* @param fileName 文件名
* @return 是否是天眼查报告
*/
public static boolean isTycReport(String fileName) {
// 文件名中包含 天眼查 字样
return fileName.contains(CloudServiceConstant.TYC_NAME);
}
public void save(CloudTycInfoViewModel viewModel) {
int infoId = viewModel.getId().get();
CloudTycVo cloudTyc = findById(infoId);
if (cloudTyc == null) {
return;
}
if (viewModel.copyTo(cloudTyc)) {
cloudTyc.setLatestUpdate(LocalDateTime.now());
CloudTycVo saved = save(cloudTyc);
Platform.runLater(() -> viewModel.update(saved));
}
}
public void showInBrowse(String cloudId) {
String baseUrl = SpringApp.getBean(SysConfService.class).getString("cloud.tyc.company");
if (!StringUtils.hasText(baseUrl)) {
UITools.showAlertAndWait("系统参数 cloud.tyc.company 未配置");
return;
}
String url = baseUrl + cloudId;
DesktopUtils.showInBrowse(url);
// UITools.showExceptionAndWait("使用浏览器打开网址出现异常", e);
}
public CloudTycVo getOrCreateCloudTyc(CompanyVo company) {
CloudTycVo cloudTyc = findByCompany(company);
if (cloudTyc == null) {
cloudTyc = new CloudTycVo();
cloudTyc.setCompanyId(company.getId());
cloudTyc.setActive(false);
cloudTyc.setVersion(1);
cloudTyc = save(cloudTyc);
}
return cloudTyc;
}
public CloudTycVo findByCompany(CompanyVo company) {
return findAll(ParamUtils.builder().equals("company", company.getId()).build(), Pageable.ofSize(1)).stream()
.findFirst().orElse(null);
}
}