diff --git a/src/main/java/com/gxwebsoft/shop/controller/ShopUserAddressController.java b/src/main/java/com/gxwebsoft/shop/controller/ShopUserAddressController.java index e2290f9..9cc92fb 100644 --- a/src/main/java/com/gxwebsoft/shop/controller/ShopUserAddressController.java +++ b/src/main/java/com/gxwebsoft/shop/controller/ShopUserAddressController.java @@ -79,11 +79,8 @@ @OperationLog @Operation(summary = "修改收货地址") @PutMapping() - public ApiResult update(@RequestBody ShopUserAddress shopUserAddress) { - if (shopUserAddressService.updateById(shopUserAddress)) { - return success("修改成功"); - } - return fail("修改失败"); + public ApiResult update(@RequestBody ShopUserAddress shopUserAddress) { + return success(shopUserAddressService.updateInfo(shopUserAddress)); } @PreAuthorize("hasAuthority('shop:shopUserAddress:remove')") diff --git a/src/main/java/com/gxwebsoft/shop/service/ShopUserAddressService.java b/src/main/java/com/gxwebsoft/shop/service/ShopUserAddressService.java index 70880e4..d8ec530 100644 --- a/src/main/java/com/gxwebsoft/shop/service/ShopUserAddressService.java +++ b/src/main/java/com/gxwebsoft/shop/service/ShopUserAddressService.java @@ -55,4 +55,11 @@ public interface ShopUserAddressService extends IService { */ List getUserAddresses(Integer userId); + /** + * 修改用户信息 + * @param shopUserAddress + * @return + */ + Boolean updateInfo(ShopUserAddress shopUserAddress); + } diff --git a/src/main/java/com/gxwebsoft/shop/service/impl/ShopUserAddressServiceImpl.java b/src/main/java/com/gxwebsoft/shop/service/impl/ShopUserAddressServiceImpl.java index cf599c6..69ade75 100644 --- a/src/main/java/com/gxwebsoft/shop/service/impl/ShopUserAddressServiceImpl.java +++ b/src/main/java/com/gxwebsoft/shop/service/impl/ShopUserAddressServiceImpl.java @@ -8,8 +8,11 @@ import com.gxwebsoft.shop.entity.ShopUserAddress; import com.gxwebsoft.shop.param.ShopUserAddressParam; import com.gxwebsoft.common.core.web.PageParam; import com.gxwebsoft.common.core.web.PageResult; +import org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import java.time.LocalDateTime; import java.util.List; /** @@ -65,4 +68,25 @@ public class ShopUserAddressServiceImpl extends ServiceImpl list = lambdaQuery().eq(ShopUserAddress::getIsDefault, true).eq(ShopUserAddress::getUserId, address.getUserId()) + .ne(ShopUserAddress::getId, address.getId()).list(); + if(CollectionUtils.isNotEmpty(list)){ + list.forEach(userAddress ->{ + userAddress.setIsDefault(false); + }); + } + updateBatchById(list); + } + shopUserAddress.setUpdateTime(LocalDateTime.now()); + return baseMapper.updateById(shopUserAddress) > 0; + } + return false; + } + }