package modelAppPlatform import ( "appPlatform/overall" "strings" ) // 工作流执行主体 // 字典类型 type RunFlow struct { Id int64 `json:"id" gorm:"primaryKey;column:id;type:bigint(20) unsigned;not null;comment:Id;index"` FlowKey int64 `json:"flowKey" gorm:"column:flow_key;type:bigint(20) unsigned;default:0;not null;comment:工作流主体"` Version string `json:"version" gorm:"column:version;type:varchar(255);default:'';comment:使用得版本"` Status int `json:"status" gorm:"column:status;type:int(1) unsigned;default:1;not null;comment:状态:1、草稿;2:驳回;3:通过;4:归档;5:删除"` FlowCont string `json:"flowcont" gorm:"column:flow_cont;type:longtext;comment:流程执行体"` Creater int64 `json:"creater" gorm:"column:creater;type:bigint(20) unsigned;default:0;not null;comment:流程发起人"` CurrentStep int `json:"currentStep" gorm:"column:current_step;type:int(4) unsigned;default:1;not null;comment:当前节点"` NextStep int `json:"nextStep" gorm:"column:next_step;type:int(4) unsigned;default:0;not null;comment:下一个节点。0:代表没有下一个节点。流程结束"` NextExecutor string `json:"nextExecutor" gorm:"column:next_executor;type:mediumtext;default:'';comment:下一步执行人"` Participants string `json:"participants" gorm:"column:participants;type:longtext;comment:参与人"` StartTime int64 `json:"startTime" gorm:"column:start_time;type:bigint(20) unsigned;default:0;not null;comment:创建时间"` UpdateTime int64 `json:"update_time" gorm:"column:update_time;type:bigint(20) unsigned;default:0;not null;comment:编辑时间"` VersionCont string `json:"versionCont" gorm:"column:version_cont;type:longtext;comment:版本流程内容"` RunKey int64 `json:"runKey" gorm:"column:runKey;type:bigint(20) unsigned;default:0;not null;comment:当前执行识别符"` } func (RunFlow *RunFlow) TableName() string { return "run_flow" } // 写入内容 func (cont *RunFlow) WriteCont() (err error) { err = overall.CONSTANT_DB_AppPlatform.Create(&cont).Error return } // 编辑内容 func (cont *RunFlow) EiteCont(whereMap interface{}, saveData interface{}) (err error) { err = overall.CONSTANT_DB_AppPlatform.Model(&cont).Where(whereMap).Updates(saveData).Error return } // 获取内容 func (cont *RunFlow) GetCont(whereMap interface{}, field ...string) (err error) { gormDb := overall.CONSTANT_DB_AppPlatform.Model(&cont) if len(field) > 0 { fieldStr := strings.Join(field, ",") gormDb = gormDb.Select(fieldStr) } gormDb = gormDb.Where(whereMap) err = gormDb.First(&cont).Error return } // 根据条件获取总数 func (cont *RunFlow) CountCont(whereMap interface{}) (countId int64) { overall.CONSTANT_DB_AppPlatform.Model(&cont).Where(whereMap).Count(&countId) return } // 读取全部信息 func (cont *RunFlow) ContMap(whereMap interface{}, field ...string) (countAry []RunFlow, err error) { gormDb := overall.CONSTANT_DB_AppPlatform.Model(&cont) if len(field) > 0 { fieldStr := strings.Join(field, ",") gormDb = gormDb.Select(fieldStr) } err = gormDb.Where(whereMap).Find(&countAry).Error return } // 删除内容 func (cont *RunFlow) DelCont(whereMap interface{}) (err error) { err = overall.CONSTANT_DB_AppPlatform.Where(whereMap).Delete(&cont).Error return }