123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- package entity
- import (
- "git.sxidc.com/go-tools/utils/strutils"
- "github.com/pkg/errors"
- "time"
- )
- const (
- // FieldID ID字段名
- FieldID = "ID"
- // FieldTenantID 租户ID字段名
- FieldTenantID = "TenantID"
- // FieldCreateUserID 创建用户ID字段名
- FieldCreateUserID = "CreateUserID"
- // FieldLastUpdateUserID 最近更新用户ID字段名
- FieldLastUpdateUserID = "LastUpdateUserID"
- // FieldDeleteUserID 删除用户ID字段名
- FieldDeleteUserID = "DeleteUserID"
- // FieldOperatorUserName 操作者用户名
- FieldOperatorUserName = "OperatorUserName"
- // FieldCreatedTime 创建时间字段名
- FieldCreatedTime = "CreatedTime"
- // FieldLastUpdatedTime 最近更新时间字段名
- FieldLastUpdatedTime = "LastUpdatedTime"
- )
- const (
- // ColumnID ID列名
- ColumnID = "id"
- // ColumnTenantID 租户ID列名
- ColumnTenantID = "tenant_id"
- // ColumnCreateUserID 创建用户ID列名
- ColumnCreateUserID = "create_user_id"
- // ColumnLastUpdateUserID 最新更新用户ID列名
- ColumnLastUpdateUserID = "last_update_user_id"
- // ColumnDeleteUserID 删除用户ID列名
- ColumnDeleteUserID = "delete_user_id"
- // ColumnOperatorUserName 操作者用户名列名
- ColumnOperatorUserName = "operator_user_name"
- // ColumnCreatedTime 创建时间列名
- ColumnCreatedTime = "created_time"
- // ColumnLastUpdatedTime 最近更新时间列名
- ColumnLastUpdatedTime = "last_updated_time"
- )
- const (
- idLen = 32
- )
- // TenantIDField 租户ID字段
- type TenantIDField struct {
- TenantID string `sqlmapping:"column:tenant_id;" sqlresult:"column:tenant_id;" check:"required,len=32,when=create"`
- }
- // UserIDFields 用户ID相关字段
- type UserIDFields struct {
- CreateUserID string `sqlmapping:"column:create_user_id;" sqlresult:"column:create_user_id;" check:"required,len=32,when=create"`
- LastUpdateUserID string `sqlmapping:"column:last_update_user_id;" sqlresult:"column:last_update_user_id;" check:"required,len=32,when=update"`
- DeleteUserID string `sqlmapping:"-" sqlresult:"-" check:"required,len=32,when=delete"`
- }
- // OperatorUserNameField 操作者用户名
- type OperatorUserNameField struct {
- OperatorUserName string `sqlmapping:"-" sqlresult:"-" check:"required,when=create/delete/update"`
- }
- // TimeFields 时间相关字段
- type TimeFields struct {
- CreatedTime time.Time `sqlmapping:"column:created_time;" sqlresult:"column:created_time;"`
- LastUpdatedTime time.Time `sqlmapping:"column:last_updated_time;" sqlresult:"column:last_updated_time;"`
- }
- // CheckIDTypeValue 校验ID类型的字段,如ID,租户ID,用户ID等,特点是字符串类型,不能为空且长度严格为32字节
- // 参数:
- // - domainCNName: 领域中文名,可以使用DomainCNName()方法获得
- // - fieldCNName: 字段的中文名称(用于构造报错信息)
- // - id: id字段的值
- // 返回值:
- // - 错误
- func CheckIDTypeValue(domainCNName string, fieldCNName string, id string) error {
- if strutils.IsStringEmpty(id) {
- return errors.New(domainCNName + fieldCNName + "为空")
- }
- if len(id) != idLen {
- return errors.New(domainCNName + fieldCNName + "长度不正确")
- }
- return nil
- }
|