From f75519bd4878a164d696ae4377f90083e22a9a60 Mon Sep 17 00:00:00 2001 From: lihongjie0209 Date: Fri, 5 Jan 2024 16:31:36 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=B8=8B=E8=BD=BD=E4=B8=AD?= =?UTF-8?q?=E5=BF=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/DownloadCenterController.java | 52 ++++++++++++++ .../dto/CreateDownloadCenterDto.java | 14 ++++ .../downloadCenter/dto/DownloadCenterDto.java | 15 ++++ .../dto/UpdateDownloadCenterDto.java | 16 +++++ .../entity/DownloadCenterEntity.java | 28 ++++++++ .../mapper/DownloadCenterMapper.java | 22 ++++++ .../repository/DownloadCenterRepository.java | 9 +++ .../service/DownloadCenterService.java | 71 +++++++++++++++++++ 8 files changed, 227 insertions(+) create mode 100644 src/main/java/cn/lihongjie/coal/downloadCenter/controller/DownloadCenterController.java create mode 100644 src/main/java/cn/lihongjie/coal/downloadCenter/dto/CreateDownloadCenterDto.java create mode 100644 src/main/java/cn/lihongjie/coal/downloadCenter/dto/DownloadCenterDto.java create mode 100644 src/main/java/cn/lihongjie/coal/downloadCenter/dto/UpdateDownloadCenterDto.java create mode 100644 src/main/java/cn/lihongjie/coal/downloadCenter/entity/DownloadCenterEntity.java create mode 100644 src/main/java/cn/lihongjie/coal/downloadCenter/mapper/DownloadCenterMapper.java create mode 100644 src/main/java/cn/lihongjie/coal/downloadCenter/repository/DownloadCenterRepository.java create mode 100644 src/main/java/cn/lihongjie/coal/downloadCenter/service/DownloadCenterService.java diff --git a/src/main/java/cn/lihongjie/coal/downloadCenter/controller/DownloadCenterController.java b/src/main/java/cn/lihongjie/coal/downloadCenter/controller/DownloadCenterController.java new file mode 100644 index 00000000..32ae66d9 --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/downloadCenter/controller/DownloadCenterController.java @@ -0,0 +1,52 @@ +package cn.lihongjie.coal.downloadCenter.controller; + +import cn.lihongjie.coal.annotation.SysLog; +import cn.lihongjie.coal.base.dto.CommonQuery; +import cn.lihongjie.coal.base.dto.IdRequest; +import cn.lihongjie.coal.downloadCenter.dto.CreateDownloadCenterDto; +import cn.lihongjie.coal.downloadCenter.dto.DownloadCenterDto; +import cn.lihongjie.coal.downloadCenter.dto.UpdateDownloadCenterDto; +import cn.lihongjie.coal.downloadCenter.service.DownloadCenterService; + +import lombok.extern.slf4j.Slf4j; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Page; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/downloadCenter") +@SysLog(module = "下载中心") +@Slf4j +public class DownloadCenterController { + @Autowired private DownloadCenterService service; + + @PostMapping("/create") + public DownloadCenterDto create(@RequestBody CreateDownloadCenterDto request) { + return this.service.create(request); + } + + @PostMapping("/update") + public DownloadCenterDto update(@RequestBody UpdateDownloadCenterDto request) { + return this.service.update(request); + } + + @PostMapping("/delete") + public Object delete(@RequestBody IdRequest request) { + this.service.delete(request); + return true; + } + + @PostMapping("/getById") + public DownloadCenterDto getById(@RequestBody IdRequest request) { + return this.service.getById(request.getId()); + } + + @PostMapping("/list") + public Page list(@RequestBody CommonQuery request) { + return this.service.list(request); + } +} diff --git a/src/main/java/cn/lihongjie/coal/downloadCenter/dto/CreateDownloadCenterDto.java b/src/main/java/cn/lihongjie/coal/downloadCenter/dto/CreateDownloadCenterDto.java new file mode 100644 index 00000000..c0984ff6 --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/downloadCenter/dto/CreateDownloadCenterDto.java @@ -0,0 +1,14 @@ +package cn.lihongjie.coal.downloadCenter.dto; + +import cn.lihongjie.coal.base.dto.CommonDto; + +import lombok.Data; + +@Data +public class CreateDownloadCenterDto extends CommonDto { + + private String url; + + + private String fileName; +} diff --git a/src/main/java/cn/lihongjie/coal/downloadCenter/dto/DownloadCenterDto.java b/src/main/java/cn/lihongjie/coal/downloadCenter/dto/DownloadCenterDto.java new file mode 100644 index 00000000..b554dbd5 --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/downloadCenter/dto/DownloadCenterDto.java @@ -0,0 +1,15 @@ +package cn.lihongjie.coal.downloadCenter.dto; + +import cn.lihongjie.coal.base.dto.CommonDto; + +import lombok.Data; + +@Data +public class DownloadCenterDto extends CommonDto { + + private String url; + + + private String fileName; + +} diff --git a/src/main/java/cn/lihongjie/coal/downloadCenter/dto/UpdateDownloadCenterDto.java b/src/main/java/cn/lihongjie/coal/downloadCenter/dto/UpdateDownloadCenterDto.java new file mode 100644 index 00000000..c6307f01 --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/downloadCenter/dto/UpdateDownloadCenterDto.java @@ -0,0 +1,16 @@ +package cn.lihongjie.coal.downloadCenter.dto; + +import cn.lihongjie.coal.base.dto.CommonDto; + +import lombok.Data; + +@Data +public class UpdateDownloadCenterDto extends CommonDto { + + + private String url; + + + private String fileName; + +} diff --git a/src/main/java/cn/lihongjie/coal/downloadCenter/entity/DownloadCenterEntity.java b/src/main/java/cn/lihongjie/coal/downloadCenter/entity/DownloadCenterEntity.java new file mode 100644 index 00000000..1c554086 --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/downloadCenter/entity/DownloadCenterEntity.java @@ -0,0 +1,28 @@ +package cn.lihongjie.coal.downloadCenter.entity; + +import cn.lihongjie.coal.base.entity.CommonEntity; + +import jakarta.persistence.Entity; + +import lombok.Data; + +@Data +@Entity +public class DownloadCenterEntity extends CommonEntity { + + + + private String url; + + + private String fileName; + + + + + + + + + +} diff --git a/src/main/java/cn/lihongjie/coal/downloadCenter/mapper/DownloadCenterMapper.java b/src/main/java/cn/lihongjie/coal/downloadCenter/mapper/DownloadCenterMapper.java new file mode 100644 index 00000000..5ce46626 --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/downloadCenter/mapper/DownloadCenterMapper.java @@ -0,0 +1,22 @@ +package cn.lihongjie.coal.downloadCenter.mapper; + +import cn.lihongjie.coal.base.mapper.BaseMapper; +import cn.lihongjie.coal.base.mapper.CommonMapper; +import cn.lihongjie.coal.downloadCenter.dto.CreateDownloadCenterDto; +import cn.lihongjie.coal.downloadCenter.dto.DownloadCenterDto; +import cn.lihongjie.coal.downloadCenter.dto.UpdateDownloadCenterDto; +import cn.lihongjie.coal.downloadCenter.entity.DownloadCenterEntity; + +import org.mapstruct.Mapper; +import org.mapstruct.control.DeepClone; + +@Mapper( + componentModel = org.mapstruct.MappingConstants.ComponentModel.SPRING, + uses = {CommonMapper.class}, + mappingControl = DeepClone.class) +public interface DownloadCenterMapper + extends BaseMapper< + DownloadCenterEntity, + DownloadCenterDto, + CreateDownloadCenterDto, + UpdateDownloadCenterDto> {} diff --git a/src/main/java/cn/lihongjie/coal/downloadCenter/repository/DownloadCenterRepository.java b/src/main/java/cn/lihongjie/coal/downloadCenter/repository/DownloadCenterRepository.java new file mode 100644 index 00000000..40e3deb8 --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/downloadCenter/repository/DownloadCenterRepository.java @@ -0,0 +1,9 @@ +package cn.lihongjie.coal.downloadCenter.repository; + +import cn.lihongjie.coal.base.dao.BaseRepository; +import cn.lihongjie.coal.downloadCenter.entity.DownloadCenterEntity; + +import org.springframework.stereotype.Repository; + +@Repository +public interface DownloadCenterRepository extends BaseRepository {} diff --git a/src/main/java/cn/lihongjie/coal/downloadCenter/service/DownloadCenterService.java b/src/main/java/cn/lihongjie/coal/downloadCenter/service/DownloadCenterService.java new file mode 100644 index 00000000..23bc6963 --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/downloadCenter/service/DownloadCenterService.java @@ -0,0 +1,71 @@ +package cn.lihongjie.coal.downloadCenter.service; + +import cn.lihongjie.coal.base.dto.CommonQuery; +import cn.lihongjie.coal.base.dto.IdRequest; +import cn.lihongjie.coal.base.service.BaseService; +import cn.lihongjie.coal.downloadCenter.dto.CreateDownloadCenterDto; +import cn.lihongjie.coal.downloadCenter.dto.DownloadCenterDto; +import cn.lihongjie.coal.downloadCenter.dto.UpdateDownloadCenterDto; +import cn.lihongjie.coal.downloadCenter.entity.DownloadCenterEntity; +import cn.lihongjie.coal.downloadCenter.mapper.DownloadCenterMapper; +import cn.lihongjie.coal.downloadCenter.repository.DownloadCenterRepository; + +import lombok.extern.slf4j.Slf4j; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.convert.ConversionService; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageRequest; +import org.springframework.data.domain.Sort; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +@Service +@Slf4j +@Transactional +public class DownloadCenterService + extends BaseService { + @Autowired private DownloadCenterRepository repository; + + @Autowired private DownloadCenterMapper mapper; + + @Autowired private ConversionService conversionService; + + public DownloadCenterDto create(CreateDownloadCenterDto request) { + DownloadCenterEntity entity = mapper.toEntity(request); + + this.repository.save(entity); + return getById(entity.getId()); + } + + public DownloadCenterDto update(UpdateDownloadCenterDto request) { + DownloadCenterEntity entity = this.repository.get(request.getId()); + this.mapper.updateEntity(entity, request); + + this.repository.save(entity); + + return getById(entity.getId()); + } + + public void delete(IdRequest request) { + this.repository.deleteAllById(request.getIds()); + } + + public DownloadCenterDto getById(String id) { + DownloadCenterEntity entity = repository.get(id); + + return mapper.toDto(entity); + } + + public Page list(CommonQuery query) { + Page page = + repository.findAll( + query.specification(conversionService), + PageRequest.of( + query.getPageNo(), + query.getPageSize(), + Sort.by(query.getOrders()))); + + return page.map(this.mapper::toDto); + } +}