sys_app.go 2.6 KB
package domain

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

type SysApp struct {
	Id            int64     `json:",omitempty"` // 唯一标识
	Code          string    `json:",omitempty"` // 应用编码
	CompanyId     int64     `json:",omitempty"` // 公司表ID
	Name          string    `json:",omitempty"` // 应用名称
	Logo          string    `json:",omitempty"` // 图标
	Description   string    `json:",omitempty"` // 描述
	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 SysAppRepository interface {
	Insert(ctx context.Context, conn transaction.Conn, dm *SysApp) (*SysApp, error)
	Update(ctx context.Context, conn transaction.Conn, dm *SysApp) (*SysApp, error)
	UpdateWithVersion(ctx context.Context, conn transaction.Conn, dm *SysApp) (*SysApp, error)
	Delete(ctx context.Context, conn transaction.Conn, dm *SysApp) (*SysApp, error)
	FindOne(ctx context.Context, conn transaction.Conn, id int64) (*SysApp, error)
	FindOneUnscoped(ctx context.Context, conn transaction.Conn, id int64) (*SysApp, error)
	Find(ctx context.Context, conn transaction.Conn, queryOptions map[string]interface{}) (int64, []*SysApp, error)
}

type Menu struct {
	Id       int64
	ParentId int64
	Name     string
}

type AppConfig struct {
	AIConfig *AIConfig `json:",omitempty"`
}

type AIConfig struct {
	XFSpark XFSpark
	ChatGPT ChatGPT
}

// XFSpark 讯飞
type XFSpark struct {
	APPID     string `json:"appid"`
	APISecret string `json:"apiSecret"`
	APIKey    string `json:"apiKey"`
}

type ChatGPT struct {
	APIKey string `json:"apiKey"` // 接口Key
}

var DefaultApps = []SysApp{
	{
		Code:        "AI0001",
		Name:        "AI大模型应用",
		Description: "素天下AI大模型应用",
		AppConfig: AppConfig{
			AIConfig: &AIConfig{
				XFSpark: XFSpark{
					APPID:     "4fd8694e",
					APISecret: "NTVkM2FjNzk2NzQ5MzBkNWMwYTUwNjAz",
					APIKey:    "4a4081a20e9ba0fb1b9686ed93221989",
				},
				ChatGPT: ChatGPT{
					APIKey: "4a4081a20e9ba0fb1b9686ed93221989",
				},
			},
		},
	},
}