feat: update jooq model

This commit is contained in:
vran 2022-04-16 12:19:04 +08:00
parent 6869d42cc9
commit bbc5217310
12 changed files with 888 additions and 0 deletions

View File

@ -78,6 +78,12 @@ jooq {
includeExpression = 'mock_data_rule.mock_data_type'
includeTypes = '.*'
}
forcedType {
userType = 'com.databasir.dao.enums.ProjectSyncTaskStatus'
converter = 'com.databasir.dao.converter.ProjectSyncTaskStatusConverter'
includeExpression = 'project_sync_task.status'
includeTypes = '.*'
}
}
}
generate {

View File

@ -18,6 +18,7 @@ import com.databasir.dao.tables.OauthApp;
import com.databasir.dao.tables.OperationLog;
import com.databasir.dao.tables.Project;
import com.databasir.dao.tables.ProjectSyncRule;
import com.databasir.dao.tables.ProjectSyncTask;
import com.databasir.dao.tables.SysKey;
import com.databasir.dao.tables.SysMail;
import com.databasir.dao.tables.TableColumnDocument;
@ -120,6 +121,11 @@ public class Databasir extends SchemaImpl {
*/
public final ProjectSyncRule PROJECT_SYNC_RULE = ProjectSyncRule.PROJECT_SYNC_RULE;
/**
* The table <code>databasir.project_sync_task</code>.
*/
public final ProjectSyncTask PROJECT_SYNC_TASK = ProjectSyncTask.PROJECT_SYNC_TASK;
/**
* The table <code>databasir.sys_key</code>.
*/
@ -200,6 +206,7 @@ public class Databasir extends SchemaImpl {
OperationLog.OPERATION_LOG,
Project.PROJECT,
ProjectSyncRule.PROJECT_SYNC_RULE,
ProjectSyncTask.PROJECT_SYNC_TASK,
SysKey.SYS_KEY,
SysMail.SYS_MAIL,
TableColumnDocument.TABLE_COLUMN_DOCUMENT,

View File

@ -7,6 +7,7 @@ package com.databasir.dao;
import com.databasir.dao.tables.DataSourceProperty;
import com.databasir.dao.tables.DatabaseDocument;
import com.databasir.dao.tables.DocumentDiscussion;
import com.databasir.dao.tables.ProjectSyncTask;
import com.databasir.dao.tables.TableColumnDocument;
import com.databasir.dao.tables.TableDocument;
import com.databasir.dao.tables.TableForeignKeyDocument;
@ -37,8 +38,10 @@ public class Indexes {
public static final Index TABLE_TRIGGER_DOCUMENT_IDX_DATABASE_DOCUMENT_ID = Internal.createIndex(DSL.name("idx_database_document_id"), TableTriggerDocument.TABLE_TRIGGER_DOCUMENT, new OrderField[] { TableTriggerDocument.TABLE_TRIGGER_DOCUMENT.DATABASE_DOCUMENT_ID }, false);
public static final Index DATABASE_DOCUMENT_IDX_PROJECT_ID = Internal.createIndex(DSL.name("idx_project_id"), DatabaseDocument.DATABASE_DOCUMENT, new OrderField[] { DatabaseDocument.DATABASE_DOCUMENT.PROJECT_ID }, false);
public static final Index DOCUMENT_DISCUSSION_IDX_PROJECT_ID = Internal.createIndex(DSL.name("idx_project_id"), DocumentDiscussion.DOCUMENT_DISCUSSION, new OrderField[] { DocumentDiscussion.DOCUMENT_DISCUSSION.PROJECT_ID }, false);
public static final Index PROJECT_SYNC_TASK_IDX_PROJECT_ID = Internal.createIndex(DSL.name("idx_project_id"), ProjectSyncTask.PROJECT_SYNC_TASK, new OrderField[] { ProjectSyncTask.PROJECT_SYNC_TASK.PROJECT_ID }, false);
public static final Index TABLE_COLUMN_DOCUMENT_IDX_TABLE_DOCUMENT_ID = Internal.createIndex(DSL.name("idx_table_document_id"), TableColumnDocument.TABLE_COLUMN_DOCUMENT, new OrderField[] { TableColumnDocument.TABLE_COLUMN_DOCUMENT.TABLE_DOCUMENT_ID }, false);
public static final Index TABLE_FOREIGN_KEY_DOCUMENT_IDX_TABLE_DOCUMENT_ID = Internal.createIndex(DSL.name("idx_table_document_id"), TableForeignKeyDocument.TABLE_FOREIGN_KEY_DOCUMENT, new OrderField[] { TableForeignKeyDocument.TABLE_FOREIGN_KEY_DOCUMENT.TABLE_DOCUMENT_ID }, false);
public static final Index TABLE_INDEX_DOCUMENT_IDX_TABLE_DOCUMENT_ID = Internal.createIndex(DSL.name("idx_table_document_id"), TableIndexDocument.TABLE_INDEX_DOCUMENT, new OrderField[] { TableIndexDocument.TABLE_INDEX_DOCUMENT.TABLE_DOCUMENT_ID }, false);
public static final Index TABLE_TRIGGER_DOCUMENT_IDX_TABLE_DOCUMENT_ID = Internal.createIndex(DSL.name("idx_table_document_id"), TableTriggerDocument.TABLE_TRIGGER_DOCUMENT, new OrderField[] { TableTriggerDocument.TABLE_TRIGGER_DOCUMENT.TABLE_DOCUMENT_ID }, false);
public static final Index PROJECT_SYNC_TASK_IDX_USER_ID = Internal.createIndex(DSL.name("idx_user_id"), ProjectSyncTask.PROJECT_SYNC_TASK, new OrderField[] { ProjectSyncTask.PROJECT_SYNC_TASK.USER_ID }, false);
}

View File

@ -18,6 +18,7 @@ import com.databasir.dao.tables.OauthApp;
import com.databasir.dao.tables.OperationLog;
import com.databasir.dao.tables.Project;
import com.databasir.dao.tables.ProjectSyncRule;
import com.databasir.dao.tables.ProjectSyncTask;
import com.databasir.dao.tables.SysKey;
import com.databasir.dao.tables.SysMail;
import com.databasir.dao.tables.TableColumnDocument;
@ -42,6 +43,7 @@ import com.databasir.dao.tables.records.OauthAppRecord;
import com.databasir.dao.tables.records.OperationLogRecord;
import com.databasir.dao.tables.records.ProjectRecord;
import com.databasir.dao.tables.records.ProjectSyncRuleRecord;
import com.databasir.dao.tables.records.ProjectSyncTaskRecord;
import com.databasir.dao.tables.records.SysKeyRecord;
import com.databasir.dao.tables.records.SysMailRecord;
import com.databasir.dao.tables.records.TableColumnDocumentRecord;
@ -93,6 +95,7 @@ public class Keys {
public static final UniqueKey<ProjectRecord> KEY_PROJECT_UK_GROUP_ID_NAME_DELETED_TOKEN = Internal.createUniqueKey(Project.PROJECT, DSL.name("KEY_project_uk_group_id_name_deleted_token"), new TableField[] { Project.PROJECT.GROUP_ID, Project.PROJECT.NAME, Project.PROJECT.DELETED_TOKEN }, true);
public static final UniqueKey<ProjectSyncRuleRecord> KEY_PROJECT_SYNC_RULE_PRIMARY = Internal.createUniqueKey(ProjectSyncRule.PROJECT_SYNC_RULE, DSL.name("KEY_project_sync_rule_PRIMARY"), new TableField[] { ProjectSyncRule.PROJECT_SYNC_RULE.ID }, true);
public static final UniqueKey<ProjectSyncRuleRecord> KEY_PROJECT_SYNC_RULE_UK_PROJECT_ID = Internal.createUniqueKey(ProjectSyncRule.PROJECT_SYNC_RULE, DSL.name("KEY_project_sync_rule_uk_project_id"), new TableField[] { ProjectSyncRule.PROJECT_SYNC_RULE.PROJECT_ID }, true);
public static final UniqueKey<ProjectSyncTaskRecord> KEY_PROJECT_SYNC_TASK_PRIMARY = Internal.createUniqueKey(ProjectSyncTask.PROJECT_SYNC_TASK, DSL.name("KEY_project_sync_task_PRIMARY"), new TableField[] { ProjectSyncTask.PROJECT_SYNC_TASK.ID }, true);
public static final UniqueKey<SysKeyRecord> KEY_SYS_KEY_PRIMARY = Internal.createUniqueKey(SysKey.SYS_KEY, DSL.name("KEY_sys_key_PRIMARY"), new TableField[] { SysKey.SYS_KEY.ID }, true);
public static final UniqueKey<SysMailRecord> KEY_SYS_MAIL_PRIMARY = Internal.createUniqueKey(SysMail.SYS_MAIL, DSL.name("KEY_sys_mail_PRIMARY"), new TableField[] { SysMail.SYS_MAIL.ID }, true);
public static final UniqueKey<TableColumnDocumentRecord> KEY_TABLE_COLUMN_DOCUMENT_PRIMARY = Internal.createUniqueKey(TableColumnDocument.TABLE_COLUMN_DOCUMENT, DSL.name("KEY_table_column_document_PRIMARY"), new TableField[] { TableColumnDocument.TABLE_COLUMN_DOCUMENT.ID }, true);

View File

@ -18,6 +18,7 @@ import com.databasir.dao.tables.OauthApp;
import com.databasir.dao.tables.OperationLog;
import com.databasir.dao.tables.Project;
import com.databasir.dao.tables.ProjectSyncRule;
import com.databasir.dao.tables.ProjectSyncTask;
import com.databasir.dao.tables.SysKey;
import com.databasir.dao.tables.SysMail;
import com.databasir.dao.tables.TableColumnDocument;
@ -106,6 +107,11 @@ public class Tables {
*/
public static final ProjectSyncRule PROJECT_SYNC_RULE = ProjectSyncRule.PROJECT_SYNC_RULE;
/**
* The table <code>databasir.project_sync_task</code>.
*/
public static final ProjectSyncTask PROJECT_SYNC_TASK = ProjectSyncTask.PROJECT_SYNC_TASK;
/**
* The table <code>databasir.sys_key</code>.
*/

View File

@ -0,0 +1,186 @@
/*
* This file is generated by jOOQ.
*/
package com.databasir.dao.tables;
import com.databasir.dao.Databasir;
import com.databasir.dao.Indexes;
import com.databasir.dao.Keys;
import com.databasir.dao.converter.ProjectSyncTaskStatusConverter;
import com.databasir.dao.enums.ProjectSyncTaskStatus;
import com.databasir.dao.tables.records.ProjectSyncTaskRecord;
import java.time.LocalDateTime;
import java.util.Arrays;
import java.util.List;
import org.jooq.Field;
import org.jooq.ForeignKey;
import org.jooq.Identity;
import org.jooq.Index;
import org.jooq.Name;
import org.jooq.Record;
import org.jooq.Row8;
import org.jooq.Schema;
import org.jooq.Table;
import org.jooq.TableField;
import org.jooq.TableOptions;
import org.jooq.UniqueKey;
import org.jooq.impl.DSL;
import org.jooq.impl.SQLDataType;
import org.jooq.impl.TableImpl;
/**
* This class is generated by jOOQ.
*/
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class ProjectSyncTask extends TableImpl<ProjectSyncTaskRecord> {
private static final long serialVersionUID = 1L;
/**
* The reference instance of <code>databasir.project_sync_task</code>
*/
public static final ProjectSyncTask PROJECT_SYNC_TASK = new ProjectSyncTask();
/**
* The class holding records for this type
*/
@Override
public Class<ProjectSyncTaskRecord> getRecordType() {
return ProjectSyncTaskRecord.class;
}
/**
* The column <code>databasir.project_sync_task.id</code>.
*/
public final TableField<ProjectSyncTaskRecord, Integer> ID = createField(DSL.name("id"), SQLDataType.INTEGER.nullable(false).identity(true), this, "");
/**
* The column <code>databasir.project_sync_task.project_id</code>.
*/
public final TableField<ProjectSyncTaskRecord, Integer> PROJECT_ID = createField(DSL.name("project_id"), SQLDataType.INTEGER.nullable(false), this, "");
/**
* The column <code>databasir.project_sync_task.user_id</code>.
*/
public final TableField<ProjectSyncTaskRecord, Integer> USER_ID = createField(DSL.name("user_id"), SQLDataType.INTEGER.nullable(false), this, "");
/**
* The column <code>databasir.project_sync_task.status</code>. NEW RUNNING
* FINISHED FAILED CANCELED
*/
public final TableField<ProjectSyncTaskRecord, ProjectSyncTaskStatus> STATUS = createField(DSL.name("status"), SQLDataType.VARCHAR(32).nullable(false).defaultValue(DSL.inline("NEW", SQLDataType.VARCHAR)), this, "NEW RUNNING FINISHED FAILED CANCELED", new ProjectSyncTaskStatusConverter());
/**
* The column <code>databasir.project_sync_task.result</code>.
*/
public final TableField<ProjectSyncTaskRecord, String> RESULT = createField(DSL.name("result"), SQLDataType.VARCHAR(1024).nullable(false).defaultValue(DSL.inline("", SQLDataType.VARCHAR)), this, "");
/**
* The column <code>databasir.project_sync_task.run_at</code>.
*/
public final TableField<ProjectSyncTaskRecord, LocalDateTime> RUN_AT = createField(DSL.name("run_at"), SQLDataType.LOCALDATETIME(0), this, "");
/**
* The column <code>databasir.project_sync_task.update_at</code>.
*/
public final TableField<ProjectSyncTaskRecord, LocalDateTime> UPDATE_AT = createField(DSL.name("update_at"), SQLDataType.LOCALDATETIME(0).nullable(false).defaultValue(DSL.field("CURRENT_TIMESTAMP", SQLDataType.LOCALDATETIME)), this, "");
/**
* The column <code>databasir.project_sync_task.create_at</code>.
*/
public final TableField<ProjectSyncTaskRecord, LocalDateTime> CREATE_AT = createField(DSL.name("create_at"), SQLDataType.LOCALDATETIME(0).nullable(false).defaultValue(DSL.field("CURRENT_TIMESTAMP", SQLDataType.LOCALDATETIME)), this, "");
private ProjectSyncTask(Name alias, Table<ProjectSyncTaskRecord> aliased) {
this(alias, aliased, null);
}
private ProjectSyncTask(Name alias, Table<ProjectSyncTaskRecord> aliased, Field<?>[] parameters) {
super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table());
}
/**
* Create an aliased <code>databasir.project_sync_task</code> table
* reference
*/
public ProjectSyncTask(String alias) {
this(DSL.name(alias), PROJECT_SYNC_TASK);
}
/**
* Create an aliased <code>databasir.project_sync_task</code> table
* reference
*/
public ProjectSyncTask(Name alias) {
this(alias, PROJECT_SYNC_TASK);
}
/**
* Create a <code>databasir.project_sync_task</code> table reference
*/
public ProjectSyncTask() {
this(DSL.name("project_sync_task"), null);
}
public <O extends Record> ProjectSyncTask(Table<O> child, ForeignKey<O, ProjectSyncTaskRecord> key) {
super(child, key, PROJECT_SYNC_TASK);
}
@Override
public Schema getSchema() {
return aliased() ? null : Databasir.DATABASIR;
}
@Override
public List<Index> getIndexes() {
return Arrays.asList(Indexes.PROJECT_SYNC_TASK_IDX_PROJECT_ID, Indexes.PROJECT_SYNC_TASK_IDX_USER_ID);
}
@Override
public Identity<ProjectSyncTaskRecord, Integer> getIdentity() {
return (Identity<ProjectSyncTaskRecord, Integer>) super.getIdentity();
}
@Override
public UniqueKey<ProjectSyncTaskRecord> getPrimaryKey() {
return Keys.KEY_PROJECT_SYNC_TASK_PRIMARY;
}
@Override
public ProjectSyncTask as(String alias) {
return new ProjectSyncTask(DSL.name(alias), this);
}
@Override
public ProjectSyncTask as(Name alias) {
return new ProjectSyncTask(alias, this);
}
/**
* Rename this table
*/
@Override
public ProjectSyncTask rename(String name) {
return new ProjectSyncTask(DSL.name(name), null);
}
/**
* Rename this table
*/
@Override
public ProjectSyncTask rename(Name name) {
return new ProjectSyncTask(name, null);
}
// -------------------------------------------------------------------------
// Row8 type methods
// -------------------------------------------------------------------------
@Override
public Row8<Integer, Integer, Integer, ProjectSyncTaskStatus, String, LocalDateTime, LocalDateTime, LocalDateTime> fieldsRow() {
return (Row8) super.fieldsRow();
}
}

View File

@ -0,0 +1,193 @@
/*
* This file is generated by jOOQ.
*/
package com.databasir.dao.tables.pojos;
import com.databasir.dao.enums.ProjectSyncTaskStatus;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* This class is generated by jOOQ.
*/
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class ProjectSyncTaskPojo implements Serializable {
private static final long serialVersionUID = 1L;
private Integer id;
private Integer projectId;
private Integer userId;
private ProjectSyncTaskStatus status;
private String result;
private LocalDateTime runAt;
private LocalDateTime updateAt;
private LocalDateTime createAt;
public ProjectSyncTaskPojo() {}
public ProjectSyncTaskPojo(ProjectSyncTaskPojo value) {
this.id = value.id;
this.projectId = value.projectId;
this.userId = value.userId;
this.status = value.status;
this.result = value.result;
this.runAt = value.runAt;
this.updateAt = value.updateAt;
this.createAt = value.createAt;
}
public ProjectSyncTaskPojo(
Integer id,
Integer projectId,
Integer userId,
ProjectSyncTaskStatus status,
String result,
LocalDateTime runAt,
LocalDateTime updateAt,
LocalDateTime createAt
) {
this.id = id;
this.projectId = projectId;
this.userId = userId;
this.status = status;
this.result = result;
this.runAt = runAt;
this.updateAt = updateAt;
this.createAt = createAt;
}
/**
* Getter for <code>databasir.project_sync_task.id</code>.
*/
public Integer getId() {
return this.id;
}
/**
* Setter for <code>databasir.project_sync_task.id</code>.
*/
public void setId(Integer id) {
this.id = id;
}
/**
* Getter for <code>databasir.project_sync_task.project_id</code>.
*/
public Integer getProjectId() {
return this.projectId;
}
/**
* Setter for <code>databasir.project_sync_task.project_id</code>.
*/
public void setProjectId(Integer projectId) {
this.projectId = projectId;
}
/**
* Getter for <code>databasir.project_sync_task.user_id</code>.
*/
public Integer getUserId() {
return this.userId;
}
/**
* Setter for <code>databasir.project_sync_task.user_id</code>.
*/
public void setUserId(Integer userId) {
this.userId = userId;
}
/**
* Getter for <code>databasir.project_sync_task.status</code>. NEW RUNNING
* FINISHED FAILED CANCELED
*/
public ProjectSyncTaskStatus getStatus() {
return this.status;
}
/**
* Setter for <code>databasir.project_sync_task.status</code>. NEW RUNNING
* FINISHED FAILED CANCELED
*/
public void setStatus(ProjectSyncTaskStatus status) {
this.status = status;
}
/**
* Getter for <code>databasir.project_sync_task.result</code>.
*/
public String getResult() {
return this.result;
}
/**
* Setter for <code>databasir.project_sync_task.result</code>.
*/
public void setResult(String result) {
this.result = result;
}
/**
* Getter for <code>databasir.project_sync_task.run_at</code>.
*/
public LocalDateTime getRunAt() {
return this.runAt;
}
/**
* Setter for <code>databasir.project_sync_task.run_at</code>.
*/
public void setRunAt(LocalDateTime runAt) {
this.runAt = runAt;
}
/**
* Getter for <code>databasir.project_sync_task.update_at</code>.
*/
public LocalDateTime getUpdateAt() {
return this.updateAt;
}
/**
* Setter for <code>databasir.project_sync_task.update_at</code>.
*/
public void setUpdateAt(LocalDateTime updateAt) {
this.updateAt = updateAt;
}
/**
* Getter for <code>databasir.project_sync_task.create_at</code>.
*/
public LocalDateTime getCreateAt() {
return this.createAt;
}
/**
* Setter for <code>databasir.project_sync_task.create_at</code>.
*/
public void setCreateAt(LocalDateTime createAt) {
this.createAt = createAt;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder("ProjectSyncTaskPojo (");
sb.append(id);
sb.append(", ").append(projectId);
sb.append(", ").append(userId);
sb.append(", ").append(status);
sb.append(", ").append(result);
sb.append(", ").append(runAt);
sb.append(", ").append(updateAt);
sb.append(", ").append(createAt);
sb.append(")");
return sb.toString();
}
}

View File

@ -0,0 +1,390 @@
/*
* This file is generated by jOOQ.
*/
package com.databasir.dao.tables.records;
import com.databasir.dao.enums.ProjectSyncTaskStatus;
import com.databasir.dao.tables.ProjectSyncTask;
import com.databasir.dao.tables.pojos.ProjectSyncTaskPojo;
import java.time.LocalDateTime;
import org.jooq.Field;
import org.jooq.Record1;
import org.jooq.Record8;
import org.jooq.Row8;
import org.jooq.impl.UpdatableRecordImpl;
/**
* This class is generated by jOOQ.
*/
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class ProjectSyncTaskRecord extends UpdatableRecordImpl<ProjectSyncTaskRecord> implements Record8<Integer, Integer, Integer, ProjectSyncTaskStatus, String, LocalDateTime, LocalDateTime, LocalDateTime> {
private static final long serialVersionUID = 1L;
/**
* Setter for <code>databasir.project_sync_task.id</code>.
*/
public void setId(Integer value) {
set(0, value);
}
/**
* Getter for <code>databasir.project_sync_task.id</code>.
*/
public Integer getId() {
return (Integer) get(0);
}
/**
* Setter for <code>databasir.project_sync_task.project_id</code>.
*/
public void setProjectId(Integer value) {
set(1, value);
}
/**
* Getter for <code>databasir.project_sync_task.project_id</code>.
*/
public Integer getProjectId() {
return (Integer) get(1);
}
/**
* Setter for <code>databasir.project_sync_task.user_id</code>.
*/
public void setUserId(Integer value) {
set(2, value);
}
/**
* Getter for <code>databasir.project_sync_task.user_id</code>.
*/
public Integer getUserId() {
return (Integer) get(2);
}
/**
* Setter for <code>databasir.project_sync_task.status</code>. NEW RUNNING
* FINISHED FAILED CANCELED
*/
public void setStatus(ProjectSyncTaskStatus value) {
set(3, value);
}
/**
* Getter for <code>databasir.project_sync_task.status</code>. NEW RUNNING
* FINISHED FAILED CANCELED
*/
public ProjectSyncTaskStatus getStatus() {
return (ProjectSyncTaskStatus) get(3);
}
/**
* Setter for <code>databasir.project_sync_task.result</code>.
*/
public void setResult(String value) {
set(4, value);
}
/**
* Getter for <code>databasir.project_sync_task.result</code>.
*/
public String getResult() {
return (String) get(4);
}
/**
* Setter for <code>databasir.project_sync_task.run_at</code>.
*/
public void setRunAt(LocalDateTime value) {
set(5, value);
}
/**
* Getter for <code>databasir.project_sync_task.run_at</code>.
*/
public LocalDateTime getRunAt() {
return (LocalDateTime) get(5);
}
/**
* Setter for <code>databasir.project_sync_task.update_at</code>.
*/
public void setUpdateAt(LocalDateTime value) {
set(6, value);
}
/**
* Getter for <code>databasir.project_sync_task.update_at</code>.
*/
public LocalDateTime getUpdateAt() {
return (LocalDateTime) get(6);
}
/**
* Setter for <code>databasir.project_sync_task.create_at</code>.
*/
public void setCreateAt(LocalDateTime value) {
set(7, value);
}
/**
* Getter for <code>databasir.project_sync_task.create_at</code>.
*/
public LocalDateTime getCreateAt() {
return (LocalDateTime) get(7);
}
// -------------------------------------------------------------------------
// Primary key information
// -------------------------------------------------------------------------
@Override
public Record1<Integer> key() {
return (Record1) super.key();
}
// -------------------------------------------------------------------------
// Record8 type implementation
// -------------------------------------------------------------------------
@Override
public Row8<Integer, Integer, Integer, ProjectSyncTaskStatus, String, LocalDateTime, LocalDateTime, LocalDateTime> fieldsRow() {
return (Row8) super.fieldsRow();
}
@Override
public Row8<Integer, Integer, Integer, ProjectSyncTaskStatus, String, LocalDateTime, LocalDateTime, LocalDateTime> valuesRow() {
return (Row8) super.valuesRow();
}
@Override
public Field<Integer> field1() {
return ProjectSyncTask.PROJECT_SYNC_TASK.ID;
}
@Override
public Field<Integer> field2() {
return ProjectSyncTask.PROJECT_SYNC_TASK.PROJECT_ID;
}
@Override
public Field<Integer> field3() {
return ProjectSyncTask.PROJECT_SYNC_TASK.USER_ID;
}
@Override
public Field<ProjectSyncTaskStatus> field4() {
return ProjectSyncTask.PROJECT_SYNC_TASK.STATUS;
}
@Override
public Field<String> field5() {
return ProjectSyncTask.PROJECT_SYNC_TASK.RESULT;
}
@Override
public Field<LocalDateTime> field6() {
return ProjectSyncTask.PROJECT_SYNC_TASK.RUN_AT;
}
@Override
public Field<LocalDateTime> field7() {
return ProjectSyncTask.PROJECT_SYNC_TASK.UPDATE_AT;
}
@Override
public Field<LocalDateTime> field8() {
return ProjectSyncTask.PROJECT_SYNC_TASK.CREATE_AT;
}
@Override
public Integer component1() {
return getId();
}
@Override
public Integer component2() {
return getProjectId();
}
@Override
public Integer component3() {
return getUserId();
}
@Override
public ProjectSyncTaskStatus component4() {
return getStatus();
}
@Override
public String component5() {
return getResult();
}
@Override
public LocalDateTime component6() {
return getRunAt();
}
@Override
public LocalDateTime component7() {
return getUpdateAt();
}
@Override
public LocalDateTime component8() {
return getCreateAt();
}
@Override
public Integer value1() {
return getId();
}
@Override
public Integer value2() {
return getProjectId();
}
@Override
public Integer value3() {
return getUserId();
}
@Override
public ProjectSyncTaskStatus value4() {
return getStatus();
}
@Override
public String value5() {
return getResult();
}
@Override
public LocalDateTime value6() {
return getRunAt();
}
@Override
public LocalDateTime value7() {
return getUpdateAt();
}
@Override
public LocalDateTime value8() {
return getCreateAt();
}
@Override
public ProjectSyncTaskRecord value1(Integer value) {
setId(value);
return this;
}
@Override
public ProjectSyncTaskRecord value2(Integer value) {
setProjectId(value);
return this;
}
@Override
public ProjectSyncTaskRecord value3(Integer value) {
setUserId(value);
return this;
}
@Override
public ProjectSyncTaskRecord value4(ProjectSyncTaskStatus value) {
setStatus(value);
return this;
}
@Override
public ProjectSyncTaskRecord value5(String value) {
setResult(value);
return this;
}
@Override
public ProjectSyncTaskRecord value6(LocalDateTime value) {
setRunAt(value);
return this;
}
@Override
public ProjectSyncTaskRecord value7(LocalDateTime value) {
setUpdateAt(value);
return this;
}
@Override
public ProjectSyncTaskRecord value8(LocalDateTime value) {
setCreateAt(value);
return this;
}
@Override
public ProjectSyncTaskRecord values(Integer value1, Integer value2, Integer value3, ProjectSyncTaskStatus value4, String value5, LocalDateTime value6, LocalDateTime value7, LocalDateTime value8) {
value1(value1);
value2(value2);
value3(value3);
value4(value4);
value5(value5);
value6(value6);
value7(value7);
value8(value8);
return this;
}
// -------------------------------------------------------------------------
// Constructors
// -------------------------------------------------------------------------
/**
* Create a detached ProjectSyncTaskRecord
*/
public ProjectSyncTaskRecord() {
super(ProjectSyncTask.PROJECT_SYNC_TASK);
}
/**
* Create a detached, initialised ProjectSyncTaskRecord
*/
public ProjectSyncTaskRecord(Integer id, Integer projectId, Integer userId, ProjectSyncTaskStatus status, String result, LocalDateTime runAt, LocalDateTime updateAt, LocalDateTime createAt) {
super(ProjectSyncTask.PROJECT_SYNC_TASK);
setId(id);
setProjectId(projectId);
setUserId(userId);
setStatus(status);
setResult(result);
setRunAt(runAt);
setUpdateAt(updateAt);
setCreateAt(createAt);
}
/**
* Create a detached, initialised ProjectSyncTaskRecord
*/
public ProjectSyncTaskRecord(ProjectSyncTaskPojo value) {
super(ProjectSyncTask.PROJECT_SYNC_TASK);
if (value != null) {
setId(value.getId());
setProjectId(value.getProjectId());
setUserId(value.getUserId());
setStatus(value.getStatus());
setResult(value.getResult());
setRunAt(value.getRunAt());
setUpdateAt(value.getUpdateAt());
setCreateAt(value.getCreateAt());
}
}
}

View File

@ -0,0 +1,12 @@
package com.databasir.dao.converter;
import com.databasir.dao.enums.ProjectSyncTaskStatus;
import org.jooq.impl.EnumConverter;
public class ProjectSyncTaskStatusConverter extends EnumConverter<String, ProjectSyncTaskStatus> {
public ProjectSyncTaskStatusConverter() {
super(String.class, ProjectSyncTaskStatus.class);
}
}

View File

@ -0,0 +1,9 @@
package com.databasir.dao.enums;
public enum ProjectSyncTaskStatus {
NEW,
RUNNING,
FINISHED,
FAILED,
CANCELLED
}

View File

@ -0,0 +1,59 @@
package com.databasir.dao.impl;
import com.databasir.dao.enums.ProjectSyncTaskStatus;
import com.databasir.dao.tables.pojos.ProjectSyncTaskPojo;
import com.databasir.dao.tables.records.ProjectSyncTaskRecord;
import lombok.Getter;
import org.jooq.DSLContext;
import org.jooq.UpdateSetMoreStep;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import java.time.LocalDateTime;
import java.util.Collection;
import java.util.List;
import static com.databasir.dao.Tables.PROJECT_SYNC_TASK;
@Repository
public class ProjectSyncTaskDao extends BaseDao<ProjectSyncTaskPojo> {
@Autowired
@Getter
private DSLContext dslContext;
public ProjectSyncTaskDao() {
super(PROJECT_SYNC_TASK, ProjectSyncTaskPojo.class);
}
public boolean existsByProjectId(Integer projectId, Collection<ProjectSyncTaskStatus> statusIn) {
if (statusIn == null || statusIn.isEmpty()) {
throw new IllegalArgumentException("statusIn must not be empty");
}
return dslContext.fetchExists(PROJECT_SYNC_TASK,
PROJECT_SYNC_TASK.PROJECT_ID.eq(projectId).and(PROJECT_SYNC_TASK.STATUS.in(statusIn)));
}
public List<ProjectSyncTaskPojo> listNewTasks(Integer size) {
return dslContext
.selectFrom(PROJECT_SYNC_TASK)
.where(PROJECT_SYNC_TASK.STATUS.eq(ProjectSyncTaskStatus.NEW))
.orderBy(PROJECT_SYNC_TASK.ID.asc())
.limit(size)
.fetchInto(ProjectSyncTaskPojo.class);
}
public int updateStatusAndResultById(Integer taskId, ProjectSyncTaskStatus status, String result) {
UpdateSetMoreStep<ProjectSyncTaskRecord> updateStep = dslContext
.update(PROJECT_SYNC_TASK)
.set(PROJECT_SYNC_TASK.STATUS, status)
.set(PROJECT_SYNC_TASK.RESULT, result);
if (status == ProjectSyncTaskStatus.RUNNING) {
updateStep = updateStep.set(PROJECT_SYNC_TASK.RUN_AT, LocalDateTime.now());
}
return updateStep
.where(PROJECT_SYNC_TASK.ID.eq(taskId))
.execute();
}
}

View File

@ -0,0 +1,14 @@
CREATE TABLE IF NOT EXISTS project_sync_task
(
`id` INT PRIMARY KEY AUTO_INCREMENT,
`project_id` INT NOT NULL,
`user_id` INT NOT NULL,
`status` VARCHAR(32) NOT NULL DEFAULT 'NEW' COMMENT 'NEW \ RUNNING \ FINISHED \ FAILED \ CANCELED',
`result` VARCHAR(1024) NOT NULL DEFAULT '',
`run_at` DATETIME DEFAULT NULL,
`update_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`create_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
INDEX idx_project_id (project_id),
INDEX idx_user_id (user_id)
) CHARSET utf8mb4
COLLATE utf8mb4_unicode_ci;