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