From 9c92ce4427b7833c50da7d0bfef52536e95428b8 Mon Sep 17 00:00:00 2001 From: gouzhonglin Date: Wed, 6 Mar 2024 15:33:47 +0800 Subject: [PATCH] udate externalos --- .../adapter/query/ExternalOsQueryAdapter.java | 27 ++++++++++ .../externalos/ExternalOsService.java | 9 ++++ .../externalos/ExternalOsServiceImpl.java | 28 ++++++++++ .../dto/ExternalOsSearchCondiiton.java | 39 ++++++++++++++ .../domain/externalos/ExternalOs.java | 28 ++++++++++ .../externalos/gateway/ExternalOsGateway.java | 11 ++++ .../gatewayimpl/ExternalOsGatewayImpl.java | 51 +++++++++++++++++++ .../converter/ExternalOsConverter.java | 33 ++++++++++++ .../gatewayimpl/dataobject/ExternalOsDO.java | 36 +++++++++++++ .../mapper/ExternalOsDOMapper.java | 9 ++++ 10 files changed, 271 insertions(+) create mode 100644 src/main/java/com/easysoftware/adapter/query/ExternalOsQueryAdapter.java create mode 100644 src/main/java/com/easysoftware/application/externalos/ExternalOsService.java create mode 100644 src/main/java/com/easysoftware/application/externalos/ExternalOsServiceImpl.java create mode 100644 src/main/java/com/easysoftware/application/externalos/dto/ExternalOsSearchCondiiton.java create mode 100644 src/main/java/com/easysoftware/domain/externalos/ExternalOs.java create mode 100644 src/main/java/com/easysoftware/domain/externalos/gateway/ExternalOsGateway.java create mode 100644 src/main/java/com/easysoftware/infrastructure/externalos/gatewayimpl/ExternalOsGatewayImpl.java create mode 100644 src/main/java/com/easysoftware/infrastructure/externalos/gatewayimpl/converter/ExternalOsConverter.java create mode 100644 src/main/java/com/easysoftware/infrastructure/externalos/gatewayimpl/dataobject/ExternalOsDO.java create mode 100644 src/main/java/com/easysoftware/infrastructure/mapper/ExternalOsDOMapper.java diff --git a/src/main/java/com/easysoftware/adapter/query/ExternalOsQueryAdapter.java b/src/main/java/com/easysoftware/adapter/query/ExternalOsQueryAdapter.java new file mode 100644 index 0000000..8e53213 --- /dev/null +++ b/src/main/java/com/easysoftware/adapter/query/ExternalOsQueryAdapter.java @@ -0,0 +1,27 @@ +package com.easysoftware.adapter.query; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import com.easysoftware.application.epkgpackage.EPKGPackageService; +import com.easysoftware.application.epkgpackage.dto.EPKGPackageSearchCondition; +import com.easysoftware.application.externalos.ExternalOsService; +import com.easysoftware.application.externalos.dto.ExternalOsSearchCondiiton; + +import jakarta.validation.Valid; + +@RestController +@RequestMapping("/externalos") +public class ExternalOsQueryAdapter { + @Autowired + private ExternalOsService externalOsService; + + @GetMapping() + public ResponseEntity searchPkgMap(@Valid ExternalOsSearchCondiiton condition) { + ResponseEntity res = externalOsService.searchPkgMap(condition); + return res; + } +} diff --git a/src/main/java/com/easysoftware/application/externalos/ExternalOsService.java b/src/main/java/com/easysoftware/application/externalos/ExternalOsService.java new file mode 100644 index 0000000..f29800a --- /dev/null +++ b/src/main/java/com/easysoftware/application/externalos/ExternalOsService.java @@ -0,0 +1,9 @@ +package com.easysoftware.application.externalos; + +import org.springframework.http.ResponseEntity; + +import com.easysoftware.application.externalos.dto.ExternalOsSearchCondiiton; + +public interface ExternalOsService { + ResponseEntity searchPkgMap(ExternalOsSearchCondiiton condition); +} diff --git a/src/main/java/com/easysoftware/application/externalos/ExternalOsServiceImpl.java b/src/main/java/com/easysoftware/application/externalos/ExternalOsServiceImpl.java new file mode 100644 index 0000000..db3e168 --- /dev/null +++ b/src/main/java/com/easysoftware/application/externalos/ExternalOsServiceImpl.java @@ -0,0 +1,28 @@ +package com.easysoftware.application.externalos; + +import java.util.List; +import java.util.Map; + +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Service; + +import com.easysoftware.application.externalos.dto.ExternalOsSearchCondiiton; +import com.easysoftware.common.utils.ResultUtil; +import com.easysoftware.domain.externalos.ExternalOs; +import com.easysoftware.domain.externalos.gateway.ExternalOsGateway; + +import jakarta.annotation.Resource; + +@Service +public class ExternalOsServiceImpl implements ExternalOsService { + @Resource + ExternalOsGateway externalOsGateway; + + @Override + public ResponseEntity searchPkgMap(ExternalOsSearchCondiiton condition) { + Map res = externalOsGateway.queryPkgMap(condition); + return ResultUtil.success(HttpStatus.OK, res); + } + +} diff --git a/src/main/java/com/easysoftware/application/externalos/dto/ExternalOsSearchCondiiton.java b/src/main/java/com/easysoftware/application/externalos/dto/ExternalOsSearchCondiiton.java new file mode 100644 index 0000000..5f2877f --- /dev/null +++ b/src/main/java/com/easysoftware/application/externalos/dto/ExternalOsSearchCondiiton.java @@ -0,0 +1,39 @@ +package com.easysoftware.application.externalos.dto; + +import org.hibernate.validator.constraints.Range; + +import com.easysoftware.common.constant.PackageConstant; + +import jakarta.validation.constraints.Size; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class ExternalOsSearchCondiiton { + @Range(min = PackageConstant.MIN_PAGE_NUM, max = PackageConstant.MAX_PAGE_NUM) + private Integer pageNum = 1; + + @Range(min = PackageConstant.MIN_PAGE_SIZE, max = PackageConstant.MAX_PAGE_SIZE) + private Integer pageSize = 10; + + @Size(max = 50) + private String originOsName; + + @Size(max = 50) + private String originOsVer; + + @Size(max = 50) + private String originPkg; + + @Size(max = 50) + private String targetOsName; + + @Size(max = 50) + private String targetOsVer; + + @Size(max = 50) + private String targetPkg; +} diff --git a/src/main/java/com/easysoftware/domain/externalos/ExternalOs.java b/src/main/java/com/easysoftware/domain/externalos/ExternalOs.java new file mode 100644 index 0000000..5190d3a --- /dev/null +++ b/src/main/java/com/easysoftware/domain/externalos/ExternalOs.java @@ -0,0 +1,28 @@ +package com.easysoftware.domain.externalos; + +import java.io.Serial; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class ExternalOs { + @Serial + private static final long serialVersionUID = 1L; + + private String originOsName; + + private String originOsVer; + + private String originPkg; + + private String targetOsName; + + private String targetOsVer; + + private String targetPkg; +} diff --git a/src/main/java/com/easysoftware/domain/externalos/gateway/ExternalOsGateway.java b/src/main/java/com/easysoftware/domain/externalos/gateway/ExternalOsGateway.java new file mode 100644 index 0000000..8afa145 --- /dev/null +++ b/src/main/java/com/easysoftware/domain/externalos/gateway/ExternalOsGateway.java @@ -0,0 +1,11 @@ +package com.easysoftware.domain.externalos.gateway; + +import java.util.List; +import java.util.Map; + +import com.easysoftware.application.externalos.dto.ExternalOsSearchCondiiton; +import com.easysoftware.domain.externalos.ExternalOs; + +public interface ExternalOsGateway { + Map queryPkgMap(ExternalOsSearchCondiiton condition); +} diff --git a/src/main/java/com/easysoftware/infrastructure/externalos/gatewayimpl/ExternalOsGatewayImpl.java b/src/main/java/com/easysoftware/infrastructure/externalos/gatewayimpl/ExternalOsGatewayImpl.java new file mode 100644 index 0000000..9a93839 --- /dev/null +++ b/src/main/java/com/easysoftware/infrastructure/externalos/gatewayimpl/ExternalOsGatewayImpl.java @@ -0,0 +1,51 @@ +package com.easysoftware.infrastructure.externalos.gatewayimpl; + +import java.util.List; +import java.util.Map; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.easysoftware.application.externalos.dto.ExternalOsSearchCondiiton; +import com.easysoftware.application.rpmpackage.dto.RPMPackageSearchCondition; +import com.easysoftware.common.utils.QueryWrapperUtil; +import com.easysoftware.domain.externalos.ExternalOs; +import com.easysoftware.domain.externalos.gateway.ExternalOsGateway; +import com.easysoftware.infrastructure.externalos.gatewayimpl.converter.ExternalOsConverter; +import com.easysoftware.infrastructure.externalos.gatewayimpl.dataobject.ExternalOsDO; +import com.easysoftware.infrastructure.mapper.ExternalOsDOMapper; +import com.easysoftware.infrastructure.rpmpackage.gatewayimpl.dataobject.RPMPackageDO; + +@Component +public class ExternalOsGatewayImpl implements ExternalOsGateway { + @Autowired + private ExternalOsDOMapper externalOsDOMapper; + + + @Override + public Map queryPkgMap(ExternalOsSearchCondiiton condition) { + Page page = createPage(condition); + QueryWrapper wrapper = QueryWrapperUtil.createQueryWrapper(new ExternalOsDO(), condition, ""); + IPage resPage = externalOsDOMapper.selectPage(page, wrapper); + List resList = resPage.getRecords(); + List exs = ExternalOsConverter.toEntity(resList); + long total = resPage.getTotal(); + + Map res = Map.ofEntries( + Map.entry("total", total), + Map.entry("list", exs) + ); + return res; + } + + + private Page createPage(ExternalOsSearchCondiiton condition) { + int pageNum = condition.getPageNum(); + int pageSize = condition.getPageSize(); + Page page = new Page<>(pageNum, pageSize); + return page; + } +} diff --git a/src/main/java/com/easysoftware/infrastructure/externalos/gatewayimpl/converter/ExternalOsConverter.java b/src/main/java/com/easysoftware/infrastructure/externalos/gatewayimpl/converter/ExternalOsConverter.java new file mode 100644 index 0000000..b334f32 --- /dev/null +++ b/src/main/java/com/easysoftware/infrastructure/externalos/gatewayimpl/converter/ExternalOsConverter.java @@ -0,0 +1,33 @@ +package com.easysoftware.infrastructure.externalos.gatewayimpl.converter; + +import java.util.ArrayList; +import java.util.List; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.BeanUtils; + +import com.easysoftware.domain.externalos.ExternalOs; +import com.easysoftware.infrastructure.externalos.gatewayimpl.dataobject.ExternalOsDO; +import com.easysoftware.infrastructure.rpmpackage.gatewayimpl.converter.RPMPackageConverter; + +public class ExternalOsConverter { + private static final Logger logger = LoggerFactory.getLogger(ExternalOsConverter.class); + + + public static ExternalOs toEntity(ExternalOsDO externalOsDO) { + ExternalOs externalOs = new ExternalOs(); + BeanUtils.copyProperties(externalOsDO, externalOs); + return externalOs; + } + + public static List toEntity(List exs) { + List res = new ArrayList<>(); + for (ExternalOsDO ex : exs) { + ExternalOs e = toEntity(ex); + res.add(e); + } + return res; + } + +} diff --git a/src/main/java/com/easysoftware/infrastructure/externalos/gatewayimpl/dataobject/ExternalOsDO.java b/src/main/java/com/easysoftware/infrastructure/externalos/gatewayimpl/dataobject/ExternalOsDO.java new file mode 100644 index 0000000..31f1ebc --- /dev/null +++ b/src/main/java/com/easysoftware/infrastructure/externalos/gatewayimpl/dataobject/ExternalOsDO.java @@ -0,0 +1,36 @@ +package com.easysoftware.infrastructure.externalos.gatewayimpl.dataobject; + +import java.io.Serial; +import java.sql.Timestamp; + +import com.baomidou.mybatisplus.annotation.TableName; + +import jakarta.validation.constraints.Size; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +@TableName("external_os") +public class ExternalOsDO { + @Serial + private String id; + + private Timestamp createAt; + + private Timestamp updateAt; + + private String originOsName; + + private String originOsVer; + + private String originPkg; + + private String targetOsName; + + private String targetOsVer; + + private String targetPkg; +} diff --git a/src/main/java/com/easysoftware/infrastructure/mapper/ExternalOsDOMapper.java b/src/main/java/com/easysoftware/infrastructure/mapper/ExternalOsDOMapper.java new file mode 100644 index 0000000..32c0a18 --- /dev/null +++ b/src/main/java/com/easysoftware/infrastructure/mapper/ExternalOsDOMapper.java @@ -0,0 +1,9 @@ +package com.easysoftware.infrastructure.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.easysoftware.domain.externalos.ExternalOs; +import com.easysoftware.infrastructure.externalos.gatewayimpl.dataobject.ExternalOsDO; + +public interface ExternalOsDOMapper extends BaseMapper { + +} -- Gitee