Browse Source

8.31 导入车辆

Mechrevo 1 year ago
parent
commit
407c3fba95

+ 4 - 0
sp-core/sp-api/src/main/java/com/pj/api/client/transport/TransportInterface.java

@@ -5,6 +5,7 @@ import com.pj.api.consts.FeignConsts;
 import com.pj.api.dto.DriverDto;
 import com.pj.api.dto.PurchaserDto;
 import com.pj.api.dto.TbLogisticsDto;
+import com.pj.api.dto.VehicleDto;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -37,5 +38,8 @@ public interface TransportInterface {
     @RequestMapping("driverDto")
     public boolean driverDto(@RequestBody DriverDto driverDto);
 
+    /** 同步航通车辆信息 */
+    @RequestMapping("/TbVehicle/rpc/vehicleDto")
+    public boolean vehicleDto(@RequestBody VehicleDto vehicleDto);
 
 }

+ 8 - 0
sp-core/sp-api/src/main/java/com/pj/api/client/transport/TransportInterfaceFallback.java

@@ -3,6 +3,7 @@ package com.pj.api.client.transport;
 import com.pj.api.dto.DriverDto;
 import com.pj.api.dto.PurchaserDto;
 import com.pj.api.dto.TbLogisticsDto;
+import com.pj.api.dto.VehicleDto;
 import feign.hystrix.FallbackFactory;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -47,6 +48,13 @@ public class TransportInterfaceFallback implements FallbackFactory<TransportInte
                 log.error("司机信息添加错误:{},错误信息是{}",driverDto,throwable.getMessage());
                 return false;
             }
+
+            @Override
+            public boolean vehicleDto(VehicleDto vehicleDto){
+                System.out.println(throwable.getMessage());
+                log.error("车辆信息添加错误:{},错误信息是{}",vehicleDto,throwable.getMessage());
+                return false;
+            }
         };
     }
 }

+ 423 - 0
sp-core/sp-api/src/main/java/com/pj/api/dto/VehicleDto.java

