liujie
2026-03-18 3692b4d087a45f41a21a4967b7544451eee5dbc9
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
package com.xiaopeng.vehicleConvoy.service.impl;
 
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.xiaopeng.api.model.order.XpOrder;
import com.xiaopeng.api.model.vehicleConvoy.XpVehicleAnnualRecord;
import com.xiaopeng.common.core.web.page.PageInfo;
import com.xiaopeng.evi.oss.service.AliOssService;
import com.xiaopeng.vehicleConvoy.mapper.XpVehicleAnnualRecordMapper;
import com.xiaopeng.vehicleConvoy.model.query.XpVehicleAnnualRecordPageQuery;
import com.xiaopeng.vehicleConvoy.service.IXpVehicleAnnualRecordService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.StringUtils;
import org.bouncycastle.jcajce.provider.symmetric.AES;
import org.springframework.stereotype.Service;
 
import javax.annotation.Resource;
import java.io.UnsupportedEncodingException;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
 
/**
 * <p>
 * 车辆年检信息修改记录 服务实现类
 * </p>
 *
 * @author mitao
 * @since 2026-02-11
 */
@Service
public class XpVehicleAnnualRecordServiceImpl extends ServiceImpl<XpVehicleAnnualRecordMapper, XpVehicleAnnualRecord> implements IXpVehicleAnnualRecordService {
 
    @Resource
    private AliOssService aliOssService;
 
    @Override
    public PageInfo<XpVehicleAnnualRecord> queryTaskRoutineByVehicleId(XpVehicleAnnualRecordPageQuery query) throws UnsupportedEncodingException {
        // 构建分页参数
        PageInfo<XpVehicleAnnualRecord> page = new PageInfo<>();
        LambdaQueryWrapper<XpVehicleAnnualRecord> wrapper = new LambdaQueryWrapper<>();
        if (Objects.nonNull(query.getStartTime())) {
            wrapper.ge(XpVehicleAnnualRecord::getCreateTime, LocalDateTime.of(query.getStartTime(), LocalTime.MIN));
        }
        if (Objects.nonNull(query.getEndTime())) {
            wrapper.le(XpVehicleAnnualRecord::getCreateTime, LocalDateTime.of(query.getEndTime(), LocalTime.MAX));
        }
        wrapper.like(StringUtils.isNotBlank(query.getOperationsUserName()), XpVehicleAnnualRecord::getCreateBy, query.getOperationsUserName());
        wrapper.eq(XpVehicleAnnualRecord::getVehicleId, query.getVehicleId());
        wrapper.orderByDesc(XpVehicleAnnualRecord::getCreateTime);
 
        PageInfo<XpVehicleAnnualRecord> pageInfo = this.page(page, wrapper);
        List<XpVehicleAnnualRecord> records = pageInfo.getRecords();
        for (XpVehicleAnnualRecord record : records) {
 
            String inspectionAttachments = record.getInspectionAttachments();
            if (StringUtils.isNotBlank(inspectionAttachments)) {
                JSONArray jsonArray = JSONArray.parseArray(inspectionAttachments);
                ArrayList<String> list = new ArrayList<>(jsonArray.size());
                for (Object o : jsonArray) {
                    JSONObject jsonObject = JSONObject.parseObject(o.toString());
                    String downloadUrl = aliOssService.getDownloadUrl(jsonObject.getString("id"), jsonObject.getString("name"), true);
                    list.add(downloadUrl);
                }
                record.setInspectionAttachments(String.join(",", list));
            }
 
 
 
 
 
            String operationQualification = record.getOperationQualification();
            if (StringUtils.isNotBlank(operationQualification)) {
                JSONArray jsonArray = JSONArray.parseArray(operationQualification);
                ArrayList<String> list = new ArrayList<>(jsonArray.size());
                for (Object o : jsonArray) {
                    JSONObject jsonObject = JSONObject.parseObject(o.toString());
                    String downloadUrl = aliOssService.getDownloadUrl(jsonObject.getString("id"), jsonObject.getString("name"), true);
                    list.add(downloadUrl);
                }
                record.setOperationQualification(String.join(",", list));
            }
 
 
            String policyInformation = record.getPolicyInformation();
            if (StringUtils.isNotBlank(policyInformation)) {
                JSONArray jsonArray = JSONArray.parseArray(policyInformation);
                ArrayList<String> list = new ArrayList<>(jsonArray.size());
                for (Object o : jsonArray) {
                    JSONObject jsonObject = JSONObject.parseObject(o.toString());
                    String downloadUrl = aliOssService.getDownloadUrl(jsonObject.getString("id"), jsonObject.getString("name"), true);
                    list.add(downloadUrl);
                }
                record.setPolicyInformation(String.join(",", list));
            }
 
 
        }
        pageInfo.setRecords( records);
        return pageInfo;
    }
}