xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/WorkbenchController.java
@@ -17,6 +17,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import java.io.UnsupportedEncodingException; /** * token 控制 @@ -39,7 +40,7 @@ @ApiOperation(value = "工作台") @PostMapping("/api/v1/workbench") public R<PageInfo<WorkBenchVO>> workbench(@RequestBody WorkBenchQuery query) { public R<PageInfo<WorkBenchVO>> workbench(@RequestBody WorkBenchQuery query) throws UnsupportedEncodingException { LoginOperationUser loginOperationUser = tokenService.getLoginOperationUser(); query.setOperationId(loginOperationUser.getId()); // 获取任务记录 xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpChargingRecordController.java
@@ -19,6 +19,7 @@ import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import java.io.UnsupportedEncodingException; /** * <p> @@ -88,7 +89,7 @@ */ @ApiOperation(value = "车辆运维-运维记录-充电记录详情", tags = {"运维APP-车辆管理"}) @GetMapping("/api/v1/chargingRecord/chargingDetail") public R<XpChargingRecordVO> chargingDetail(@RequestParam Long id) { public R<XpChargingRecordVO> chargingDetail(@RequestParam Long id) throws UnsupportedEncodingException { XpChargingRecordVO xpChargingRecordVO = xpChargingRecordService.chargingDetail(id); return R.ok(xpChargingRecordVO); } xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpTaskController.java
@@ -1,6 +1,8 @@ package com.xiaopeng.maintenance.controller; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson2.JSONObject; import com.xiaopeng.api.feignClient.vehicleConvoy.XpFleetOperationsClient; import com.xiaopeng.api.feignClient.vehicleConvoy.XpVehicleClient; import com.xiaopeng.api.model.account.XpOperationsUser; @@ -15,6 +17,7 @@ import com.xiaopeng.common.core.domain.R; import com.xiaopeng.common.core.web.page.PageInfo; import com.xiaopeng.common.security.service.TokenService; import com.xiaopeng.evi.oss.service.AliOssService; import com.xiaopeng.maintenance.dto.HandleVehicleAccidentDto; import com.xiaopeng.maintenance.dto.SaveRoutineDetailDto; import com.xiaopeng.maintenance.dto.SaveVehicleAccidentDto; @@ -32,6 +35,7 @@ import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.apache.shardingsphere.transaction.annotation.ShardingSphereTransactionType; import org.apache.shardingsphere.transaction.core.TransactionType; import org.springframework.beans.factory.annotation.Autowired; @@ -44,6 +48,7 @@ import javax.annotation.Resource; import javax.validation.Valid; import java.io.UnsupportedEncodingException; import java.util.ArrayList; import java.util.List; @@ -72,6 +77,8 @@ private XpVehicleClient xpVehicleClient; @Autowired private InsuranceInspectionScheduleTask insuranceInspectionScheduleTask; @Autowired private AliOssService aliOssService; @Resource private XpTaskRuleMapper xpTaskRuleMapper; @@ -158,13 +165,13 @@ @ApiOperation(value = "车辆事故任务详情", tags = "运维APP-任务中心") @GetMapping("/api/v1/task/vehicleAccidentDetail") public R<TaskAccidentDetailVO> vehicleAccidentDetail(Long id) { public R<TaskAccidentDetailVO> vehicleAccidentDetail(Long id) throws UnsupportedEncodingException { return xpTaskService.vehicleAccidentDetail(id); } @ApiOperation(value = "车辆其他常规任务详情", tags = "运维APP-任务中心") @GetMapping("/api/v1/task/vehicleRoutineDetail") public R<TaskRoutineDetailVO> vehicleRoutineDetail(Long id) { public R<TaskRoutineDetailVO> vehicleRoutineDetail(Long id) throws UnsupportedEncodingException { return xpTaskService.vehicleRoutineDetail(id); } @@ -202,7 +209,7 @@ @ApiOperation(value = "车辆常规洗车任务详情", tags = "运维APP-任务中心") @GetMapping("/api/v1/task/cleanDetail") public R<TaskCleanDetailVO> cleanDetail(Long id) { public R<TaskCleanDetailVO> cleanDetail(Long id) throws UnsupportedEncodingException { return xpTaskService.cleanDetail(id); } @@ -254,8 +261,27 @@ @GetMapping("/inner/xpTask/queryInfoByVehicleId") public R<XpTask> queryInfoByVehicleId(@RequestParam("vehicleId") Long vehicleId) { XpTask xpTask = xpTaskService.queryInfoByVehicleId(vehicleId); String taskImage = xpTask.getTaskImage(); if (StringUtils.isNotBlank(taskImage)) { JSONArray jsonArray = JSONArray.parseArray(taskImage); ArrayList<String> list = new ArrayList<>(jsonArray.size()); for (Object o : jsonArray) { JSONObject jsonObject = JSONObject.parseObject(o.toString()); String downloadUrl = null; try { downloadUrl = aliOssService.getDownloadUrl(jsonObject.getString("id"), jsonObject.getString("name"), true); } catch (UnsupportedEncodingException e) { throw new RuntimeException(e); } list.add(downloadUrl); } xpTask.setTaskImage(String.join(",", list)); } return R.ok(xpTask); } @ApiOperation(value = "执行保险年检检测定时任务", tags = {"定时任务"}) @GetMapping("/base/task/insurance/execute") public R<?> executeInsuranceTask() { xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpTaskManagementController.java
@@ -3,6 +3,7 @@ import cn.afterturn.easypoi.excel.ExcelExportUtil; import cn.afterturn.easypoi.excel.entity.ExportParams; import com.alibaba.fastjson2.JSONObject; import com.xiaopeng.api.feignClient.account.XpOperationUserClient; import com.xiaopeng.api.feignClient.vehicleConvoy.XpFleetOperationsClient; import com.xiaopeng.api.feignClient.vehicleConvoy.XpVehicleClient; @@ -18,6 +19,7 @@ import com.xiaopeng.common.core.utils.ip.IpUtils; import com.xiaopeng.common.core.web.page.PageInfo; import com.xiaopeng.common.security.service.TokenService; import com.xiaopeng.evi.oss.service.AliOssService; import com.xiaopeng.maintenance.dto.HandleVehicleAccidentDto; import com.xiaopeng.maintenance.dto.SaveErrorTaskDto; import com.xiaopeng.maintenance.dto.SaveRoutineDetailDto; @@ -75,7 +77,7 @@ @Resource private XpOperationUserClient operationUserClient; @Resource private XpFleetOperationsClient xpFleetOperationsClient; private AliOssService aliOssService; @Resource private XpVehicleClient xpVehicleClient; @@ -196,11 +198,19 @@ @ApiOperation(value = "查询车辆不分页列表") @PostMapping("/listVehicle") public R<List<XpVehicle>> listVehicle() { public R<List<XpVehicle>> listVehicle() throws UnsupportedEncodingException { List<XpVehicle> vehicles = xpVehicleClient.listVehicle().getData(); if (vehicles == null) { return R.ok(new ArrayList<>()); } for (XpVehicle vehicle : vehicles) { String vehiclePictures = vehicle.getVehiclePictures(); if (org.apache.commons.lang3.StringUtils.isNotBlank(vehiclePictures)) { JSONObject jsonObject = JSONObject.parseObject(vehiclePictures); String downloadUrl = aliOssService.getDownloadUrl(jsonObject.getString("id"), jsonObject.getString("name"), true); vehicle.setVehiclePictures(downloadUrl); } } return R.ok(vehicles); } xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpVehicleCleanController.java
@@ -1,6 +1,7 @@ package com.xiaopeng.maintenance.controller; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson2.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.xiaopeng.api.feignClient.account.XpOperationUserClient; @@ -19,6 +20,7 @@ import com.xiaopeng.maintenance.service.XpTaskService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.StringUtils; import org.apache.shardingsphere.transaction.annotation.ShardingSphereTransactionType; import org.apache.shardingsphere.transaction.core.TransactionType; import org.springframework.beans.factory.annotation.Autowired; @@ -27,6 +29,7 @@ import org.springframework.web.bind.annotation.*; import java.io.UnsupportedEncodingException; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; @@ -80,8 +83,35 @@ */ @ApiOperation(value = "车辆运维-运维记录-清洁记录详情", tags = {"运维APP-车辆管理"}) @GetMapping("/api/v1/vehicleClean/cleanDetail") public R<XpVehicleCleanVO> cleanDetail(@RequestParam Long id) { public R<XpVehicleCleanVO> cleanDetail(@RequestParam Long id) throws UnsupportedEncodingException { XpVehicleCleanVO xpVehicleCleanVO = xpVehicleCleanService.cleanDetail(id); String vehiclePictures = xpVehicleCleanVO.getVehiclePictures(); if (vehiclePictures != null && !vehiclePictures.isEmpty()) { JSONObject jsonObject = JSONObject.parseObject(vehiclePictures); String downloadUrl = aliOssService.getDownloadUrl(jsonObject.getString("id"), jsonObject.getString("name"), true); xpVehicleCleanVO.setVehiclePictures(downloadUrl); } String taskImage = xpVehicleCleanVO.getTaskImage(); if (StringUtils.isNotBlank(taskImage)) { JSONArray jsonArray = JSONArray.parseArray(taskImage); ArrayList<String> list = new ArrayList<>(jsonArray.size()); for (Object o : jsonArray) { JSONObject jsonObject = JSONObject.parseObject(o.toString()); String downloadUrl = null; try { downloadUrl = aliOssService.getDownloadUrl(jsonObject.getString("id"), jsonObject.getString("name"), true); } catch (UnsupportedEncodingException e) { throw new RuntimeException(e); } list.add(downloadUrl); } xpVehicleCleanVO.setTaskImage(String.join(",", list)); } return R.ok(xpVehicleCleanVO); } @@ -126,10 +156,20 @@ for (XpVehicleClean record : records) { String taskImage = record.getTaskImage(); if(taskImage!=null){ JSONObject jsonObject = JSONObject.parseObject(taskImage); String downloadUrl = aliOssService.getDownloadUrl(jsonObject.getString("id"), jsonObject.getString("name"), true); record.setTaskImage(downloadUrl); if (StringUtils.isNotBlank(taskImage)) { JSONArray jsonArray = JSONArray.parseArray(taskImage); ArrayList<String> list = new ArrayList<>(jsonArray.size()); for (Object o : jsonArray) { JSONObject jsonObject = JSONObject.parseObject(o.toString()); String downloadUrl = null; try { downloadUrl = aliOssService.getDownloadUrl(jsonObject.getString("id"), jsonObject.getString("name"), true); } catch (UnsupportedEncodingException e) { throw new RuntimeException(e); } list.add(downloadUrl); } record.setTaskImage(String.join(",", list)); } data.stream().filter(xpOperationsUser -> xpOperationsUser.getId().equals(record.getOperationsUserId())).findFirst().ifPresent(xpOperationsUser -> record.setCreateBy(xpOperationsUser.getNickName())); } xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpVehicleDetectionController.java
@@ -1,11 +1,14 @@ package com.xiaopeng.maintenance.controller; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson2.JSONObject; import com.xiaopeng.api.feignClient.account.XpOperationUserClient; import com.xiaopeng.api.feignClient.vehicleConvoy.XpVehicleClient; import com.xiaopeng.common.core.domain.R; import com.xiaopeng.common.core.web.page.PageInfo; import com.xiaopeng.common.security.service.TokenService; import com.xiaopeng.evi.oss.service.AliOssService; import com.xiaopeng.maintenance.dto.XpVehicleDetectionDTO; import com.xiaopeng.maintenance.model.query.XpVehicleDetectionPageQuery; import com.xiaopeng.maintenance.model.vo.XpVehicleDetectionVO; @@ -13,6 +16,7 @@ import com.xiaopeng.maintenance.service.XpTaskService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.StringUtils; import org.apache.shardingsphere.transaction.annotation.ShardingSphereTransactionType; import org.apache.shardingsphere.transaction.core.TransactionType; import org.springframework.beans.factory.annotation.Autowired; @@ -20,7 +24,9 @@ import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import java.io.UnsupportedEncodingException; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.HashMap; import java.util.Map; @@ -42,7 +48,7 @@ @Autowired private TokenService tokenService; @Autowired private XpVehicleClient xpVehicleClient; private AliOssService aliOssService; @Autowired private XpOperationUserClient xpOperationUserClient; @Autowired @@ -53,11 +59,11 @@ */ @ApiOperation(value = "车辆运维-车辆运维-开始自检", tags = {"运维APP-车辆管理"}) @GetMapping("/api/v1/vehicleDetection/startDetection") public R<Map<String,Integer>> startDetection(@RequestParam Long vehicleId) { public R<Map<String, Integer>> startDetection(@RequestParam Long vehicleId) { // TODO 开始自检 Map<String,Integer> result = new HashMap<>(6); Map<String, Integer> result = new HashMap<>(6); result.put("networkDetection", 1); // 网络检测 result.put("remoteSelfCheck", 1); // 远程自检 result.put("versionVerification", 1); // 版本验证 @@ -91,8 +97,107 @@ */ @ApiOperation(value = "车辆运维-运维记录-检测记录详情", tags = {"运维APP-车辆管理"}) @GetMapping("/api/v1/vehicleDetection/detectionDetail") public R<XpVehicleDetectionVO> detectionDetail(@RequestParam Long id) { public R<XpVehicleDetectionVO> detectionDetail(@RequestParam Long id) throws UnsupportedEncodingException { XpVehicleDetectionVO xpVehicleDetectionVO = xpVehicleDetectionService.detectionDetail(id); String vehiclePictures = xpVehicleDetectionVO.getVehiclePictures(); if (vehiclePictures != null && !vehiclePictures.isEmpty()) { JSONObject jsonObject = JSONObject.parseObject(vehiclePictures); String downloadUrl = aliOssService.getDownloadUrl(jsonObject.getString("id"), jsonObject.getString("name"), true); xpVehicleDetectionVO.setVehiclePictures(downloadUrl); } String sensorCleaningPicture = xpVehicleDetectionVO.getSensorCleaningPicture(); if (StringUtils.isNotBlank(sensorCleaningPicture)) { JSONArray jsonArray = JSONArray.parseArray(sensorCleaningPicture); ArrayList<String> list = new ArrayList<>(jsonArray.size()); for (Object o : jsonArray) { JSONObject jsonObject = JSONObject.parseObject(o.toString()); String downloadUrl = null; try { downloadUrl = aliOssService.getDownloadUrl(jsonObject.getString("id"), jsonObject.getString("name"), true); } catch (UnsupportedEncodingException e) { throw new RuntimeException(e); } list.add(downloadUrl); } xpVehicleDetectionVO.setSensorCleaningPicture(String.join(",", list)); } String interactiveScreenPicture = xpVehicleDetectionVO.getInteractiveScreenPicture(); if (StringUtils.isNotBlank(interactiveScreenPicture)) { JSONArray jsonArray = JSONArray.parseArray(interactiveScreenPicture); ArrayList<String> list = new ArrayList<>(jsonArray.size()); for (Object o : jsonArray) { JSONObject jsonObject = JSONObject.parseObject(o.toString()); String downloadUrl = null; try { downloadUrl = aliOssService.getDownloadUrl(jsonObject.getString("id"), jsonObject.getString("name"), true); } catch (UnsupportedEncodingException e) { throw new RuntimeException(e); } list.add(downloadUrl); } xpVehicleDetectionVO.setInteractiveScreenPicture(String.join(",", list)); } String helpButtonPicture = xpVehicleDetectionVO.getHelpButtonPicture(); if (StringUtils.isNotBlank(helpButtonPicture)) { JSONArray jsonArray = JSONArray.parseArray(helpButtonPicture); ArrayList<String> list = new ArrayList<>(jsonArray.size()); for (Object o : jsonArray) { JSONObject jsonObject = JSONObject.parseObject(o.toString()); String downloadUrl = null; try { downloadUrl = aliOssService.getDownloadUrl(jsonObject.getString("id"), jsonObject.getString("name"), true); } catch (UnsupportedEncodingException e) { throw new RuntimeException(e); } list.add(downloadUrl); } xpVehicleDetectionVO.setHelpButtonPicture(String.join(",", list)); } String paymentFunctionPicture = xpVehicleDetectionVO.getPaymentFunctionPicture(); if (StringUtils.isNotBlank(paymentFunctionPicture)) { JSONArray jsonArray = JSONArray.parseArray(paymentFunctionPicture); ArrayList<String> list = new ArrayList<>(jsonArray.size()); for (Object o : jsonArray) { JSONObject jsonObject = JSONObject.parseObject(o.toString()); String downloadUrl = null; try { downloadUrl = aliOssService.getDownloadUrl(jsonObject.getString("id"), jsonObject.getString("name"), true); } catch (UnsupportedEncodingException e) { throw new RuntimeException(e); } list.add(downloadUrl); } xpVehicleDetectionVO.setPaymentFunctionPicture(String.join(",", list)); } String systemCheckPicture = xpVehicleDetectionVO.getSystemCheckPicture(); if (StringUtils.isNotBlank(systemCheckPicture)) { JSONArray jsonArray = JSONArray.parseArray(systemCheckPicture); ArrayList<String> list = new ArrayList<>(jsonArray.size()); for (Object o : jsonArray) { JSONObject jsonObject = JSONObject.parseObject(o.toString()); String downloadUrl = null; try { downloadUrl = aliOssService.getDownloadUrl(jsonObject.getString("id"), jsonObject.getString("name"), true); } catch (UnsupportedEncodingException e) { throw new RuntimeException(e); } list.add(downloadUrl); } xpVehicleDetectionVO.setSystemCheckPicture(String.join(",", list)); } return R.ok(xpVehicleDetectionVO); } @@ -103,8 +208,107 @@ */ @ApiOperation(value = "通过车辆id查询检测分页列表", tags = {"管理后台-车辆管理-运营车辆管理"}) @PostMapping("/api/v1/vehicle/queryDetectionByVehicleId") public R<PageInfo<XpVehicleDetectionVO>> queryDetectionByVehicleId(@Valid @RequestBody XpVehicleDetectionPageQuery query) { public R<PageInfo<XpVehicleDetectionVO>> queryDetectionByVehicleId(@Valid @RequestBody XpVehicleDetectionPageQuery query) throws UnsupportedEncodingException { PageInfo<XpVehicleDetectionVO> pageInfo = xpVehicleDetectionService.queryDetectionByVehicleId(query); for (XpVehicleDetectionVO xpVehicleDetectionVO : pageInfo.getRecords()) { String vehiclePictures = xpVehicleDetectionVO.getVehiclePictures(); if (vehiclePictures != null && !vehiclePictures.isEmpty()) { JSONObject jsonObject = JSONObject.parseObject(vehiclePictures); String downloadUrl = aliOssService.getDownloadUrl(jsonObject.getString("id"), jsonObject.getString("name"), true); xpVehicleDetectionVO.setVehiclePictures(downloadUrl); } String sensorCleaningPicture = xpVehicleDetectionVO.getSensorCleaningPicture(); if (StringUtils.isNotBlank(sensorCleaningPicture)) { JSONArray jsonArray = JSONArray.parseArray(sensorCleaningPicture); ArrayList<String> list = new ArrayList<>(jsonArray.size()); for (Object o : jsonArray) { JSONObject jsonObject = JSONObject.parseObject(o.toString()); String downloadUrl = null; try { downloadUrl = aliOssService.getDownloadUrl(jsonObject.getString("id"), jsonObject.getString("name"), true); } catch (UnsupportedEncodingException e) { throw new RuntimeException(e); } list.add(downloadUrl); } xpVehicleDetectionVO.setSensorCleaningPicture(String.join(",", list)); } String interactiveScreenPicture = xpVehicleDetectionVO.getInteractiveScreenPicture(); if (StringUtils.isNotBlank(interactiveScreenPicture)) { JSONArray jsonArray = JSONArray.parseArray(interactiveScreenPicture); ArrayList<String> list = new ArrayList<>(jsonArray.size()); for (Object o : jsonArray) { JSONObject jsonObject = JSONObject.parseObject(o.toString()); String downloadUrl = null; try { downloadUrl = aliOssService.getDownloadUrl(jsonObject.getString("id"), jsonObject.getString("name"), true); } catch (UnsupportedEncodingException e) { throw new RuntimeException(e); } list.add(downloadUrl); } xpVehicleDetectionVO.setInteractiveScreenPicture(String.join(",", list)); } String helpButtonPicture = xpVehicleDetectionVO.getHelpButtonPicture(); if (StringUtils.isNotBlank(helpButtonPicture)) { JSONArray jsonArray = JSONArray.parseArray(helpButtonPicture); ArrayList<String> list = new ArrayList<>(jsonArray.size()); for (Object o : jsonArray) { JSONObject jsonObject = JSONObject.parseObject(o.toString()); String downloadUrl = null; try { downloadUrl = aliOssService.getDownloadUrl(jsonObject.getString("id"), jsonObject.getString("name"), true); } catch (UnsupportedEncodingException e) { throw new RuntimeException(e); } list.add(downloadUrl); } xpVehicleDetectionVO.setHelpButtonPicture(String.join(",", list)); } String paymentFunctionPicture = xpVehicleDetectionVO.getPaymentFunctionPicture(); if (StringUtils.isNotBlank(paymentFunctionPicture)) { JSONArray jsonArray = JSONArray.parseArray(paymentFunctionPicture); ArrayList<String> list = new ArrayList<>(jsonArray.size()); for (Object o : jsonArray) { JSONObject jsonObject = JSONObject.parseObject(o.toString()); String downloadUrl = null; try { downloadUrl = aliOssService.getDownloadUrl(jsonObject.getString("id"), jsonObject.getString("name"), true); } catch (UnsupportedEncodingException e) { throw new RuntimeException(e); } list.add(downloadUrl); } xpVehicleDetectionVO.setPaymentFunctionPicture(String.join(",", list)); } String systemCheckPicture = xpVehicleDetectionVO.getSystemCheckPicture(); if (StringUtils.isNotBlank(systemCheckPicture)) { JSONArray jsonArray = JSONArray.parseArray(systemCheckPicture); ArrayList<String> list = new ArrayList<>(jsonArray.size()); for (Object o : jsonArray) { JSONObject jsonObject = JSONObject.parseObject(o.toString()); String downloadUrl = null; try { downloadUrl = aliOssService.getDownloadUrl(jsonObject.getString("id"), jsonObject.getString("name"), true); } catch (UnsupportedEncodingException e) { throw new RuntimeException(e); } list.add(downloadUrl); } xpVehicleDetectionVO.setSystemCheckPicture(String.join(",", list)); } } return R.ok(pageInfo); } } xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpVehicleOperationsController.java
@@ -1,6 +1,8 @@ package com.xiaopeng.maintenance.controller; import cn.hutool.core.util.IdUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson2.JSONObject; import com.xiaopeng.api.dto.automaticPilot.PushOrderDto; import com.xiaopeng.api.dto.operation.NewCruiseOrderDto; import com.xiaopeng.api.feignClient.automaticPilot.OrderMissionClient; @@ -13,14 +15,17 @@ import com.xiaopeng.api.vo.automaticPilot.VehiclePosition; import com.xiaopeng.common.core.domain.R; import com.xiaopeng.common.core.web.page.PageInfo; import com.xiaopeng.evi.oss.service.AliOssService; import com.xiaopeng.maintenance.dto.VehicleDispatchAcceptDTO; import com.xiaopeng.maintenance.dto.VehicleDispatchDepartureDTO; import com.xiaopeng.maintenance.model.query.OperationRecordsQuery; import com.xiaopeng.maintenance.model.vo.OperationRecordsVO; import com.xiaopeng.maintenance.model.vo.XpVehicleRepairVO; import com.xiaopeng.maintenance.service.IXpVehiclePreparationService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.query.Criteria; @@ -32,6 +37,8 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import java.io.UnsupportedEncodingException; import java.util.ArrayList; /** * <p> @@ -55,7 +62,7 @@ @Resource private MongoTemplate mongoTemplate; @Resource private OrderMissionClient orderMissionClient; private AliOssService aliOssService; @Autowired private XpCruisePlanClient xpCruisePlanClient; @@ -144,8 +151,17 @@ */ @ApiOperation(value = "车辆运维-车辆调度-运维记录", tags = {"运维APP-车辆管理"}) @PostMapping("/api/v1/vehicle/operationRecords") public R<PageInfo<OperationRecordsVO>> operationRecords(@Validated @RequestBody OperationRecordsQuery query) { public R<PageInfo<OperationRecordsVO>> operationRecords(@Validated @RequestBody OperationRecordsQuery query) throws UnsupportedEncodingException { PageInfo<OperationRecordsVO> operationRecords = xpVehiclePreparationService.operationRecords(query); for (OperationRecordsVO record : operationRecords.getRecords()) { String vehiclePictures = record.getVehiclePictures(); if (StringUtils.isNotBlank(vehiclePictures)) { JSONObject jsonObject = JSONObject.parseObject(vehiclePictures); String downloadUrl = aliOssService.getDownloadUrl(jsonObject.getString("id"), jsonObject.getString("name"), true); record.setVehiclePictures(downloadUrl); } } return R.ok(operationRecords); } xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpVehiclePreparationController.java
@@ -1,8 +1,11 @@ package com.xiaopeng.maintenance.controller; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson2.JSONObject; import com.xiaopeng.api.feignClient.account.XpOperationUserClient; import com.xiaopeng.api.feignClient.vehicleConvoy.XpVehicleClient; import com.xiaopeng.evi.oss.service.AliOssService; import com.xiaopeng.maintenance.model.query.XpVehiclePreparationPageQuery; import com.xiaopeng.api.vo.maintenance.XpVehiclePreparationDetailVO; import com.xiaopeng.common.core.domain.R; @@ -14,6 +17,7 @@ import com.xiaopeng.maintenance.service.XpTaskService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.StringUtils; import org.apache.shardingsphere.transaction.annotation.ShardingSphereTransactionType; import org.apache.shardingsphere.transaction.core.TransactionType; import org.springframework.beans.factory.annotation.Autowired; @@ -21,6 +25,8 @@ import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import java.io.UnsupportedEncodingException; import java.util.ArrayList; /** * <p> @@ -42,7 +48,7 @@ @Autowired private XpVehicleClient xpVehicleClient; @Autowired private XpOperationUserClient xpOperationUserClient; private AliOssService aliOssService; @Autowired private XpTaskService xpTaskService; /** @@ -66,8 +72,18 @@ */ @ApiOperation(value = "车辆运维-运维记录-整备记录详情", tags = {"运维APP-车辆管理"}) @GetMapping("/api/v1/vehiclePreparation/preparationDetail") public R<XpVehiclePreparationVO> preparationDetail(@RequestParam Long id) { public R<XpVehiclePreparationVO> preparationDetail(@RequestParam Long id) throws UnsupportedEncodingException { XpVehiclePreparationVO xpVehiclePreparationVO = xpVehiclePreparationService.preparationDetail(id); String vehiclePictures = xpVehiclePreparationVO.getVehiclePictures(); if (StringUtils.isNotBlank(vehiclePictures)) { JSONObject jsonObject = JSONObject.parseObject(vehiclePictures); String downloadUrl = aliOssService.getDownloadUrl(jsonObject.getString("id"), jsonObject.getString("name"), true); xpVehiclePreparationVO.setVehiclePictures(downloadUrl); } return R.ok(xpVehiclePreparationVO); } xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/controller/XpVehicleRepairController.java
@@ -1,12 +1,15 @@ package com.xiaopeng.maintenance.controller; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson2.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.xiaopeng.api.model.maintenance.XpVehicleRepair; import com.xiaopeng.common.core.domain.R; import com.xiaopeng.common.core.exception.ServiceException; import com.xiaopeng.common.core.web.page.PageInfo; import com.xiaopeng.common.security.service.TokenService; import com.xiaopeng.evi.oss.service.AliOssService; import com.xiaopeng.maintenance.constant.I18nKeyConstant; import com.xiaopeng.maintenance.dto.XpVehicleRepairReturnDTO; import com.xiaopeng.maintenance.dto.XpVehicleRepairStartDTO; @@ -17,12 +20,15 @@ import com.xiaopeng.maintenance.vo.RepairStatusVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import java.io.UnsupportedEncodingException; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.Objects; /** @@ -41,6 +47,8 @@ private IXpVehicleRepairService xpVehicleRepairService; @Autowired private TokenService tokenService; @Autowired private AliOssService aliOssService; /** * 车辆详情-车辆运维-车辆送修 @@ -83,8 +91,34 @@ */ @ApiOperation(value = "车辆运维-运维记录-维修记录详情", tags = {"运维APP-车辆管理"}) @GetMapping("/api/v1/vehicleRepair/repairDetail") public R<XpVehicleRepairVO> repairDetail(@RequestParam Long id) { public R<XpVehicleRepairVO> repairDetail(@RequestParam Long id) throws UnsupportedEncodingException { XpVehicleRepairVO xpVehicleRepairVO = xpVehicleRepairService.repairDetail(id); String vehiclePictures = xpVehicleRepairVO.getVehiclePictures(); if (StringUtils.isNotBlank(vehiclePictures)) { JSONObject jsonObject = JSONObject.parseObject(vehiclePictures); String downloadUrl = aliOssService.getDownloadUrl(jsonObject.getString("id"), jsonObject.getString("name"), true); xpVehicleRepairVO.setVehiclePictures(downloadUrl); } String startRepairPicture = xpVehicleRepairVO.getStartRepairPicture(); if (StringUtils.isNotBlank(startRepairPicture)) { JSONArray jsonArray = JSONArray.parseArray(startRepairPicture); ArrayList<String> list = new ArrayList<>(jsonArray.size()); for (Object o : jsonArray) { JSONObject jsonObject = JSONObject.parseObject(o.toString()); String downloadUrl = null; try { downloadUrl = aliOssService.getDownloadUrl(jsonObject.getString("id"), jsonObject.getString("name"), true); } catch (UnsupportedEncodingException e) { throw new RuntimeException(e); } list.add(downloadUrl); } xpVehicleRepairVO.setStartRepairPicture(String.join(",", list)); } return R.ok(xpVehicleRepairVO); } @@ -95,8 +129,35 @@ */ @ApiOperation(value = "通过车辆id查询维修分页列表", tags = {"管理后台-车辆管理-运营车辆管理"}) @PostMapping("/api/v1/vehicle/queryRepairByVehicleId") public R<PageInfo<XpVehicleRepairVO>> queryRepairByVehicleId(@Valid @RequestBody XpVehicleRepairPageQuery query) { public R<PageInfo<XpVehicleRepairVO>> queryRepairByVehicleId(@Valid @RequestBody XpVehicleRepairPageQuery query) throws UnsupportedEncodingException { PageInfo<XpVehicleRepairVO> pageInfo = xpVehicleRepairService.queryDetectionByVehicleId(query); for (XpVehicleRepairVO record : pageInfo.getRecords()) { String vehiclePictures = record.getVehiclePictures(); if (StringUtils.isNotBlank(vehiclePictures)) { JSONObject jsonObject = JSONObject.parseObject(vehiclePictures); String downloadUrl = aliOssService.getDownloadUrl(jsonObject.getString("id"), jsonObject.getString("name"), true); record.setVehiclePictures(downloadUrl); } String startRepairPicture = record.getStartRepairPicture(); if (StringUtils.isNotBlank(startRepairPicture)) { JSONArray jsonArray = JSONArray.parseArray(startRepairPicture); ArrayList<String> list = new ArrayList<>(jsonArray.size()); for (Object o : jsonArray) { JSONObject jsonObject = JSONObject.parseObject(o.toString()); String downloadUrl = null; try { downloadUrl = aliOssService.getDownloadUrl(jsonObject.getString("id"), jsonObject.getString("name"), true); } catch (UnsupportedEncodingException e) { throw new RuntimeException(e); } list.add(downloadUrl); } record.setStartRepairPicture(String.join(",", list)); } } return R.ok(pageInfo); } xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/IXpChargingRecordService.java
@@ -43,7 +43,7 @@ * @param id * @return */ XpChargingRecordVO chargingDetail(Long id); XpChargingRecordVO chargingDetail(Long id) throws UnsupportedEncodingException; /** * 通过车辆ID查询充电记录分页列表(内部接口) xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/XpTaskService.java
@@ -30,17 +30,17 @@ */ public interface XpTaskService extends IService<XpTask> { PageInfo<WorkBenchVO> workbench(WorkBenchQuery query); PageInfo<WorkBenchVO> workbench(WorkBenchQuery query) throws UnsupportedEncodingException; PageInfo<TaskPageListVO> pageList(TaskPageListQuery query); XpTask saveVehicleAccident(SaveVehicleAccidentDto dto, XpOperationsUser xpOperationsUser); R<TaskAccidentDetailVO> vehicleAccidentDetail(Long id); R<TaskAccidentDetailVO> vehicleAccidentDetail(Long id) throws UnsupportedEncodingException; R handleVehicleAccident(HandleVehicleAccidentDto dto, XpOperationsUser xpOperationsUser); R<TaskRoutineDetailVO> vehicleRoutineDetail(Long id); R<TaskRoutineDetailVO> vehicleRoutineDetail(Long id) throws UnsupportedEncodingException; R<TaskChargingDetailVO> chargingDetail(Long id); @@ -52,7 +52,7 @@ R saveRoutineDetail(SaveRoutineDetailDto dto, Long id); R<com.xiaopeng.maintenance.vo.TaskCleanDetailVO> cleanDetail(Long id); R<com.xiaopeng.maintenance.vo.TaskCleanDetailVO> cleanDetail(Long id) throws UnsupportedEncodingException; R confirmArrive(Long id,Long userId); xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpChargingRecordServiceImpl.java
@@ -1,5 +1,6 @@ package com.xiaopeng.maintenance.service.impl; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson2.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -102,7 +103,7 @@ } @Override public XpChargingRecordVO chargingDetail(Long id) { public XpChargingRecordVO chargingDetail(Long id) throws UnsupportedEncodingException { // 查询车辆充电记录 XpChargingRecord xpChargingRecord = this.getById(id); XpChargingRecordVO xpChargingRecordVO = new XpChargingRecordVO(); @@ -112,7 +113,17 @@ XpVehicle xpVehicle = xpVehicleClient.queryById(xpChargingRecord.getVehicleId()).getData(); if (Objects.nonNull(xpVehicle)) { xpChargingRecordVO.setPlateNumber(xpVehicle.getPlateNumber()); xpChargingRecordVO.setVehiclePictures(xpVehicle.getVehiclePictures()); String vehiclePictures =xpVehicle.getVehiclePictures(); if (StringUtils.isNotBlank(vehiclePictures)) { JSONObject jsonObject = JSONObject.parseObject(vehiclePictures); String downloadUrl = aliOssService.getDownloadUrl(jsonObject.getString("id"), jsonObject.getString("name"), true); xpChargingRecordVO.setVehiclePictures(downloadUrl); } xpChargingRecordVO.setAcceptOrTest(xpVehicle.getAcceptOrTest()); xpChargingRecordVO.setVehicleColor(xpVehicle.getVehicleColor()); } xp-robotaxi-maintenance-boot/src/main/java/com/xiaopeng/maintenance/service/impl/XpTaskServiceImpl.java
@@ -141,9 +141,19 @@ private AliOssService aliOssService; @Override public PageInfo<WorkBenchVO> workbench(WorkBenchQuery query) { public PageInfo<WorkBenchVO> workbench(WorkBenchQuery query) throws UnsupportedEncodingException { PageInfo<WorkBenchVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize()); List<WorkBenchVO> list = this.baseMapper.workbench(pageInfo, query); for (WorkBenchVO workBenchVO : list) { String vehiclePictures = workBenchVO.getVehiclePictures(); if (StringUtils.isNotBlank(vehiclePictures)) { JSONObject jsonObject = JSONObject.parseObject(vehiclePictures); String downloadUrl = aliOssService.getDownloadUrl(jsonObject.getString("id"), jsonObject.getString("name"), true); workBenchVO.setVehiclePictures(downloadUrl); } } pageInfo.setRecords(list); return pageInfo; } @@ -373,7 +383,7 @@ } @Override public R<TaskAccidentDetailVO> vehicleAccidentDetail(Long id) { public R<TaskAccidentDetailVO> vehicleAccidentDetail(Long id) throws UnsupportedEncodingException { TaskAccidentDetailVO res = new TaskAccidentDetailVO(); XpTask task = this.getById(id); if (task == null) { @@ -420,6 +430,19 @@ if (Objects.nonNull(xpTaskRule)) { res.setCanArriveRange(xpTaskRule.getCanArriveRange()); } String taskImage = res.getTaskImage(); if (StringUtils.isNotBlank(taskImage)) { JSONArray jsonArray = JSONArray.parseArray(taskImage); 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); } res.setTaskImage(String.join(",", list)); } return R.ok(res); } @ShardingSphereTransactionType(TransactionType.BASE) @@ -456,7 +479,7 @@ } @Override public R<TaskRoutineDetailVO> vehicleRoutineDetail(Long id) { public R<TaskRoutineDetailVO> vehicleRoutineDetail(Long id) throws UnsupportedEncodingException { TaskRoutineDetailVO res = new TaskRoutineDetailVO(); XpTask task = this.getById(id); if (task == null) { @@ -508,6 +531,20 @@ res.setHandleUserName(data.getNickName()); } } String taskImage = res.getTaskImage(); if (StringUtils.isNotBlank(taskImage)) { JSONArray jsonArray = JSONArray.parseArray(taskImage); 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); } res.setTaskImage(String.join(",", list)); } return R.ok(res); } @@ -545,10 +582,48 @@ .eq(XpChargingRecord::getTaskId, id).last("limit 1")); if (chargingRecord != null) { res.setStartRemainingBattery(chargingRecord.getStartRemainingBattery()); res.setStartChargingPicture(chargingRecord.getStartChargingPicture()); String startChargingPicture = res.getStartChargingPicture(); if (StringUtils.isNotBlank(startChargingPicture)) { JSONArray jsonArray = JSONArray.parseArray(startChargingPicture); ArrayList<String> list = new ArrayList<>(jsonArray.size()); for (Object o : jsonArray) { JSONObject jsonObject = JSONObject.parseObject(o.toString()); String downloadUrl = null; try { downloadUrl = aliOssService.getDownloadUrl(jsonObject.getString("id"), jsonObject.getString("name"), true); } catch (UnsupportedEncodingException e) { throw new RuntimeException(e); } list.add(downloadUrl); } res.setStartChargingPicture(String.join(",", list)); } res.setStartTime(chargingRecord.getStartTime()); res.setEndRemainingBattery(chargingRecord.getEndRemainingBattery()); res.setEndChargingPicture(chargingRecord.getEndChargingPicture()); String endChargingPicture = chargingRecord.getEndChargingPicture(); if (StringUtils.isNotBlank(endChargingPicture)) { JSONArray jsonArray = JSONArray.parseArray(endChargingPicture); ArrayList<String> list = new ArrayList<>(jsonArray.size()); for (Object o : jsonArray) { JSONObject jsonObject = JSONObject.parseObject(o.toString()); String downloadUrl = null; try { downloadUrl = aliOssService.getDownloadUrl(jsonObject.getString("id"), jsonObject.getString("name"), true); } catch (UnsupportedEncodingException e) { throw new RuntimeException(e); } list.add(downloadUrl); } res.setEndChargingPicture(String.join(",", list)); } res.setEndTime(chargingRecord.getEndTime()); res.setStartOperationsUserId(chargingRecord.getStartOperationsUserId()); res.setEndOperationsUserId(chargingRecord.getEndOperationsUserId()); @@ -607,7 +682,26 @@ res.setStartTime(vehicleRepair.getStartTime()); res.setEndTime(vehicleRepair.getEndTime()); res.setRepairReason(vehicleRepair.getRepairReason()); res.setStartRepairPicture(vehicleRepair.getStartRepairPicture()); String startRepairPicture = vehicleRepair.getStartRepairPicture(); if (StringUtils.isNotBlank(startRepairPicture)) { JSONArray jsonArray = JSONArray.parseArray(startRepairPicture); ArrayList<String> list = new ArrayList<>(jsonArray.size()); for (Object o : jsonArray) { JSONObject jsonObject = JSONObject.parseObject(o.toString()); String downloadUrl = null; try { downloadUrl = aliOssService.getDownloadUrl(jsonObject.getString("id"), jsonObject.getString("name"), true); } catch (UnsupportedEncodingException e) { throw new RuntimeException(e); } list.add(downloadUrl); } res.setStartRepairPicture(String.join(",", list)); } res.setRepairMoney(vehicleRepair.getRepairMoney()); res.setRepairMoneyDetail(vehicleRepair.getRepairMoneyDetail()); res.setSendUserId(vehicleRepair.getSendUserId()); @@ -620,6 +714,7 @@ res.setReturnUserName(operationsUser.getNickName()); } } if (vehicleRepair.getSendUserId() != null) { XpOperationsUser operationsUser = xpOperationUserClient.queryById(vehicleRepair.getSendUserId()).getData(); if (operationsUser != null) { @@ -731,15 +826,111 @@ res.setCollisionPrevention(vehicleDetection.getCollisionPrevention()); res.setSensorSelfCheck(vehicleDetection.getSensorSelfCheck()); res.setSensorCleaning(vehicleDetection.getSensorCleaning()); res.setSensorCleaningPicture(vehicleDetection.getSensorCleaningPicture()); String SensorCleaningPicture = vehicleDetection.getSensorCleaningPicture(); if (StringUtils.isNotBlank(SensorCleaningPicture)) { JSONArray jsonArray = JSONArray.parseArray(SensorCleaningPicture); ArrayList<String> list = new ArrayList<>(jsonArray.size()); for (Object o : jsonArray) { JSONObject jsonObject = JSONObject.parseObject(o.toString()); String downloadUrl = null; try { downloadUrl = aliOssService.getDownloadUrl(jsonObject.getString("id"), jsonObject.getString("name"), true); } catch (UnsupportedEncodingException e) { throw new RuntimeException(e); } list.add(downloadUrl); } res.setSensorCleaningPicture(String.join(",", list)); } res.setInteractiveScreen(vehicleDetection.getInteractiveScreen()); res.setInteractiveScreenPicture(vehicleDetection.getInteractiveScreenPicture()); String InteractiveScreenPicture =vehicleDetection.getInteractiveScreenPicture(); if (StringUtils.isNotBlank(InteractiveScreenPicture)) { JSONArray jsonArray = JSONArray.parseArray(InteractiveScreenPicture); ArrayList<String> list = new ArrayList<>(jsonArray.size()); for (Object o : jsonArray) { JSONObject jsonObject = JSONObject.parseObject(o.toString()); String downloadUrl = null; try { downloadUrl = aliOssService.getDownloadUrl(jsonObject.getString("id"), jsonObject.getString("name"), true); } catch (UnsupportedEncodingException e) { throw new RuntimeException(e); } list.add(downloadUrl); } res.setInteractiveScreenPicture(String.join(",", list)); } res.setHelpButton(vehicleDetection.getHelpButton()); res.setHelpButtonPicture(vehicleDetection.getHelpButtonPicture()); String HelpButtonPicture =vehicleDetection.getHelpButtonPicture(); if (StringUtils.isNotBlank(HelpButtonPicture)) { JSONArray jsonArray = JSONArray.parseArray(HelpButtonPicture); ArrayList<String> list = new ArrayList<>(jsonArray.size()); for (Object o : jsonArray) { JSONObject jsonObject = JSONObject.parseObject(o.toString()); String downloadUrl = null; try { downloadUrl = aliOssService.getDownloadUrl(jsonObject.getString("id"), jsonObject.getString("name"), true); } catch (UnsupportedEncodingException e) { throw new RuntimeException(e); } list.add(downloadUrl); } res.setHelpButtonPicture(String.join(",", list)); } res.setPaymentFunction(vehicleDetection.getPaymentFunction()); res.setPaymentFunctionPicture(vehicleDetection.getPaymentFunctionPicture()); String PaymentFunctionPicture =vehicleDetection.getPaymentFunctionPicture(); if (StringUtils.isNotBlank(PaymentFunctionPicture)) { JSONArray jsonArray = JSONArray.parseArray(PaymentFunctionPicture); ArrayList<String> list = new ArrayList<>(jsonArray.size()); for (Object o : jsonArray) { JSONObject jsonObject = JSONObject.parseObject(o.toString()); String downloadUrl = null; try { downloadUrl = aliOssService.getDownloadUrl(jsonObject.getString("id"), jsonObject.getString("name"), true); } catch (UnsupportedEncodingException e) { throw new RuntimeException(e); } list.add(downloadUrl); } res.setPaymentFunctionPicture(String.join(",", list)); } res.setSystemCheck(vehicleDetection.getSystemCheck()); res.setSystemCheckPicture(vehicleDetection.getSystemCheckPicture()); String SystemCheckPicture =vehicleDetection.getSystemCheckPicture(); if (StringUtils.isNotBlank(SystemCheckPicture)) { JSONArray jsonArray = JSONArray.parseArray(SystemCheckPicture); ArrayList<String> list = new ArrayList<>(jsonArray.size()); for (Object o : jsonArray) { JSONObject jsonObject = JSONObject.parseObject(o.toString()); String downloadUrl = null; try { downloadUrl = aliOssService.getDownloadUrl(jsonObject.getString("id"), jsonObject.getString("name"), true); } catch (UnsupportedEncodingException e) { throw new RuntimeException(e); } list.add(downloadUrl); } res.setSystemCheckPicture(String.join(",", list)); } res.setCheckTime(vehicleDetection.getCheckTime()); res.setOperationsUserId(vehicleDetection.getOperationsUserId()); if (vehicleDetection.getOperationsUserId() != null) { @@ -793,7 +984,7 @@ } @Override public R<TaskCleanDetailVO> cleanDetail(Long id) { public R<TaskCleanDetailVO> cleanDetail(Long id) throws UnsupportedEncodingException { TaskCleanDetailVO res = new TaskCleanDetailVO(); XpTask task = this.getById(id); if (task == null) { @@ -826,7 +1017,23 @@ .eq(XpVehicleClean::getTaskId, id).last("limit 1")); if (vehicleDetection != null) { res.setHandleTime(vehicleDetection.getCreateTime()); res.setTaskImage(vehicleDetection.getTaskImage()); String taskImage = res.getTaskImage(); if (StringUtils.isNotBlank(taskImage)) { JSONArray jsonArray = JSONArray.parseArray(taskImage); 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); } res.setTaskImage(String.join(",", list)); } res.setOperationUserId(vehicleDetection.getOperationsUserId()); if (vehicleDetection.getOperationsUserId() != null) { XpOperationsUser operationsUser = xpOperationUserClient.queryById(vehicleDetection.getOperationsUserId()).getData(); @@ -1035,6 +1242,30 @@ // 4. 构建分页结果 PageInfo<XpTaskRecordVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize()); for (XpTaskRecordVO record : records) { String taskImage =record.getTaskImage(); if (StringUtils.isNotBlank(taskImage)) { JSONArray jsonArray = JSONArray.parseArray(taskImage); ArrayList<String> list = new ArrayList<>(jsonArray.size()); for (Object o : jsonArray) { JSONObject jsonObject = JSONObject.parseObject(o.toString()); String downloadUrl = null; try { downloadUrl = aliOssService.getDownloadUrl(jsonObject.getString("id"), jsonObject.getString("name"), true); } catch (UnsupportedEncodingException e) { throw new RuntimeException(e); } list.add(downloadUrl); } record.setTaskImage(String.join(",", list)); } } pageInfo.setRecords(records); pageInfo.setTotal(resultPage.getTotal()); return pageInfo;