refactor: 重构多个服务类和方法,优化代码结构 fix: 修复PermissionVo中code字段更名为key的问题 docs: 更新create_vo.md文档,添加新创建的VO记录 perf: 优化WebSocketClientService中的session关闭逻辑 style: 清理无用导入和注释,统一代码格式
230 lines
5.8 KiB
Java
230 lines
5.8 KiB
Java
package com.ecep.contract.model;
|
||
|
||
import java.io.Serializable;
|
||
import java.time.LocalDate;
|
||
import java.util.Objects;
|
||
|
||
import org.hibernate.annotations.ColumnDefault;
|
||
|
||
import com.ecep.contract.util.HibernateProxyUtils;
|
||
import com.ecep.contract.vo.CompanyVo;
|
||
|
||
import jakarta.persistence.Column;
|
||
import jakarta.persistence.Entity;
|
||
import jakarta.persistence.GeneratedValue;
|
||
import jakarta.persistence.GenerationType;
|
||
import jakarta.persistence.Id;
|
||
import jakarta.persistence.Table;
|
||
import jakarta.persistence.Version;
|
||
import lombok.Getter;
|
||
import lombok.Setter;
|
||
import lombok.ToString;
|
||
|
||
/**
|
||
* 公司信息类,保存企业信息
|
||
*/
|
||
@Getter
|
||
@Setter
|
||
@Entity
|
||
@Table(name = "COMPANY")
|
||
@ToString
|
||
public class Company implements IdentityEntity, NamedEntity, BasedEntity, Serializable, Voable<CompanyVo> {
|
||
private static final long serialVersionUID = 1L;
|
||
|
||
@Id
|
||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||
private Integer id;
|
||
|
||
/**
|
||
* 公司名称
|
||
*/
|
||
private String name;
|
||
|
||
/**
|
||
* 统一社会信用代码
|
||
* <p>
|
||
* 编码结构
|
||
*
|
||
* <pre>
|
||
* 1 | 1 | 6 | 9 | 1 < br > 登记管理部门代码 | 机构类别代码 | 登记管理机关行政区划码 | 主体标识码 | 校验码
|
||
* </pre>
|
||
* <ul>
|
||
* <li>登记管理部门代码(第 1 位):<br>
|
||
* 例如,9 代表工商部门登记的企业等。</li>
|
||
* <li>机构类别代码(第 2 位):不同的数字表示不同类型的机构。如 1 表示企业,2 表示个体工商户等。</li>
|
||
* <li>登记管理机关行政区划码(第 3 - 8 位):这 6 位数字代表了登记管理机关所在的行政区划,与身份证号码的前 6
|
||
* 位类似,可对应到具体的地区。</li>
|
||
* <li>主体标识码(组织机构代码,第 9 - 17
|
||
* 位):它是对中华人民共和国境内依法注册、依法登记的机关、企事业单位、社会团体和民办非企业单位等机构颁发的一个在全国范围内唯一的、始终不变的代码。</li>
|
||
* </ul>
|
||
* </p>
|
||
*/
|
||
@Column(name = "UNISCID", length = 30)
|
||
private String uniscid;
|
||
/**
|
||
* 简称
|
||
*/
|
||
@Column(name = "SHORT_NAME")
|
||
private String shortName;
|
||
/**
|
||
* 文件夹存在
|
||
*/
|
||
@Column(name = "PATH_EXIST")
|
||
private Boolean pathExist;
|
||
/**
|
||
* 文件夹路径
|
||
*/
|
||
@Column(name = "PATH")
|
||
private String path;
|
||
/**
|
||
* 记录创建日期
|
||
*/
|
||
@Column(name = "CREATED")
|
||
private LocalDate created;
|
||
/**
|
||
* 企业状态
|
||
*/
|
||
@Column(name = "ENT_STATUS")
|
||
private String entStatus;
|
||
/**
|
||
* 企业类型
|
||
*/
|
||
@Column(name = "ENT_TYPE")
|
||
private String entType;
|
||
|
||
/**
|
||
* 区域
|
||
*/
|
||
@Column(name = "DISTRICT")
|
||
private String district;
|
||
|
||
/**
|
||
* 行业
|
||
*/
|
||
@Column(name = "INDUSTRY")
|
||
private String industry;
|
||
|
||
/**
|
||
* 电话
|
||
*/
|
||
@Column(name = "TELEPHONE")
|
||
private String telephone;
|
||
|
||
/**
|
||
* 注册地址
|
||
*/
|
||
|
||
@Column(name = "REG_ADDR")
|
||
private String regAddr;
|
||
|
||
/**
|
||
* 通讯地址
|
||
*/
|
||
@ToString.Exclude
|
||
@Column(name = "ADDRESS")
|
||
private String address;
|
||
|
||
/**
|
||
* 成立日期
|
||
*/
|
||
@Column(name = "SETUP_DATE")
|
||
private LocalDate setupDate;
|
||
|
||
/**
|
||
* 营业期限起始
|
||
*/
|
||
@ToString.Exclude
|
||
@Column(name = "OPERATION_PERIOD_BEGIN")
|
||
private LocalDate operationPeriodBegin;
|
||
|
||
/**
|
||
* 营业期限截至
|
||
*/
|
||
@ToString.Exclude
|
||
@Column(name = "OPERATION_PERIOD_END")
|
||
private LocalDate operationPeriodEnd;
|
||
|
||
/**
|
||
* 注册资金
|
||
*/
|
||
@ToString.Exclude
|
||
@Column(name = "REGISTERED_CAPITAL")
|
||
private String registeredCapital;
|
||
|
||
/**
|
||
* 资本金币种
|
||
*/
|
||
@ToString.Exclude
|
||
@Column(name = "REGISTERED_CAPITAL_CURRENCY")
|
||
private String registeredCapitalCurrency;
|
||
|
||
/**
|
||
* 法人
|
||
*/
|
||
@ToString.Exclude
|
||
@Column(name = "LEGAL_REPRESENTATIVE")
|
||
private String legalRepresentative;
|
||
|
||
/**
|
||
* 备注
|
||
*/
|
||
@ToString.Exclude
|
||
@Column(name = "MEMO")
|
||
private String memo;
|
||
|
||
@Version
|
||
@ColumnDefault("0")
|
||
@Column(name = "VERSION", nullable = false)
|
||
@ToString.Exclude
|
||
private int version;
|
||
|
||
@Override
|
||
public String toPrettyString() {
|
||
return getName();
|
||
}
|
||
|
||
@Override
|
||
public final boolean equals(Object object) {
|
||
if (this == object)
|
||
return true;
|
||
if (object == null || HibernateProxyUtils.isNotEffectiveClassEquals(this, object))
|
||
return false;
|
||
Company company = (Company) object;
|
||
return getId() != null && Objects.equals(getId(), company.getId());
|
||
}
|
||
|
||
@Override
|
||
public final int hashCode() {
|
||
return HibernateProxyUtils.hashCode(this);
|
||
}
|
||
|
||
@Override
|
||
public CompanyVo toVo() {
|
||
CompanyVo vo = new CompanyVo();
|
||
vo.setId(id);
|
||
vo.setName(name);
|
||
vo.setUniscid(getUniscid());
|
||
vo.setShortName(getShortName());
|
||
vo.setPathExist(getPathExist() != null && getPathExist());
|
||
vo.setPath(getPath());
|
||
vo.setCreated(getCreated());
|
||
vo.setEntStatus(getEntStatus());
|
||
vo.setEntType(getEntType());
|
||
vo.setDistrict(getDistrict());
|
||
vo.setIndustry(getIndustry());
|
||
vo.setTelephone(getTelephone());
|
||
vo.setRegAddr(getRegAddr());
|
||
vo.setAddress(getAddress());
|
||
vo.setSetupDate(getSetupDate());
|
||
vo.setOperationPeriodBegin(getOperationPeriodBegin());
|
||
vo.setOperationPeriodEnd(getOperationPeriodEnd());
|
||
vo.setRegisteredCapital(registeredCapital);
|
||
vo.setRegisteredCapitalCurrency(registeredCapitalCurrency);
|
||
vo.setLegalRepresentative(legalRepresentative);
|
||
vo.setMemo(memo);
|
||
vo.setRemark(memo);
|
||
vo.setVersion(version);
|
||
return vo;
|
||
}
|
||
}
|