From 3299d71e84623b8ad60c9c09b67a857bf1928e84 Mon Sep 17 00:00:00 2001 From: wuchunlei Date: Mon, 30 Jun 2025 11:17:09 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AE=A1=E7=90=86=E5=9C=B0=E5=9D=80=E6=97=B6?= =?UTF-8?q?=EF=BC=8C=E6=9B=B4=E6=96=B0=E9=BB=98=E8=AE=A4=E5=9C=B0=E5=9D=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../book/controller/UserAddressController.java | 11 ++++++----- .../modules/book/service/UserAddressService.java | 2 ++ .../book/service/impl/UserAddressServiceImpl.java | 11 +++++++++++ 3 files changed, 19 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/peanut/modules/book/controller/UserAddressController.java b/src/main/java/com/peanut/modules/book/controller/UserAddressController.java index 290ecfb9..0cf57ddf 100644 --- a/src/main/java/com/peanut/modules/book/controller/UserAddressController.java +++ b/src/main/java/com/peanut/modules/book/controller/UserAddressController.java @@ -8,6 +8,7 @@ import com.peanut.modules.book.service.UserAddressService; import com.peanut.modules.book.vo.UserAddressVo; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import java.util.ArrayList; @@ -43,9 +44,8 @@ public class UserAddressController { */ @RequestMapping("/save") public R save(@RequestBody UserAddress userAddress) { - // 判断是否已经有默认的地址了 - if ((userAddressService.getUserDefaultAddressCount(userAddress.getUserId()) >= 1) && userAddress.getIsDefault() == 1) { - return R.error("已经存在默认地址"); + if (userAddress.getIsDefault()==1){ + userAddressService.clearUserDefaultAddress(userAddress.getUserId()); } if(userAddress.getRegionCode()==null||userAddress.getRegionCode().equals("")){ return R.error("地址异常添加失败!"); @@ -59,9 +59,10 @@ public class UserAddressController { } @RequestMapping("/update") + @Transactional public R update(@RequestBody UserAddress userAddress) { - if ((userAddressService.getUserDefaultAddressCount(userAddress.getUserId()) >= 1) && userAddress.getIsDefault() == 1) { - return R.error("已经存在默认地址"); + if (userAddress.getIsDefault()==1){ + userAddressService.clearUserDefaultAddress(userAddress.getUserId()); } String str = userAddress.getConsigneeName()+userAddress.getConsigneePhone()+userAddress.getDetailAddress(); if(str.contains("+")||str.contains("&")){ diff --git a/src/main/java/com/peanut/modules/book/service/UserAddressService.java b/src/main/java/com/peanut/modules/book/service/UserAddressService.java index 7019d7cb..f3ac412d 100644 --- a/src/main/java/com/peanut/modules/book/service/UserAddressService.java +++ b/src/main/java/com/peanut/modules/book/service/UserAddressService.java @@ -19,5 +19,7 @@ public interface UserAddressService extends IService { UserAddressVo getAddressName(UserAddressVo vo, String regionCode); int getUserDefaultAddressCount(Integer userId); + + void clearUserDefaultAddress(Integer userId); } diff --git a/src/main/java/com/peanut/modules/book/service/impl/UserAddressServiceImpl.java b/src/main/java/com/peanut/modules/book/service/impl/UserAddressServiceImpl.java index af5b2f0a..bd1120d0 100644 --- a/src/main/java/com/peanut/modules/book/service/impl/UserAddressServiceImpl.java +++ b/src/main/java/com/peanut/modules/book/service/impl/UserAddressServiceImpl.java @@ -88,4 +88,15 @@ public class UserAddressServiceImpl extends ServiceImpl queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("user_id", userId); + queryWrapper.eq("is_default", 1); + UserAddress userAddress = this.getOne(queryWrapper); + if (userAddress != null) { + userAddress.setIsDefault(0); + this.updateById(userAddress); + } + } } \ No newline at end of file