大声道撒旦
This commit is contained in:
parent
2d41b2793f
commit
ceb37dfe8b
@ -5,6 +5,10 @@ import com.qqchen.deploy.backend.deploy.entity.Application;
|
||||
import com.qqchen.deploy.backend.framework.converter.BaseConverter;
|
||||
import org.mapstruct.Mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Mapper(config = BaseConverter.class)
|
||||
public interface ApplicationConverter extends BaseConverter<Application, ApplicationDTO> {
|
||||
|
||||
|
||||
}
|
||||
@ -34,5 +34,8 @@ public class ApplicationDTO extends BaseDTO {
|
||||
@NotNull(message = "排序号不能为空")
|
||||
private Integer sort;
|
||||
|
||||
private Long projectGroupId;
|
||||
|
||||
private ProjectGroupDTO projectGroup;
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,4 @@
|
||||
package com.qqchen.deploy.backend.deploy.dto.variables;
|
||||
|
||||
public class JenkinsBuildVariables {
|
||||
}
|
||||
@ -0,0 +1,36 @@
|
||||
package com.qqchen.deploy.backend.deploy.entity;
|
||||
|
||||
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
import com.qqchen.deploy.backend.deploy.enums.BuildTypeEnum;
|
||||
import com.qqchen.deploy.backend.framework.domain.Entity;
|
||||
import com.vladmihalcea.hibernate.type.json.JsonType;
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.EnumType;
|
||||
import jakarta.persistence.Enumerated;
|
||||
import jakarta.persistence.Table;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.hibernate.annotations.Type;
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@jakarta.persistence.Entity
|
||||
@Table(name = "deploy_app_config")
|
||||
public class DeployAppConfig extends Entity<Long> {
|
||||
|
||||
|
||||
@Column(name = "environment_id", nullable = false)
|
||||
private Long environmentId;
|
||||
|
||||
@Column(name = "application_id", nullable = false)
|
||||
private Long applicationId;
|
||||
|
||||
@Column(nullable = false)
|
||||
@Enumerated(EnumType.STRING)
|
||||
private BuildTypeEnum buildType;
|
||||
|
||||
@Type(JsonType.class)
|
||||
@Column(name = "build_variables", columnDefinition = "text", nullable = false)
|
||||
private JsonNode buildVariables;
|
||||
}
|
||||
@ -4,6 +4,11 @@ import com.qqchen.deploy.backend.deploy.dto.ApplicationDTO;
|
||||
import com.qqchen.deploy.backend.deploy.entity.Application;
|
||||
import com.qqchen.deploy.backend.deploy.query.ApplicationQuery;
|
||||
import com.qqchen.deploy.backend.framework.service.IBaseService;
|
||||
import org.springframework.data.domain.Page;
|
||||
|
||||
public interface IApplicationService extends IBaseService<Application, ApplicationDTO, ApplicationQuery, Long> {
|
||||
|
||||
Page<ApplicationDTO> page(ApplicationQuery query);
|
||||
|
||||
|
||||
}
|
||||
@ -1,13 +1,41 @@
|
||||
package com.qqchen.deploy.backend.deploy.service.impl;
|
||||
|
||||
import com.qqchen.deploy.backend.deploy.converter.ApplicationConverter;
|
||||
import com.qqchen.deploy.backend.deploy.converter.ProjectGroupConverter;
|
||||
import com.qqchen.deploy.backend.deploy.dto.ApplicationDTO;
|
||||
import com.qqchen.deploy.backend.deploy.entity.Application;
|
||||
import com.qqchen.deploy.backend.deploy.entity.ProjectGroup;
|
||||
import com.qqchen.deploy.backend.deploy.query.ApplicationQuery;
|
||||
import com.qqchen.deploy.backend.deploy.repository.IProjectGroupRepository;
|
||||
import com.qqchen.deploy.backend.deploy.service.IApplicationService;
|
||||
import com.qqchen.deploy.backend.framework.service.impl.BaseServiceImpl;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.PageImpl;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
import static java.util.stream.Collectors.toList;
|
||||
|
||||
@Service
|
||||
public class ApplicationServiceImpl extends BaseServiceImpl<Application, ApplicationDTO, ApplicationQuery, Long> implements IApplicationService {
|
||||
|
||||
|
||||
@Resource
|
||||
private IProjectGroupRepository projectGroupRepository;
|
||||
|
||||
@Resource
|
||||
private ProjectGroupConverter projectGroupConverter;
|
||||
|
||||
public Page<ApplicationDTO> page(ApplicationQuery query) {
|
||||
Page<ApplicationDTO> page = super.page(query);
|
||||
List<ApplicationDTO> result = page.getContent().stream().peek(application -> {
|
||||
Optional<ProjectGroup> projectGroupOptional = projectGroupRepository.findById(application.getProjectGroupId());
|
||||
projectGroupOptional.ifPresent(projectGroup -> application.setProjectGroup(projectGroupConverter.toDto(projectGroup)));
|
||||
}).collect(toList());
|
||||
return new PageImpl<>(result, page.getPageable(), page.getTotalElements());
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user