From ae4d6500ee7df53687df8f1b667d0fb1c400eed1 Mon Sep 17 00:00:00 2001 From: xia Date: Wed, 27 Jul 2022 09:52:00 +0800 Subject: [PATCH] =?UTF-8?q?1.=E5=80=9F=E9=98=85=E6=A8=A1=E5=9D=97=20?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=80=9F=E8=BF=98=E8=AE=B0=E5=BD=95=E3=80=81?= =?UTF-8?q?=E5=80=9F=E9=98=85=E8=80=85=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../archives/controller/BorrowController.java | 8 +++++++ .../modules/archives/domain/Borrower.java | 4 ++++ .../repository/BorrowerRepository.java | 8 ++++++- .../archives/service/BorrowService.java | 2 ++ .../archives/service/dto/BorrowerDTO.java | 2 ++ .../service/impl/BorrowServiceImpl.java | 23 ++++++++++++++++++- 6 files changed, 45 insertions(+), 2 deletions(-) diff --git a/archives/src/main/java/com/storeroom/modules/archives/controller/BorrowController.java b/archives/src/main/java/com/storeroom/modules/archives/controller/BorrowController.java index 41cf2e7..93eb623 100644 --- a/archives/src/main/java/com/storeroom/modules/archives/controller/BorrowController.java +++ b/archives/src/main/java/com/storeroom/modules/archives/controller/BorrowController.java @@ -202,4 +202,12 @@ public class BorrowController { return ApiResponse.success(borrowService.editBorrower(dto)); } + @ApiOperation("删除借阅者") + @PostMapping("/deleteBorrower") + public ApiResponse deleteBorrower( + @Validated @RequestBody List borrowersId + ){ + return ApiResponse.success(borrowService.deleteBorrower(borrowersId)); + } + } diff --git a/archives/src/main/java/com/storeroom/modules/archives/domain/Borrower.java b/archives/src/main/java/com/storeroom/modules/archives/domain/Borrower.java index 63c6ace..4267687 100644 --- a/archives/src/main/java/com/storeroom/modules/archives/domain/Borrower.java +++ b/archives/src/main/java/com/storeroom/modules/archives/domain/Borrower.java @@ -45,4 +45,8 @@ public class Borrower extends BaseEntity implements Serializable { @ApiModelProperty(value = "证件号") private String idcard; + @Column(name = "is_delete") + @ApiModelProperty(value = "是否删除") + private Boolean isDelete; + } diff --git a/archives/src/main/java/com/storeroom/modules/archives/repository/BorrowerRepository.java b/archives/src/main/java/com/storeroom/modules/archives/repository/BorrowerRepository.java index 0185454..522315c 100644 --- a/archives/src/main/java/com/storeroom/modules/archives/repository/BorrowerRepository.java +++ b/archives/src/main/java/com/storeroom/modules/archives/repository/BorrowerRepository.java @@ -4,6 +4,7 @@ import com.storeroom.modules.archives.domain.Borrower; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Modifying; import org.springframework.data.jpa.repository.Query; import java.util.List; @@ -18,8 +19,13 @@ public interface BorrowerRepository extends JpaRepository { Borrower findBorrowerByNameAndPhone(String borrowerName,String phone); @Query(nativeQuery = true, - value = "select * from borrower where if(?1 is null,1=1,(borrower_name like ?1 or borrower_name_py like ?1)) " + + value = "select * from borrower where is_delete = false " + + "and if(?1 is null,1=1,(borrower_name like ?1 or borrower_name_py like ?1)) " + "and if(?2 is null,1=1,phone like ?2) order by create_by desc ") Page initBorrower(String query, String phone, Pageable page); + @Modifying + @Query("update Borrower set isDelete = true where id in ?1 ") + void deleteAllByIds(List borrowerIds); + } diff --git a/archives/src/main/java/com/storeroom/modules/archives/service/BorrowService.java b/archives/src/main/java/com/storeroom/modules/archives/service/BorrowService.java index 85bd37b..8a13ed4 100644 --- a/archives/src/main/java/com/storeroom/modules/archives/service/BorrowService.java +++ b/archives/src/main/java/com/storeroom/modules/archives/service/BorrowService.java @@ -57,5 +57,7 @@ public interface BorrowService { Object initBorrower(String query,String phone,Pageable page); //编辑借阅者信息 Object editBorrower(BorrowerDTO dto); + //批量删除借阅者 + Object deleteBorrower(List borrowerIds); } diff --git a/archives/src/main/java/com/storeroom/modules/archives/service/dto/BorrowerDTO.java b/archives/src/main/java/com/storeroom/modules/archives/service/dto/BorrowerDTO.java index 64ed74d..02e6cad 100644 --- a/archives/src/main/java/com/storeroom/modules/archives/service/dto/BorrowerDTO.java +++ b/archives/src/main/java/com/storeroom/modules/archives/service/dto/BorrowerDTO.java @@ -18,5 +18,7 @@ public class BorrowerDTO { private String cardType; //证件号 private String idcard; + //是否删除 + private Boolean isDelete; } diff --git a/archives/src/main/java/com/storeroom/modules/archives/service/impl/BorrowServiceImpl.java b/archives/src/main/java/com/storeroom/modules/archives/service/impl/BorrowServiceImpl.java index 2b54921..28525e8 100644 --- a/archives/src/main/java/com/storeroom/modules/archives/service/impl/BorrowServiceImpl.java +++ b/archives/src/main/java/com/storeroom/modules/archives/service/impl/BorrowServiceImpl.java @@ -80,6 +80,7 @@ public class BorrowServiceImpl implements BorrowService { if(null != query) return query; borrower.setBorrowerNamePy(ChinesePinyinUtil.getPinYinHeadChar(borrower.getBorrowerName())); + borrower.setIsDelete(false); return borrowerRepository.save(borrower); } @@ -248,8 +249,28 @@ public class BorrowServiceImpl implements BorrowService { @Transactional public Object editBorrower(BorrowerDTO dto) { Borrower borrower = null; + if(!StringUtils.isEmpty(dto.getId())){ + borrower = borrowerRepository.findById(dto.getId()).get(); + }else { + borrower = borrowerRepository.findBorrowerByNameAndPhone(dto.getBorrowerName(),dto.getPhone()); + if(null == borrower){ + borrower = new Borrower(); + } + } + borrower.setBorrowerName(dto.getBorrowerName()); + borrower.setBorrowerNamePy(ChinesePinyinUtil.getPinYinHeadChar(dto.getBorrowerName())); + borrower.setDepartment(dto.getDepartment()); + borrower.setCardType(dto.getCardType()); + borrower.setIdcard(dto.getIdcard()); + borrower.setIsDelete(false); + return borrowerRepository.saveAndFlush(borrower); + } - return null; + @Override + @Transactional + public Object deleteBorrower(List borrowerIds) { + borrowerRepository.deleteAllByIds(borrowerIds); + return borrowerIds.size(); }