102 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			102 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
package tools
 | 
						|
 | 
						|
import (
 | 
						|
	common "go-admin/common/models"
 | 
						|
 | 
						|
	"gorm.io/gorm"
 | 
						|
)
 | 
						|
 | 
						|
type SysColumns struct {
 | 
						|
	ColumnId           int          `gorm:"primaryKey;autoIncrement" json:"columnId"`
 | 
						|
	TableId            int          `gorm:"" json:"tableId"`
 | 
						|
	ColumnName         string       `gorm:"size:128;" json:"columnName"`
 | 
						|
	ColumnComment      string       `gorm:"column:column_comment;size:128;" json:"columnComment"`
 | 
						|
	ColumnType         string       `gorm:"column:column_type;size:128;" json:"columnType"`
 | 
						|
	GoType             string       `gorm:"column:go_type;size:128;" json:"goType"`
 | 
						|
	GoField            string       `gorm:"column:go_field;size:128;" json:"goField"`
 | 
						|
	JsonField          string       `gorm:"column:json_field;size:128;" json:"jsonField"`
 | 
						|
	IsPk               string       `gorm:"column:is_pk;size:4;" json:"isPk"`
 | 
						|
	IsIncrement        string       `gorm:"column:is_increment;size:4;" json:"isIncrement"`
 | 
						|
	IsRequired         string       `gorm:"column:is_required;size:4;" json:"isRequired"`
 | 
						|
	IsInsert           string       `gorm:"column:is_insert;size:4;" json:"isInsert"`
 | 
						|
	IsEdit             string       `gorm:"column:is_edit;size:4;" json:"isEdit"`
 | 
						|
	IsList             string       `gorm:"column:is_list;size:4;" json:"isList"`
 | 
						|
	IsQuery            string       `gorm:"column:is_query;size:4;" json:"isQuery"`
 | 
						|
	QueryType          string       `gorm:"column:query_type;size:128;" json:"queryType"`
 | 
						|
	HtmlType           string       `gorm:"column:html_type;size:128;" json:"htmlType"`
 | 
						|
	DictType           string       `gorm:"column:dict_type;size:128;" json:"dictType"`
 | 
						|
	Sort               int          `gorm:"column:sort;" json:"sort"`
 | 
						|
	List               string       `gorm:"column:list;size:1;" json:"list"`
 | 
						|
	Pk                 bool         `gorm:"column:pk;size:1;" json:"pk"`
 | 
						|
	Required           bool         `gorm:"column:required;size:1;" json:"required"`
 | 
						|
	SuperColumn        bool         `gorm:"column:super_column;size:1;" json:"superColumn"`
 | 
						|
	UsableColumn       bool         `gorm:"column:usable_column;size:1;" json:"usableColumn"`
 | 
						|
	Increment          bool         `gorm:"column:increment;size:1;" json:"increment"`
 | 
						|
	Insert             bool         `gorm:"column:insert;size:1;" json:"insert"`
 | 
						|
	Edit               bool         `gorm:"column:edit;size:1;" json:"edit"`
 | 
						|
	Query              bool         `gorm:"column:query;size:1;" json:"query"`
 | 
						|
	Remark             string       `gorm:"column:remark;size:255;" json:"remark"`
 | 
						|
	FkTableName        string       `gorm:"" json:"fkTableName"`
 | 
						|
	FkTableNameClass   string       `gorm:"" json:"fkTableNameClass"`
 | 
						|
	FkTableNamePackage string       `gorm:"" json:"fkTableNamePackage"`
 | 
						|
	FkCol              []SysColumns `gorm:"-" json:"fkCol"`
 | 
						|
	FkLabelId          string       `gorm:"" json:"fkLabelId"`
 | 
						|
	FkLabelName        string       `gorm:"size:255;" json:"fkLabelName"`
 | 
						|
	CreateBy           int          `gorm:"column:create_by;size:20;" json:"createBy"`
 | 
						|
	UpdateBy           int          `gorm:"column:update_By;size:20;" json:"updateBy"`
 | 
						|
 | 
						|
	common.ModelTime
 | 
						|
}
 | 
						|
 | 
						|
func (*SysColumns) TableName() string {
 | 
						|
	return "sys_columns"
 | 
						|
}
 | 
						|
 | 
						|
func (e *SysColumns) GetList(tx *gorm.DB, exclude bool) ([]SysColumns, error) {
 | 
						|
	var doc []SysColumns
 | 
						|
	table := tx.Table("sys_columns")
 | 
						|
	table = table.Where("table_id = ? ", e.TableId)
 | 
						|
	if exclude {
 | 
						|
		notIn := make([]string, 0, 6)
 | 
						|
		notIn = append(notIn, "id")
 | 
						|
		notIn = append(notIn, "create_by")
 | 
						|
		notIn = append(notIn, "update_by")
 | 
						|
		notIn = append(notIn, "created_at")
 | 
						|
		notIn = append(notIn, "updated_at")
 | 
						|
		notIn = append(notIn, "deleted_at")
 | 
						|
		table = table.Where(" column_name not in(?)", notIn)
 | 
						|
	}
 | 
						|
 | 
						|
	if err := table.Find(&doc).Error; err != nil {
 | 
						|
		return nil, err
 | 
						|
	}
 | 
						|
	return doc, nil
 | 
						|
}
 | 
						|
 | 
						|
func (e *SysColumns) Create(tx *gorm.DB) (SysColumns, error) {
 | 
						|
	var doc SysColumns
 | 
						|
	e.CreateBy = 0
 | 
						|
	result := tx.Table("sys_columns").Create(&e)
 | 
						|
	if result.Error != nil {
 | 
						|
		err := result.Error
 | 
						|
		return doc, err
 | 
						|
	}
 | 
						|
	doc = *e
 | 
						|
	return doc, nil
 | 
						|
}
 | 
						|
 | 
						|
func (e *SysColumns) Update(tx *gorm.DB) (update SysColumns, err error) {
 | 
						|
	if err = tx.Table("sys_columns").First(&update, e.ColumnId).Error; err != nil {
 | 
						|
		return
 | 
						|
	}
 | 
						|
 | 
						|
	//参数1:是要修改的数据
 | 
						|
	//参数2:是修改的数据
 | 
						|
	e.UpdateBy = 0
 | 
						|
	if err = tx.Table("sys_columns").Model(&update).Updates(&e).Error; err != nil {
 | 
						|
		return
 | 
						|
	}
 | 
						|
 | 
						|
	return
 | 
						|
}
 |