vran
3 years ago
18 changed files with 1012 additions and 2 deletions
@ -0,0 +1,60 @@ |
|||
package com.databasir.api; |
|||
|
|||
import com.databasir.api.config.security.DatabasirUserDetails; |
|||
import com.databasir.common.JsonData; |
|||
import com.databasir.core.domain.remark.data.RemarkCreateRequest; |
|||
import com.databasir.core.domain.remark.data.RemarkListCondition; |
|||
import com.databasir.core.domain.remark.data.RemarkResponse; |
|||
import com.databasir.core.domain.remark.service.DocumentRemarkService; |
|||
import lombok.RequiredArgsConstructor; |
|||
import org.springframework.data.domain.Page; |
|||
import org.springframework.data.domain.Pageable; |
|||
import org.springframework.data.domain.Sort; |
|||
import org.springframework.data.web.PageableDefault; |
|||
import org.springframework.security.access.prepost.PreAuthorize; |
|||
import org.springframework.security.core.context.SecurityContextHolder; |
|||
import org.springframework.validation.annotation.Validated; |
|||
import org.springframework.web.bind.annotation.*; |
|||
|
|||
import javax.validation.Valid; |
|||
|
|||
@RestController |
|||
@Validated |
|||
@RequiredArgsConstructor |
|||
public class DocumentRemarkController { |
|||
|
|||
private final DocumentRemarkService documentRemarkService; |
|||
|
|||
@GetMapping(Routes.DocumentRemark.LIST) |
|||
public JsonData<Page<RemarkResponse>> listByProjectId(@PathVariable Integer groupId, |
|||
@PathVariable Integer projectId, |
|||
@PageableDefault(sort = "id", |
|||
direction = Sort.Direction.DESC) |
|||
Pageable request, |
|||
RemarkListCondition condition) { |
|||
var data = documentRemarkService.list(groupId, projectId, request, condition); |
|||
return JsonData.ok(data); |
|||
} |
|||
|
|||
@DeleteMapping(Routes.DocumentRemark.DELETE) |
|||
@PreAuthorize("hasAnyAuthority('SYS_OWNER', 'GROUP_OWNER?groupId='+#groupId)") |
|||
public JsonData<Void> delete(@PathVariable Integer groupId, |
|||
@PathVariable Integer projectId, |
|||
@PathVariable Integer remarkId) { |
|||
documentRemarkService.deleteById(groupId, projectId, remarkId); |
|||
return JsonData.ok(); |
|||
} |
|||
|
|||
@PostMapping(Routes.DocumentRemark.CREATE) |
|||
@PreAuthorize("hasAnyAuthority('SYS_OWNER', 'GROUP_OWNER?groupId='+#groupId, 'GROUP_MEMBER?groupId='+#groupId)") |
|||
public JsonData<Void> create(@PathVariable Integer groupId, |
|||
@PathVariable Integer projectId, |
|||
@RequestBody @Valid RemarkCreateRequest request) { |
|||
DatabasirUserDetails principal = (DatabasirUserDetails) SecurityContextHolder.getContext() |
|||
.getAuthentication() |
|||
.getPrincipal(); |
|||
Integer userId = principal.getUserPojo().getId(); |
|||
documentRemarkService.create(groupId, projectId, userId, request); |
|||
return JsonData.ok(); |
|||
} |
|||
} |
@ -0,0 +1,19 @@ |
|||
package com.databasir.core.domain.remark.converter; |
|||
|
|||
import com.databasir.core.domain.remark.data.RemarkResponse; |
|||
import com.databasir.dao.tables.pojos.DocumentRemarkPojo; |
|||
import com.databasir.dao.tables.pojos.UserPojo; |
|||
import org.mapstruct.Mapper; |
|||
import org.mapstruct.Mapping; |
|||
|
|||
@Mapper(componentModel = "spring") |
|||
public interface RemarkResponseConverter { |
|||
|
|||
@Mapping(target = "remarkBy.userId", source = "remarkBy.id") |
|||
@Mapping(target = "remarkBy.nickname", source = "remarkBy.nickname") |
|||
@Mapping(target = "remarkBy.email", source = "remarkBy.email") |
|||
@Mapping(target = "id", source = "remark.id") |
|||
@Mapping(target = "createAt", source = "remark.createAt") |
|||
RemarkResponse of(DocumentRemarkPojo remark, |
|||
UserPojo remarkBy); |
|||
} |
@ -0,0 +1,18 @@ |
|||
package com.databasir.core.domain.remark.data; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import javax.validation.constraints.NotBlank; |
|||
import javax.validation.constraints.NotNull; |
|||
|
|||
@Data |
|||
public class RemarkCreateRequest { |
|||
|
|||
@NotBlank |
|||
private String remark; |
|||
|
|||
@NotNull |
|||
private String tableName; |
|||
|
|||
private String columnName; |
|||
} |
@ -0,0 +1,35 @@ |
|||
package com.databasir.core.domain.remark.data; |
|||
|
|||
import com.databasir.dao.Tables; |
|||
import lombok.Data; |
|||
import org.jooq.Condition; |
|||
import org.jooq.impl.DSL; |
|||
|
|||
import javax.validation.constraints.NotBlank; |
|||
import java.util.ArrayList; |
|||
import java.util.List; |
|||
|
|||
@Data |
|||
public class RemarkListCondition { |
|||
|
|||
@NotBlank |
|||
private String tableName; |
|||
|
|||
private String columnName; |
|||
|
|||
public Condition toCondition(Integer projectId) { |
|||
List<Condition> conditions = new ArrayList<>(); |
|||
Condition condition = Tables.DOCUMENT_REMARK.TABLE_NAME.eq(tableName); |
|||
conditions.add(condition); |
|||
|
|||
Condition columnCondition; |
|||
if (columnName != null) { |
|||
columnCondition = Tables.DOCUMENT_REMARK.COLUMN_NAME.eq(columnName); |
|||
} else { |
|||
columnCondition = Tables.DOCUMENT_REMARK.COLUMN_NAME.isNull(); |
|||
} |
|||
conditions.add(columnCondition); |
|||
conditions.add(Tables.DOCUMENT_REMARK.PROJECT_ID.eq(projectId)); |
|||
return conditions.stream().reduce(Condition::and).orElse(DSL.trueCondition()); |
|||
} |
|||
} |
@ -0,0 +1,30 @@ |
|||
package com.databasir.core.domain.remark.data; |
|||
|
|||
import lombok.Data; |
|||
|
|||
import java.time.LocalDateTime; |
|||
|
|||
@Data |
|||
public class RemarkResponse { |
|||
|
|||
private Integer id; |
|||
|
|||
private Integer projectId; |
|||
|
|||
private String remark; |
|||
|
|||
private RemarkUser remarkBy; |
|||
|
|||
private LocalDateTime createAt; |
|||
|
|||
@Data |
|||
public static class RemarkUser { |
|||
|
|||
private Integer userId; |
|||
|
|||
private String nickname; |
|||
|
|||
private String email; |
|||
} |
|||
|
|||
} |
@ -0,0 +1,81 @@ |
|||
package com.databasir.core.domain.remark.service; |
|||
|
|||
import com.databasir.common.exception.Forbidden; |
|||
import com.databasir.core.domain.remark.converter.RemarkResponseConverter; |
|||
import com.databasir.core.domain.remark.data.RemarkCreateRequest; |
|||
import com.databasir.core.domain.remark.data.RemarkListCondition; |
|||
import com.databasir.core.domain.remark.data.RemarkResponse; |
|||
import com.databasir.dao.impl.DocumentRemarkDao; |
|||
import com.databasir.dao.impl.ProjectDao; |
|||
import com.databasir.dao.impl.UserDao; |
|||
import com.databasir.dao.tables.pojos.DocumentRemarkPojo; |
|||
import com.databasir.dao.tables.pojos.UserPojo; |
|||
import lombok.RequiredArgsConstructor; |
|||
import org.springframework.data.domain.Page; |
|||
import org.springframework.data.domain.Pageable; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
import java.util.Map; |
|||
import java.util.Set; |
|||
import java.util.function.Function; |
|||
import java.util.stream.Collectors; |
|||
|
|||
@Service |
|||
@RequiredArgsConstructor |
|||
public class DocumentRemarkService { |
|||
|
|||
private final DocumentRemarkDao documentRemarkDao; |
|||
|
|||
private final ProjectDao projectDao; |
|||
|
|||
private final UserDao userDao; |
|||
|
|||
private final RemarkResponseConverter remarkResponseConverter; |
|||
|
|||
public void deleteById(Integer groupId, |
|||
Integer projectId, |
|||
Integer remarkId) { |
|||
if (projectDao.exists(groupId, projectId)) { |
|||
documentRemarkDao.deleteById(remarkId); |
|||
} else { |
|||
throw new Forbidden(); |
|||
} |
|||
} |
|||
|
|||
public Page<RemarkResponse> list(Integer groupId, |
|||
Integer projectId, |
|||
Pageable pageable, |
|||
RemarkListCondition condition) { |
|||
if (projectDao.exists(groupId, projectId)) { |
|||
Page<DocumentRemarkPojo> data = documentRemarkDao.selectByPage(pageable, condition.toCondition(projectId)); |
|||
Set<Integer> userIdList = data.getContent() |
|||
.stream() |
|||
.map(DocumentRemarkPojo::getUserId) |
|||
.collect(Collectors.toSet()); |
|||
Map<Integer, UserPojo> userMapById = userDao.selectUserIdIn(userIdList) |
|||
.stream() |
|||
.collect(Collectors.toMap(UserPojo::getId, Function.identity())); |
|||
return data |
|||
.map(remarkPojo -> { |
|||
UserPojo userPojo = userMapById.get(remarkPojo.getUserId()); |
|||
return remarkResponseConverter.of(remarkPojo, userPojo); |
|||
}); |
|||
} else { |
|||
throw new Forbidden(); |
|||
} |
|||
} |
|||
|
|||
public void create(Integer groupId, Integer projectId, Integer userId, RemarkCreateRequest request) { |
|||
if (projectDao.exists(groupId, projectId)) { |
|||
DocumentRemarkPojo pojo = new DocumentRemarkPojo(); |
|||
pojo.setUserId(userId); |
|||
pojo.setProjectId(projectId); |
|||
pojo.setRemark(request.getRemark()); |
|||
pojo.setTableName(request.getTableName()); |
|||
pojo.setColumnName(request.getColumnName()); |
|||
documentRemarkDao.insertAndReturnId(pojo); |
|||
} else { |
|||
throw new Forbidden(); |
|||
} |
|||
} |
|||
} |
@ -0,0 +1,176 @@ |
|||
/* |
|||
* 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.tables.records.DocumentRemarkRecord; |
|||
|
|||
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.Row7; |
|||
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 DocumentRemark extends TableImpl<DocumentRemarkRecord> { |
|||
|
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
/** |
|||
* The reference instance of <code>databasir.document_remark</code> |
|||
*/ |
|||
public static final DocumentRemark DOCUMENT_REMARK = new DocumentRemark(); |
|||
|
|||
/** |
|||
* The class holding records for this type |
|||
*/ |
|||
@Override |
|||
public Class<DocumentRemarkRecord> getRecordType() { |
|||
return DocumentRemarkRecord.class; |
|||
} |
|||
|
|||
/** |
|||
* The column <code>databasir.document_remark.id</code>. |
|||
*/ |
|||
public final TableField<DocumentRemarkRecord, Integer> ID = createField(DSL.name("id"), SQLDataType.INTEGER.nullable(false).identity(true), this, ""); |
|||
|
|||
/** |
|||
* The column <code>databasir.document_remark.remark</code>. |
|||
*/ |
|||
public final TableField<DocumentRemarkRecord, String> REMARK = createField(DSL.name("remark"), SQLDataType.CLOB.nullable(false), this, ""); |
|||
|
|||
/** |
|||
* The column <code>databasir.document_remark.user_id</code>. user.id |
|||
*/ |
|||
public final TableField<DocumentRemarkRecord, Integer> USER_ID = createField(DSL.name("user_id"), SQLDataType.INTEGER.nullable(false), this, "user.id"); |
|||
|
|||
/** |
|||
* The column <code>databasir.document_remark.project_id</code>. |
|||
*/ |
|||
public final TableField<DocumentRemarkRecord, Integer> PROJECT_ID = createField(DSL.name("project_id"), SQLDataType.INTEGER.nullable(false), this, ""); |
|||
|
|||
/** |
|||
* The column <code>databasir.document_remark.table_name</code>. |
|||
*/ |
|||
public final TableField<DocumentRemarkRecord, String> TABLE_NAME = createField(DSL.name("table_name"), SQLDataType.VARCHAR(255).nullable(false), this, ""); |
|||
|
|||
/** |
|||
* The column <code>databasir.document_remark.column_name</code>. |
|||
*/ |
|||
public final TableField<DocumentRemarkRecord, String> COLUMN_NAME = createField(DSL.name("column_name"), SQLDataType.VARCHAR(255), this, ""); |
|||
|
|||
/** |
|||
* The column <code>databasir.document_remark.create_at</code>. |
|||
*/ |
|||
public final TableField<DocumentRemarkRecord, LocalDateTime> CREATE_AT = createField(DSL.name("create_at"), SQLDataType.LOCALDATETIME(0).nullable(false).defaultValue(DSL.field("CURRENT_TIMESTAMP", SQLDataType.LOCALDATETIME)), this, ""); |
|||
|
|||
private DocumentRemark(Name alias, Table<DocumentRemarkRecord> aliased) { |
|||
this(alias, aliased, null); |
|||
} |
|||
|
|||
private DocumentRemark(Name alias, Table<DocumentRemarkRecord> aliased, Field<?>[] parameters) { |
|||
super(alias, null, aliased, parameters, DSL.comment(""), TableOptions.table()); |
|||
} |
|||
|
|||
/** |
|||
* Create an aliased <code>databasir.document_remark</code> table reference |
|||
*/ |
|||
public DocumentRemark(String alias) { |
|||
this(DSL.name(alias), DOCUMENT_REMARK); |
|||
} |
|||
|
|||
/** |
|||
* Create an aliased <code>databasir.document_remark</code> table reference |
|||
*/ |
|||
public DocumentRemark(Name alias) { |
|||
this(alias, DOCUMENT_REMARK); |
|||
} |
|||
|
|||
/** |
|||
* Create a <code>databasir.document_remark</code> table reference |
|||
*/ |
|||
public DocumentRemark() { |
|||
this(DSL.name("document_remark"), null); |
|||
} |
|||
|
|||
public <O extends Record> DocumentRemark(Table<O> child, ForeignKey<O, DocumentRemarkRecord> key) { |
|||
super(child, key, DOCUMENT_REMARK); |
|||
} |
|||
|
|||
@Override |
|||
public Schema getSchema() { |
|||
return aliased() ? null : Databasir.DATABASIR; |
|||
} |
|||
|
|||
@Override |
|||
public List<Index> getIndexes() { |
|||
return Arrays.asList(Indexes.DOCUMENT_REMARK_IDX_PROJECT_ID); |
|||
} |
|||
|
|||
@Override |
|||
public Identity<DocumentRemarkRecord, Integer> getIdentity() { |
|||
return (Identity<DocumentRemarkRecord, Integer>) super.getIdentity(); |
|||
} |
|||
|
|||
@Override |
|||
public UniqueKey<DocumentRemarkRecord> getPrimaryKey() { |
|||
return Keys.KEY_DOCUMENT_REMARK_PRIMARY; |
|||
} |
|||
|
|||
@Override |
|||
public DocumentRemark as(String alias) { |
|||
return new DocumentRemark(DSL.name(alias), this); |
|||
} |
|||
|
|||
@Override |
|||
public DocumentRemark as(Name alias) { |
|||
return new DocumentRemark(alias, this); |
|||
} |
|||
|
|||
/** |
|||
* Rename this table |
|||
*/ |
|||
@Override |
|||
public DocumentRemark rename(String name) { |
|||
return new DocumentRemark(DSL.name(name), null); |
|||
} |
|||
|
|||
/** |
|||
* Rename this table |
|||
*/ |
|||
@Override |
|||
public DocumentRemark rename(Name name) { |
|||
return new DocumentRemark(name, null); |
|||
} |
|||
|
|||
// -------------------------------------------------------------------------
|
|||
// Row7 type methods
|
|||
// -------------------------------------------------------------------------
|
|||
|
|||
@Override |
|||
public Row7<Integer, String, Integer, Integer, String, String, LocalDateTime> fieldsRow() { |
|||
return (Row7) super.fieldsRow(); |
|||
} |
|||
} |
@ -0,0 +1,170 @@ |
|||
/* |
|||
* This file is generated by jOOQ. |
|||
*/ |
|||
package com.databasir.dao.tables.pojos; |
|||
|
|||
|
|||
import java.io.Serializable; |
|||
import java.time.LocalDateTime; |
|||
|
|||
|
|||
/** |
|||
* This class is generated by jOOQ. |
|||
*/ |
|||
@SuppressWarnings({ "all", "unchecked", "rawtypes" }) |
|||
public class DocumentRemarkPojo implements Serializable { |
|||
|
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
private Integer id; |
|||
private String remark; |
|||
private Integer userId; |
|||
private Integer projectId; |
|||
private String tableName; |
|||
private String columnName; |
|||
private LocalDateTime createAt; |
|||
|
|||
public DocumentRemarkPojo() {} |
|||
|
|||
public DocumentRemarkPojo(DocumentRemarkPojo value) { |
|||
this.id = value.id; |
|||
this.remark = value.remark; |
|||
this.userId = value.userId; |
|||
this.projectId = value.projectId; |
|||
this.tableName = value.tableName; |
|||
this.columnName = value.columnName; |
|||
this.createAt = value.createAt; |
|||
} |
|||
|
|||
public DocumentRemarkPojo( |
|||
Integer id, |
|||
String remark, |
|||
Integer userId, |
|||
Integer projectId, |
|||
String tableName, |
|||
String columnName, |
|||
LocalDateTime createAt |
|||
) { |
|||
this.id = id; |
|||
this.remark = remark; |
|||
this.userId = userId; |
|||
this.projectId = projectId; |
|||
this.tableName = tableName; |
|||
this.columnName = columnName; |
|||
this.createAt = createAt; |
|||
} |
|||
|
|||
/** |
|||
* Getter for <code>databasir.document_remark.id</code>. |
|||
*/ |
|||
public Integer getId() { |
|||
return this.id; |
|||
} |
|||
|
|||
/** |
|||
* Setter for <code>databasir.document_remark.id</code>. |
|||
*/ |
|||
public void setId(Integer id) { |
|||
this.id = id; |
|||
} |
|||
|
|||
/** |
|||
* Getter for <code>databasir.document_remark.remark</code>. |
|||
*/ |
|||
public String getRemark() { |
|||
return this.remark; |
|||
} |
|||
|
|||
/** |
|||
* Setter for <code>databasir.document_remark.remark</code>. |
|||
*/ |
|||
public void setRemark(String remark) { |
|||
this.remark = remark; |
|||
} |
|||
|
|||
/** |
|||
* Getter for <code>databasir.document_remark.user_id</code>. user.id |
|||
*/ |
|||
public Integer getUserId() { |
|||
return this.userId; |
|||
} |
|||
|
|||
/** |
|||
* Setter for <code>databasir.document_remark.user_id</code>. user.id |
|||
*/ |
|||
public void setUserId(Integer userId) { |
|||
this.userId = userId; |
|||
} |
|||
|
|||
/** |
|||
* Getter for <code>databasir.document_remark.project_id</code>. |
|||
*/ |
|||
public Integer getProjectId() { |
|||
return this.projectId; |
|||
} |
|||
|
|||
/** |
|||
* Setter for <code>databasir.document_remark.project_id</code>. |
|||
*/ |
|||
public void setProjectId(Integer projectId) { |
|||
this.projectId = projectId; |
|||
} |
|||
|
|||
/** |
|||
* Getter for <code>databasir.document_remark.table_name</code>. |
|||
*/ |
|||
public String getTableName() { |
|||
return this.tableName; |
|||
} |
|||
|
|||
/** |
|||
* Setter for <code>databasir.document_remark.table_name</code>. |
|||
*/ |
|||
public void setTableName(String tableName) { |
|||
this.tableName = tableName; |
|||
} |
|||
|
|||
/** |
|||
* Getter for <code>databasir.document_remark.column_name</code>. |
|||
*/ |
|||
public String getColumnName() { |
|||
return this.columnName; |
|||
} |
|||
|
|||
/** |
|||
* Setter for <code>databasir.document_remark.column_name</code>. |
|||
*/ |
|||
public void setColumnName(String columnName) { |
|||
this.columnName = columnName; |
|||
} |
|||
|
|||
/** |
|||
* Getter for <code>databasir.document_remark.create_at</code>. |
|||
*/ |
|||
public LocalDateTime getCreateAt() { |
|||
return this.createAt; |
|||
} |
|||
|
|||
/** |
|||
* Setter for <code>databasir.document_remark.create_at</code>. |
|||
*/ |
|||
public void setCreateAt(LocalDateTime createAt) { |
|||
this.createAt = createAt; |
|||
} |
|||
|
|||
@Override |
|||
public String toString() { |
|||
StringBuilder sb = new StringBuilder("DocumentRemarkPojo ("); |
|||
|
|||
sb.append(id); |
|||
sb.append(", ").append(remark); |
|||
sb.append(", ").append(userId); |
|||
sb.append(", ").append(projectId); |
|||
sb.append(", ").append(tableName); |
|||
sb.append(", ").append(columnName); |
|||
sb.append(", ").append(createAt); |
|||
|
|||
sb.append(")"); |
|||
return sb.toString(); |
|||
} |
|||
} |
@ -0,0 +1,349 @@ |
|||
/* |
|||
* This file is generated by jOOQ. |
|||
*/ |
|||
package com.databasir.dao.tables.records; |
|||
|
|||
|
|||
import com.databasir.dao.tables.DocumentRemark; |
|||
import com.databasir.dao.tables.pojos.DocumentRemarkPojo; |
|||
|
|||
import java.time.LocalDateTime; |
|||
|
|||
import org.jooq.Field; |
|||
import org.jooq.Record1; |
|||
import org.jooq.Record7; |
|||
import org.jooq.Row7; |
|||
import org.jooq.impl.UpdatableRecordImpl; |
|||
|
|||
|
|||
/** |
|||
* This class is generated by jOOQ. |
|||
*/ |
|||
@SuppressWarnings({ "all", "unchecked", "rawtypes" }) |
|||
public class DocumentRemarkRecord extends UpdatableRecordImpl<DocumentRemarkRecord> implements Record7<Integer, String, Integer, Integer, String, String, LocalDateTime> { |
|||
|
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
/** |
|||
* Setter for <code>databasir.document_remark.id</code>. |
|||
*/ |
|||
public void setId(Integer value) { |
|||
set(0, value); |
|||
} |
|||
|
|||
/** |
|||
* Getter for <code>databasir.document_remark.id</code>. |
|||
*/ |
|||
public Integer getId() { |
|||
return (Integer) get(0); |
|||
} |
|||
|
|||
/** |
|||
* Setter for <code>databasir.document_remark.remark</code>. |
|||
*/ |
|||
public void setRemark(String value) { |
|||
set(1, value); |
|||
} |
|||
|
|||
/** |
|||
* Getter for <code>databasir.document_remark.remark</code>. |
|||
*/ |
|||
public String getRemark() { |
|||
return (String) get(1); |
|||
} |
|||
|
|||
/** |
|||
* Setter for <code>databasir.document_remark.user_id</code>. user.id |
|||
*/ |
|||
public void setUserId(Integer value) { |
|||
set(2, value); |
|||
} |
|||
|
|||
/** |
|||
* Getter for <code>databasir.document_remark.user_id</code>. user.id |
|||
*/ |
|||
public Integer getUserId() { |
|||
return (Integer) get(2); |
|||
} |
|||
|
|||
/** |
|||
* Setter for <code>databasir.document_remark.project_id</code>. |
|||
*/ |
|||
public void setProjectId(Integer value) { |
|||
set(3, value); |
|||
} |
|||
|
|||
/** |
|||
* Getter for <code>databasir.document_remark.project_id</code>. |
|||
*/ |
|||
public Integer getProjectId() { |
|||
return (Integer) get(3); |
|||
} |
|||
|
|||
/** |
|||
* Setter for <code>databasir.document_remark.table_name</code>. |
|||
*/ |
|||
public void setTableName(String value) { |
|||
set(4, value); |
|||
} |
|||
|
|||
/** |
|||
* Getter for <code>databasir.document_remark.table_name</code>. |
|||
*/ |
|||
public String getTableName() { |
|||
return (String) get(4); |
|||
} |
|||
|
|||
/** |
|||
* Setter for <code>databasir.document_remark.column_name</code>. |
|||
*/ |
|||
public void setColumnName(String value) { |
|||
set(5, value); |
|||
} |
|||
|
|||
/** |
|||
* Getter for <code>databasir.document_remark.column_name</code>. |
|||
*/ |
|||
public String getColumnName() { |
|||
return (String) get(5); |
|||
} |
|||
|
|||
/** |
|||
* Setter for <code>databasir.document_remark.create_at</code>. |
|||
*/ |
|||
public void setCreateAt(LocalDateTime value) { |
|||
set(6, value); |
|||
} |
|||
|
|||
/** |
|||
* Getter for <code>databasir.document_remark.create_at</code>. |
|||
*/ |
|||
public LocalDateTime getCreateAt() { |
|||
return (LocalDateTime) get(6); |
|||
} |
|||
|
|||
// -------------------------------------------------------------------------
|
|||
// Primary key information
|
|||
// -------------------------------------------------------------------------
|
|||
|
|||
@Override |
|||
public Record1<Integer> key() { |
|||
return (Record1) super.key(); |
|||
} |
|||
|
|||
// -------------------------------------------------------------------------
|
|||
// Record7 type implementation
|
|||
// -------------------------------------------------------------------------
|
|||
|
|||
@Override |
|||
public Row7<Integer, String, Integer, Integer, String, String, LocalDateTime> fieldsRow() { |
|||
return (Row7) super.fieldsRow(); |
|||
} |
|||
|
|||
@Override |
|||
public Row7<Integer, String, Integer, Integer, String, String, LocalDateTime> valuesRow() { |
|||
return (Row7) super.valuesRow(); |
|||
} |
|||
|
|||
@Override |
|||
public Field<Integer> field1() { |
|||
return DocumentRemark.DOCUMENT_REMARK.ID; |
|||
} |
|||
|
|||
@Override |
|||
public Field<String> field2() { |
|||
return DocumentRemark.DOCUMENT_REMARK.REMARK; |
|||
} |
|||
|
|||
@Override |
|||
public Field<Integer> field3() { |
|||
return DocumentRemark.DOCUMENT_REMARK.USER_ID; |
|||
} |
|||
|
|||
@Override |
|||
public Field<Integer> field4() { |
|||
return DocumentRemark.DOCUMENT_REMARK.PROJECT_ID; |
|||
} |
|||
|
|||
@Override |
|||
public Field<String> field5() { |
|||
return DocumentRemark.DOCUMENT_REMARK.TABLE_NAME; |
|||
} |
|||
|
|||
@Override |
|||
public Field<String> field6() { |
|||
return DocumentRemark.DOCUMENT_REMARK.COLUMN_NAME; |
|||
} |
|||
|
|||
@Override |
|||
public Field<LocalDateTime> field7() { |
|||
return DocumentRemark.DOCUMENT_REMARK.CREATE_AT; |
|||
} |
|||
|
|||
@Override |
|||
public Integer component1() { |
|||
return getId(); |
|||
} |
|||
|
|||
@Override |
|||
public String component2() { |
|||
return getRemark(); |
|||
} |
|||
|
|||
@Override |
|||
public Integer component3() { |
|||
return getUserId(); |
|||
} |
|||
|
|||
@Override |
|||
public Integer component4() { |
|||
return getProjectId(); |
|||
} |
|||
|
|||
@Override |
|||
public String component5() { |
|||
return getTableName(); |
|||
} |
|||
|
|||
@Override |
|||
public String component6() { |
|||
return getColumnName(); |
|||
} |
|||
|
|||
@Override |
|||
public LocalDateTime component7() { |
|||
return getCreateAt(); |
|||
} |
|||
|
|||
@Override |
|||
public Integer value1() { |
|||
return getId(); |
|||
} |
|||
|
|||
@Override |
|||
public String value2() { |
|||
return getRemark(); |
|||
} |
|||
|
|||
@Override |
|||
public Integer value3() { |
|||
return getUserId(); |
|||
} |
|||
|
|||
@Override |
|||
public Integer value4() { |
|||
return getProjectId(); |
|||
} |
|||
|
|||
@Override |
|||
public String value5() { |
|||
return getTableName(); |
|||
} |
|||
|
|||
@Override |
|||
public String value6() { |
|||
return getColumnName(); |
|||
} |
|||
|
|||
@Override |
|||
public LocalDateTime value7() { |
|||
return getCreateAt(); |
|||
} |
|||
|
|||
@Override |
|||
public DocumentRemarkRecord value1(Integer value) { |
|||
setId(value); |
|||
return this; |
|||
} |
|||
|
|||
@Override |
|||
public DocumentRemarkRecord value2(String value) { |
|||
setRemark(value); |
|||
return this; |
|||
} |
|||
|
|||
@Override |
|||
public DocumentRemarkRecord value3(Integer value) { |
|||
setUserId(value); |
|||
return this; |
|||
} |
|||
|
|||
@Override |
|||
public DocumentRemarkRecord value4(Integer value) { |
|||
setProjectId(value); |
|||
return this; |
|||
} |
|||
|
|||
@Override |
|||
public DocumentRemarkRecord value5(String value) { |
|||
setTableName(value); |
|||
return this; |
|||
} |
|||
|
|||
@Override |
|||
public DocumentRemarkRecord value6(String value) { |
|||
setColumnName(value); |
|||
return this; |
|||
} |
|||
|
|||
@Override |
|||
public DocumentRemarkRecord value7(LocalDateTime value) { |
|||
setCreateAt(value); |
|||
return this; |
|||
} |
|||
|
|||
@Override |
|||
public DocumentRemarkRecord values(Integer value1, String value2, Integer value3, Integer value4, String value5, String value6, LocalDateTime value7) { |
|||
value1(value1); |
|||
value2(value2); |
|||
value3(value3); |
|||
value4(value4); |
|||
value5(value5); |
|||
value6(value6); |
|||
value7(value7); |
|||
return this; |
|||
} |
|||
|
|||
// -------------------------------------------------------------------------
|
|||
// Constructors
|
|||
// -------------------------------------------------------------------------
|
|||
|
|||
/** |
|||
* Create a detached DocumentRemarkRecord |
|||
*/ |
|||
public DocumentRemarkRecord() { |
|||
super(DocumentRemark.DOCUMENT_REMARK); |
|||
} |
|||
|
|||
/** |
|||
* Create a detached, initialised DocumentRemarkRecord |
|||
*/ |
|||
public DocumentRemarkRecord(Integer id, String remark, Integer userId, Integer projectId, String tableName, String columnName, LocalDateTime createAt) { |
|||
super(DocumentRemark.DOCUMENT_REMARK); |
|||
|
|||
setId(id); |
|||
setRemark(remark); |
|||
setUserId(userId); |
|||
setProjectId(projectId); |
|||
setTableName(tableName); |
|||
setColumnName(columnName); |
|||
setCreateAt(createAt); |
|||
} |
|||
|
|||
/** |
|||
* Create a detached, initialised DocumentRemarkRecord |
|||
*/ |
|||
public DocumentRemarkRecord(DocumentRemarkPojo value) { |
|||
super(DocumentRemark.DOCUMENT_REMARK); |
|||
|
|||
if (value != null) { |
|||
setId(value.getId()); |
|||
setRemark(value.getRemark()); |
|||
setUserId(value.getUserId()); |
|||
setProjectId(value.getProjectId()); |
|||
setTableName(value.getTableName()); |
|||
setColumnName(value.getColumnName()); |
|||
setCreateAt(value.getCreateAt()); |
|||
} |
|||
} |
|||
} |
@ -0,0 +1,32 @@ |
|||
package com.databasir.dao.impl; |
|||
|
|||
import com.databasir.dao.tables.pojos.DocumentRemarkPojo; |
|||
import com.databasir.dao.tables.records.DocumentRemarkRecord; |
|||
import lombok.Getter; |
|||
import org.jooq.DSLContext; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.stereotype.Repository; |
|||
|
|||
import java.util.Optional; |
|||
|
|||
import static com.databasir.dao.Tables.DOCUMENT_REMARK; |
|||
|
|||
|
|||
@Repository |
|||
public class DocumentRemarkDao extends BaseDao<DocumentRemarkRecord, DocumentRemarkPojo> { |
|||
|
|||
@Autowired |
|||
@Getter |
|||
private DSLContext dslContext; |
|||
|
|||
public DocumentRemarkDao() { |
|||
super(DOCUMENT_REMARK, DocumentRemarkPojo.class); |
|||
} |
|||
|
|||
public Optional<DocumentRemarkPojo> selectByProjectIdAndId(Integer projectId, Integer id) { |
|||
return this.getDslContext() |
|||
.selectFrom(DOCUMENT_REMARK).where(DOCUMENT_REMARK.PROJECT_ID.eq(projectId) |
|||
.and(DOCUMENT_REMARK.ID.eq(id))) |
|||
.fetchOptionalInto(DocumentRemarkPojo.class); |
|||
} |
|||
} |
Loading…
Reference in new issue