From e3a2245265516fef78b4737d6fffc939e7c5e0af Mon Sep 17 00:00:00 2001
From: huliguo <2023611923@qq.com>
Date: 星期四, 03 七月 2025 17:56:07 +0800
Subject: [PATCH] bug修改

---
 pt-errand/src/main/java/com/ruoyi/errand/service/impl/AddressBookServiceImpl.java |   69 +++++++++++++++++++++++++---------
 1 files changed, 50 insertions(+), 19 deletions(-)

diff --git a/pt-errand/src/main/java/com/ruoyi/errand/service/impl/AddressBookServiceImpl.java b/pt-errand/src/main/java/com/ruoyi/errand/service/impl/AddressBookServiceImpl.java
index 8e730c5..3816234 100644
--- a/pt-errand/src/main/java/com/ruoyi/errand/service/impl/AddressBookServiceImpl.java
+++ b/pt-errand/src/main/java/com/ruoyi/errand/service/impl/AddressBookServiceImpl.java
@@ -9,8 +9,10 @@
 import com.ruoyi.errand.domain.AddressBook;
 import com.ruoyi.errand.domain.AppUser;
 import com.ruoyi.errand.domain.Community;
+import com.ruoyi.errand.domain.Region;
 import com.ruoyi.errand.mapper.AddressBookMapper;
 import com.ruoyi.errand.mapper.CommunityMapper;
+import com.ruoyi.errand.mapper.RegionMapper;
 import com.ruoyi.errand.object.dto.app.AddAddressBookDTO;
 import com.ruoyi.errand.object.dto.app.UpdateAddressBookDTO;
 import com.ruoyi.errand.object.vo.app.AddressBookByCommunityIdVO;
