From f6e9c91f0164291f80ea765e36752119a797d979 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E6=9C=B1?= <2671189764@qq.com> Date: Wed, 30 Apr 2025 17:36:19 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=A5=E5=8D=95=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/EbikeBikeInfoController.java | 11 +++ .../service/EbikeBikeInfoService.java | 9 +++ .../impl/EbikeBikeInfoServiceImpl.java | 77 +++++++++++-------- 3 files changed, 67 insertions(+), 30 deletions(-) diff --git a/ebike-maintenance/src/main/java/com/cdzy/ebikemaintenance/controller/EbikeBikeInfoController.java b/ebike-maintenance/src/main/java/com/cdzy/ebikemaintenance/controller/EbikeBikeInfoController.java index cae75994..524c9168 100644 --- a/ebike-maintenance/src/main/java/com/cdzy/ebikemaintenance/controller/EbikeBikeInfoController.java +++ b/ebike-maintenance/src/main/java/com/cdzy/ebikemaintenance/controller/EbikeBikeInfoController.java @@ -832,5 +832,16 @@ public class EbikeBikeInfoController { // 调用服务层方法,执行完成投放操作 return ebikeBikeInfoService.completeDeployment(request); } + /** + * 获取工单列表 + * + * @param request 获取工单列表请求参数,如分页信息、筛选条件等 + * @return 返回工单列表数据 + */ + @PostMapping("getWorkOrderList") + public JsonResult getWorkOrderList(@RequestBody Map request) { + // 调用服务层方法,获取工单列表数据 + return ebikeBikeInfoService.getWorkOrderList(request); + } } diff --git a/ebike-maintenance/src/main/java/com/cdzy/ebikemaintenance/service/EbikeBikeInfoService.java b/ebike-maintenance/src/main/java/com/cdzy/ebikemaintenance/service/EbikeBikeInfoService.java index aa4d60d6..736800e1 100644 --- a/ebike-maintenance/src/main/java/com/cdzy/ebikemaintenance/service/EbikeBikeInfoService.java +++ b/ebike-maintenance/src/main/java/com/cdzy/ebikemaintenance/service/EbikeBikeInfoService.java @@ -288,4 +288,13 @@ public interface EbikeBikeInfoService extends IService { * @return */ JsonResult completeDeployment(Map param); + + + /** + * 获取工单列表 + * + * @param param 获取工单列表请求参数,如分页信息、筛选条件等 + * @return 返回工单列表数据 + */ + JsonResult getWorkOrderList(Map param); } diff --git a/ebike-maintenance/src/main/java/com/cdzy/ebikemaintenance/service/impl/EbikeBikeInfoServiceImpl.java b/ebike-maintenance/src/main/java/com/cdzy/ebikemaintenance/service/impl/EbikeBikeInfoServiceImpl.java index 0de40709..1bad88c2 100644 --- a/ebike-maintenance/src/main/java/com/cdzy/ebikemaintenance/service/impl/EbikeBikeInfoServiceImpl.java +++ b/ebike-maintenance/src/main/java/com/cdzy/ebikemaintenance/service/impl/EbikeBikeInfoServiceImpl.java @@ -126,7 +126,6 @@ public class EbikeBikeInfoServiceImpl extends ServiceImpl result = staffFeignClient.getInfoByToken(tokenValue); - if (result.getCode() != Code.SUCCESS) { - throw new RuntimeException("获取用户信息失败"); - } - StaffFeign staffFeign = result.getData(); + StaffFeign staffFeign = getStaffFeignInfo(); // 获取当前操作用户 String userId = staffFeign.getStaffId().toString(); //生成工单编号 @@ -754,13 +747,7 @@ public class EbikeBikeInfoServiceImpl extends ServiceImpl result = staffFeignClient.getInfoByToken(tokenValue); - if (result.getCode() != Code.SUCCESS) { - throw new RuntimeException("获取用户信息失败"); - } - StaffFeign staffFeign = result.getData(); + StaffFeign staffFeign = getStaffFeignInfo(); //匹配工单ID、将其完成 String orderId = orderService.doneChangeBattery(ebikeBikeInfo.getBikeId(), String.valueOf(staffFeign.getStaffId())); //生成换电记录 @@ -1133,12 +1120,7 @@ public class EbikeBikeInfoServiceImpl extends ServiceImpl bikeCode = reqBulkDeliveryDto.getBikeCode(); - String tokenValue = StpUtil.getTokenValue(); - JsonResult result = staffFeignClient.getInfoByToken(tokenValue); - if (result.getCode() != Code.SUCCESS) { - throw new RuntimeException("获取用户信息失败"); - } - StaffFeign staffFeign = result.getData(); + StaffFeign staffFeign = getStaffFeignInfo(); // 获取当前操作用户和时间 String operatorName = staffFeign.getStaffId().toString(); LocalDateTime currentTime = LocalDateTime.now(); @@ -1175,14 +1157,8 @@ public class EbikeBikeInfoServiceImpl extends ServiceImpl result = staffFeignClient.getInfoByToken(tokenValue); - if (result.getCode() != Code.SUCCESS) { - throw new RuntimeException("获取用户信息失败"); - } - - StaffFeign staffFeign = result.getData(); + StaffFeign staffFeign = getStaffFeignInfo(); String userId = staffFeign.getStaffId().toString(); // 生成工单编号 SnowFlakeIDKeyGenerator snowFlakeIDKeyGenerator = new SnowFlakeIDKeyGenerator(); @@ -1209,8 +1185,8 @@ public class EbikeBikeInfoServiceImpl extends ServiceImpl getWorkOrderList(Map param) { + try { + // 获取当前操作用户的staff信息 + StaffFeign staffFeign = getStaffFeignInfo(); + // 获取当前用户ID + String userId = staffFeign.getStaffId().toString(); + // 获取分页参数 + Map param1 = (Map)param.get("pageParam"); + int pageNum = (int) param1.get("pageNum"); + int pageSize = (int) param1.get("pageSize"); + // 创建查询条件 + QueryWrapper query = QueryWrapper.create() + .select("order_id, bike_code, order_type, created_at, receiver_id, dispatch_type," + + " bike_count, longitude, latitude,order_type_name") // 选择需要的字段 + .from("v_ebike_work_order_summary") // 指定查询的表 + .eq("receiver_id", userId); // 根据当前用户ID过滤数据 + // 执行查询,获取工作订单列表 + Page resEbikeWorkOrderSummaryDtoPage = ebikeBikeOrderMapper + .paginateAs(pageNum,pageSize, query,ResEbikeWorkOrderSummaryDto.class); + // 返回查询结果 + return JsonResult.success(resEbikeWorkOrderSummaryDtoPage); + } catch (Exception e) { + // 捕获异常并记录日志 + log.error("获取工作订单列表时发生错误: ", e); + // 返回错误信息 + return JsonResult.failed("获取工作订单列表时发生错误。"); + } + } + public StaffFeign getStaffFeignInfo() { + String tokenValue = StpUtil.getTokenValue(); + // 调用 Feign 客户端获取用户信息 + JsonResult result = staffFeignClient.getInfoByToken(tokenValue); + // 判断返回码,若失败则抛出异常 + if (result.getCode() != Code.SUCCESS) { + throw new RuntimeException("获取用户信息失败"); + } + // 返回获取到的 StaffFeign 数据 + return result.getData(); + } }