sys_company_app.go 1.8 KB
package domain

import (
	"context"
	"gitlab.fjmaimaimai.com/allied-creation/su-micro/pkg/transaction"
)

type SysCompanyApp struct {
	Id            int64     // 唯一标识
	CompanyId     int64     `json:",omitempty"` // 公司表ID
	AppId         int64     `json:",omitempty"` // 应用ID
	Status        int       `json:",omitempty"` // 1:启用、2:停用
	VisibleFlag   int       `json:",omitempty"` // 1:全员可见 2:部分可见
	VisibleUsers  []int64   `json:",omitempty"` // 可见的用户 所有用户:空 部分用户:用户ID列表
	VisibleGroups []int64   `json:",omitempty"` // 可见的用户组 所有用户:空 部分用户:用户ID列表
	AppConfig     AppConfig `json:",omitempty"` // 应用配置
	Sort          int       `json:",omitempty"` // 排序
	CreatedAt     int64     `json:",omitempty"`
	UpdatedAt     int64     `json:",omitempty"`
	DeletedAt     int64     `json:",omitempty"`
	Version       int       `json:",omitempty"`
}

type SysCompanyAppRepository interface {
	Insert(ctx context.Context, conn transaction.Conn, dm *SysCompanyApp) (*SysCompanyApp, error)
	Update(ctx context.Context, conn transaction.Conn, dm *SysCompanyApp) (*SysCompanyApp, error)
	UpdateWithVersion(ctx context.Context, conn transaction.Conn, dm *SysCompanyApp) (*SysCompanyApp, error)
	Delete(ctx context.Context, conn transaction.Conn, dm *SysCompanyApp) (*SysCompanyApp, error)
	FindOne(ctx context.Context, conn transaction.Conn, id int64) (*SysCompanyApp, error)
	FindOneUnscoped(ctx context.Context, conn transaction.Conn, id int64) (*SysCompanyApp, error)
	Find(ctx context.Context, conn transaction.Conn, queryOptions map[string]interface{}) (int64, []*SysCompanyApp, error)
}

const (
	VisibleAll   = 1 // 全员可见
	VisibleParts = 2 // 部分可见
	Invisible    = 3 // 都不可见
)