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); + } }