@@ -0,0 +1,423 @@
+package com.pj.api.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.util.Date;
+
+/**
+ * @Author Mechrevo
+ * @Date 2023 08 31 09 08
+ **/
+public class VehicleDto {
+    /**
+     * 地方平台的内部业务编号,每次申请都是新编号
+     */
+    private String platSeqNo;
+
+    public String getPlatSeqNo() {
+        return platSeqNo;
+    }
+
+    public void setPlatSeqNo(String platSeqNo) {
+        this.platSeqNo = platSeqNo;
+    }
+
+    public VehicleDto(String platSeqNo, Long id, String vehiclePlate, Integer tradeAreaId, String tradeAreaName, String owner, Long driverId, String driverName, String driverPhone, Integer vehicleType, Integer parentId, String vehicleSize, String vehicleModel, String vehicleLoad, String vehicleWeight, Integer vehicleStatus, String createBy, String createName, Date createTime, String updateBy, String updateName, Date updateTime, Integer deleteStatus, Integer auditStatus, String auditBy, String nopassReason, Date auditTime) {
+        this.platSeqNo = platSeqNo;
+        this.id = id;
+        this.vehiclePlate = vehiclePlate;
+        this.tradeAreaId = tradeAreaId;
+        this.tradeAreaName = tradeAreaName;
+        this.owner = owner;
+        this.driverId = driverId;
+        this.driverName = driverName;
+        this.driverPhone = driverPhone;
+        this.vehicleType = vehicleType;
+        this.parentId = parentId;
+        this.vehicleSize = vehicleSize;
+        this.vehicleModel = vehicleModel;
+        this.vehicleLoad = vehicleLoad;
+        this.vehicleWeight = vehicleWeight;
+        this.vehicleStatus = vehicleStatus;
+        this.createBy = createBy;
+        this.createName = createName;
+        this.createTime = createTime;
+        this.updateBy = updateBy;
+        this.updateName = updateName;
+        this.updateTime = updateTime;
+        this.deleteStatus = deleteStatus;
+        this.auditStatus = auditStatus;
+        this.auditBy = auditBy;
+        this.nopassReason = nopassReason;
+        this.auditTime = auditTime;
+    }
+
+    private Long id;
+
+    /**
+     * 车牌
+     */
+    private String vehiclePlate;
+
+    /**
+     * 贸易区域id
+     */
+    private Integer tradeAreaId;
+
+    /**
+     * 贸易区域名称
+     */
+    private String tradeAreaName;
+
+    /**
+     * 所有人
+     */
+    private String owner;
+
+    /**
+     * 司机ID
+     */
+    private Long driverId;
+
+    /**
+     * 司机名称
+     */
+    private String driverName;
+
+    /**
+     * 司机电话
+     */
+    private String driverPhone;
+
+    /**
+     * 车辆类型
+     */
+    private Integer vehicleType;
+
+    /**
+     * 类型父id
+     */
+    private Integer parentId;
+
+    /**
+     * 车辆尺寸
+     */
+    private String vehicleSize;
+
+    /**
+     * 车辆品牌型号
+     */
+    private String vehicleModel;
+
+    /**
+     * 核定载质量
+     */
+    private String vehicleLoad;
+
+    /**
+     * 车辆自重
+     */
+    private String vehicleWeight;
+
+    /**
+     * 车辆状态(1=空闲 2=作业中)
+     */
+    private Integer vehicleStatus;
+
+    /**
+     * 创建者id
+     */
+    private String createBy;
+
+    /**
+     * 创建者姓名
+     */
+    private String createName;
+
+    /**
+     * 创建时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date createTime;
+
+    /**
+     * 更新者id
+     */
+    private String updateBy;
+
+    /**
+     * 更新者名称
+     */
+    private String updateName;
+
+    /**
+     * 更新时间
+     */
+    private Date updateTime;
+
+    /**
+     * 删除状态
+     */
+    private Integer deleteStatus;
+
+    /**
+     * 审核状态(0=待审核,1=已通过,2=不通过)
+     */
+    private Integer auditStatus;
+
+    /**
+     * 审核人
+     */
+    private String auditBy;
+
+    /**
+     * 审核不通过原因
+     */
+    private String nopassReason;
+
+    /**
+     * 审核时间
+     */
+    private Date auditTime;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getVehiclePlate() {
+        return vehiclePlate;
+    }
+
+    public void setVehiclePlate(String vehiclePlate) {
+        this.vehiclePlate = vehiclePlate;
+    }
+
+    public Integer getTradeAreaId() {
+        return tradeAreaId;
+    }
+
+    public void setTradeAreaId(Integer tradeAreaId) {
+        this.tradeAreaId = tradeAreaId;
+    }
+
+    public String getTradeAreaName() {
+        return tradeAreaName;
+    }
+
+    public void setTradeAreaName(String tradeAreaName) {
+        this.tradeAreaName = tradeAreaName;
+    }
+
+    public String getOwner() {
+        return owner;
+    }
+
+    public void setOwner(String owner) {
+        this.owner = owner;
+    }
+
+    public Long getDriverId() {
+        return driverId;
+    }
+
+    public void setDriverId(Long driverId) {
+        this.driverId = driverId;
+    }
+
+    public String getDriverName() {
+        return driverName;
+    }
+
+    public void setDriverName(String driverName) {
+        this.driverName = driverName;
+    }
+
+    public String getDriverPhone() {
+        return driverPhone;
+    }
+
+    public void setDriverPhone(String driverPhone) {
+        this.driverPhone = driverPhone;
+    }
+
+    public Integer getVehicleType() {
+        return vehicleType;
+    }
+
+    public void setVehicleType(Integer vehicleType) {
+        this.vehicleType = vehicleType;
+    }
+
+    public Integer getParentId() {
+        return parentId;
+    }
+
+    public void setParentId(Integer parentId) {
+        this.parentId = parentId;
+    }
+
+    public String getVehicleSize() {
+        return vehicleSize;
+    }
+
+    public void setVehicleSize(String vehicleSize) {
+        this.vehicleSize = vehicleSize;
+    }
+
+    public String getVehicleModel() {
+        return vehicleModel;
+    }
+
+    public void setVehicleModel(String vehicleModel) {
+        this.vehicleModel = vehicleModel;
+    }
+
+    public String getVehicleLoad() {
+        return vehicleLoad;
+    }
+
+    public void setVehicleLoad(String vehicleLoad) {
+        this.vehicleLoad = vehicleLoad;
+    }
+
+    public String getVehicleWeight() {
+        return vehicleWeight;
+    }
+
+    public void setVehicleWeight(String vehicleWeight) {
+        this.vehicleWeight = vehicleWeight;
+    }
+
+    public Integer getVehicleStatus() {
+        return vehicleStatus;
+    }
+
+    public void setVehicleStatus(Integer vehicleStatus) {
+        this.vehicleStatus = vehicleStatus;
+    }
+
+    public String getCreateBy() {
+        return createBy;
+    }
+
+    public void setCreateBy(String createBy) {
+        this.createBy = createBy;
+    }
+
+    public String getCreateName() {
+        return createName;
+    }
+
+    public void setCreateName(String createName) {
+        this.createName = createName;
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public String getUpdateBy() {
+        return updateBy;
+    }
+
+    public void setUpdateBy(String updateBy) {
+        this.updateBy = updateBy;
+    }
+
+    public String getUpdateName() {
+        return updateName;
+    }
+
+    public void setUpdateName(String updateName) {
+        this.updateName = updateName;
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    public Integer getDeleteStatus() {
+        return deleteStatus;
+    }
+
+    public void setDeleteStatus(Integer deleteStatus) {
+        this.deleteStatus = deleteStatus;
+    }
+
+    public Integer getAuditStatus() {
+        return auditStatus;
+    }
+
+    public void setAuditStatus(Integer auditStatus) {
+        this.auditStatus = auditStatus;
+    }
+
+    public String getAuditBy() {
+        return auditBy;
+    }
+
+    public void setAuditBy(String auditBy) {
+        this.auditBy = auditBy;
+    }
+
+    public String getNopassReason() {
+        return nopassReason;
+    }
+
+    public void setNopassReason(String nopassReason) {
+        this.nopassReason = nopassReason;
+    }
+
+    public Date getAuditTime() {
+        return auditTime;
+    }
+
+    public void setAuditTime(Date auditTime) {
+        this.auditTime = auditTime;
+    }
+
+    public VehicleDto(Long id, String vehiclePlate, Integer tradeAreaId, String tradeAreaName, String owner, Long driverId, String driverName, String driverPhone, Integer vehicleType, Integer parentId, String vehicleSize, String vehicleModel, String vehicleLoad, String vehicleWeight, Integer vehicleStatus, String createBy, String createName, Date createTime, String updateBy, String updateName, Date updateTime, Integer deleteStatus, Integer auditStatus, String auditBy, String nopassReason, Date auditTime) {
+        this.id = id;
+        this.vehiclePlate = vehiclePlate;
+        this.tradeAreaId = tradeAreaId;
+        this.tradeAreaName = tradeAreaName;
+        this.owner = owner;
+        this.driverId = driverId;
+        this.driverName = driverName;
+        this.driverPhone = driverPhone;
+        this.vehicleType = vehicleType;
+        this.parentId = parentId;
+        this.vehicleSize = vehicleSize;
+        this.vehicleModel = vehicleModel;
+        this.vehicleLoad = vehicleLoad;
+        this.vehicleWeight = vehicleWeight;
+        this.vehicleStatus = vehicleStatus;
+        this.createBy = createBy;
+        this.createName = createName;
+        this.createTime = createTime;
+        this.updateBy = updateBy;
+        this.updateName = updateName;
+        this.updateTime = updateTime;
+        this.deleteStatus = deleteStatus;
+        this.auditStatus = auditStatus;
+        this.auditBy = auditBy;
+        this.nopassReason = nopassReason;
+        this.auditTime = auditTime;
+    }
+
+    public VehicleDto() {
+    }
+
+}

+ 25 - 0
sp-core/sp-base/src/main/java/com/pj/enummj/VehicleStatus.java

@@ -0,0 +1,25 @@
+package com.pj.enummj;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+/**
+ * @Author Mechrevo
+ * @Date 2023 08 31 09 09
+ **/
+@Getter
+@AllArgsConstructor
+public enum VehicleStatus {
+
+    /**
+     * 车辆作业状态
+     */
+    VEHICLE_STATUS_ONE(1,"作业中"),
+    VEHICLE_STATUS_ZERO(0,"空闲中");
+
+    private Integer code;
+
+    private String msg;
+
+
+}

+ 16 - 3
sp-service/async-server/src/main/java/com/pj/ht_byte/HtByte.java

@@ -22,14 +22,16 @@ import org.springframework.format.annotation.DateTimeFormat;
 @EqualsAndHashCode(callSuper = false)
 @AllArgsConstructor
 public class HtByte extends Model<HtByte> implements Serializable {
-	public HtByte(String messageId, String body, String queueName, Integer finishStatus, Date createTime) {
+	public HtByte(String messageId, String dataType, String body, String queueName, Integer finishStatus, Date createTime) {
 		this.messageId = messageId;
+		this.dataType = dataType;
 		this.body = body;
 		this.queueName = queueName;
 		this.finishStatus = finishStatus;
 		this.createTime = createTime;
 	}
-// ---------- 模块常量 ----------
+
+	// ---------- 模块常量 ----------
 	/**
 	 * 序列化版本id 
 	 */
@@ -59,7 +61,18 @@ public class HtByte extends Model<HtByte> implements Serializable {
 	/**
 	 * mq消息主键 
 	 */
-	private String messageId;	
+	private String messageId;
+
+	/**
+	 *      *      * 001=边民备案
+	 *      *      * 002=商铺备案
+	 *      *      * 003=边民互助组备案
+	 *      *      * 004=边民合作社备案
+	 *      *      * 005=车辆
+	 *      *      * 006=进境申报单
+	 *      *      * 007=进口申报单
+	 */
+	private String dataType;
 
 	/**
 	 * 字节数据主体 

+ 1 - 0
sp-service/async-server/src/main/java/com/pj/ht_byte/HtByteMapper.xml

@@ -24,6 +24,7 @@
 		<where>
 			<if test=' this.has("id") '> and id = #{id} </if>
 			<if test=' this.has("messageId") '> and message_id = #{messageId} </if>
+			<if test=' this.has("dataType") '> and data_type = #{dataType} </if>
 			<if test=' this.has("body") '> and body = #{body} </if>
 			<if test=' this.has("queueName") '> and queue_name = #{queueName} </if>
 			<if test=' this.has("finishStatus") '> and finish_status = #{finishStatus} </if>

+ 1 - 1
sp-service/async-server/src/main/java/com/pj/listen/BaseInfoListen.java

@@ -40,7 +40,7 @@ public class BaseInfoListen {
         byte[] content = json.getBody();
         //保存到数据库
         String jsonString = new String(content);
-        htByteMapper.insert(new HtByte(null,jsonString,RabbitMQ.TEST_ACCEPT_QUEUE, FinishStatus.FINISH_STATUS_ZERO.getCode(),new Date()));
+        htByteMapper.insert(new HtByte(null,null,jsonString,RabbitMQ.TEST_ACCEPT_QUEUE, FinishStatus.FINISH_STATUS_ZERO.getCode(),new Date()));
         System.out.println("\n消息同步完成。\n");
 
     }

+ 40 - 5
sp-service/async-server/src/main/java/com/pj/task/HtByteTask.java

@@ -4,6 +4,7 @@ import com.alibaba.fastjson2.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.pj.api.client.async_server.AsyncServerInterface;
 import com.pj.api.client.level_one_server.LevelOneServerInterface;
+import com.pj.api.client.transport.TransportInterface;
 import com.pj.api.dto.*;
 import com.pj.dto.DataDto;
 import com.pj.enummj.DataType;
@@ -43,6 +44,11 @@ public class HtByteTask {
      */
     @Autowired
     private AsyncServerInterface asyncServerInterface;
+    /**
+     * 货运
+     */
+    @Autowired
+    private TransportInterface transportInterface;
 
     /**
      * 启动定时任务
@@ -81,21 +87,23 @@ public class HtByteTask {
                     PeopleDto peopleDto = JSONObject.parseObject(body, PeopleDto.class);
                     //根据其内的身份证,有则新增,无则修改???
                     flag = levelOneServerInterface.peopleDto(peopleDto);
-                    if(flag){
+                    if(!flag){
                         //将完成状态设置成 2 , 表示处理失败
-                        item.setFinishStatus(FinishStatus.FINISH_STATUS_ONE.getCode());
+                        item.setFinishStatus(FinishStatus.FINISH_STATUS_TWO.getCode());
                         item.setMessageId(dataDto.getMsgId());
+                        item.setDataType(dataDto.getDataType());
                         //保存
                         htByteMapper.updateById(item);
-                        System.out.println("\n边民信息处理完成。 messageId = " + item.getMessageId() + "\n");
+                        System.out.println("\n边民信息处理失败。 messageId = " + item.getMessageId() + "\n");
                         //todo: 发送失败信息给管理员
 
                         break;
                     }
-                    item.setFinishStatus(FinishStatus.FINISH_STATUS_TWO.getCode());
+                    item.setFinishStatus(FinishStatus.FINISH_STATUS_ONE.getCode());
                     item.setMessageId(dataDto.getMsgId());
+                    item.setDataType(dataDto.getDataType());
                     htByteMapper.updateById(item);
-                    System.out.println("\n边民信息处理失败。 messageId = " + item.getMessageId() + "\n");
+                    System.out.println("\n边民信息处理成功。 messageId = " + item.getMessageId() + "\n");
                     break;
                 case "002":
                     //商铺备案
@@ -106,6 +114,7 @@ public class HtByteTask {
                         //将完成状态设置成 2 , 表示处理失败
                         item.setFinishStatus(FinishStatus.FINISH_STATUS_TWO.getCode());
                         item.setMessageId(dataDto.getMsgId());
+                        item.setDataType(dataDto.getDataType());
                         //保存
                         htByteMapper.updateById(item);
                         System.out.println("\n店铺信息处理失败。 messageId = " + item.getMessageId() + "\n");
@@ -115,6 +124,7 @@ public class HtByteTask {
                     }
                     item.setFinishStatus(FinishStatus.FINISH_STATUS_ONE.getCode());
                     item.setMessageId(dataDto.getMsgId());
+                    item.setDataType(dataDto.getDataType());
                     htByteMapper.updateById(item);
                     System.out.println("\n店铺信息处理完成。 messageId = " + item.getMessageId() + "\n");
                     break;
@@ -127,6 +137,7 @@ public class HtByteTask {
                         //将完成状态设置成 2 , 表示处理失败
                         item.setFinishStatus(FinishStatus.FINISH_STATUS_TWO.getCode());
                         item.setMessageId(dataDto.getMsgId());
+                        item.setDataType(dataDto.getDataType());
                         //保存
                         htByteMapper.updateById(item);
                         System.out.println("\n互助组信息处理失败。 messageId = " + item.getMessageId() + "\n");
@@ -136,6 +147,7 @@ public class HtByteTask {
                     }
                     item.setFinishStatus(FinishStatus.FINISH_STATUS_ONE.getCode());
                     item.setMessageId(dataDto.getMsgId());
+                    item.setDataType(dataDto.getDataType());
                     htByteMapper.updateById(item);
                     System.out.println("\n互助组信息处理完成。 messageId = " + item.getMessageId() + "\n");
                     break;
@@ -148,6 +160,7 @@ public class HtByteTask {
                         //将完成状态设置成 2 , 表示处理失败
                         item.setFinishStatus(FinishStatus.FINISH_STATUS_TWO.getCode());
                         item.setMessageId(dataDto.getMsgId());
+                        item.setDataType(dataDto.getDataType());
                         //保存
                         htByteMapper.updateById(item);
                         System.out.println("\n边民合作社信息处理失败。 messageId = " + item.getMessageId() + "\n");
@@ -157,16 +170,38 @@ public class HtByteTask {
                     }
                     item.setFinishStatus(FinishStatus.FINISH_STATUS_ONE.getCode());
                     item.setMessageId(dataDto.getMsgId());
+                    item.setDataType(dataDto.getDataType());
                     htByteMapper.updateById(item);
                     System.out.println("\n边民合作社信息处理完成。 messageId = " + item.getMessageId() + "\n");
                     break;
                 case "005":
                     //车辆
+                    VehicleDto vehicleDto = JSONObject.parseObject(body, VehicleDto.class);
+                    //保存
+                     flag = transportInterface.vehicleDto(vehicleDto);
+                     if(!flag){
+                         //将完成状态设置成 2 , 表示处理失败
+                         item.setFinishStatus(FinishStatus.FINISH_STATUS_TWO.getCode());
+                         item.setMessageId(dataDto.getMsgId());
+                         item.setDataType(dataDto.getDataType());
+                         //保存
+                         htByteMapper.updateById(item);
+                         System.out.println("\n车辆信息处理失败。 messageId = " + item.getMessageId() + "\n");
+                         //todo: 发送失败信息给管理员
+
+                         break;
+                     }
+                    item.setFinishStatus(FinishStatus.FINISH_STATUS_ONE.getCode());
+                    item.setMessageId(dataDto.getMsgId());
+                    item.setDataType(dataDto.getDataType());
+                    htByteMapper.updateById(item);
+                    System.out.println("\n车辆信息处理完成。 messageId = " + item.getMessageId() + "\n");
 
                     break;
                 case "006":
                     //进境申报单
 
+
                     break;
                 case "007":
                     //进口申报单

+ 1 - 0
sp-service/level-one-server/src/main/java/com/pj/tb_shop/TbShopService.java

@@ -248,6 +248,7 @@ public class TbShopService extends ServiceImpl<TbShopMapper, TbShop> implements
 		//修改
 		// todo: 现在同步生成外籍商户信息和appUser信息,当商铺电话发生修改时,对应的外籍商户电话和appUser账号同步修改???
 		BeanUtils.copyProperties(tbShopList.get(0),tbShop);
+		BeanUtils.copyProperties(shopDto,tbShop);
 		int i = tbShopMapper.updateById(tbShop);
 		return i == 1;
 	}

+ 4 - 0
sp-service/transport-server/src/main/java/com/pj/project/tb_vehicle/TbVehicle.java

@@ -178,6 +178,10 @@ public class TbVehicle extends Model<TbVehicle> implements Serializable {
 	private Date auditTime;
 
 
+	/**
+	 * 地方平台的内部业务编号,每次申请都是新编号
+	 */
+	private String platSeqNo;
 
 
 

+ 14 - 0
sp-service/transport-server/src/main/java/com/pj/project/tb_vehicle/TbVehicleController.java

@@ -2,6 +2,9 @@ package com.pj.project.tb_vehicle;
 
 import java.io.IOException;
 import java.util.List;
+
+import com.pj.api.dto.ShopDto;
+import com.pj.api.dto.VehicleDto;
 import com.pj.utils.so.SoMap;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -115,7 +118,18 @@ public class TbVehicleController {
 	}
 
 
+	/*------            正常业务👆👆    rpc远程调用👇👇                         -----------*/
 
+	/**
+	 * 同步航通车辆信息
+	 * @param vehicleDto
+	 * @return
+	 * @throws Exception
+	 */
+	@RequestMapping("rpc/vehicleDto")
+	public boolean vehicleDto(@RequestBody VehicleDto vehicleDto){
+		return tbVehicleService.vehicleDto(vehicleDto);
+	}
 
 
 

+ 28 - 10
sp-service/transport-server/src/main/java/com/pj/project/tb_vehicle/TbVehicleService.java

@@ -11,8 +11,11 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.pj.api.client.level_one_server.LevelOneServerInterface;
 import com.pj.api.dto.OrderDto;
+import com.pj.api.dto.VehicleDto;
 import com.pj.common.core.exception.ServiceException;
+import com.pj.enummj.AuditStatus;
 import com.pj.enummj.DeleteStatus;
+import com.pj.enummj.VehicleStatus;
 import com.pj.project.tb_car_record.TbCarRecord;
 import com.pj.project.tb_car_record.TbCarRecordMapper;
 import com.pj.project.tb_driver.TbDriver;
@@ -25,6 +28,7 @@ import org.apache.commons.lang3.StringUtils;
 import org.apache.poi.hssf.usermodel.HSSFRow;
 import org.apache.poi.hssf.usermodel.HSSFSheet;
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.service.IService;
@@ -174,16 +178,30 @@ public class TbVehicleService extends ServiceImpl<TbVehicleMapper, TbVehicle> im
 
 
 
-
-
-
-
-
-
-
-
-
-
+	/** 同步航通的车辆信息 */
+	public boolean vehicleDto(VehicleDto vehicleDto){
+		TbVehicle tbVehicle = new TbVehicle();
+		List<TbVehicle> tbVehicles = tbVehicleMapper.selectList(new LambdaQueryWrapper<TbVehicle>().eq(TbVehicle::getPlatSeqNo, tbVehicle.getPlatSeqNo()));
+		//根据集合大小判断新增
+		if(tbVehicles.size() == 0){
+			BeanUtils.copyProperties(vehicleDto,tbVehicle);
+			//设置基本字段
+			tbVehicle.setCreateName("航通"); // 创建单位
+			tbVehicle.setCreateTime(new Date()); // 创建时间
+			tbVehicle.setAuditStatus(AuditStatus.AUDIT_STATUS_ON.getCode()); // 审核状态,默认审核已通过
+			tbVehicle.setDeleteStatus(DeleteStatus.DELETE_STATUS_ON.getCode()); // 删除状态,默认可用
+			tbVehicle.setVehicleStatus(VehicleStatus.VEHICLE_STATUS_ZERO.getCode()); // 车辆工作状态,默认空闲中
+			//执行保存
+			int insert = tbVehicleMapper.insert(tbVehicle);
+			return insert == 1;
+		}
+		//修改
+//		if(tbVehicles.size() != 1)throw new ServiceException("车辆状态异常。请联系管理员");
+		BeanUtils.copyProperties(tbVehicles.get(0),tbVehicle);
+		BeanUtils.copyProperties(vehicleDto,tbVehicle);
+		int i = tbVehicleMapper.updateById(tbVehicle);
+		return i == 1;
+	}