package com.oying.modules.sh.service.impl; import com.oying.modules.sh.domain.OrderAddressSnapshot; import com.oying.utils.FileUtil; 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.OrderAddressSnapshotService; import com.oying.modules.sh.domain.dto.OrderAddressSnapshotQueryCriteria; import com.oying.modules.sh.mapper.OrderAddressSnapshotMapper; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.oying.utils.PageUtil; import java.util.List; import java.util.Map; import java.io.IOException; import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; import java.util.LinkedHashMap; import com.oying.utils.PageResult; /** * @description 服务实现 * @author lixin * @date 2025-06-11 **/ @Service @RequiredArgsConstructor public class OrderAddressSnapshotServiceImpl extends ServiceImpl implements OrderAddressSnapshotService { private final OrderAddressSnapshotMapper orderAddressSnapshotMapper; @Override public PageResult queryAll(OrderAddressSnapshotQueryCriteria criteria, Page page){ return PageUtil.toPage(orderAddressSnapshotMapper.findAll(criteria, page)); } @Override public List queryAll(OrderAddressSnapshotQueryCriteria criteria){ return orderAddressSnapshotMapper.findAll(criteria); } @Override public OrderAddressSnapshot queryByOrderNum(String orderNum) { return orderAddressSnapshotMapper.queryByOrderNum(orderNum); } @Override @Transactional(rollbackFor = Exception.class) public void create(OrderAddressSnapshot resources) { orderAddressSnapshotMapper.insert(resources); } @Override @Transactional(rollbackFor = Exception.class) public void update(OrderAddressSnapshot resources) { OrderAddressSnapshot orderAddressSnapshot = getById(resources.getSnapshotId()); orderAddressSnapshot.copy(resources); orderAddressSnapshotMapper.updateById(orderAddressSnapshot); } @Override @Transactional(rollbackFor = Exception.class) public void deleteAll(List ids) { orderAddressSnapshotMapper.deleteBatchIds(ids); } @Override public void download(List all, HttpServletResponse response) throws IOException { List> list = new ArrayList<>(); for (OrderAddressSnapshot orderAddressSnapshot : all) { Map map = new LinkedHashMap<>(); map.put("订单号", orderAddressSnapshot.getOrderNum()); map.put("收货人姓名", orderAddressSnapshot.getReceiverName()); map.put("收货人电话", orderAddressSnapshot.getReceiverPhone()); map.put("省份", orderAddressSnapshot.getProvince()); map.put("城市", orderAddressSnapshot.getCity()); map.put("区县", orderAddressSnapshot.getDistrict()); map.put("街道", orderAddressSnapshot.getStreet()); map.put("详细地址", orderAddressSnapshot.getDetail()); map.put("经度", orderAddressSnapshot.getLongitude()); map.put("纬度", orderAddressSnapshot.getLatitude()); map.put("地址标签(家/公司/学校等)", orderAddressSnapshot.getTag()); list.add(map); } FileUtil.downloadExcel(list, response); } }