REQ-3540: 添加entity
This commit is contained in:
parent
d7c1850f9f
commit
2191b85404
@ -0,0 +1,14 @@
|
||||
package cn.axzo.nanopart.doc.api.enums;
|
||||
|
||||
/**
|
||||
* @author yanglin
|
||||
*/
|
||||
public enum FileDatabaseState {
|
||||
|
||||
// 开通中
|
||||
ACTIVATING,
|
||||
// 已开通
|
||||
ACTIVATED,
|
||||
// 已到期
|
||||
EXPIRED
|
||||
}
|
||||
@ -0,0 +1,15 @@
|
||||
package cn.axzo.nanopart.doc.api.enums;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
|
||||
/**
|
||||
* @author yanglin
|
||||
*/
|
||||
public enum FileFeeType {
|
||||
|
||||
// 用户买断
|
||||
ONE_TIME_FEE_PER_PERSON,
|
||||
// 按项目买断
|
||||
ONE_TIME_FEE_PER_PROJECT
|
||||
}
|
||||
@ -0,0 +1,18 @@
|
||||
package cn.axzo.nanopart.doc.api.enums;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
|
||||
/**
|
||||
* @author yanglin
|
||||
*/
|
||||
public enum FileScope {
|
||||
// 无
|
||||
NONE,
|
||||
// 企业数据库
|
||||
ENT_DATABASE,
|
||||
// 项目数据库
|
||||
PROJECT_DATABASE,
|
||||
// 个人数据库
|
||||
PERSONAL_DATABASE
|
||||
}
|
||||
@ -0,0 +1,16 @@
|
||||
package cn.axzo.nanopart.doc.api.enums;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
|
||||
/**
|
||||
* @author yanglin
|
||||
*/
|
||||
public enum FileTemplateState {
|
||||
|
||||
// DRAFT
|
||||
DRAFT,
|
||||
// PUBLISHED
|
||||
PUBLISHED
|
||||
|
||||
}
|
||||
@ -0,0 +1,11 @@
|
||||
package cn.axzo.nanopart.doc.api.enums;
|
||||
|
||||
/**
|
||||
* @author yanglin
|
||||
*/
|
||||
public enum FileVipFeeType {
|
||||
// 会员免费
|
||||
VIP_FREE,
|
||||
// 会员折扣
|
||||
VIP_DISCOUNT
|
||||
}
|
||||
@ -0,0 +1,18 @@
|
||||
package cn.axzo.nanopart.doc.api.enums;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
|
||||
/**
|
||||
* @author yanglin
|
||||
*/
|
||||
public enum IndexNodeContext {
|
||||
// 系统内置
|
||||
SYSTEM,
|
||||
// 文件模版
|
||||
FILE_TEMPLATE,
|
||||
// 模版数据库
|
||||
TEMPLATE_DATABASE,
|
||||
// 数据库
|
||||
FILE_DATABASE
|
||||
}
|
||||
@ -0,0 +1,15 @@
|
||||
package cn.axzo.nanopart.doc.api.enums;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
|
||||
/**
|
||||
* @author yanglin
|
||||
*/
|
||||
public enum IndexNodeState {
|
||||
|
||||
// 有效的
|
||||
VALID,
|
||||
// 已删除
|
||||
DELETED
|
||||
}
|
||||
@ -0,0 +1,18 @@
|
||||
package cn.axzo.nanopart.doc.api.enums;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
|
||||
/**
|
||||
* @author yanglin
|
||||
*/
|
||||
public enum IndexNodeType {
|
||||
|
||||
// 空间(数据库)
|
||||
DATABASE,
|
||||
// 目录
|
||||
DIRECTORY,
|
||||
// 文件
|
||||
FILE
|
||||
|
||||
}
|
||||
@ -0,0 +1,13 @@
|
||||
package cn.axzo.nanopart.doc.dao;
|
||||
|
||||
import cn.axzo.nanopart.doc.entity.FileDatabase;
|
||||
import cn.axzo.nanopart.doc.mapper.FileDatabaseMapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
/**
|
||||
* @author yanglin
|
||||
*/
|
||||
@Repository
|
||||
public class FileDatabaseDao extends ServiceImpl<FileDatabaseMapper, FileDatabase> {
|
||||
}
|
||||
@ -0,0 +1,13 @@
|
||||
package cn.axzo.nanopart.doc.dao;
|
||||
|
||||
import cn.axzo.nanopart.doc.entity.FileTemplate;
|
||||
import cn.axzo.nanopart.doc.mapper.FileTemplateMapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
/**
|
||||
* @author yanglin
|
||||
*/
|
||||
@Repository
|
||||
public class FileTemplateDao extends ServiceImpl<FileTemplateMapper, FileTemplate> {
|
||||
}
|
||||
@ -0,0 +1,15 @@
|
||||
package cn.axzo.nanopart.doc.dao;
|
||||
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
|
||||
import cn.axzo.nanopart.doc.entity.IndexNode;
|
||||
import cn.axzo.nanopart.doc.mapper.IndexNodeMapper;
|
||||
|
||||
/**
|
||||
* @author yanglin
|
||||
*/
|
||||
@Repository
|
||||
public class IndexNodeDao extends ServiceImpl<IndexNodeMapper, IndexNode> {
|
||||
}
|
||||
@ -0,0 +1,13 @@
|
||||
package cn.axzo.nanopart.doc.dao;
|
||||
|
||||
import cn.axzo.nanopart.doc.entity.TemplateDatabase;
|
||||
import cn.axzo.nanopart.doc.mapper.TemplateDatabaseMapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
/**
|
||||
* @author yanglin
|
||||
*/
|
||||
@Repository
|
||||
public class TemplateDatabaseDao extends ServiceImpl<TemplateDatabaseMapper, TemplateDatabase> {
|
||||
}
|
||||
@ -0,0 +1,72 @@
|
||||
package cn.axzo.nanopart.doc.entity;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
|
||||
import cn.axzo.nanopart.doc.api.enums.FileDatabaseState;
|
||||
import cn.axzo.nanopart.doc.api.enums.FileScope;
|
||||
import cn.axzo.nanopart.doc.utils.YesOrNo;
|
||||
import cn.axzo.pokonyan.config.mybatisplus.BaseEntity;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* @author yanglin
|
||||
*/
|
||||
@Setter
|
||||
@Getter
|
||||
@TableName(value = "doc_file_database", autoResultMap = true)
|
||||
public class FileDatabase extends BaseEntity<FileDatabase> {
|
||||
|
||||
/**
|
||||
* 编码, 和index_node中对应的节点一致
|
||||
*/
|
||||
private String code;
|
||||
|
||||
/**
|
||||
* 业务编码
|
||||
*/
|
||||
private String bizCode;
|
||||
|
||||
/**
|
||||
* 对应的模版数据的编码
|
||||
*/
|
||||
private String templateDatabaseCode;
|
||||
|
||||
/**
|
||||
* 作用范围. NONE: 无, ENT_DATABASE: 企业数据库, PROJECT_DATABASE: 项目数据库, PERSONAL_DATABASE: 个人数据库
|
||||
*/
|
||||
private FileScope scope;
|
||||
|
||||
/**
|
||||
* 作用范围id. 单位数据库存ouId, 项目数据库存workspaceId, 个人数据库存personId
|
||||
*/
|
||||
private Long scopeId;
|
||||
|
||||
/**
|
||||
* 状态. ACTIVATING: 开通中, ACTIVATED: 已开通, EXPIRED: 已到期
|
||||
*/
|
||||
private FileDatabaseState state;
|
||||
|
||||
/**
|
||||
* 是否需要付费. YES: 需要, NO: 不需要
|
||||
*/
|
||||
private YesOrNo needPay;
|
||||
|
||||
/**
|
||||
* 到期时间
|
||||
*/
|
||||
private Date expireDate;
|
||||
|
||||
/**
|
||||
* 购买容量, 单位GB
|
||||
*/
|
||||
private Integer allowedCapacity;
|
||||
|
||||
/**
|
||||
* 已使用的容量, 单位GB
|
||||
*/
|
||||
private Integer usedCapacity;
|
||||
|
||||
}
|
||||
@ -0,0 +1,56 @@
|
||||
package cn.axzo.nanopart.doc.entity;
|
||||
|
||||
import cn.axzo.nanopart.doc.api.enums.FileFeeType;
|
||||
import cn.axzo.nanopart.doc.api.enums.FileTemplateState;
|
||||
import cn.axzo.nanopart.doc.api.enums.FileVipFeeType;
|
||||
import cn.axzo.nanopart.doc.utils.YesOrNo;
|
||||
import cn.axzo.pokonyan.config.mybatisplus.BaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* @author yanglin
|
||||
*/
|
||||
@Setter
|
||||
@Getter
|
||||
@TableName(value = "doc_file_template", autoResultMap = true)
|
||||
public class FileTemplate extends BaseEntity<FileTemplate> {
|
||||
|
||||
/**
|
||||
* 文件编码, 和index_node对应的节点code保持一致
|
||||
*/
|
||||
private String code;
|
||||
|
||||
/**
|
||||
* 状态. DRAFT: 草稿, PUBLISHED: 已发布
|
||||
*/
|
||||
private FileTemplateState state;
|
||||
|
||||
/**
|
||||
* 是否需要付费. YES: 是, NO: 否
|
||||
*/
|
||||
private YesOrNo needPay;
|
||||
|
||||
/**
|
||||
* 收费模版, ONE_TIME_FEE_PER_PERSON: 用户买断, ONE_TIME_FEE_PER_PROJECT: 按项目买断
|
||||
*/
|
||||
private FileFeeType feeType;
|
||||
|
||||
/**
|
||||
* 金额
|
||||
*/
|
||||
private BigDecimal fee;
|
||||
|
||||
/**
|
||||
* 会员收费方式. VIP_FREE: 会员免费, VIP_DISCOUNT: 会员折扣
|
||||
*/
|
||||
private FileVipFeeType vipFeeType;
|
||||
|
||||
/**
|
||||
* 会员费用
|
||||
*/
|
||||
private BigDecimal vipFee;
|
||||
}
|
||||
@ -0,0 +1,94 @@
|
||||
package cn.axzo.nanopart.doc.entity;
|
||||
|
||||
import cn.axzo.nanopart.doc.api.enums.FileScope;
|
||||
import cn.axzo.nanopart.doc.api.enums.IndexNodeContext;
|
||||
import cn.axzo.nanopart.doc.api.enums.IndexNodeState;
|
||||
import cn.axzo.nanopart.doc.api.enums.IndexNodeType;
|
||||
import cn.axzo.nanopart.doc.entity.domain.IndexNodeAttributes;
|
||||
import cn.axzo.pokonyan.config.mybatisplus.BaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* @author yanglin
|
||||
*/
|
||||
@Setter
|
||||
@Getter
|
||||
@TableName(value = "doc_index_node", autoResultMap = true)
|
||||
public class IndexNode extends BaseEntity<IndexNode> {
|
||||
|
||||
/**
|
||||
* 父节点id
|
||||
*/
|
||||
private Long parentId;
|
||||
|
||||
/**
|
||||
* 系统编码
|
||||
*/
|
||||
private String code;
|
||||
|
||||
/**
|
||||
* 节点名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 业务编码
|
||||
*/
|
||||
private String bizCode;
|
||||
|
||||
/**
|
||||
* 节点类型. DATABASE: 空间(数据库), DIRECTORY: 目录, FILE: 文件
|
||||
*/
|
||||
private IndexNodeType nodeType;
|
||||
|
||||
/**
|
||||
* 上下文. NONE: 无上下文, SYSTEM: 系统内置, FILE_TEMPLATE: 文件模版, TEMPLATE_DATABASE: 模版数据库, FILE_DATABASE: 数据库
|
||||
*/
|
||||
private IndexNodeContext context;
|
||||
|
||||
/**
|
||||
* 作用范围. NONE: 无, ENT_DATABASE: 企业数据库, PROJECT_DATABASE: 项目数据库, PERSONAL_DATABASE: 个人数据库
|
||||
*/
|
||||
private FileScope scope;
|
||||
|
||||
/**
|
||||
* 作用范围id. 单位数据库存ouId, 项目数据库存workspaceId, 个人数据库存personId
|
||||
*/
|
||||
private Long scopeId;
|
||||
|
||||
/**
|
||||
* 路径, id拼起来, 以斜杠开头和结束. /1/2/3/
|
||||
*/
|
||||
private String path;
|
||||
|
||||
/**
|
||||
* 描述信息
|
||||
*/
|
||||
private String description;
|
||||
|
||||
/**
|
||||
* 图标
|
||||
*/
|
||||
private String icon;
|
||||
|
||||
/**
|
||||
* 文件的大小(bytes), 只有文件才存这个字段
|
||||
*/
|
||||
private Integer size;
|
||||
|
||||
/**
|
||||
* 状态. VALID: 有效的, DELETED: 已删除
|
||||
*/
|
||||
private IndexNodeState state;
|
||||
|
||||
/**
|
||||
* 属性. 不同node_type的属性可能不一样
|
||||
*/
|
||||
@TableField(typeHandler = FastjsonTypeHandler.class)
|
||||
private IndexNodeAttributes attributes;
|
||||
|
||||
}
|
||||
@ -0,0 +1,44 @@
|
||||
package cn.axzo.nanopart.doc.entity;
|
||||
|
||||
import cn.axzo.nanopart.doc.api.enums.FileScope;
|
||||
import cn.axzo.nanopart.doc.entity.domain.TemplateDatabaseAccessConfig;
|
||||
import cn.axzo.nanopart.doc.entity.domain.TemplateDatabasePayConfig;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
|
||||
import cn.axzo.pudge.core.persistence.BaseEntity;
|
||||
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* @author yanglin
|
||||
*/
|
||||
@Setter
|
||||
@Getter
|
||||
@TableName(value = "doc_template_database", autoResultMap = true)
|
||||
public class TemplateDatabase extends BaseEntity<TemplateDatabase> {
|
||||
|
||||
/**
|
||||
* 编码, 和index_node中对应节点的编码保持一致
|
||||
*/
|
||||
private String code;
|
||||
|
||||
/**
|
||||
* 作用范围. NONE: 无, ENT_DATABASE: 企业数据库, PROJECT_DATABASE: 项目数据库, PERSONAL_DATABASE: 个人数据库
|
||||
*/
|
||||
private FileScope scope;
|
||||
|
||||
/**
|
||||
* 支付配置
|
||||
*/
|
||||
@TableField(typeHandler = FastjsonTypeHandler.class)
|
||||
private TemplateDatabasePayConfig payConfig;
|
||||
|
||||
/**
|
||||
* 安全配置
|
||||
*/
|
||||
@TableField(typeHandler = FastjsonTypeHandler.class)
|
||||
private TemplateDatabaseAccessConfig accessConfig;
|
||||
|
||||
}
|
||||
@ -0,0 +1,7 @@
|
||||
package cn.axzo.nanopart.doc.entity.domain;
|
||||
|
||||
/**
|
||||
* @author yanglin
|
||||
*/
|
||||
public class IndexNodeAttributes {
|
||||
}
|
||||
@ -0,0 +1,7 @@
|
||||
package cn.axzo.nanopart.doc.entity.domain;
|
||||
|
||||
/**
|
||||
* @author yanglin
|
||||
*/
|
||||
public class TemplateDatabaseAccessConfig {
|
||||
}
|
||||
@ -0,0 +1,7 @@
|
||||
package cn.axzo.nanopart.doc.entity.domain;
|
||||
|
||||
/**
|
||||
* @author yanglin
|
||||
*/
|
||||
public class TemplateDatabasePayConfig {
|
||||
}
|
||||
@ -0,0 +1,12 @@
|
||||
package cn.axzo.nanopart.doc.mapper;
|
||||
|
||||
import cn.axzo.nanopart.doc.entity.FileDatabase;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
* @author yanglin
|
||||
*/
|
||||
@Mapper
|
||||
public interface FileDatabaseMapper extends BaseMapper<FileDatabase> {
|
||||
}
|
||||
@ -0,0 +1,12 @@
|
||||
package cn.axzo.nanopart.doc.mapper;
|
||||
|
||||
import cn.axzo.nanopart.doc.entity.FileTemplate;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
* @author yanglin
|
||||
*/
|
||||
@Mapper
|
||||
public interface FileTemplateMapper extends BaseMapper<FileTemplate> {
|
||||
}
|
||||
@ -0,0 +1,14 @@
|
||||
package cn.axzo.nanopart.doc.mapper;
|
||||
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
import cn.axzo.nanopart.doc.entity.IndexNode;
|
||||
|
||||
/**
|
||||
* @author yanglin
|
||||
*/
|
||||
@Mapper
|
||||
public interface IndexNodeMapper extends BaseMapper<IndexNode> {
|
||||
}
|
||||
@ -0,0 +1,12 @@
|
||||
package cn.axzo.nanopart.doc.mapper;
|
||||
|
||||
import cn.axzo.nanopart.doc.entity.TemplateDatabase;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
* @author yanglin
|
||||
*/
|
||||
@Mapper
|
||||
public interface TemplateDatabaseMapper extends BaseMapper<TemplateDatabase> {
|
||||
}
|
||||
@ -0,0 +1,40 @@
|
||||
package cn.axzo.nanopart.doc.utils;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.EnumValue;
|
||||
|
||||
import cn.axzo.basics.common.constant.enums.CodeDefinition;
|
||||
import lombok.AccessLevel;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* @author yanglin
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor(access = AccessLevel.PRIVATE)
|
||||
public enum YesOrNo implements CodeDefinition<String> {
|
||||
YES("YES", "是"),
|
||||
NO("NO", "是")
|
||||
;
|
||||
|
||||
@EnumValue
|
||||
private final String code;
|
||||
private final String desc;
|
||||
|
||||
public static YesOrNo valueOf(boolean value) {
|
||||
return value ? YES : NO;
|
||||
}
|
||||
|
||||
public boolean booleanValue() {
|
||||
return this == YES;
|
||||
}
|
||||
|
||||
public boolean isYes() {
|
||||
return this == YES;
|
||||
}
|
||||
|
||||
public boolean isNo() {
|
||||
return this == NO;
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user