sys_app.go 2.8 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"` // 应用编码
	Name          string `json:",omitempty"` // 应用名称
	Logo          string `json:",omitempty"` // 图标
	Description   string `json:",omitempty"` // 描述
	Type          string `json:",omitempty"` // 分类 default
	VersionNumber 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"` // 排序
	Url       string `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大模型应用",
		Logo:          "",
		Type:          "default",
		Description:   "高校检索文档信息,准确回答专业问题。",
		VersionNumber: "1.0.0",
		Status:        1,
		//AppConfig: AppConfig{
		//	AIConfig: &AIConfig{
		//		XFSpark: XFSpark{
		//			APPID:     "4fd8694e",
		//			APISecret: "NTVkM2FjNzk2NzQ5MzBkNWMwYTUwNjAz",
		//			APIKey:    "4a4081a20e9ba0fb1b9686ed93221989",
		//		},
		//		ChatGPT: ChatGPT{
		//			APIKey: "4a4081a20e9ba0fb1b9686ed93221989",
		//		},
		//	},
		//},
	},
}