entity

package
v0.1.25 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 22, 2024 License: AGPL-3.0 Imports: 2 Imported by: 3

Documentation

Index

Constants

View Source
const (
	DataType_String    string = "String"
	DataType_Number    string = "Number"
	DataType_Integer   string = "Integer"
	DataType_Long      string = "Long"
	DataType_Float     string = "Float"
	DataType_Date      string = "Date"
	DataType_Timestamp string = "Timestamp"
	DataType_Uint64    string = "uint64"
	DataType_Int64     string = "int64"
	DataType_Uint      string = "uint"
	DataType_Int       string = "int"
	DataType_Bool      string = "bool"
)
View Source
const (
	//缺省关系,整体和部分的强包含关系,关联的子角色是父角色的一部分,需要一起创建一起加载
	RelationType_Dependency string = "Dependency"
	//整体和部分的强包含关系,关联的子角色是父角色的一部分,需要一起创建但可以不一起加载,在需要的时候加载
	RelationType_Composition string = "Composition"
	//整体和部分的弱包含关系,通过connection对象关联,创建的时候创建,不能一起复制,比如团险中的人员清单,复制的时候复制connection对象
	RelationType_Aggregation string = "Aggregation"
	//对象之间松散的关联关系,比如外部客户信息,关联到CIF,或者联系其他的角色对象,需要通过connection对象关联
	RelationType_Association    string = "Association"
	RelationType_Realization    string = "Realization"
	RelationType_Generalization string = "Generalization"
)
View Source
const (
	SpecType_Role       string = "Role"
	SpecType_Action     string = "Action"
	SpecType_Property   string = "Property"
	SpecType_Connection string = "Connection"
)
View Source
const (
	FieldName_SpecId = "SpecId"
	FieldName_Kind   = "Kind"
	FieldName_TopId  = "TopId"
)
View Source
const (
	UseType_Share     string = "Share"
	UseType_Exclusive string = "Exclusive"
	UseType_HalfShare string = "HalfShare"
	UseType_External  string = "External"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type ActionSpec

type ActionSpec struct {
	Specification `xorm:"extends"`
	ExecuteType   string `xorm:"varchar(255)" json:"executeType,omitempty"`
	/**
	 * 在不同的executeType时代表不同含义:规则集和规则流名
	 *
	 * 类名和方法名,spring bean名和方法名,工作流定义编号
	 */
	ActionClass string `xorm:"varchar(255)" json:"actionClass,omitempty"`

	ActionName string `xorm:"varchar(255)" json:"actionName,omitempty"`

	BusinessType string `xorm:"varchar(255)" json:"businessType,omitempty"`

	DataType string `xorm:"varchar(255)" json:"dataType,omitempty"`

	ActionVersion string `xorm:"varchar(255)" json:"ActionVersion,omitempty"`
}

func (ActionSpec) IdName

func (ActionSpec) IdName() string

func (ActionSpec) KeyName

func (ActionSpec) KeyName() string

func (ActionSpec) TableName

func (ActionSpec) TableName() string

type AttributeSpec

type AttributeSpec struct {
	Specification `xorm:"extends"`
	DataType      string `xorm:"varchar(255)" json:"dataType,omitempty"`
	// 存储格式
	Pattern string `xorm:"varchar(255)" json:"pattern,omitempty"`
	/** 缺省值 */
	DefaultValue string `xorm:"varchar(255)" json:"defaultValue,omitempty"`
	/** 是否可选 */
	Required bool `json:"required,omitempty"`
	/** 被容许的值,是BaseCodeId */
	AllowedValue string `xorm:"varchar(255)" json:"allowedValue,omitempty"`
	Alias        string `xorm:"varchar(255)" json:"alias,omitempty"`
}

func (AttributeSpec) IdName

func (AttributeSpec) IdName() string

func (AttributeSpec) KeyName

func (AttributeSpec) KeyName() string

func (AttributeSpec) TableName

func (AttributeSpec) TableName() string

type ConnectionSpec

type ConnectionSpec struct {
	entity.StatusEntity `xorm:"extends"`
	SpecType            string     `xorm:"varchar(255)" json:"specType,omitempty"`
	RelationType        string     `xorm:"varchar(255)" json:"relationType,omitempty"`
	ParentSpecId        uint64     `json:"parentSpecId,omitempty"`
	SubSpecId           uint64     `json:"subSpecId,omitempty"`
	Maxmium             int        `json:"maxmium,omitempty"`
	Minmium             int        `json:"minmium,omitempty"`
	Version             uint64     `json:"version,omitempty"`
	StartDate           *time.Time `json:"startDate,omitempty"`
	EndDate             *time.Time `json:"endDate,omitempty"`
	SerialId            uint64     `json:"serialId,omitempty"`
	/**
	 * 缺省的实例创建数
	 */
	BuildNum int `json:"buildNum,omitempty"`
	/**
	 * 只用于role与role之间的连接,表示连接的下的role的装载模式,-1表示不装载,0表示装载,正整数表示缺省装载几行
	 * 本参数用于一个角色的实例太多,不能一次全装入内存的情况,比如团单的人员清单,按日或者按月的消费记录等等
	 * 或者某角色不適合与父親一起裝載,比如是独立的数据源或者远程服务的時候
	 * 或者是本地可以一次性加载,但是作为产品组合,希望单独加载的情况,将影响RoleEO的loadType
	 */
	LoadNum int `json:"loadNum,omitempty"`
}

func (ConnectionSpec) IdName

func (ConnectionSpec) IdName() string

func (ConnectionSpec) KeyName

func (ConnectionSpec) KeyName() string

func (ConnectionSpec) TableName

func (ConnectionSpec) TableName() string

type FixedRoleSpec

type FixedRoleSpec struct {
	entity.StatusEntity `xorm:"extends"`
	SpecId              uint64    `json:"specId,omitempty"`
	Kind                string    `xorm:"varchar(255)" json:"kind,omitempty"`
	Name                string    `xorm:"varchar(255)" json:"name,omitempty"`
	Description         string    `xorm:"varchar(255)" json:"description,omitempty"`
	Version             uint64    `json:"version,omitempty"`
	StartDate           time.Time `json:"startDate,omitempty"`
	EndDate             time.Time `json:"endDate,omitempty"`
	/**
	 * 静态实体的全类名
	 *
	 * @param fixedName
	 */
	FixedName        string `xorm:"varchar(255)" json:"fixedName,omitempty"`
	FixedServiceName string `xorm:"varchar(255)" json:"fixedServiceName,omitempty"`
}

*

  • 静态定义对象是独占还是共享,S共享,M独占,H半独占共享,E是外部表,缺省是独占
  • 独占意味着静态表的数据就是保单数据的一部分,随着保单数据CRUD,另一份保单实例不能访问本保单实例的数据
  • 共享意味着静态表的数据不是保单数据的一部分,只是一个引用,如果已经存在则不用增加,需要和保单一起RU,
  • 可以和另一份保单实例共享静态数据,因此不能随便删除,典型的例子是CIF的party
  • 半共享模式意味着静态表实例是随着保单实例一起创建的,也可以修改,可以单独操作,不属于保单数据的一部分,因此不能随便删除,CRU
  • 外部静态表表示这是一份外部管理的数据,只是在role中纪录了一个外键连接,缺省不被自动装载,但是需要的时候可以手工装载,用于处理数据量很大的场景,
  • 不能在装载保单的时候一起把静态表的数据装载,比如团险的被保人清单 *
  • @author liu

func (FixedRoleSpec) IdName

func (FixedRoleSpec) IdName() string

func (FixedRoleSpec) KeyName

func (FixedRoleSpec) KeyName() string

func (FixedRoleSpec) TableName

func (FixedRoleSpec) TableName() string

type IInternalFixedActual

type IInternalFixedActual interface {
	UpdateDirtyFlag(dirtyFlag string)
	SetParentId(parentId uint64)
	SetTopId(topId uint64)
}

type InternalFixedActual

type InternalFixedActual struct {
	entity.BaseEntity `xorm:"extends"`
	ParentId          uint64 `xorm:"index" json:"parentId,omitempty"`
	SpecId            uint64 `json:"specId,omitempty"`
	Kind              string `xorm:"-" json:"kind,omitempty"`
	TopId             uint64 `json:"topId,omitempty"`
	Revision          uint64 `json:"revision,omitempty"`
	SchemaName        string `xorm:"varchar(255)" json:"schemaName,omitempty"`
	DirtyFlag         string `xorm:"-" json:"dirtyFlag,omitempty"`
	// contains filtered or unexported fields
}

*

  • 自己定义的所有事实的祖先类, 包括静态对象, *
  • 外部的静态对象(包括外联和共享)不要继承本类

func (*InternalFixedActual) SetParentId

func (this *InternalFixedActual) SetParentId(parentId uint64)

func (*InternalFixedActual) SetTopId

func (this *InternalFixedActual) SetTopId(topId uint64)

func (*InternalFixedActual) UpdateDirtyFlag

func (this *InternalFixedActual) UpdateDirtyFlag(dirtyFlag string)

type RoleSpec

type RoleSpec struct {
	Specification `xorm:"extends"`
	/**
	 * 对应静态对象的外部名称(kind)
	 */
	ExternalKind string `xorm:"varchar(255)" json:"externalKind,omitempty"`
	/**
	 * 对应内部静态对象的编号(specId),表示角色定义的静态属性是产品定义的一部分,
	 *
	 * 在获取保单是会一起获取
	 */
	FixedSpecId uint64 `json:"fixedSpecId,omitempty"`
	/**
	 * 对应外挂静态对象的编号(specId),表示角色的主键会外部关联外部静态对象,
	 * 适用的场景是团单下有很多被保人,比如1000个,不能作为保单的对象全部取出来,这样性能会成问题,
	 * 所以采用外部关联的办法,分页取出外部关联的静态对象,外部静态对象的实例数很多
	 */
	ExternalFixedSpecId uint64 `json:"externalFixedSpecId,omitempty"`
}

func (RoleSpec) IdName

func (RoleSpec) IdName() string

func (RoleSpec) KeyName

func (RoleSpec) KeyName() string

func (RoleSpec) TableName

func (RoleSpec) TableName() string

type Specification

type Specification struct {
	entity.StatusEntity `xorm:"extends"`
	SpecId              uint64     `json:"specId,omitempty"`
	Kind                string     `xorm:"varchar(255)" json:"kind,omitempty"`
	Name                string     `xorm:"varchar(255)" json:"name,omitempty"`
	Description         string     `xorm:"varchar(255)" json:"description,omitempty"`
	Version             uint64     `json:"version,omitempty"`
	StartDate           *time.Time `json:"startDate,omitempty"`
	EndDate             *time.Time `json:"endDate,omitempty"`
	SerialId            uint64     `json:"serialId,omitempty"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL