From 02dddf6699895957dd8cdef6137ed8d85a22f990 Mon Sep 17 00:00:00 2001 From: myh Date: Sat, 11 Nov 2023 20:18:44 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=A0=E5=85=A5=E5=95=86=E5=AE=B6=E5=AF=86?= =?UTF-8?q?=E7=A0=81CRUD=E6=93=8D=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dao/MerchantsPasswordRepository.java | 18 ++++++++++ .../springdemo/service/MerchantsService.java | 5 ++- .../service/MerchantsServiceImpl.java | 33 ++++++++++++++++--- 3 files changed, 51 insertions(+), 5 deletions(-) create mode 100644 src/main/java/com/example/springdemo/dao/MerchantsPasswordRepository.java diff --git a/src/main/java/com/example/springdemo/dao/MerchantsPasswordRepository.java b/src/main/java/com/example/springdemo/dao/MerchantsPasswordRepository.java new file mode 100644 index 0000000..f0bea15 --- /dev/null +++ b/src/main/java/com/example/springdemo/dao/MerchantsPasswordRepository.java @@ -0,0 +1,18 @@ +package com.example.springdemo.dao; + + +import com.example.springdemo.entities.password.MerchantsPassword; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Query; +import org.springframework.stereotype.Repository; + +@Repository +public interface MerchantsPasswordRepository + extends JpaRepository { + @Query("update MerchantsPassword MerchantsPwd set MerchantsPwd.password = ?1 where MerchantsPwd.merchants.id = ?2") + void updatePassword(String password, Long merchantID); + + //删除账户时删除密码 + @Query("delete from MerchantsPassword MerchantsPwd where MerchantsPwd.merchants.id = ?1") + void deletePasswordById(Long merchantID); +} diff --git a/src/main/java/com/example/springdemo/service/MerchantsService.java b/src/main/java/com/example/springdemo/service/MerchantsService.java index b423cd4..81d7abc 100644 --- a/src/main/java/com/example/springdemo/service/MerchantsService.java +++ b/src/main/java/com/example/springdemo/service/MerchantsService.java @@ -1,11 +1,12 @@ package com.example.springdemo.service; import com.example.springdemo.entities.Merchants; +import com.example.springdemo.entities.password.MerchantsPassword; import java.util.Optional; public interface MerchantsService { - Merchants addMerchants(Merchants merchant); + Merchants addMerchants(Merchants merchant, MerchantsPassword merchantsPassword); void deleteMerchantsById(Long id); @@ -16,4 +17,6 @@ public interface MerchantsService { Merchants findById(Long id); Merchants findByName(String name); + + void updatePassword(String password, Long id); } diff --git a/src/main/java/com/example/springdemo/service/MerchantsServiceImpl.java b/src/main/java/com/example/springdemo/service/MerchantsServiceImpl.java index 7eb8fa8..e1252cb 100644 --- a/src/main/java/com/example/springdemo/service/MerchantsServiceImpl.java +++ b/src/main/java/com/example/springdemo/service/MerchantsServiceImpl.java @@ -1,9 +1,13 @@ package com.example.springdemo.service; +import com.example.springdemo.dao.MerchantsPasswordRepository; import com.example.springdemo.dao.MerchantsRepository; import com.example.springdemo.entities.Merchants; +import com.example.springdemo.entities.password.MerchantsPassword; import jakarta.annotation.Resource; +import org.springframework.data.jpa.repository.Modifying; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.List; @@ -11,18 +15,31 @@ import java.util.List; public class MerchantsServiceImpl implements MerchantsService { @Resource private MerchantsRepository merchantsRepository; + @Resource + private MerchantsPasswordRepository merchantsPasswordRepository; @Override - public Merchants addMerchants(Merchants merchant) { - return merchantsRepository.save(merchant); + @Modifying + @Transactional(rollbackFor = Exception.class) + //添加商户时添加密码 + public Merchants addMerchants(Merchants merchant, MerchantsPassword merchantsPassword) { + Merchants m = merchantsRepository.save(merchant); + merchantsPasswordRepository.save(merchantsPassword); + return m; } @Override - public void deleteMerchantsById(Long id) { - merchantsRepository.deleteById(id); + @Modifying + @Transactional(rollbackFor = Exception.class) + //删除商户时删除密码 + public void deleteMerchantsById(Long merchantID) { + merchantsRepository.deleteById(merchantID); + merchantsPasswordRepository.deletePasswordById(merchantID); } @Override + @Modifying + @Transactional(rollbackFor = Exception.class) public Merchants updateMerchants(Merchants merchant) { return merchantsRepository.save(merchant); } @@ -41,4 +58,12 @@ public class MerchantsServiceImpl implements MerchantsService { public Merchants findByName(String name) { return merchantsRepository.findByName(name); } + + @Override + @Modifying + @Transactional(rollbackFor = Exception.class) + //修改密码 + public void updatePassword(String password, Long merchantID) { + merchantsPasswordRepository.updatePassword(password, merchantID); + } }