package com.oying.modules.rider.service.impl; import com.oying.modules.rider.domain.RiderDeliveryPhotos; import com.oying.modules.rider.domain.vo.OrderDeliveryPhotosVo; import com.oying.modules.rider.utils.Constants; import com.oying.modules.sh.domain.vo.OrderResponse; import com.oying.modules.sh.service.OrderService; 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.rider.service.RiderDeliveryPhotosService; import com.oying.modules.rider.domain.dto.RiderDeliveryPhotosQueryCriteria; import com.oying.modules.rider.mapper.RiderDeliveryPhotosMapper; 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; /** * @author pxb * @description 服务实现 * @date 2025-07-22 **/ @Service @RequiredArgsConstructor public class RiderDeliveryPhotosServiceImpl extends ServiceImpl implements RiderDeliveryPhotosService { private final RiderDeliveryPhotosMapper riderDeliveryPhotosMapper; private final OrderService orderService; @Override public PageResult queryAll(RiderDeliveryPhotosQueryCriteria criteria, Page page) { return PageUtil.toPage(riderDeliveryPhotosMapper.findAll(criteria, page)); } @Override public List queryAll(RiderDeliveryPhotosQueryCriteria criteria) { return riderDeliveryPhotosMapper.findAll(criteria); } @Override @Transactional(rollbackFor = Exception.class) public void create(RiderDeliveryPhotos resources) { riderDeliveryPhotosMapper.insert(resources); } @Override @Transactional(rollbackFor = Exception.class) public void update(RiderDeliveryPhotos resources) { RiderDeliveryPhotos riderDeliveryPhotos = getById(resources.getPhotoId()); riderDeliveryPhotos.copy(resources); riderDeliveryPhotosMapper.updateById(riderDeliveryPhotos); } @Override @Transactional(rollbackFor = Exception.class) public void deleteAll(List ids) { riderDeliveryPhotosMapper.deleteBatchIds(ids); } @Override public void download(List all, HttpServletResponse response) throws IOException { List> list = new ArrayList<>(); for (RiderDeliveryPhotos riderDeliveryPhotos : all) { Map map = new LinkedHashMap<>(); map.put("关联的订单ID", riderDeliveryPhotos.getOrderId()); map.put("关联的订单号", riderDeliveryPhotos.getOrderNum()); map.put("骑手ID", riderDeliveryPhotos.getRiderId()); map.put("骑手姓名", riderDeliveryPhotos.getRiderName()); map.put("骑手手机号", riderDeliveryPhotos.getRiderPhone()); map.put("照片存储的URL地址", riderDeliveryPhotos.getPhotoUrl()); map.put("照片存储ID", riderDeliveryPhotos.getUploadId()); map.put("拍摄地点纬度", riderDeliveryPhotos.getLatitude()); map.put("拍摄地点经度", riderDeliveryPhotos.getLongitude()); map.put("照片描述信息", riderDeliveryPhotos.getDescription()); map.put("是否有效 1-有效 0-无效", riderDeliveryPhotos.getIsValid()); map.put("用户手机号", riderDeliveryPhotos.getUserPhone()); map.put("用户id", riderDeliveryPhotos.getUserId()); map.put("创建人", riderDeliveryPhotos.getCreateBy()); map.put("修改人", riderDeliveryPhotos.getUpdateBy()); map.put("创建时间", riderDeliveryPhotos.getCreateTime()); map.put("修改时间", riderDeliveryPhotos.getUpdateTime()); list.add(map); } FileUtil.downloadExcel(list, response); } @Override @Transactional(rollbackFor = Exception.class) public Boolean riderDeliveryPhotos(OrderDeliveryPhotosVo orderDeliveryPhotosVo) { OrderResponse orderResponse = orderService.getByOrderNum(orderDeliveryPhotosVo.getOrderNum()); if (orderResponse != null) { // 封装数据 RiderDeliveryPhotos riderDeliveryPhotos = new RiderDeliveryPhotos(); riderDeliveryPhotos.setOrderId(orderResponse.getOrder().getOrderId()); riderDeliveryPhotos.setOrderNum(orderResponse.getOrder().getOrderNum()); riderDeliveryPhotos.setRiderId(orderResponse.getOrder().getRiderId()); riderDeliveryPhotos.setRiderName(orderResponse.getOrder().getRiderName()); riderDeliveryPhotos.setRiderPhone(orderResponse.getOrder().getRiderPhone()); riderDeliveryPhotos.setPhotoUrl(orderDeliveryPhotosVo.getPhotoUrl()); riderDeliveryPhotos.setUploadId(orderDeliveryPhotosVo.getUploadId()); riderDeliveryPhotos.setLatitude(orderDeliveryPhotosVo.getUserLatitude()); riderDeliveryPhotos.setLongitude(orderDeliveryPhotosVo.getUserLongitude()); riderDeliveryPhotos.setDescription(orderDeliveryPhotosVo.getDescription()); riderDeliveryPhotos.setIsValid(Constants.IS_VALID_YES); riderDeliveryPhotos.setUserPhone(orderResponse.getOrder().getUsername()); riderDeliveryPhotos.setUserId(orderResponse.getOrder().getUserId()); return this.save(riderDeliveryPhotos); } return false; } }