xin
4 days ago 044a57d2133b2363a6f0d3d167b3eaa587c70b91
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
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<RiderDeliveryPhotosMapper, RiderDeliveryPhotos> implements RiderDeliveryPhotosService {
 
    private final RiderDeliveryPhotosMapper riderDeliveryPhotosMapper;
    private final OrderService orderService;
 
    @Override
    public PageResult<RiderDeliveryPhotos> queryAll(RiderDeliveryPhotosQueryCriteria criteria, Page<Object> page) {
        return PageUtil.toPage(riderDeliveryPhotosMapper.findAll(criteria, page));
    }
 
    @Override
    public List<RiderDeliveryPhotos> 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<Long> ids) {
        riderDeliveryPhotosMapper.deleteBatchIds(ids);
    }
 
    @Override
    public void download(List<RiderDeliveryPhotos> all, HttpServletResponse response) throws IOException {
        List<Map<String, Object>> list = new ArrayList<>();
        for (RiderDeliveryPhotos riderDeliveryPhotos : all) {
            Map<String, Object> 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;
    }
}