Quellcode durchsuchen

新增车辆管理,车辆列表查询

邵洋 vor 1 Jahr
Ursprung
Commit
3232cf18ac

+ 52 - 0
visualization-service/src/main/java/com/zksy/visualization/controller/ParkingManageController.java

@@ -5,6 +5,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
 import com.zksy.common.core.domain.Result;
 import com.zksy.visualization.config.IccConfigProperty;
 import com.zksy.visualization.domain.request.ParkingListRequest;
+import com.zksy.visualization.domain.request.QueryVehicleListRequest;
 import com.zksy.visualization.domain.response.*;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -249,5 +250,56 @@ public class ParkingManageController {
         }
         return Result.error("车场余位信息失败");
     }
+    @ApiOperation(value = "车辆列表查询")
+    @GetMapping("/queryVehicleList")
+    public Result queryVehicleList(QueryVehicleListRequest queryVehicleListRequest){
+        String authorization = redisTemplate
+                .opsForValue()
+                .get("Authorization:" + iccConfigProperty.getUsername());
+        HttpUrl url = new HttpUrl.Builder()
+                .scheme("https")
+                .host(iccConfigProperty.getHost())
+                .addPathSegments("/evo-apigw/ipms/car/list")
+                .addQueryParameter("pageNum", String.valueOf(queryVehicleListRequest.getPageNum()))
+                .addQueryParameter("pageSize",String.valueOf(queryVehicleListRequest.getPageSize()))
+                .addQueryParameter("parkinglotCode",String.valueOf(queryVehicleListRequest.getParkinglotCode()))
+                .addQueryParameter("ownerNameLikeStr",queryVehicleListRequest.getOwnerNameLikeStr())
+                .addQueryParameter("carNumLikeStr", queryVehicleListRequest.getCarNumLikeStr())
+                .addQueryParameter("listType",String.valueOf(queryVehicleListRequest.getListType()))
+                .build();
 
+        Request request = new Request.Builder()
+                .url(url)
+                .addHeader("Authorization", authorization)
+                .build();
+        try {
+            Response response = httpClient.newCall(request).execute();
+            if(!response.isSuccessful()){
+                return Result.error("车辆列表查询失败");
+            }
+            ResponseBody responseBody = response.body();
+            if (responseBody != null) {
+                String responseString = responseBody.string();
+                ObjectMapper objectMapper = new ObjectMapper();
+                JsonNode rootNode = objectMapper.readTree(responseString);
+                JsonNode success = rootNode.path("success");
+                if(success.isBoolean() && success.asBoolean()) {
+                    JsonNode dataNode = rootNode.path("data");
+                    if (dataNode.isObject()) {
+                        QueryVehicleListResponse queryVehicleListResponse = objectMapper.treeToValue(dataNode, QueryVehicleListResponse.class);
+                        return Result.ok(queryVehicleListResponse);
+                    } else {
+                        return Result.ok(null);
+                    }
+                }else{
+                    JsonNode errMsgNode = rootNode.path("errMsg");
+                    String errMsg = errMsgNode.isTextual() ? errMsgNode.asText() : "未知错误";
+                    return Result.error(errMsg);
+                }
+            }
+        } catch (Exception e) {
+            log.error("车辆列表查询失败:{}", e);
+        }
+        return Result.error("车辆列表查询失败");
+    }
 }

+ 32 - 0
visualization-service/src/main/java/com/zksy/visualization/domain/request/QueryVehicleListRequest.java

@@ -0,0 +1,32 @@
+package com.zksy.visualization.domain.request;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author Administrator
+ * @version 1.0
+ * @project dh-server-micro
+ * @description 车辆列表查询
+ * @date 2025/1/8 15:44:58
+ */
+@Data
+public class QueryVehicleListRequest {
+    @ApiModelProperty(value = "页码", required = true, example = "1")
+    private int pageNum;
+
+    @ApiModelProperty(value = "每页条数", required = true, example = "10")
+    private int pageSize;
+
+    @ApiModelProperty(value = "所属停车场", required = false)
+    private String parkinglotCode;
+
+    @ApiModelProperty(value = "车主姓名模糊查询", required = false)
+    private String ownerNameLikeStr;
+
+    @ApiModelProperty(value = "车牌号模糊查询", required = false)
+    private String carNumLikeStr;
+
+    @ApiModelProperty(value = "黑白名单类型编号:0-普通车辆,2-黑名单", required = false, allowableValues = "0, 2")
+    private int listType;
+}

+ 108 - 0
visualization-service/src/main/java/com/zksy/visualization/domain/response/QueryVehicleListResponse.java

@@ -0,0 +1,108 @@
+package com.zksy.visualization.domain.response;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author Administrator
+ * @version 1.0
+ * @project dh-server-micro
+ * @description 车辆列表查询
+ * @date 2025/1/8 15:44:58
+ */
+@Data
+public class QueryVehicleListResponse {
+
+        @ApiModelProperty(value = "总页数")
+        private int totalPage;
+
+        @ApiModelProperty(value = "总条数")
+        private int totalRows;
+
+        @ApiModelProperty(value = "当前页码")
+        private int currentPage;
+
+        @ApiModelProperty(value = "每页数量")
+        private int pageSize;
+
+        @ApiModelProperty(value = "页面数据对象")
+        private List<CarInfo> pageData;
+
+        @Data
+        public static class CarInfo {
+            @ApiModelProperty(value = "车辆品牌编号")
+            private Integer carBrand;
+
+            @ApiModelProperty(value = "车辆品牌")
+            private String carBrandStr;
+
+            @ApiModelProperty(value = "车辆编号")
+            private String carCode;
+
+            @ApiModelProperty(value = "车辆颜色编号")
+            private Integer carColor;
+
+            @ApiModelProperty(value = "车辆颜色")
+            private String carColorStr;
+
+            @ApiModelProperty(value = "车牌号码")
+            private String carNum;
+
+            @ApiModelProperty(value = "车牌颜色编号")
+            private Integer carNumColor;
+
+            @ApiModelProperty(value = "车牌颜色")
+            private String carNumColorStr;
+
+            @ApiModelProperty(value = "车辆状态编号(0-未使用,1-使用)")
+            private Integer carStatus;
+
+            @ApiModelProperty(value = "车辆状态")
+            private String carStatusStr;
+
+            @ApiModelProperty(value = "车辆类型")
+            private String carType;
+
+            @ApiModelProperty(value = "汽车类型")
+            private String carTypeStr;
+
+            @ApiModelProperty(value = "创建时间")
+            private Date createTime;
+
+            @ApiModelProperty(value = "部门ID")
+            private String deptId;
+
+            @ApiModelProperty(value = "部门名称")
+            private String deptName;
+
+            @ApiModelProperty(value = "数据库车辆id")
+            private String id;
+
+            @ApiModelProperty(value = "黑白名单编号:0正常,1白名单,2黑名单")
+            private Integer listType;
+
+            @ApiModelProperty(value = "黑白名单")
+            private String listTypeStr;
+
+            @ApiModelProperty(value = "备注信息")
+            private String memo;
+
+            @ApiModelProperty(value = "车主姓名")
+            private String owner;
+
+            @ApiModelProperty(value = "车主id")
+            private String ownerId;
+
+            @ApiModelProperty(value = "停车类型编号")
+            private Integer parkType;
+
+            @ApiModelProperty(value = "停车类型")
+            private String parkTypeStr;
+
+            @ApiModelProperty(value = "所属车场编号")
+            private String parkinglotCode;
+        }
+}