From c1d20b425b10e8ba59f102dd1ab413055883eed0 Mon Sep 17 00:00:00 2001 From: 彭雪彬 <1724387007@qq.com> Date: Mon, 14 Jul 2025 16:57:11 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/xin' into pxb --- oying-system/src/main/java/com/oying/modules/sh/service/impl/UserAddressServiceImpl.java | 111 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 111 insertions(+), 0 deletions(-) diff --git a/oying-system/src/main/java/com/oying/modules/sh/service/impl/UserAddressServiceImpl.java b/oying-system/src/main/java/com/oying/modules/sh/service/impl/UserAddressServiceImpl.java new file mode 100644 index 0000000..073e44f --- /dev/null +++ b/oying-system/src/main/java/com/oying/modules/sh/service/impl/UserAddressServiceImpl.java @@ -0,0 +1,111 @@ +package com.oying.modules.sh.service.impl; + +import com.oying.exception.BadRequestException; +import com.oying.modules.sh.domain.UserAddress; +import com.oying.utils.FileUtil; +import com.oying.utils.SecurityUtils; +import lombok.RequiredArgsConstructor; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.oying.modules.sh.service.UserAddressService; +import com.oying.modules.sh.domain.dto.UserAddressQueryCriteria; +import com.oying.modules.sh.mapper.UserAddressMapper; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import com.oying.utils.PageUtil; + +import java.util.*; +import java.io.IOException; +import javax.servlet.http.HttpServletResponse; + +import com.oying.utils.PageResult; + +/** + * @author lixin + * @description 服务实现 + * @date 2025-06-11 + **/ +@Service +@RequiredArgsConstructor +public class UserAddressServiceImpl extends ServiceImpl<UserAddressMapper, UserAddress> implements UserAddressService { + + private final UserAddressMapper userAddressMapper; + + @Override + public PageResult<UserAddress> queryAll(UserAddressQueryCriteria criteria, Page<Object> page) { + return PageUtil.toPage(userAddressMapper.findAll(criteria, page)); + } + + @Override + public List<UserAddress> queryAll(UserAddressQueryCriteria criteria) { + return userAddressMapper.findAll(criteria); + } + + @Override + public List<UserAddress> queryUserAddress() { + UserAddressQueryCriteria criteria = new UserAddressQueryCriteria(); + criteria.setUserId(SecurityUtils.getCurrentUserId()); + return queryAll(criteria); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void create(UserAddress resources) { + if (resources.getIsDefault()) { + userAddressMapper.isDefault(resources.getUserId()); + } + userAddressMapper.insert(resources); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(UserAddress resources) { + UserAddress userAddress = getById(resources.getAddressId()); + if (!userAddress.getUserId().equals(SecurityUtils.getCurrentUserId())) { + throw new BadRequestException("不能修改他人资料"); + } + if (resources.getIsDefault()) { + userAddressMapper.isDefault(resources.getUserId()); + } + userAddress.copy(resources); + userAddressMapper.updateById(userAddress); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteAll(List<Long> ids) { + for (Long id : ids) { + UserAddress userAddress = getById(id); + if (!userAddress.getUserId().equals(SecurityUtils.getCurrentUserId())) { + throw new BadRequestException("不能删除他人资料"); + } + } + userAddressMapper.deleteBatchIds(ids); + } + + @Override + public void download(List<UserAddress> all, HttpServletResponse response) throws IOException { + List<Map<String, Object>> list = new ArrayList<>(); + for (UserAddress userAddress : all) { + Map<String, Object> map = new LinkedHashMap<>(); + map.put("收货人", userAddress.getReceiverName()); + map.put("收货人电话", userAddress.getReceiverPhone()); + map.put("省份", userAddress.getProvince()); + map.put("城市", userAddress.getCity()); + map.put("区县", userAddress.getDistrict()); + map.put("街道", userAddress.getStreet()); + map.put("短地址", userAddress.getShortAddress()); + map.put("详细地址", userAddress.getDetail()); + map.put("经度", userAddress.getLongitude()); + map.put("纬度", userAddress.getLatitude()); + map.put("是否默认", userAddress.getIsDefault() ? "是" : "否"); + map.put("标签", userAddress.getTag()); + map.put("创建人", userAddress.getCreateBy()); + map.put("创建时间", userAddress.getCreateTime()); + map.put("修改者", userAddress.getUpdateBy()); + map.put("修改时间", userAddress.getUpdateTime()); + list.add(map); + } + FileUtil.downloadExcel(list, response); + } +} -- Gitblit v1.9.3