@@ -27,6 +29,8 @@
 public class AddressBookServiceImpl extends ServiceImpl<AddressBookMapper, AddressBook> implements AddressBookService {
     @Resource
     private CommunityMapper communityMapper;
+    @Resource
+    private RegionMapper regionMapper;
 
     @Override
     public List<AddressBookByCommunityIdVO> addressBookByCommunityId(Integer communityId) {
@@ -42,38 +46,64 @@
     @Override
     public List<AddressBookListVO> addressBookList() {
         AppUser appuser = (AppUser) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
-        return this.getBaseMapper().addressBookList(appuser.getId());
+        List<AddressBookListVO> voList = this.getBaseMapper().addressBookList(appuser.getId());
+        voList.forEach(vo->{
+            String regionFullName = getRegionFullName(vo.getRegionId());
+            vo.setRegionName(regionFullName);
+        });
+        return voList;
     }
 
+    /**
+     * 根据区ID查询完整的省市区名称
+     */
+    public String getRegionFullName(Integer districtId) {
+        Region district = regionMapper.selectById(districtId);
+        if (district == null) {
+            return "";
+        }
+
+        Region city = regionMapper.selectById(district.getParentId());
+        if (city == null) {
+            return district.getName();
+        }
+
+        Region province = regionMapper.selectById(city.getParentId());
+        if (province == null) {
+            return city.getName()  + district.getName();
+        }
+
+        return province.getName()  + city.getName()  + district.getName();
+    }
     @Override
     public void setDefaultAddress(Integer id) {
         AppUser appuser = (AppUser) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
         //查询这个默认地址
         AddressBook addressBook = this.getById(id);
-        if (null==addressBook||addressBook.getDel_flag().equals(DelFlagConstant.DELETE)) {
+        if (null==addressBook||addressBook.getDelFlag().equals(DelFlagConstant.DELETE)) {
             throw new ServiceException("该地址不存在");
         }
         //查看原本小区内是否有默认地址
         List<AddressBook> addressBooks = this.getBaseMapper().selectList(new LambdaUpdateWrapper<AddressBook>()
                 .eq(AddressBook::getCommunityId, addressBook.getCommunityId())
-                .eq(AddressBook::getApp_user_id, appuser.getId())
-                .eq(AddressBook::getDel_flag, DelFlagConstant.UNDELETE)
-                .eq(AddressBook::getIs_default, IsDefaultConstant.TRUE)
+                .eq(AddressBook::getAppUserId, appuser.getId())
+                .eq(AddressBook::getDelFlag, DelFlagConstant.UNDELETE)
+                .eq(AddressBook::getIsDefault, IsDefaultConstant.TRUE)
         );
         //将原本地址修改掉
         addressBooks.forEach(x->{
-            x.setIs_default(IsDefaultConstant.FALSE);
-            x.setUpdate_time(LocalDateTime.now());
+            x.setIsDefault(IsDefaultConstant.FALSE);
+            x.setUpdateTime(LocalDateTime.now());
             this.getBaseMapper().updateById(x);}
         );
         //将新地址设置为默认地址
-        addressBook.setIs_default(IsDefaultConstant.TRUE);
-        addressBook.setUpdate_time(LocalDateTime.now());
+        addressBook.setIsDefault(IsDefaultConstant.TRUE);
+        addressBook.setUpdateTime(LocalDateTime.now());
         this.getBaseMapper().updateById(addressBook);
     }
 
     @Override
-    public void add(AddAddressBookDTO addAddressBookDTO) {
+    public Integer add(AddAddressBookDTO addAddressBookDTO) {
         AppUser appuser = (AppUser) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
         //判断小区是否存在
         Community community = communityMapper.selectById(addAddressBookDTO.getCommunityId());
@@ -82,10 +112,11 @@
         }
         AddressBook addressBook = new AddressBook();
         BeanUtils.copyProperties(addAddressBookDTO,addressBook);
-        addressBook.setIs_default(IsDefaultConstant.FALSE);
-        addressBook.setCreate_time(LocalDateTime.now());
-        addressBook.setApp_user_id(appuser.getId());
+        addressBook.setIsDefault(IsDefaultConstant.FALSE);
+        addressBook.setCreateTime(LocalDateTime.now());
+        addressBook.setAppUserId(appuser.getId());
         this.save(addressBook);
+        return addressBook.getId();
     }
 
     @Override
@@ -98,15 +129,15 @@
         }
         //判断地址是否存在
         AddressBook addressBook = this.getById(updateAddressBookDTO.getId());
-        if (null==addressBook||addressBook.getDel_flag().equals(DelFlagConstant.DELETE)) {
+        if (null==addressBook||addressBook.getDelFlag().equals(DelFlagConstant.DELETE)) {
             throw new ServiceException("地址不存在");
         }
         //判断用户是否同一个
-        if (!appuser.getId().equals(addressBook.getApp_user_id())) {
+        if (!appuser.getId().equals(addressBook.getAppUserId())) {
             throw new ServiceException("该地址不属于您");
         }
         BeanUtils.copyProperties(updateAddressBookDTO,addressBook);
-        addressBook.setUpdate_time(LocalDateTime.now());
+        addressBook.setUpdateTime(LocalDateTime.now());
         this.updateById(addressBook);
 
     }
@@ -116,15 +147,15 @@
         AppUser appuser = (AppUser) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
         //查看该地址是否存在
         AddressBook addressBook = this.getById(id);
-        if (null==addressBook||addressBook.getDel_flag().equals(DelFlagConstant.DELETE)) {
+        if (null==addressBook||addressBook.getDelFlag().equals(DelFlagConstant.DELETE)) {
             throw new ServiceException("该地址不存在");
         }
         //判断用户是否同一个
-        if (!appuser.getId().equals(addressBook.getApp_user_id())) {
+        if (!appuser.getId().equals(addressBook.getAppUserId())) {
             throw new ServiceException("该地址不属于您");
         }
 
-        addressBook.setDel_flag(DelFlagConstant.DELETE);
+        addressBook.setDelFlag(DelFlagConstant.DELETE);
         this.updateById(addressBook);
     }
 }
\ No newline at end of file

--
Gitblit v1.7.1