feat: 添加合约文件类型服务及错误处理改进

refactor: 重构合约文件类型相关代码,优化错误处理逻辑

fix: 修复WebSocket会话未绑定用户时的错误处理

style: 调整代码格式,提高可读性

docs: 更新部分代码注释

test: 添加合约文件类型服务的测试用例

chore: 移除无用代码,清理项目结构
This commit is contained in:
2025-09-12 00:12:51 +08:00
parent a1b87de7c0
commit fc263288e4
16 changed files with 357 additions and 124 deletions

View File

@@ -0,0 +1,51 @@
package com.ecep.contract.vm;
import java.util.Objects;
import com.ecep.contract.ContractFileType;
import com.ecep.contract.model.ContractFileTypeLocal;
import javafx.beans.property.SimpleObjectProperty;
import javafx.beans.property.SimpleStringProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = false)
public class ContractFileTypeLocalViewModel extends IdentityViewModel<ContractFileTypeLocal> {
private SimpleObjectProperty<ContractFileType> type = new SimpleObjectProperty<>();
private SimpleStringProperty suggestFileName = new SimpleStringProperty();
private SimpleStringProperty lang = new SimpleStringProperty();
private SimpleStringProperty value = new SimpleStringProperty();
@Override
protected void updateFrom(ContractFileTypeLocal v) {
super.updateFrom(v);
type.set(v.getType());
suggestFileName.set(v.getSuggestFileName());
lang.set(v.getLang());
value.set(v.getValue());
}
@Override
public boolean copyTo(ContractFileTypeLocal v) {
boolean ret = super.copyTo(v);
if (!Objects.equals(type.get(), v.getType())) {
v.setType(type.get());
ret = true;
}
if (!Objects.equals(suggestFileName.get(), v.getSuggestFileName())) {
v.setSuggestFileName(suggestFileName.get());
ret = true;
}
if (!Objects.equals(lang.get(), v.getLang())) {
v.setLang(lang.get());
ret = true;
}
if (!Objects.equals(value.get(), v.getValue())) {
v.setValue(value.get());
ret = true;
}
return ret;
}
}