feat(web): 增加数据资源创建接口
This commit is contained in:
2
.idea/jpa.xml
generated
2
.idea/jpa.xml
generated
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<project version="4">
|
<project version="4">
|
||||||
<component name="JpaBuddyIdeaProjectConfig">
|
<component name="JpaBuddyIdeaProjectConfig" newRepositoryParent="com.blinkfox.fenix.jpa.FenixJpaRepository">
|
||||||
<option name="defaultUnitInitialized" value="true" />
|
<option name="defaultUnitInitialized" value="true" />
|
||||||
<option name="renamerInitialized" value="true" />
|
<option name="renamerInitialized" value="true" />
|
||||||
</component>
|
</component>
|
||||||
|
|||||||
@@ -191,7 +191,7 @@ export function resourceAddDialog() {
|
|||||||
{
|
{
|
||||||
type: 'input-text',
|
type: 'input-text',
|
||||||
label: '文件筛选',
|
label: '文件筛选',
|
||||||
name: 'ftpRegex',
|
name: 'ftpRegexFilter',
|
||||||
description: '正则表达式,用于匹配文件的路径,只有符合筛选条件的文件才会被采集;若为空则默认采集全部文件',
|
description: '正则表达式,用于匹配文件的路径,只有符合筛选条件的文件才会被采集;若为空则默认采集全部文件',
|
||||||
...clearable,
|
...clearable,
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,9 +1,26 @@
|
|||||||
package com.eshore.gringotts.web.domain.resource.controller;
|
package com.eshore.gringotts.web.domain.resource.controller;
|
||||||
|
|
||||||
|
import cn.hutool.core.util.EnumUtil;
|
||||||
|
import com.eshore.gringotts.web.domain.resource.entity.format.CsvResourceFormat;
|
||||||
|
import com.eshore.gringotts.web.domain.resource.entity.format.JsonLineResourceFormat;
|
||||||
|
import com.eshore.gringotts.web.domain.resource.entity.format.JsonResourceFormat;
|
||||||
|
import com.eshore.gringotts.web.domain.resource.entity.format.LineResourceFormat;
|
||||||
|
import com.eshore.gringotts.web.domain.resource.entity.format.NoneResourceFormat;
|
||||||
|
import com.eshore.gringotts.web.domain.resource.entity.format.ResourceFormat;
|
||||||
|
import com.eshore.gringotts.web.domain.resource.entity.type.ApiResourceType;
|
||||||
|
import com.eshore.gringotts.web.domain.resource.entity.type.DatabaseResourceType;
|
||||||
|
import com.eshore.gringotts.web.domain.resource.entity.type.FileResourceType;
|
||||||
|
import com.eshore.gringotts.web.domain.resource.entity.type.FtpResourceType;
|
||||||
|
import com.eshore.gringotts.web.domain.resource.entity.type.HDFSResourceType;
|
||||||
|
import com.eshore.gringotts.web.domain.resource.entity.type.ResourceType;
|
||||||
|
import com.eshore.gringotts.web.domain.resource.service.DataResourceService;
|
||||||
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||||
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder;
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
@@ -20,9 +37,59 @@ import org.springframework.web.bind.annotation.RestController;
|
|||||||
public class DataResourceController {
|
public class DataResourceController {
|
||||||
private static final Logger logger = LoggerFactory.getLogger(DataResourceController.class);
|
private static final Logger logger = LoggerFactory.getLogger(DataResourceController.class);
|
||||||
|
|
||||||
|
private final ObjectMapper mapper;
|
||||||
|
private final DataResourceService dataResourceService;
|
||||||
|
|
||||||
|
public DataResourceController(Jackson2ObjectMapperBuilder builder, DataResourceService dataResourceService) {
|
||||||
|
this.mapper = builder.build();
|
||||||
|
this.dataResourceService = dataResourceService;
|
||||||
|
}
|
||||||
|
|
||||||
@PostMapping("/create")
|
@PostMapping("/create")
|
||||||
public void create(@RequestBody CreateRequest request) {
|
public void create(@RequestBody CreateRequest request) throws JsonProcessingException {
|
||||||
logger.info("Create request: {}", request);
|
logger.info("Create request: {}", request);
|
||||||
|
ResourceType type = null;
|
||||||
|
switch (request.resourceType) {
|
||||||
|
case "api":
|
||||||
|
type = new ApiResourceType(request.apiUrl, request.apiUsername, request.apiPassword);
|
||||||
|
break;
|
||||||
|
case "file":
|
||||||
|
type = new FileResourceType(request.filePath);
|
||||||
|
break;
|
||||||
|
case "database":
|
||||||
|
type = new DatabaseResourceType(
|
||||||
|
request.databaseJdbc,
|
||||||
|
request.databaseUsername,
|
||||||
|
request.databasePassword,
|
||||||
|
EnumUtil.fromString(DatabaseResourceType.Type.class, request.databaseType)
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
case "hdfs":
|
||||||
|
type = new HDFSResourceType(request.coreSiteFile, request.hdfsSiteFile);
|
||||||
|
break;
|
||||||
|
case "ftp":
|
||||||
|
type = new FtpResourceType(request.ftpUrl, request.ftpUsername, request.ftpPassword, request.ftpPath, request.ftpRegexFilter);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
ResourceFormat format = null;
|
||||||
|
switch (request.formatType) {
|
||||||
|
case "NONE":
|
||||||
|
format = new NoneResourceFormat();
|
||||||
|
break;
|
||||||
|
case "LINE":
|
||||||
|
format = new LineResourceFormat();
|
||||||
|
break;
|
||||||
|
case "JSON":
|
||||||
|
format = new JsonResourceFormat(mapper.writeValueAsString(request.jsonSchema));
|
||||||
|
break;
|
||||||
|
case "JSON_LINE":
|
||||||
|
format = new JsonLineResourceFormat(mapper.writeValueAsString(request.jsonLineSchema));
|
||||||
|
break;
|
||||||
|
case "CSV":
|
||||||
|
format = new CsvResourceFormat(mapper.writeValueAsString(request.csvSchema));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
dataResourceService.create(request.name, request.description, format, type);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@@ -44,7 +111,7 @@ public class DataResourceController {
|
|||||||
private String ftpUsername;
|
private String ftpUsername;
|
||||||
private String ftpPassword;
|
private String ftpPassword;
|
||||||
private String ftpPath;
|
private String ftpPath;
|
||||||
private String ftpRegex;
|
private String ftpRegexFilter;
|
||||||
private String formatType;
|
private String formatType;
|
||||||
private Map<?, ?> jsonSchema;
|
private Map<?, ?> jsonSchema;
|
||||||
private Map<?, ?> jsonLineSchema;
|
private Map<?, ?> jsonLineSchema;
|
||||||
|
|||||||
@@ -5,8 +5,9 @@ import com.eshore.gringotts.web.domain.entity.SimpleEntity;
|
|||||||
import com.eshore.gringotts.web.domain.resource.entity.format.ResourceFormat;
|
import com.eshore.gringotts.web.domain.resource.entity.format.ResourceFormat;
|
||||||
import com.eshore.gringotts.web.domain.resource.entity.type.ResourceType;
|
import com.eshore.gringotts.web.domain.resource.entity.type.ResourceType;
|
||||||
import javax.persistence.Column;
|
import javax.persistence.Column;
|
||||||
|
import javax.persistence.EnumType;
|
||||||
|
import javax.persistence.Enumerated;
|
||||||
import javax.persistence.JoinColumn;
|
import javax.persistence.JoinColumn;
|
||||||
import javax.persistence.ManyToOne;
|
|
||||||
import javax.persistence.OneToOne;
|
import javax.persistence.OneToOne;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
@@ -15,8 +16,6 @@ import org.hibernate.annotations.DynamicUpdate;
|
|||||||
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
|
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
|
||||||
import javax.persistence.Entity;
|
import javax.persistence.Entity;
|
||||||
import javax.persistence.EntityListeners;
|
import javax.persistence.EntityListeners;
|
||||||
import javax.persistence.Inheritance;
|
|
||||||
import javax.persistence.InheritanceType;
|
|
||||||
import javax.persistence.Table;
|
import javax.persistence.Table;
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
|
|||||||
@@ -2,7 +2,9 @@ package com.eshore.gringotts.web.domain.resource.entity.format;
|
|||||||
|
|
||||||
import javax.persistence.DiscriminatorValue;
|
import javax.persistence.DiscriminatorValue;
|
||||||
import javax.persistence.Entity;
|
import javax.persistence.Entity;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
import lombok.ToString;
|
import lombok.ToString;
|
||||||
|
|
||||||
@@ -15,6 +17,8 @@ import lombok.ToString;
|
|||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
@ToString
|
@ToString
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
@Entity
|
@Entity
|
||||||
@DiscriminatorValue("CSV")
|
@DiscriminatorValue("CSV")
|
||||||
public class CsvResourceFormat extends ResourceFormat{
|
public class CsvResourceFormat extends ResourceFormat{
|
||||||
|
|||||||
@@ -2,7 +2,9 @@ package com.eshore.gringotts.web.domain.resource.entity.format;
|
|||||||
|
|
||||||
import javax.persistence.DiscriminatorValue;
|
import javax.persistence.DiscriminatorValue;
|
||||||
import javax.persistence.Entity;
|
import javax.persistence.Entity;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
import lombok.ToString;
|
import lombok.ToString;
|
||||||
|
|
||||||
@@ -15,6 +17,8 @@ import lombok.ToString;
|
|||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
@ToString
|
@ToString
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
@Entity
|
@Entity
|
||||||
@DiscriminatorValue("JSON_LINE")
|
@DiscriminatorValue("JSON_LINE")
|
||||||
public class JsonLineResourceFormat extends ResourceFormat{
|
public class JsonLineResourceFormat extends ResourceFormat{
|
||||||
|
|||||||
@@ -3,7 +3,9 @@ package com.eshore.gringotts.web.domain.resource.entity.format;
|
|||||||
import javax.persistence.Column;
|
import javax.persistence.Column;
|
||||||
import javax.persistence.DiscriminatorValue;
|
import javax.persistence.DiscriminatorValue;
|
||||||
import javax.persistence.Entity;
|
import javax.persistence.Entity;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
import lombok.ToString;
|
import lombok.ToString;
|
||||||
|
|
||||||
@@ -16,6 +18,8 @@ import lombok.ToString;
|
|||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
@ToString
|
@ToString
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
@Entity
|
@Entity
|
||||||
@DiscriminatorValue("JSON")
|
@DiscriminatorValue("JSON")
|
||||||
public class JsonResourceFormat extends ResourceFormat{
|
public class JsonResourceFormat extends ResourceFormat{
|
||||||
|
|||||||
@@ -4,13 +4,17 @@ import com.eshore.gringotts.core.Constants;
|
|||||||
import javax.persistence.Column;
|
import javax.persistence.Column;
|
||||||
import javax.persistence.Entity;
|
import javax.persistence.Entity;
|
||||||
import javax.persistence.Table;
|
import javax.persistence.Table;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
import lombok.ToString;
|
import lombok.ToString;
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
@ToString
|
@ToString
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
@Entity
|
@Entity
|
||||||
@Table(name = Constants.TABLE_PREFIX + "resource_type_api")
|
@Table(name = Constants.TABLE_PREFIX + "resource_type_api")
|
||||||
public class ApiResourceType extends ResourceType {
|
public class ApiResourceType extends ResourceType {
|
||||||
|
|||||||
@@ -6,13 +6,17 @@ import javax.persistence.Entity;
|
|||||||
import javax.persistence.EnumType;
|
import javax.persistence.EnumType;
|
||||||
import javax.persistence.Enumerated;
|
import javax.persistence.Enumerated;
|
||||||
import javax.persistence.Table;
|
import javax.persistence.Table;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
import lombok.ToString;
|
import lombok.ToString;
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
@ToString
|
@ToString
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
@Entity
|
@Entity
|
||||||
@Table(name = Constants.TABLE_PREFIX + "resource_type_database")
|
@Table(name = Constants.TABLE_PREFIX + "resource_type_database")
|
||||||
public class DatabaseResourceType extends ResourceType {
|
public class DatabaseResourceType extends ResourceType {
|
||||||
|
|||||||
@@ -4,13 +4,17 @@ import com.eshore.gringotts.core.Constants;
|
|||||||
import javax.persistence.Column;
|
import javax.persistence.Column;
|
||||||
import javax.persistence.Entity;
|
import javax.persistence.Entity;
|
||||||
import javax.persistence.Table;
|
import javax.persistence.Table;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
import lombok.ToString;
|
import lombok.ToString;
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
@ToString
|
@ToString
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
@Entity
|
@Entity
|
||||||
@Table(name = Constants.TABLE_PREFIX + "resource_type_file")
|
@Table(name = Constants.TABLE_PREFIX + "resource_type_file")
|
||||||
public class FileResourceType extends ResourceType {
|
public class FileResourceType extends ResourceType {
|
||||||
|
|||||||
@@ -4,13 +4,17 @@ import com.eshore.gringotts.core.Constants;
|
|||||||
import javax.persistence.Column;
|
import javax.persistence.Column;
|
||||||
import javax.persistence.Entity;
|
import javax.persistence.Entity;
|
||||||
import javax.persistence.Table;
|
import javax.persistence.Table;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
import lombok.ToString;
|
import lombok.ToString;
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
@ToString
|
@ToString
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
@Entity
|
@Entity
|
||||||
@Table(name = Constants.TABLE_PREFIX + "resource_type_ftp")
|
@Table(name = Constants.TABLE_PREFIX + "resource_type_ftp")
|
||||||
public class FtpResourceType extends ResourceType {
|
public class FtpResourceType extends ResourceType {
|
||||||
@@ -19,4 +23,5 @@ public class FtpResourceType extends ResourceType {
|
|||||||
private String username;
|
private String username;
|
||||||
private String password;
|
private String password;
|
||||||
private String path;
|
private String path;
|
||||||
|
private String regexFilter;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,13 +4,17 @@ import com.eshore.gringotts.core.Constants;
|
|||||||
import javax.persistence.Column;
|
import javax.persistence.Column;
|
||||||
import javax.persistence.Entity;
|
import javax.persistence.Entity;
|
||||||
import javax.persistence.Table;
|
import javax.persistence.Table;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
import lombok.ToString;
|
import lombok.ToString;
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
@ToString
|
@ToString
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
@Entity
|
@Entity
|
||||||
@Table(name = Constants.TABLE_PREFIX + "resource_type_hdfs")
|
@Table(name = Constants.TABLE_PREFIX + "resource_type_hdfs")
|
||||||
public class HDFSResourceType extends ResourceType {
|
public class HDFSResourceType extends ResourceType {
|
||||||
|
|||||||
@@ -0,0 +1,10 @@
|
|||||||
|
package com.eshore.gringotts.web.domain.resource.repository;
|
||||||
|
|
||||||
|
import com.blinkfox.fenix.jpa.FenixJpaRepository;
|
||||||
|
import com.blinkfox.fenix.specification.FenixJpaSpecificationExecutor;
|
||||||
|
import com.eshore.gringotts.web.domain.resource.entity.DataResource;
|
||||||
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
@Repository
|
||||||
|
public interface DataResourceRepository extends FenixJpaRepository<DataResource, Long>, FenixJpaSpecificationExecutor<DataResource> {
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
package com.eshore.gringotts.web.domain.resource.repository;
|
||||||
|
|
||||||
|
import com.blinkfox.fenix.jpa.FenixJpaRepository;
|
||||||
|
import com.blinkfox.fenix.specification.FenixJpaSpecificationExecutor;
|
||||||
|
import com.eshore.gringotts.web.domain.resource.entity.format.ResourceFormat;
|
||||||
|
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
|
||||||
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
@Repository
|
||||||
|
public interface ResourceFormatRepository extends FenixJpaRepository<ResourceFormat, Long>, FenixJpaSpecificationExecutor<ResourceFormat> {
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
package com.eshore.gringotts.web.domain.resource.repository;
|
||||||
|
|
||||||
|
import com.blinkfox.fenix.jpa.FenixJpaRepository;
|
||||||
|
import com.blinkfox.fenix.specification.FenixJpaSpecificationExecutor;
|
||||||
|
import com.eshore.gringotts.web.domain.resource.entity.type.ResourceType;
|
||||||
|
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
|
||||||
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
@Repository
|
||||||
|
public interface ResourceTypeRepository extends FenixJpaRepository<ResourceType, Long>, FenixJpaSpecificationExecutor<ResourceType> {
|
||||||
|
}
|
||||||
@@ -0,0 +1,51 @@
|
|||||||
|
package com.eshore.gringotts.web.domain.resource.service;
|
||||||
|
|
||||||
|
import com.eshore.gringotts.web.domain.resource.entity.DataResource;
|
||||||
|
import com.eshore.gringotts.web.domain.resource.entity.format.ResourceFormat;
|
||||||
|
import com.eshore.gringotts.web.domain.resource.entity.type.ResourceType;
|
||||||
|
import com.eshore.gringotts.web.domain.resource.repository.DataResourceRepository;
|
||||||
|
import com.eshore.gringotts.web.domain.resource.repository.ResourceFormatRepository;
|
||||||
|
import com.eshore.gringotts.web.domain.resource.repository.ResourceTypeRepository;
|
||||||
|
import com.eshore.gringotts.web.domain.user.entity.User;
|
||||||
|
import com.eshore.gringotts.web.domain.user.service.UserService;
|
||||||
|
import javax.transaction.Transactional;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 数据资源服务
|
||||||
|
*
|
||||||
|
* @author lanyuanxiaoyao
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class DataResourceService {
|
||||||
|
private static final Logger log = LoggerFactory.getLogger(DataResourceService.class);
|
||||||
|
|
||||||
|
private final DataResourceRepository dataResourceRepository;
|
||||||
|
private final ResourceTypeRepository resourceTypeRepository;
|
||||||
|
private final ResourceFormatRepository resourceFormatRepository;
|
||||||
|
private final UserService userService;
|
||||||
|
|
||||||
|
public DataResourceService(DataResourceRepository dataResourceRepository, ResourceTypeRepository resourceTypeRepository, ResourceFormatRepository resourceFormatRepository, UserService userService) {
|
||||||
|
this.dataResourceRepository = dataResourceRepository;
|
||||||
|
this.resourceTypeRepository = resourceTypeRepository;
|
||||||
|
this.resourceFormatRepository = resourceFormatRepository;
|
||||||
|
this.userService = userService;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Transactional
|
||||||
|
public void create(String name, String description, ResourceFormat format, ResourceType type) {
|
||||||
|
resourceFormatRepository.save(format);
|
||||||
|
resourceTypeRepository.save(type);
|
||||||
|
DataResource resource = new DataResource();
|
||||||
|
resource.setName(name);
|
||||||
|
resource.setDescription(description);
|
||||||
|
resource.setFormat(format);
|
||||||
|
resource.setType(type);
|
||||||
|
User user = userService.currentLoginUser();
|
||||||
|
resource.setCreatedUser(user);
|
||||||
|
resource.setModifiedUser(user);
|
||||||
|
dataResourceRepository.save(resource);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -19,9 +19,4 @@ import org.springframework.transaction.annotation.Transactional;
|
|||||||
public interface UserRepository extends FenixJpaRepository<User, Long>, FenixJpaSpecificationExecutor<User> {
|
public interface UserRepository extends FenixJpaRepository<User, Long>, FenixJpaSpecificationExecutor<User> {
|
||||||
Boolean existsByUsername(String username);
|
Boolean existsByUsername(String username);
|
||||||
Optional<User> findByUsername(String username);
|
Optional<User> findByUsername(String username);
|
||||||
|
|
||||||
@Transactional
|
|
||||||
@Modifying
|
|
||||||
@Query("update User u set u.state = ?2 where u.username = ?1")
|
|
||||||
void updateStateByUsername(String username, User.State state);
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user