From e145bb81724645e5289e3140f87018c19e1eea14 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期四, 09 二月 2023 23:17:23 +0800
Subject: [PATCH] 新增加司机端接口

---
 driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/api/DriverController.java                        |   29 ++
 driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/model/Driver.java                                |    5 
 driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/dao/mapping/DriverMapper.xml                     |    1 
 driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/api/CommercialController.java                    |   65 +++++
 driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/util/PushUtil.java                               |   64 +++++
 driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/model/Commercial.java                            |   88 +++++++
 driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/IDriverService.java                      |   11 
 driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/DriverServiceImpl.java              |   46 +++
 driver/guns-admin/src/main/java/com/supersavedriving/driver/GunsApplication.java                                            |    6 
 driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/dao/CommercialMapper.java                        |   20 +
 driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/ICommercialService.java                  |   23 +
 driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/dao/mapping/CommercialUserEjectMapper.xml        |   12 +
 /dev/null                                                                                                                   |   19 -
 driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/CommercialUserEjectServiceImpl.java |   11 
 driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/model/CommercialUserEject.java                   |   38 +++
 driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/model/DriverWork.java                            |   42 +++
 driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/warpper/CommercialWarpper.java                   |   22 +
 driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/dao/mapping/CommercialMapper.xml                 |   41 +++
 super_save_driving.sql                                                                                                      |   64 +++++
 driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/CommercialServiceImpl.java          |   57 ++++
 driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/dao/CommercialUserEjectMapper.java               |    7 
 driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/ICommercialUserEjectService.java         |    7 
 22 files changed, 647 insertions(+), 31 deletions(-)

diff --git a/driver/guns-admin/src/main/java/com/supersavedriving/driver/GunsApplication.java b/driver/guns-admin/src/main/java/com/supersavedriving/driver/GunsApplication.java
index 8ad66ba..4e73d12 100644
--- a/driver/guns-admin/src/main/java/com/supersavedriving/driver/GunsApplication.java
+++ b/driver/guns-admin/src/main/java/com/supersavedriving/driver/GunsApplication.java
@@ -29,7 +29,7 @@
 @SpringBootApplication
 @EnableScheduling//开启定时任务
 @EnableTransactionManagement//启动事务功能
-public class GunsApplication /*extends SpringBootServletInitializer*/ {
+public class GunsApplication {
 
     private final static Logger logger = LoggerFactory.getLogger(GunsApplication.class);
 
@@ -76,8 +76,4 @@
     }
 
 
-//    @Override
-//    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
-//        return builder.sources(GunsApplication.class);
-//    }
 }
diff --git a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/api/CommercialController.java b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/api/CommercialController.java
new file mode 100644
index 0000000..2439c2a
--- /dev/null
+++ b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/api/CommercialController.java
@@ -0,0 +1,65 @@
+package com.supersavedriving.driver.modular.system.api;
+
+import com.supersavedriving.driver.core.common.annotion.ServiceLog;
+import com.supersavedriving.driver.core.util.ToolUtil;
+import com.supersavedriving.driver.modular.system.service.ICommercialService;
+import com.supersavedriving.driver.modular.system.service.IDriverService;
+import com.supersavedriving.driver.modular.system.util.ResultUtil;
+import com.supersavedriving.driver.modular.system.warpper.CommercialWarpper;
+import com.supersavedriving.driver.modular.system.warpper.ResponseWarpper;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.List;
+
+/**
+ * 广告控制器
+ */
+@RestController
+@RequestMapping()
+public class CommercialController {
+
+    @Autowired
+    private ICommercialService commercialService;
+
+    @Autowired
+    private IDriverService driverService;
+
+
+
+    @ResponseBody
+    @PostMapping("/api/commercial/queryCommercialList")
+    @ServiceLog(name = "获取广告列表", url = "/api/driver/queryCommercialList")
+    @ApiOperation(value = "获取广告列表", tags = {"司机端-首页"}, notes = "")
+    @ApiImplicitParams({
+            @ApiImplicitParam(value = "广告类型(1=弹窗广告,2=底部广告)", name = "type", required = true, dataType = "int"),
+            @ApiImplicitParam(value = "设备类型(1=小程序,2=司机端)", name = "device", required = true, dataType = "int"),
+            @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
+    })
+    public ResponseWarpper<List<CommercialWarpper>> queryCommercialList(Integer type, Integer device, HttpServletRequest request){
+        if(ToolUtil.isEmpty(type)){
+            return ResponseWarpper.success(ResultUtil.paranErr("type"));
+        }
+        if(ToolUtil.isEmpty(device)){
+            return ResponseWarpper.success(ResultUtil.paranErr("device"));
+        }
+        try {
+            Integer uid = driverService.getUserByRequset(request);
+            if(null == uid){
+                return ResponseWarpper.success(ResultUtil.tokenErr());
+            }
+            List<CommercialWarpper> commercialWarppers = commercialService.queryCommercialList(uid, type, device);
+            return ResponseWarpper.success(commercialWarppers);
+        }catch (Exception e){
+            e.printStackTrace();
+            return new ResponseWarpper(500, e.getMessage());
+        }
+    }
+}
diff --git a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/api/DriverController.java b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/api/DriverController.java
index f7b0cc5..6547ca5 100644
--- a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/api/DriverController.java
+++ b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/api/DriverController.java
@@ -165,6 +165,35 @@
     }
 
 
+    @ResponseBody
+    @PostMapping("/base/driver/driverPassLogin")
+    @ServiceLog(name = "司机密码登录", url = "/base/driver/driverPassLogin")
+    @ApiOperation(value = "司机密码登录", tags = {"司机端-登录注册"}, notes = "")
+    @ApiImplicitParams({
+            @ApiImplicitParam(value = "国家代码+86", name = "receiver", required = true, dataType = "string"),
+            @ApiImplicitParam(value = "电话号码", name = "phone", required = true, dataType = "string"),
+            @ApiImplicitParam(value = "密码", name = "password", required = true, dataType = "string"),
+    })
+    public ResponseWarpper<TokenWarpper> driverPassLogin(String receiver, String phone, String password){
+        if(ToolUtil.isEmpty(receiver)){
+            return ResponseWarpper.success(ResultUtil.paranErr("receiver"));
+        }
+        if(ToolUtil.isEmpty(phone)){
+            return ResponseWarpper.success(ResultUtil.paranErr("phone"));
+        }
+        if(ToolUtil.isEmpty(password)){
+            return ResponseWarpper.success(ResultUtil.paranErr("password"));
+        }
+        try {
+            ResultUtil<TokenWarpper> tokenWarpper = driverService.driverPassLogin(receiver, phone, password);
+            return ResponseWarpper.success(tokenWarpper);
+        }catch (Exception e){
+            e.printStackTrace();
+            return new ResponseWarpper(500, e.getMessage());
+        }
+    }
+
+
 
     @ResponseBody
     @PostMapping("/api/driver/flushedToken")
diff --git a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/dao/CommercialMapper.java b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/dao/CommercialMapper.java
new file mode 100644
index 0000000..73bc59d
--- /dev/null
+++ b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/dao/CommercialMapper.java
@@ -0,0 +1,20 @@
+package com.supersavedriving.driver.modular.system.dao;
+
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+import com.supersavedriving.driver.modular.system.model.Commercial;
+import com.supersavedriving.driver.modular.system.warpper.CommercialWarpper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+public interface CommercialMapper extends BaseMapper<Commercial> {
+
+
+    /**
+     * 获取广告列表
+     * @param type      广告类型(1=弹窗广告)
+     * @param device    设备(1=小程序,2=司机端)
+     * @return
+     */
+    List<CommercialWarpper> queryCommercialList(@Param("type") Integer type, @Param("device") Integer device);
+}
diff --git a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/dao/CommercialUserEjectMapper.java b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/dao/CommercialUserEjectMapper.java
new file mode 100644
index 0000000..228893f
--- /dev/null
+++ b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/dao/CommercialUserEjectMapper.java
@@ -0,0 +1,7 @@
+package com.supersavedriving.driver.modular.system.dao;
+
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+import com.supersavedriving.driver.modular.system.model.CommercialUserEject;
+
+public interface CommercialUserEjectMapper extends BaseMapper<CommercialUserEject> {
+}
diff --git a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/dao/mapping/CommercialMapper.xml b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/dao/mapping/CommercialMapper.xml
new file mode 100644
index 0000000..77112a8
--- /dev/null
+++ b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/dao/mapping/CommercialMapper.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.supersavedriving.driver.modular.system.dao.CommercialMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.supersavedriving.driver.modular.system.model.Commercial">
+        <id column="id" property="id"/>
+        <result column="type" property="type"/>
+        <result column="name" property="name"/>
+        <result column="device" property="device"/>
+        <result column="isJump" property="isJump"/>
+        <result column="jumpType" property="jumpType"/>
+        <result column="jumpUrl" property="jumpUrl"/>
+        <result column="html" property="html"/>
+        <result column="sort" property="sort"/>
+        <result column="status" property="status"/>
+        <result column="createUserId" property="createUserId"/>
+        <result column="createTime" property="createTime"/>
+        <result column="updateUserId" property="updateUserId"/>
+        <result column="updateTime" property="updateTime"/>
+    </resultMap>
+
+
+    <select id="queryCommercialList" resultType="com.supersavedriving.driver.modular.system.warpper.CommercialWarpper">
+        select
+        `name`,
+        `type`,
+        isJump,
+        jumpType,
+        jumpUrl,
+        html
+        from t_commercial where status = 1
+        <if test="null != type">
+            and `type` = #{type}
+        </if>
+        <if test="null != device">
+            and device = #{device}
+        </if>
+        order by sort limit 0, 3
+    </select>
+</mapper>
\ No newline at end of file
diff --git a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/dao/mapping/CommercialUserEjectMapper.xml b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/dao/mapping/CommercialUserEjectMapper.xml
new file mode 100644
index 0000000..1cb35e0
--- /dev/null
+++ b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/dao/mapping/CommercialUserEjectMapper.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.supersavedriving.driver.modular.system.dao.CommercialUserEjectMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.supersavedriving.driver.modular.system.model.CommercialUserEject">
+        <id column="id" property="id"/>
+        <result column="userType" property="userType"/>
+        <result column="userId" property="userId"/>
+        <result column="lastDate" property="lastDate"/>
+    </resultMap>
+</mapper>
\ No newline at end of file
diff --git a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/dao/mapping/DriverMapper.xml b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/dao/mapping/DriverMapper.xml
index 028544c..f81c5de 100644
--- a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/dao/mapping/DriverMapper.xml
+++ b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/dao/mapping/DriverMapper.xml
@@ -23,6 +23,7 @@
         <result column="inviterId" property="inviterId"/>
         <result column="agentId" property="agentId"/>
         <result column="branchOfficeId" property="branchOfficeId"/>
+        <result column="balance" property="balance"/>
         <result column="approvalStatus" property="approvalStatus"/>
         <result column="approvalNotes" property="approvalNotes"/>
         <result column="approvalUserId" property="approvalUserId"/>
diff --git a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/model/Commercial.java b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/model/Commercial.java
new file mode 100644
index 0000000..7cfc2ab
--- /dev/null
+++ b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/model/Commercial.java
@@ -0,0 +1,88 @@
+package com.supersavedriving.driver.modular.system.model;
+
+import com.baomidou.mybatisplus.annotations.TableField;
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.annotations.TableName;
+import com.baomidou.mybatisplus.enums.IdType;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 广告实体类
+ */
+@Data
+@TableName("t_commercial")
+public class Commercial {
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    @TableField("id")
+    private Integer id;
+    /**
+     * 类型(1=弹窗广告,2=底部广告)
+     */
+    @TableField("type")
+    private Integer type;
+    /**
+     * 广告名称
+     */
+    @TableField("name")
+    private String name;
+    /**
+     * 设备(1=小程序,2=司机端)
+     */
+    @TableField("device")
+    private Integer device;
+    /**
+     * 是否跳转(0=否,1=是)
+     */
+    @TableField("isJump")
+    private Integer isJump;
+    /**
+     * 跳转类型(1=内部跳转,2=外部跳转)
+     */
+    @TableField("jumpType")
+    private Integer jumpType;
+    /**
+     * 跳转链接
+     */
+    @TableField("jumpUrl")
+    private String jumpUrl;
+    /**
+     * 富文本内容
+     */
+    @TableField("html")
+    private String html;
+    /**
+     * 排序
+     */
+    @TableField("sort")
+    private Integer sort;
+    /**
+     * 状态(1=正常,2=冻结,3=删除)
+     */
+    @TableField("status")
+    private Integer status;
+    /**
+     * 添加人员id
+     */
+    @TableField("createUserId")
+    private Integer createUserId;
+    /**
+     * 添加时间
+     */
+    @TableField("createTime")
+    private Date createTime;
+    /**
+     * 修改人员id
+     */
+    @TableField("updateUserId")
+    private Integer updateUserId;
+    /**
+     * 修改时间
+     */
+    @TableField("updateTime")
+    private Date updateTime;
+}
diff --git a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/model/CommercialUserEject.java b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/model/CommercialUserEject.java
new file mode 100644
index 0000000..56a0d65
--- /dev/null
+++ b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/model/CommercialUserEject.java
@@ -0,0 +1,38 @@
+package com.supersavedriving.driver.modular.system.model;
+
+import com.baomidou.mybatisplus.annotations.TableField;
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.annotations.TableName;
+import com.baomidou.mybatisplus.enums.IdType;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 用户弹框广告记录
+ */
+@Data
+@TableName("t_commercial_user_eject")
+public class CommercialUserEject{
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.INPUT)
+    @TableField("id")
+    private Long id;
+    /**
+     * 用户类型(1=用户,2=司机)
+     */
+    @TableField("userType")
+    private Integer userType;
+    /**
+     * 用户id
+     */
+    @TableField("userId")
+    private Integer userId;
+    /**
+     * 最后弹出日期
+     */
+    @TableField("lastDate")
+    private Date lastDate;
+}
diff --git a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/model/Driver.java b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/model/Driver.java
index 93c0b4e..31f56d0 100644
--- a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/model/Driver.java
+++ b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/model/Driver.java
@@ -113,6 +113,11 @@
     @TableField("branchOfficeId")
     private Integer branchOfficeId;
     /**
+     * 账户余额
+     */
+    @TableField("balance")
+    private Double balance;
+    /**
      * 审核状态(1=待审核,2=已同意,3=已拒绝)
      */
     @TableField("approvalStatus")
diff --git a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/model/DriverWork.java b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/model/DriverWork.java
new file mode 100644
index 0000000..7e18676
--- /dev/null
+++ b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/model/DriverWork.java
@@ -0,0 +1,42 @@
+package com.supersavedriving.driver.modular.system.model;
+
+import com.baomidou.mybatisplus.annotations.TableField;
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.annotations.TableName;
+import com.baomidou.mybatisplus.enums.IdType;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 司机上下班记录
+ */
+@Data
+@TableName("t_driver_work")
+public class DriverWork {
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+    /**
+     * 司机id
+     */
+    @TableField("driverId")
+    private Integer driverId;
+    /**
+     * 上班时间
+     */
+    @TableField("workTime")
+    private Date workTime;
+    /**
+     * 下班时间
+     */
+    @TableField("offWorkTime")
+    private Date offWorkTime;
+    /**
+     * 在线时长(秒)
+     */
+    @TableField("onlineTime")
+    private
+}
diff --git a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/ICommercialService.java b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/ICommercialService.java
new file mode 100644
index 0000000..e034059
--- /dev/null
+++ b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/ICommercialService.java
@@ -0,0 +1,23 @@
+package com.supersavedriving.driver.modular.system.service;
+
+import com.baomidou.mybatisplus.service.IService;
+import com.supersavedriving.driver.modular.system.model.Commercial;
+import com.supersavedriving.driver.modular.system.warpper.CommercialWarpper;
+
+import java.util.List;
+
+/**
+ * 广告接口
+ */
+public interface ICommercialService extends IService<Commercial> {
+
+
+    /**
+     * 获取广告列表数据
+     * @param type      广告类型(1=弹窗广告)
+     * @param device    设备(1=小程序,2=司机端)
+     * @return
+     * @throws Exception
+     */
+    List<CommercialWarpper> queryCommercialList(Integer uid, Integer type, Integer device) throws Exception;
+}
diff --git a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/ICommercialUserEjectService.java b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/ICommercialUserEjectService.java
new file mode 100644
index 0000000..148bc29
--- /dev/null
+++ b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/ICommercialUserEjectService.java
@@ -0,0 +1,7 @@
+package com.supersavedriving.driver.modular.system.service;
+
+import com.baomidou.mybatisplus.service.IService;
+import com.supersavedriving.driver.modular.system.model.CommercialUserEject;
+
+public interface ICommercialUserEjectService extends IService<CommercialUserEject> {
+}
diff --git a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/IDriverService.java b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/IDriverService.java
index 8316f97..fb44015 100644
--- a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/IDriverService.java
+++ b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/IDriverService.java
@@ -37,6 +37,17 @@
 
 
     /**
+     * 司机密码登录
+     * @param receiver  国家代码+86
+     * @param phone     手机号
+     * @param password  密码
+     * @return
+     * @throws Exception
+     */
+    ResultUtil<TokenWarpper> driverPassLogin(String receiver, String phone, String password) throws Exception;
+
+
+    /**
      * 刷新token
      * @param uid
      * @return
diff --git a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/CommercialServiceImpl.java b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/CommercialServiceImpl.java
new file mode 100644
index 0000000..c4b588e
--- /dev/null
+++ b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/CommercialServiceImpl.java
@@ -0,0 +1,57 @@
+package com.supersavedriving.driver.modular.system.service.impl;
+
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.supersavedriving.driver.modular.system.dao.CommercialMapper;
+import com.supersavedriving.driver.modular.system.model.Commercial;
+import com.supersavedriving.driver.modular.system.model.CommercialUserEject;
+import com.supersavedriving.driver.modular.system.service.ICommercialService;
+import com.supersavedriving.driver.modular.system.service.ICommercialUserEjectService;
+import com.supersavedriving.driver.modular.system.util.UUIDUtil;
+import com.supersavedriving.driver.modular.system.warpper.CommercialWarpper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+
+/**
+ * 广告逻辑类
+ */
+@Service
+public class CommercialServiceImpl extends ServiceImpl<CommercialMapper, Commercial> implements ICommercialService {
+
+    @Autowired
+    private ICommercialUserEjectService commercialUserEjectService;
+
+
+    /**
+     * 获取广告列表
+     * @param type      广告类型(1=弹窗广告)
+     * @param device    设备(1=小程序,2=司机端)
+     * @return
+     * @throws Exception
+     */
+    @Override
+    public List<CommercialWarpper> queryCommercialList(Integer uid, Integer type, Integer device) throws Exception {
+        if(type == 1){//弹框广告
+            CommercialUserEject commercialUserEject = commercialUserEjectService.selectOne(new EntityWrapper<CommercialUserEject>().eq("userType", 2)
+                    .eq("userId", uid).last(" and DATE_FORMAT(now(), '%Y%m%d') = DATE_FORMAT(lastDate, '%Y%m%d')"));
+            if(null != commercialUserEject){
+                return new ArrayList<>();
+            }
+        }
+        List<CommercialWarpper> commercialWarppers = this.baseMapper.queryCommercialList(type, device);
+        if(type == 1 && commercialWarppers.size() > 0){//记录弹窗
+            CommercialUserEject commercialUserEject = new CommercialUserEject();
+            commercialUserEject.setId(Long.valueOf(UUIDUtil.getNumberRandom(16)));
+            commercialUserEject.setLastDate(new Date());
+            commercialUserEject.setUserId(uid);
+            commercialUserEject.setUserType(2);
+            commercialUserEjectService.insert(commercialUserEject);
+        }
+        return commercialWarppers;
+    }
+}
diff --git a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/CommercialUserEjectServiceImpl.java b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/CommercialUserEjectServiceImpl.java
new file mode 100644
index 0000000..79e9485
--- /dev/null
+++ b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/CommercialUserEjectServiceImpl.java
@@ -0,0 +1,11 @@
+package com.supersavedriving.driver.modular.system.service.impl;
+
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.supersavedriving.driver.modular.system.dao.CommercialUserEjectMapper;
+import com.supersavedriving.driver.modular.system.model.CommercialUserEject;
+import com.supersavedriving.driver.modular.system.service.ICommercialUserEjectService;
+import org.springframework.stereotype.Service;
+
+@Service
+public class CommercialUserEjectServiceImpl extends ServiceImpl<CommercialUserEjectMapper, CommercialUserEject> implements ICommercialUserEjectService {
+}
diff --git a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/DriverServiceImpl.java b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/DriverServiceImpl.java
index 3bebf26..3a34f15 100644
--- a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/DriverServiceImpl.java
+++ b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/DriverServiceImpl.java
@@ -141,10 +141,6 @@
         if(!value.equals(code)){
             return ResultUtil.error("短信验证码无效");
         }
-        String token = getToken(phone, code);
-        if(ToolUtil.isEmpty(token)){
-            return ResultUtil.error("登录异常,请联系管理员。");
-        }
         Driver driver = this.selectOne(new EntityWrapper<Driver>().eq("phone", phone).ne("status", 3));
         if(null == driver){
             return ResultUtil.error("请先进行注册");
@@ -158,7 +154,10 @@
         if(driver.getApprovalStatus() == 3){
             return ResultUtil.error("账号审核不通过,请重新申请。");
         }
-
+        String token = getToken(phone, code);
+        if(ToolUtil.isEmpty(token)){
+            return ResultUtil.error("登录异常,请联系管理员。");
+        }
         TokenWarpper tokenWarpper = new TokenWarpper();
         tokenWarpper.setToken(token);
         tokenWarpper.setValidTime(7200L);
@@ -168,6 +167,43 @@
 
 
     /**
+     * 司机密码登录
+     * @param receiver  国家代码+86
+     * @param phone     手机号
+     * @param password  密码
+     * @return
+     * @throws Exception
+     */
+    @Override
+    public ResultUtil<TokenWarpper> driverPassLogin(String receiver, String phone, String password) throws Exception {
+        Driver driver = this.selectOne(new EntityWrapper<Driver>().eq("phone", phone).ne("status", 3));
+        if(null == driver){
+            return ResultUtil.error("请先进行注册");
+        }
+        if(driver.getStatus() == 2){
+            return ResultUtil.error("账号已被冻结,请联系管理员。");
+        }
+        if(driver.getApprovalStatus() == 1){
+            return ResultUtil.error("账号正在审核中。");
+        }
+        if(driver.getApprovalStatus() == 3){
+            return ResultUtil.error("账号审核不通过,请重新申请。");
+        }
+        if(!driver.getPassword().equals(ShiroKit.md5(password, salt))){
+            return ResultUtil.error("账号密码错误。");
+        }
+        String token = getToken(phone, password);
+        if(ToolUtil.isEmpty(token)){
+            return ResultUtil.error("登录异常,请联系管理员。");
+        }
+        TokenWarpper tokenWarpper = new TokenWarpper();
+        tokenWarpper.setToken(token);
+        tokenWarpper.setValidTime(7200L);
+        tokenWarpper.setIsSetPassword(ToolUtil.isEmpty(driver.getPassword()) ? 0 : 1);
+        return ResultUtil.success(tokenWarpper);
+    }
+
+    /**
      * 获取身份凭证
      * @param phone
      * @param password
diff --git a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/util/ApplicationRunnerUtil.java b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/util/ApplicationRunnerUtil.java
deleted file mode 100644
index 479a014..0000000
--- a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/util/ApplicationRunnerUtil.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.supersavedriving.driver.modular.system.util;
-
-import org.springframework.boot.ApplicationArguments;
-import org.springframework.boot.ApplicationRunner;
-import org.springframework.stereotype.Component;
-
-
-/**
- * 项目启动执行类
- */
-@Component
-public class ApplicationRunnerUtil implements ApplicationRunner {
-
-
-
-    @Override
-    public void run(ApplicationArguments args) throws Exception {
-    }
-
-}
diff --git a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/util/MinistryOfTransport.java b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/util/MinistryOfTransport.java
deleted file mode 100644
index 550bfa3..0000000
--- a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/util/MinistryOfTransport.java
+++ /dev/null
@@ -1,1062 +0,0 @@
-package com.supersavedriving.driver.modular.system.util;
-
-
-import com.alibaba.fastjson.JSONObject;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * 交通部接口对接
- */
-@Component
-public class MinistryOfTransport {
-
-    private final String CompanyId = "4502YSGSGK3Y";//公司标识
-
-    private final String Source = "0";//消息来源标识
-
-    private final String url = "http://172.19.5.101:8085";
-
-    @Autowired
-    private HttpClientUtil httpClientUtil;
-
-    private SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
-
-    private SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
-
-    private SimpleDateFormat sdf2 = new SimpleDateFormat("yyyyMMddHHmmss");
-
-
-    /**
-     * 上传企业基础信息
-     */
-    public void baseInfoCompany(){
-        String IPCType = "baseInfoCompany";
-        String path = url + "/baseinfo/company";
-        Map<String, Object> data = new HashMap<>();
-        JSONObject jsonObject = new JSONObject();
-        jsonObject.put("CompanyId", CompanyId);
-        jsonObject.put("CompanyName", "广西云森科技有限公司");//公司名称
-        jsonObject.put("Identifier", "91450200MA5K99GK3Y");//统一社会信用代码
-        jsonObject.put("Address", 450204);//注册地行政区划代码
-        jsonObject.put("BusinessScope", "网络预约出租汽车客运");//经营范围
-        jsonObject.put("ContactAddress", "柳州市柳南区航银路8号万利大厦3楼303室");//通信地址
-        jsonObject.put("EconomicType", "150");//经营业户经济类型
-        jsonObject.put("RegCapital", "壹仟万圆整");//注册资本
-        jsonObject.put("LegalName", "翁克顺");//法人代表姓名
-        jsonObject.put("LegalID", "44052419650805207X");//法人代表身份证号
-        jsonObject.put("LegalPhone", "13907728585");//法人代表电话
-        jsonObject.put("LegalPhoto", "");//法人代表身份证扫描件文件编号
-        jsonObject.put("State", 0);//状态(0:有效,1:失效)
-        jsonObject.put("Flag", 2);//操作标识(1:新增,2:更新,3:删除)
-        jsonObject.put("UpdateTime", Long.valueOf(sdf.format(new Date())));
-
-        data.put("CompanyId", CompanyId);
-        data.put("Source", Source);
-        data.put("IPCType", IPCType);
-        data.put("baseInfoCompany", jsonObject);
-        String s = httpClientUtil.pushHttpRequset("POST", path, data, null, "json");
-        System.err.println(s);
-    }
-
-
-    /**
-     * 网约车平台公司营运规模信息接口
-     */
-    public void baseInfoCompanyStat(){
-        String IPCType = "baseInfoCompanyStat";
-        String path = url + "/baseinfo/companystat";
-        Map<String, Object> data = new HashMap<>();
-        JSONObject jsonObject = new JSONObject();
-        jsonObject.put("CompanyId", CompanyId);
-        jsonObject.put("VehicleNum", 0);//平台注册网约车辆数
-        jsonObject.put("DriverNum", 0);//平台注册驾驶员数
-        jsonObject.put("Flag", 2);//操作标识(1:新增,2:更新,3:删除)
-        jsonObject.put("UpdateTime", Long.valueOf(sdf.format(new Date())));
-
-        data.put("CompanyId", CompanyId);
-        data.put("Source", Source);
-        data.put("IPCType", IPCType);
-        data.put("baseInfoCompany", jsonObject);
-        String s = httpClientUtil.pushHttpRequset("POST", path, data, null, "json");
-        System.err.println(s);
-    }
-
-
-    /**
-     * 网约车平台公司支付信息
-     */
-    public void baseInfoCompanyPay(){
-        String IPCType = "baseInfoCompanyPay";
-        String path = url + "/baseinfo/companypay";
-        Map<String, Object> data = new HashMap<>();
-        JSONObject jsonObject = new JSONObject();
-        jsonObject.put("CompanyId", CompanyId);
-        jsonObject.put("PayName", "");//银行或者非银行支付机构名称
-        jsonObject.put("PayId", "");//非银行支付机构支付业务许可证编号
-        jsonObject.put("PayType", "");//支付业务类型
-        jsonObject.put("PayScope", "");//业务覆盖范围
-        jsonObject.put("PrepareBank", "");//备付金存管银行
-        jsonObject.put("CountDate", 1);//结算周期
-        jsonObject.put("State", 0);//状态(0:有效,1:失效)
-        jsonObject.put("Flag", 2);//操作标识(1:新增,2:更新,3:删除)
-        jsonObject.put("UpdateTime", Long.valueOf(sdf.format(new Date())));
-
-        data.put("CompanyId", CompanyId);
-        data.put("Source", Source);
-        data.put("IPCType", IPCType);
-        data.put("baseInfoCompany", jsonObject);
-        String s = httpClientUtil.pushHttpRequset("POST", path, data, null, "json");
-        System.err.println(s);
-    }
-
-
-    /**
-     * 网约车平台公司服务机构
-     */
-    public void baseInfoCompanyService(){
-        String IPCType = "baseInfoCompanyService";
-        String path = url + "/baseinfo/companyservice";
-        Map<String, Object> data = new HashMap<>();
-        JSONObject jsonObject = new JSONObject();
-        jsonObject.put("CompanyId", CompanyId);
-        jsonObject.put("Address", 450204);//行政区划代码
-        jsonObject.put("ServiceNae", "广西云森科技有限公司");//服务机构名称
-        jsonObject.put("ServiceNo", "");//服务机构代码
-        jsonObject.put("DetailAddress", "柳州市柳南区航银路8号万利大厦3楼303室");//服务机构地址
-        jsonObject.put("ResponsibleName", "");//服务机构负责人姓名
-        jsonObject.put("ResponsiblePhone", "");//负责人联系电话
-        jsonObject.put("ManagerName", "");//服务机构管理人姓名
-        jsonObject.put("ManagerPhone", "");//管理人联系电话
-        jsonObject.put("ContactPhone", "");//服务机构紧急联系电话
-        jsonObject.put("MailAddress", "");//行政文书送达邮寄地址
-        jsonObject.put("CreateDate", 20150918);//服务机构设立日期
-        jsonObject.put("State", 0);//状态(0:有效,1:失效)
-        jsonObject.put("Flag", 2);//操作标识(1:新增,2:更新,3:删除)
-        jsonObject.put("UpdateTime", Long.valueOf(sdf.format(new Date())));
-
-        data.put("CompanyId", CompanyId);
-        data.put("Source", Source);
-        data.put("IPCType", IPCType);
-        data.put("baseInfoCompany", jsonObject);
-        String s = httpClientUtil.pushHttpRequset("POST", path, data, null, "json");
-        System.err.println(s);
-    }
-
-
-    /**
-     * 网约车平台公司经营许可
-     */
-    public void baseInfoCompanyPermit(){
-        String IPCType = "baseInfoCompanyPermit";
-        String path = url + "/baseinfo/companypermit";
-        Map<String, Object> data = new HashMap<>();
-        JSONObject jsonObject = new JSONObject();
-        jsonObject.put("CompanyId", CompanyId);
-        jsonObject.put("Address", 450204);//许可地行政区划代码
-        jsonObject.put("Certificate", "450200005403");//网络预约出租车经营许可证号
-        jsonObject.put("OperationArea", "广西壮族自治州柳州市城区");//经营区域
-        jsonObject.put("OwnerName", "广西云森科技有限公司");//公司名称
-        jsonObject.put("Organization", "柳州市行政审批据");//发证机构名称
-        jsonObject.put("StartDate", 20180330);//有效期起YYYYMMDD
-        jsonObject.put("StopDate", 20220329);//有效期止YYYYMMDD
-        jsonObject.put("CertifyDate", 0);//初次发证日期YYYYMMDD
-        jsonObject.put("State", 0);//状态(0:有效,1:失效)
-        jsonObject.put("Flag", 2);//操作标识(1:新增,2:更新,3:删除)
-        jsonObject.put("UpdateTime", Long.valueOf(sdf.format(new Date())));
-
-        data.put("CompanyId", CompanyId);
-        data.put("Source", Source);
-        data.put("IPCType", IPCType);
-        data.put("baseInfoCompany", jsonObject);
-        String s = httpClientUtil.pushHttpRequset("POST", path, data, null, "json");
-        System.err.println(s);
-    }
-
-
-    /**
-     * 网约车平台公司运价信息
-     */
-    public void baseInfoCompanyFare(){
-        String IPCType = "baseInfoCompanyFare";
-        String path = url + "/baseinfo/companyfare";
-        Map<String, Object> data = new HashMap<>();
-        JSONObject jsonObject = new JSONObject();
-        jsonObject.put("CompanyId", CompanyId);
-        jsonObject.put("Address", 450204);//运价适用地行政区划代码
-        jsonObject.put("FareType", "");//运价类型编码(由网约车平台公司统一编码,应确保唯一性)
-        jsonObject.put("FareTypeNote", "");//运价类型说明
-        jsonObject.put("FareValidOn", 0);//运价有效期起YYYYMMDDhhmmss
-        jsonObject.put("FareValidOff", 0);//运价有效止YYYYMMDDhhmmss
-        jsonObject.put("StartFare", 0);//起步价(元)
-        jsonObject.put("StartMile", 0);//起步里程(km)
-        jsonObject.put("UnitPricePerMile", 0);//计程单价(按公里/元)
-        jsonObject.put("UnitPricePerMinute", 0);//计时单价(按分钟/元)
-        jsonObject.put("UpPrice", 0);//单程加价单价(元)
-        jsonObject.put("UpPriceStartMile", 0);//单程加价公里(km)
-        jsonObject.put("MorningPeakTimeOn", "");//营运早高峰时间起(HHmm 24小时)
-        jsonObject.put("MorningPeakTimeOff", "");//营运早高峰时间止(HHmm 24小时)
-        jsonObject.put("EveningPeakTimeOn", "");//营运晚高峰时间起(HHmm 24小时)
-        jsonObject.put("EveningPeakTimeOff", "");//营运晚高峰时间止(HHmm 24小时)
-        jsonObject.put("OtherPeakTimeOn", "");//其他营运高等时间起(HHmm 24小时)
-        jsonObject.put("OtherPeakTineOff", "");//其他营运高等时间止(HHmm 24小时)
-        jsonObject.put("PeakUnitPrice", 0);//高峰时间单程加价单价(元)
-        jsonObject.put("PeakPriceStartMile", 0);//高峰时间单程加价公里(km)
-        jsonObject.put("LowSpeedPriceMinute", 0);//低速计时加价(按分钟 元)
-        jsonObject.put("NightPricePerMile", 0);//夜间费(按公里 元)
-        jsonObject.put("NightPricePerMinute", 0);//夜间费(按分钟 元)
-        jsonObject.put("OtherPrice", 0);//其它加价金额(元)
-
-        jsonObject.put("State", 0);//状态(0:有效,1:失效)
-        jsonObject.put("Flag", 2);//操作标识(1:新增,2:更新,3:删除)
-        jsonObject.put("UpdateTime", Long.valueOf(sdf.format(new Date())));
-
-        data.put("CompanyId", CompanyId);
-        data.put("Source", Source);
-        data.put("IPCType", IPCType);
-        data.put("baseInfoCompany", jsonObject);
-        String s = httpClientUtil.pushHttpRequset("POST", path, data, null, "json");
-        System.err.println(s);
-    }
-
-
-    /**
-     * 车辆基本信息
-     */
-    public void baseInfoVehicle(){
-        String IPCType = "baseInfoVehicle";
-        String path = url + "/baseinfo/vehicle";
-        Map<String, Object> data = new HashMap<>();
-        JSONObject jsonObject = new JSONObject();
-        jsonObject.put("CompanyId", CompanyId);
-        jsonObject.put("Address", 450204);//车辆所在城市行政区划代码
-        jsonObject.put("VehicleNo", "");//车辆号牌
-        jsonObject.put("PlateColor", "");//车牌颜色
-        jsonObject.put("Seats", 5);//核定载客位
-        jsonObject.put("Brand", "");//车辆厂牌
-        jsonObject.put("Model", "");//车辆型号
-        jsonObject.put("VehicleType", "");//车辆类型(以机动车行驶证为准)
-        jsonObject.put("OwnerName", "");//车辆所有人(以机动车行驶证为准)
-        jsonObject.put("VehicleColor", "");//车身颜色
-        jsonObject.put("EngineId", "");//发送机号(以机动车行驶证为准)
-        jsonObject.put("VIN", "");//车辆VIN码(以机动车行驶证为准)
-        jsonObject.put("CertifyDateA", 0);//车辆注册日期(以机动车行驶证为准)
-        jsonObject.put("FuelType", "");//车辆燃料类型
-        jsonObject.put("EngineDisplace", "");//发送机排量(毫升)
-        jsonObject.put("PhotoId", "");//车辆照片文件编号
-        jsonObject.put("Certificate", "");//运输证字号
-        jsonObject.put("TransAgency", "");//车辆运输证发证机构
-        jsonObject.put("TransArea", "");//车辆经营区域
-        jsonObject.put("TransDateStart", 0);//车辆运输证有效期起YYYYMMDD
-        jsonObject.put("TransDateStop", 0);//车辆运输证有效期止YYYYMMDD
-        jsonObject.put("CertifyDateB", 0);//车辆初次登记日期
-        jsonObject.put("FixState", "");//车辆维修状态(0:未检修,1:已检修,2:未知)
-        jsonObject.put("NextFixDate", 0);//车辆下次年检时间
-        jsonObject.put("CheckState", "");//车辆年度审验状态
-        jsonObject.put("FeePrintId", "");//发票打印设备序列号
-        jsonObject.put("GPSBrand", "");//卫星定位装置品牌
-        jsonObject.put("GPSModel", "");//卫星定位装置型号
-        jsonObject.put("GPSIMEI", "");//卫星定位装置IMEI号
-        jsonObject.put("GPSInstallDate", 0);//卫星定位设备安装日期YYYYMMDD
-        jsonObject.put("RegisterDate", 0);//报备日期(车辆信息向服务所在地出租车行政主管部门报备日期YYYYMMDD)
-        jsonObject.put("CommercialType", 0);//服务类型(1:网络预约出租车,2:巡游出租汽车,3:私人小客车合乘)
-        jsonObject.put("FareType", "");//运价类型编码(与云间信息中一一对应)
-
-        jsonObject.put("State", 0);//状态(0:有效,1:失效)
-        jsonObject.put("Flag", 2);//操作标识(1:新增,2:更新,3:删除)
-        jsonObject.put("UpdateTime", Long.valueOf(sdf.format(new Date())));
-
-        data.put("CompanyId", CompanyId);
-        data.put("Source", Source);
-        data.put("IPCType", IPCType);
-        data.put("baseInfoCompany", jsonObject);
-        String s = httpClientUtil.pushHttpRequset("POST", path, data, null, "json");
-        System.err.println(s);
-    }
-
-
-    /**
-     * 车辆保险信息
-     */
-    public void baseInfoVehicleInsurance(){
-        String IPCType = "baseInfoVehicleInsurance";
-        String path = url + "/baseinfo/vehicleinsurance";
-        Map<String, Object> data = new HashMap<>();
-        JSONObject jsonObject = new JSONObject();
-        jsonObject.put("CompanyId", CompanyId);
-        jsonObject.put("VehicleNo", "");//车辆号牌
-        jsonObject.put("InsurCom", "");//保险公司名称
-        jsonObject.put("InsurNum", "");//保险号
-        jsonObject.put("InsurType", "");//保险类型
-        jsonObject.put("InsurCount", 0);//保险金额(元)
-        jsonObject.put("InsurEff", 0);//保险生效时间YYYYMMDD
-        jsonObject.put("InsurExp", 0);//保险到期时间YYYYMMDD
-
-        jsonObject.put("Flag", 1);//操作标识(1:新增,2:更新,3:删除)
-        jsonObject.put("UpdateTime", Long.valueOf(sdf.format(new Date())));
-
-        data.put("CompanyId", CompanyId);
-        data.put("Source", Source);
-        data.put("IPCType", IPCType);
-        data.put("baseInfoCompany", jsonObject);
-        String s = httpClientUtil.pushHttpRequset("POST", path, data, null, "json");
-        System.err.println(s);
-    }
-
-
-    /**
-     * 网约车车辆里程信息
-     */
-    public void baseInfoVehicleTotalMile(){
-        String IPCType = "baseInfoVehicleTotalMile";
-        String path = url + "/baseinfo/vehicletotalmile";
-        Map<String, Object> data = new HashMap<>();
-        JSONObject jsonObject = new JSONObject();
-        jsonObject.put("CompanyId", CompanyId);
-        jsonObject.put("Address", 450204);//注册地行政区划代码
-        jsonObject.put("VehicleNo", "");//车辆号牌
-        jsonObject.put("TotalMile", 0);//行驶总里程(km)
-
-        jsonObject.put("Flag", 1);//操作标识(1:新增,2:更新,3:删除)
-        jsonObject.put("UpdateTime", Long.valueOf(sdf.format(new Date())));
-
-        data.put("CompanyId", CompanyId);
-        data.put("Source", Source);
-        data.put("IPCType", IPCType);
-        data.put("baseInfoCompany", jsonObject);
-        String s = httpClientUtil.pushHttpRequset("POST", path, data, null, "json");
-        System.err.println(s);
-    }
-
-
-    /**
-     * 驾驶员基本信息
-     */
-    public void baseInfoDriver(){
-        String IPCType = "baseInfoDriver";
-        String path = url + "/baseinfo/driver";
-        Map<String, Object> data = new HashMap<>();
-        JSONObject jsonObject = new JSONObject();
-        jsonObject.put("CompanyId", CompanyId);
-        jsonObject.put("Address", 450204);//注册地行政区划代码
-        jsonObject.put("DriverName", "");//机动车驾驶员姓名
-        jsonObject.put("DriverPhone", "");//驾驶员手机号
-        jsonObject.put("DriverGender", "");//驾驶员性别
-        jsonObject.put("DriverBirthday", 0);//出生日期YYYYMMDD
-        jsonObject.put("DriverNationality", "");//国籍
-        jsonObject.put("DriverNation", "");//驾驶员民族
-        jsonObject.put("DriverMaritalStatus", "");//驾驶员婚姻状况(未婚,已婚,离异)
-        jsonObject.put("DriverLanguageLevel", "");//驾驶员外语能力
-        jsonObject.put("DriverEducation", "");//驾驶员学历
-        jsonObject.put("DriverCensus", "");//户口登记机关名称
-        jsonObject.put("DriverAddress", "");//户口住址或长住地址
-        jsonObject.put("DriverContactAddress", "");//驾驶员通信地址
-        jsonObject.put("PhotoId", "");//驾驶员照片文件编号
-        jsonObject.put("LicenseId", "");//机动车驾驶证号
-        jsonObject.put("LicensePhotoId", "");//机动车驾驶证扫描件文件编号
-        jsonObject.put("DriverType", "");//准驾车型
-        jsonObject.put("GetDriverLicenseDate", 0);//初次领取驾驶证日期YYYYMMDD
-        jsonObject.put("DriverLicenseOn", 0);//驾驶证有效期限起YYYYMMDD
-        jsonObject.put("DriverLicenseOff", 0);//驾驶证有效期限止YYYYMMDD
-        jsonObject.put("TaxiDriver", 0);//是否巡游出租汽车驾驶员(1:是,2:否)
-        jsonObject.put("CertificateNo", "");//网络预约出租汽车驾驶员资格证号
-        jsonObject.put("NetworkCarIssueOrganization", "");//网络预约出租汽车驾驶员证发证机构
-        jsonObject.put("NetworkCarIssueDate", 0);//资格证发证日期YYYYMMDD
-        jsonObject.put("GetNetworkCarProofDate", 0);//初次领取资格证日期YYYYMMDD
-        jsonObject.put("NetworkCarProofOn", 0);//资格证有效起始日期YYYYMMDD
-        jsonObject.put("NetworkCarProofOff", 0);//资格证有截止日期YYYYMMDD
-        jsonObject.put("RegisterDate", 0);//报备日期(驾驶员信息向服务所在地出租车行政主管部门报备日期)
-        jsonObject.put("FullTimeDriver", 0);//是否专职驾驶员(1:是,0:否)
-        jsonObject.put("InDriverBlacklist", 0);//是否在驾驶员黑名单内(1:是,0:否)
-        jsonObject.put("CommercialType", 0);//服务类型(1:网络预约出租汽车,2:巡游出租汽车,3:私人小客车合乘)
-        jsonObject.put("ContractCompany", "");//驾驶员合同签署公司
-        jsonObject.put("ContractOn", 0);//合同有效期起YYYYMMDD
-        jsonObject.put("ContractOff", 0);//合同有效期止YYYYMMDD
-        jsonObject.put("EmergencyContact", "");//紧急情况联系人
-        jsonObject.put("EmergencyContactPhone", "");//紧急情况联系人电话
-        jsonObject.put("EmergencyContactAddress", "");//紧急情况联系人通信地址
-
-        jsonObject.put("State", 0);//状态(0:有效,1:失效)
-        jsonObject.put("Flag", 1);//操作标识(1:新增,2:更新,3:删除)
-        jsonObject.put("UpdateTime", Long.valueOf(sdf.format(new Date())));
-
-        data.put("CompanyId", CompanyId);
-        data.put("Source", Source);
-        data.put("IPCType", IPCType);
-        data.put("baseInfoCompany", jsonObject);
-        String s = httpClientUtil.pushHttpRequset("POST", path, data, null, "json");
-        System.err.println(s);
-    }
-
-
-    /**
-     * 网约车驾驶员培训信息
-     */
-    public void baseInfoDriverEducate(){
-        String IPCType = "baseInfoDriverEducate";
-        String path = url + "/baseinfo/drivereducate";
-        Map<String, Object> data = new HashMap<>();
-        JSONObject jsonObject = new JSONObject();
-        jsonObject.put("CompanyId", CompanyId);
-        jsonObject.put("Address", 450204);//注册地行政区划代码
-        jsonObject.put("LicenseId", "");//机动车驾驶证号
-        jsonObject.put("CourseName", "");//驾驶员培训课程名称
-        jsonObject.put("CourseDate", 0);//培训课程日期YYYYMMDD
-        jsonObject.put("StartTime", "");//培训开始时间
-        jsonObject.put("StopTime", "");//培训结束时间
-        jsonObject.put("Duration", 0);//培训时长
-
-        jsonObject.put("Flag", 1);//操作标识(1:新增,2:更新,3:删除)
-        jsonObject.put("UpdateTime", Long.valueOf(sdf.format(new Date())));
-
-        data.put("CompanyId", CompanyId);
-        data.put("Source", Source);
-        data.put("IPCType", IPCType);
-        data.put("baseInfoCompany", jsonObject);
-        String s = httpClientUtil.pushHttpRequset("POST", path, data, null, "json");
-        System.err.println(s);
-    }
-
-
-    /**
-     * 驾驶员移动终端信息
-     */
-    public void baseInfoDriverApp(){
-        String IPCType = "baseInfoDriverApp";
-        String path = url + "/baseinfo/driverapp";
-        Map<String, Object> data = new HashMap<>();
-        JSONObject jsonObject = new JSONObject();
-        jsonObject.put("CompanyId", CompanyId);
-        jsonObject.put("Address", 450204);//注册地行政区划代码
-        jsonObject.put("LicenseId", "");//机动车驾驶证号
-        jsonObject.put("DriverPhone", "");//驾驶员手机号
-        jsonObject.put("NetType", 0);//手机运营商(1:中国联通,2:中国移动,3:中国电信,4:其他)
-        jsonObject.put("AppVersion", "");//使用APP版本号
-        jsonObject.put("MapType", 0);//使用地图类型(1:百度地图,2:高德地图,3:其他)
-
-        jsonObject.put("State", 0);//状态(0:有效,1:失效)
-        jsonObject.put("Flag", 1);//操作标识(1:新增,2:更新,3:删除)
-        jsonObject.put("UpdateTime", Long.valueOf(sdf.format(new Date())));
-
-        data.put("CompanyId", CompanyId);
-        data.put("Source", Source);
-        data.put("IPCType", IPCType);
-        data.put("baseInfoCompany", jsonObject);
-        String s = httpClientUtil.pushHttpRequset("POST", path, data, null, "json");
-        System.err.println(s);
-    }
-
-
-    /**
-     * 驾驶员统计信息
-     */
-    public void baseInfoDriverStat(){
-        String IPCType = "baseInfoDriverStat";
-        String path = url + "/baseinfo/driverstat";
-        Map<String, Object> data = new HashMap<>();
-        JSONObject jsonObject = new JSONObject();
-        jsonObject.put("CompanyId", CompanyId);
-        jsonObject.put("Address", 450204);//注册地行政区划代码
-        jsonObject.put("LicenseId", "");//机动车驾驶证号
-        jsonObject.put("Cycle", 0);//统计周期(统计周期按月,内容填写统计月份YYYYMM)
-        jsonObject.put("OrderCount", 0);//完成订单次数
-        jsonObject.put("TrafficViolationCount", 0);//交通违章次数
-        jsonObject.put("ComplainedCount", 0);//被投诉次数
-
-        jsonObject.put("Flag", 1);//操作标识(1:新增,2:更新,3:删除)
-        jsonObject.put("UpdateTime", Long.valueOf(sdf.format(new Date())));
-
-        data.put("CompanyId", CompanyId);
-        data.put("Source", Source);
-        data.put("IPCType", IPCType);
-        data.put("baseInfoCompany", jsonObject);
-        String s = httpClientUtil.pushHttpRequset("POST", path, data, null, "json");
-        System.err.println(s);
-    }
-
-
-    /**
-     * 乘客基本信息
-     */
-    public void baseInfoPassenger(){
-        String IPCType = "baseInfoPassenger";
-        String path = url + "/baseinfo/passenger";
-        Map<String, Object> data = new HashMap<>();
-        JSONObject jsonObject = new JSONObject();
-        jsonObject.put("CompanyId", CompanyId);
-        jsonObject.put("RegisterDate", 0);//注册日期YYYYMMDD
-        jsonObject.put("PassengerPhone", "");//乘客手机号
-        jsonObject.put("PassengerName", "");//乘客称谓
-        jsonObject.put("PassengerGender", "");//乘客性别
-
-        jsonObject.put("State", 0);//状态(0:有效,1:失效)
-        jsonObject.put("Flag", 1);//操作标识(1:新增,2:更新,3:删除)
-        jsonObject.put("UpdateTime", Long.valueOf(sdf.format(new Date())));
-
-        data.put("CompanyId", CompanyId);
-        data.put("Source", Source);
-        data.put("IPCType", IPCType);
-        data.put("baseInfoCompany", jsonObject);
-        String s = httpClientUtil.pushHttpRequset("POST", path, data, null, "json");
-        System.err.println(s);
-    }
-
-
-    /**
-     * 订单发起接口
-     */
-    public void orderCreate(){
-        String IPCType = "orderCreate";
-        String path = url + "/order/create";
-        Map<String, Object> data = new HashMap<>();
-        JSONObject jsonObject = new JSONObject();
-        jsonObject.put("CompanyId", CompanyId);
-        jsonObject.put("Address", 0);//发起第行政区划代码
-        jsonObject.put("OrderId", "");//订单编号
-        jsonObject.put("DepartTime", 0);//预计用车时间YYYYMMDDhhmmss
-        jsonObject.put("OrderTime", 0);//订单发起时间YYYYMMDDhhmmss
-        jsonObject.put("PassengerNote", "");//乘客备注
-        jsonObject.put("Departure", "");//预计出发地点详细地址
-        jsonObject.put("DepLongitude", 0);//预计出发地点经度
-        jsonObject.put("DepLatitude", 0);//预计出发地点纬度
-        jsonObject.put("Destination", "");//预计目的地
-        jsonObject.put("DestLongitude", 0);//预计目的地经度
-        jsonObject.put("DestLatitude", 0);//预计目的地纬度
-        jsonObject.put("Encrypt", 0);//坐标加密标识(1:GCJ-02测绘局标准,2:WGS84 GPS标准,3:BD-09百度标准,4:CGCS2000北斗标准,0:其他)
-        jsonObject.put("FareType", "");//运价类型编码
-
-        data.put("CompanyId", CompanyId);
-        data.put("Source", Source);
-        data.put("IPCType", IPCType);
-        data.put("baseInfoCompany", jsonObject);
-        String s = httpClientUtil.pushHttpRequset("POST", path, data, null, "json");
-        System.err.println(s);
-    }
-
-
-    /**
-     * 订单成功接口
-     */
-    public void orderMatch(){
-        String IPCType = "orderMatch";
-        String path = url + "/order/match";
-        Map<String, Object> data = new HashMap<>();
-        JSONObject jsonObject = new JSONObject();
-        jsonObject.put("CompanyId", CompanyId);
-        jsonObject.put("Address", 0);//发起第行政区划代码
-        jsonObject.put("OrderId", "");//订单编号
-        jsonObject.put("Longitude", 0);//车辆经度
-        jsonObject.put("Latitude", 0);//车辆纬度
-        jsonObject.put("Encrypt", 0);//坐标加密标识(1:GCJ-02测绘局标准,2:WGS84 GPS标准,3:BD-09百度标准,4:CGCS2000北斗标准,0:其他)
-        jsonObject.put("LicenseId", "");//机动车驾驶证编号
-        jsonObject.put("DriverPhone", "");//驾驶员手机号
-        jsonObject.put("VehicleNo", "");//车辆号牌
-        jsonObject.put("DistributeTime", 0);//派单成功时间YYYYMMDDhhmmss
-
-        data.put("CompanyId", CompanyId);
-        data.put("Source", Source);
-        data.put("IPCType", IPCType);
-        data.put("baseInfoCompany", jsonObject);
-        String s = httpClientUtil.pushHttpRequset("POST", path, data, null, "json");
-        System.err.println(s);
-    }
-
-
-    /**
-     * 订单撤销接口
-     */
-    public void orderCancel(){
-        String IPCType = "orderCancel";
-        String path = url + "/order/cancel";
-        Map<String, Object> data = new HashMap<>();
-        JSONObject jsonObject = new JSONObject();
-        jsonObject.put("CompanyId", CompanyId);
-        jsonObject.put("Address", 0);//上车地点行政区划代码
-        jsonObject.put("OrderId", "");//订单编号
-        jsonObject.put("OrderTime", 0);//订单时间YYYYMMDDhhmmss
-        jsonObject.put("CancelTime", 0);//订单撤销时间YYYYMMDDhhmmss
-        jsonObject.put("Operator", "");//撤销发起方(1:乘客,2:驾驶员,3:平台公司)
-        jsonObject.put("CancelTypeCode", "");//机动车驾驶证编号
-        jsonObject.put("DriverPhone", "");//撤销类型代码(1:乘客提前撤销,2:驾驶员提前撤销,3:平台公司撤销,4:乘客违约撤销,5:驾驶员违约撤销)
-        jsonObject.put("CancelReason", "");//撤销或违约原因
-
-        data.put("CompanyId", CompanyId);
-        data.put("Source", Source);
-        data.put("IPCType", IPCType);
-        data.put("baseInfoCompany", jsonObject);
-        String s = httpClientUtil.pushHttpRequset("POST", path, data, null, "json");
-        System.err.println(s);
-    }
-
-
-    /**
-     * 车辆经营上线接口
-     */
-    public void operateLogin(){
-        String IPCType = "operateLogin";
-        String path = url + "/operate/login";
-        Map<String, Object> data = new HashMap<>();
-        JSONObject jsonObject = new JSONObject();
-        jsonObject.put("CompanyId", CompanyId);
-        jsonObject.put("LicenseId", "");//机动车驾驶证号
-        jsonObject.put("VehicleNo", "");//车辆号牌
-        jsonObject.put("LoginTime", 0);//车辆经营上线时间YYYYMMDDhhmmss
-        jsonObject.put("Longitude", 0);//上线经度
-        jsonObject.put("Latitude", 0);//上线纬度
-        jsonObject.put("Encrypt", 0);//坐标加密标识(1:GCJ-02测绘局标准,2:WGS84 GPS标准,3:BD-09百度标准,4:CGCS2000北斗标准,0:其他)
-
-        data.put("CompanyId", CompanyId);
-        data.put("Source", Source);
-        data.put("IPCType", IPCType);
-        data.put("baseInfoCompany", jsonObject);
-        String s = httpClientUtil.pushHttpRequset("POST", path, data, null, "json");
-        System.err.println(s);
-    }
-
-
-    /**
-     * 车辆经营下线接口
-     */
-    public void operateLogout(){
-        String IPCType = "operateLogout";
-        String path = url + "/operate/logout";
-        Map<String, Object> data = new HashMap<>();
-        JSONObject jsonObject = new JSONObject();
-        jsonObject.put("CompanyId", CompanyId);
-        jsonObject.put("LicenseId", "");//机动车驾驶证号
-        jsonObject.put("VehicleNo", "");//车辆号牌
-        jsonObject.put("LoginTime", 0);//车辆经营下线时间YYYYMMDDhhmmss
-        jsonObject.put("Longitude", 0);//下线经度
-        jsonObject.put("Latitude", 0);//下线纬度
-        jsonObject.put("Encrypt", 0);//坐标加密标识(1:GCJ-02测绘局标准,2:WGS84 GPS标准,3:BD-09百度标准,4:CGCS2000北斗标准,0:其他)
-
-        data.put("CompanyId", CompanyId);
-        data.put("Source", Source);
-        data.put("IPCType", IPCType);
-        data.put("baseInfoCompany", jsonObject);
-        String s = httpClientUtil.pushHttpRequset("POST", path, data, null, "json");
-        System.err.println(s);
-    }
-
-
-    /**
-     * 经营出发接口
-     */
-    public void operateDepart(){
-        String IPCType = "operateDepart";
-        String path = url + "/operate/depart";
-        Map<String, Object> data = new HashMap<>();
-        JSONObject jsonObject = new JSONObject();
-        jsonObject.put("CompanyId", CompanyId);
-        jsonObject.put("OrderId", "");//订单号
-        jsonObject.put("LicenseId", "");//机动车驾驶证号
-        jsonObject.put("FareType", "");//运价类型编码
-        jsonObject.put("VehicleNo", "");//车辆号牌
-        jsonObject.put("DepLongitude", 0);//车辆出发经度
-        jsonObject.put("DepLatitude", 0);//车辆出发纬度
-        jsonObject.put("Encrypt", 0);//坐标加密标识(1:GCJ-02测绘局标准,2:WGS84 GPS标准,3:BD-09百度标准,4:CGCS2000北斗标准,0:其他)
-        jsonObject.put("DepTime", 0);//上车时间YYYYMMDDhhmmss
-        jsonObject.put("WaitMile", 0);//空驶里程(km)
-        jsonObject.put("WaitTime", 0);//等待时间(秒)
-
-        data.put("CompanyId", CompanyId);
-        data.put("Source", Source);
-        data.put("IPCType", IPCType);
-        data.put("baseInfoCompany", jsonObject);
-        String s = httpClientUtil.pushHttpRequset("POST", path, data, null, "json");
-        System.err.println(s);
-    }
-
-
-    /**
-     * 经营到达接口
-     */
-    public void operateArrive(){
-        String IPCType = "operateArrive";
-        String path = url + "/operate/arrive";
-        Map<String, Object> data = new HashMap<>();
-        JSONObject jsonObject = new JSONObject();
-        jsonObject.put("CompanyId", CompanyId);
-        jsonObject.put("OrderId", "");//订单号
-        jsonObject.put("DestLongitude", 0);//车辆到达经度
-        jsonObject.put("DestLatitude", 0);//车辆到达纬度
-        jsonObject.put("Encrypt", 0);//坐标加密标识(1:GCJ-02测绘局标准,2:WGS84 GPS标准,3:BD-09百度标准,4:CGCS2000北斗标准,0:其他)
-        jsonObject.put("DestTime", 0);//下车时间YYYYMMDDhhmmss
-        jsonObject.put("DriveMile", 0);//载客里程(km)
-        jsonObject.put("DriveTime", 0);//载客时间(秒)
-
-        data.put("CompanyId", CompanyId);
-        data.put("Source", Source);
-        data.put("IPCType", IPCType);
-        data.put("baseInfoCompany", jsonObject);
-        String s = httpClientUtil.pushHttpRequset("POST", path, data, null, "json");
-        System.err.println(s);
-    }
-
-
-    /**
-     * 经营支付接口
-     */
-    public void operatePay(){
-        String IPCType = "operatePay";
-        String path = url + "/operate/pay";
-        Map<String, Object> data = new HashMap<>();
-        JSONObject jsonObject = new JSONObject();
-        jsonObject.put("CompanyId", CompanyId);
-        jsonObject.put("OrderId", "");//订单号
-        jsonObject.put("OnArea", 0);//上车位置行政区划代码
-        jsonObject.put("DriverName", "");//机动车驾驶员
-        jsonObject.put("LicenseId", "");//机动车驾驶证号
-        jsonObject.put("FareType", "");//运价类型编码(由网约车公司定义,与运价信息接口保持一街)
-        jsonObject.put("VehicleNo", "");//车辆号牌
-        jsonObject.put("BookDepTime", 0);//预计上车时间YYYYMMDDhhmmss
-        jsonObject.put("WaitTime", 0);//等待时间(秒)
-        jsonObject.put("DepLongitude", 0);//车辆出发经度
-        jsonObject.put("DepLatitude", 0);//车辆出发纬度
-        jsonObject.put("DepArea", "");//上车点
-        jsonObject.put("DepTime", 0);//上车时间YYYYMMDDhhmmss
-        jsonObject.put("DestLongitude", 0);//车辆到达经度
-        jsonObject.put("DestLatitude", 0);//车辆到达纬度
-        jsonObject.put("DestArea", "");//下车地点
-        jsonObject.put("DestTime", 0);//下车时间YYYYMMDDhhmmss
-        jsonObject.put("BookModel", "");//预定车型
-        jsonObject.put("DriveMile", 0);//载客里程(km)
-        jsonObject.put("DriveTime", 0);//载客时间(秒)
-        jsonObject.put("WaitMile", 0);//空驶里程(km)
-        jsonObject.put("FactPrice", 0);//实收金额(元)
-        jsonObject.put("Price", 0);//应收金额(元)
-        jsonObject.put("CashPrice", 0);//现金支付金额(元)
-        jsonObject.put("LineName", "");//电子支付机构
-        jsonObject.put("LinePrice", 0);//电子支付金额(元)
-        jsonObject.put("PosName", "");//POS机支付机构
-        jsonObject.put("PosPrice", 0);//POS机支付金额(元)
-        jsonObject.put("BenfitPrice", 0);//优惠金额(元)
-        jsonObject.put("BookTip", 0);//预约服务费(元)
-        jsonObject.put("PassengerTip", 0);//附加费(元)
-        jsonObject.put("PeakUpPrice", 0);//高峰时段时间加价金额(元)
-        jsonObject.put("NightUpPrice", 0);//夜间时段里程加价金额(元)
-        jsonObject.put("FarUpPrice", 0);//远途加价金额(元)
-        jsonObject.put("OtherUpPrice", 0);//其他加价金额(元)
-        jsonObject.put("PayState", "");//结算状态(0:未结算,1:已结算,2:未知)
-        jsonObject.put("PayTime", 0);//乘客结算时间YYYYMMDDhhmmss
-        jsonObject.put("OrderMatchTime", 0);//订单完成时间YYYYMMDDhhmmss
-        jsonObject.put("InvoiceStatus", "");//发票状态(0:未开票,1:已开票,2:未知)
-
-        data.put("CompanyId", CompanyId);
-        data.put("Source", Source);
-        data.put("IPCType", IPCType);
-        data.put("baseInfoCompany", jsonObject);
-        String s = httpClientUtil.pushHttpRequset("POST", path, data, null, "json");
-        System.err.println(s);
-    }
-
-
-    /**
-     * 驾驶员定位信息
-     */
-    public void positionDriver(){
-        String IPCType = "positionDriver";
-        String path = url + "/position/driver";
-        Map<String, Object> data = new HashMap<>();
-        JSONObject jsonObject = new JSONObject();
-        jsonObject.put("CompanyId", CompanyId);
-        jsonObject.put("LicenseId", "");//机动车驾驶证号
-        jsonObject.put("DriverRegionCode", 0);//行政区划代码
-        jsonObject.put("VehicleNo", "");//车辆号牌
-        jsonObject.put("PositionTime", 0);//定位时间(时间戳)
-        jsonObject.put("Longitude", 0);//经度
-        jsonObject.put("Latitude", 0);//纬度
-        jsonObject.put("Encrypt", 0);//坐标加密标识(1:GCJ-02测绘局标准,2:WGS84 GPS标准,3:BD-09百度标准,4:CGCS2000北斗标准,0:其他)
-        jsonObject.put("Direction", 0);//方向角
-        jsonObject.put("Elevation", 0);//海拔高度
-        jsonObject.put("Speed", 0);//瞬时速度(km/h)
-        jsonObject.put("BizStatus", 0);//营运状态(1:载客,2:接单,3:空驶,4:停运)
-        jsonObject.put("OrderId", "");//订单编号
-
-        data.put("CompanyId", CompanyId);
-        data.put("Source", Source);
-        data.put("IPCType", IPCType);
-        data.put("baseInfoCompany", jsonObject);
-        String s = httpClientUtil.pushHttpRequset("POST", path, data, null, "json");
-        System.err.println(s);
-    }
-
-
-    /**
-     * 车辆定位信息
-     */
-    public void positionVehicle(){
-        String IPCType = "positionVehicle";
-        String path = url + "/position/vehicle";
-        Map<String, Object> data = new HashMap<>();
-        JSONObject jsonObject = new JSONObject();
-        jsonObject.put("CompanyId", CompanyId);
-        jsonObject.put("VehicleNo", "");//车辆号牌
-        jsonObject.put("VehicleRegionCode", 0);//行政区划代码
-        jsonObject.put("PositionTime", 0);//定位时间(时间戳)
-        jsonObject.put("Longitude", 0);//经度
-        jsonObject.put("Latitude", 0);//纬度
-        jsonObject.put("Speed", 0);//瞬时速度(km/h)
-        jsonObject.put("Direction", 0);//方向角
-        jsonObject.put("Elevation", 0);//海拔高度
-        jsonObject.put("Mileage", 0);//行驶里程(KM)
-        jsonObject.put("Encrypt", 0);//坐标加密标识(1:GCJ-02测绘局标准,2:WGS84 GPS标准,3:BD-09百度标准,4:CGCS2000北斗标准,0:其他)
-        jsonObject.put("WarnStatus", 0);//预警状态
-        jsonObject.put("VehStatus", 0);//车辆状态
-        jsonObject.put("BizStatus", 0);//营运状态(1:载客,2:接单,3:空驶,4:停运)
-        jsonObject.put("OrderId", "");//订单编号(非营运状态下填"0")
-
-        data.put("CompanyId", CompanyId);
-        data.put("Source", Source);
-        data.put("IPCType", IPCType);
-        data.put("baseInfoCompany", jsonObject);
-        String s = httpClientUtil.pushHttpRequset("POST", path, data, null, "json");
-        System.err.println(s);
-    }
-
-
-    /**
-     * 乘客评价信息
-     */
-    public void ratedPassenger(){
-        String IPCType = "ratedPassenger";
-        String path = url + "/rated/passenger";
-        Map<String, Object> data = new HashMap<>();
-        JSONObject jsonObject = new JSONObject();
-        jsonObject.put("CompanyId", CompanyId);
-        jsonObject.put("OrderId", "");//订单号
-        jsonObject.put("EvaluateTime", 0);//评价时间YYYYMMDDhhmms
-        jsonObject.put("ServiceScore", 0);//服务满意度(五分制)
-        jsonObject.put("DriverScore", 0);//驾驶员满意度(五分制)
-        jsonObject.put("VehicleScore", 0);//车辆满意度(五分制)
-        jsonObject.put("Detail", "");//评价内容
-
-        data.put("CompanyId", CompanyId);
-        data.put("Source", Source);
-        data.put("IPCType", IPCType);
-        data.put("baseInfoCompany", jsonObject);
-        String s = httpClientUtil.pushHttpRequset("POST", path, data, null, "json");
-        System.err.println(s);
-    }
-
-
-    /**
-     * 乘客投诉信息
-     */
-    public void ratedPassengerComplaint(){
-        String IPCType = "ratedPassengerComplaint";
-        String path = url + "/rated/passengercomplaint";
-        Map<String, Object> data = new HashMap<>();
-        JSONObject jsonObject = new JSONObject();
-        jsonObject.put("CompanyId", CompanyId);
-        jsonObject.put("OrderId", "");//订单号
-        jsonObject.put("ComplaintTime", 0);//投诉时间YYYYMMDDhhmms
-        jsonObject.put("Detail", "");//投诉内容
-        jsonObject.put("Result", "");//处理结果
-
-        data.put("CompanyId", CompanyId);
-        data.put("Source", Source);
-        data.put("IPCType", IPCType);
-        data.put("baseInfoCompany", jsonObject);
-        String s = httpClientUtil.pushHttpRequset("POST", path, data, null, "json");
-        System.err.println(s);
-    }
-
-    /**
-     * 驾驶员处罚信息
-     */
-    public void ratedDriverPunish(){
-        String IPCType = "ratedDriverPunish";
-        String path = url + "/rated/driverpunish";
-        Map<String, Object> data = new HashMap<>();
-        JSONObject jsonObject = new JSONObject();
-        jsonObject.put("CompanyId", CompanyId);
-        jsonObject.put("LicenseId", "");//机动车驾驶证编号
-        jsonObject.put("PunishTime", 0);//处罚时间YYYYMMDDhhmms
-        jsonObject.put("PunishReason", "");//处罚原因
-        jsonObject.put("PunishReault", "");//处罚结果
-
-        data.put("CompanyId", CompanyId);
-        data.put("Source", Source);
-        data.put("IPCType", IPCType);
-        data.put("baseInfoCompany", jsonObject);
-        String s = httpClientUtil.pushHttpRequset("POST", path, data, null, "json");
-        System.err.println(s);
-    }
-
-
-    /**
-     * 驾驶员信誉信息
-     */
-    public void ratedDriver(){
-        String IPCType = "ratedDriver";
-        String path = url + "/rated/driver";
-        Map<String, Object> data = new HashMap<>();
-        JSONObject jsonObject = new JSONObject();
-        jsonObject.put("CompanyId", CompanyId);
-        jsonObject.put("LicenseId", "");//机动车驾驶证编号
-        jsonObject.put("Level", 0);//服务质量信誉等级(五分制)
-        jsonObject.put("TestDate", 0);//服务质量信誉考核日期YYYYMMDD
-        jsonObject.put("TestDepartment", "");//服务质量信誉考核机构
-
-        data.put("CompanyId", CompanyId);
-        data.put("Source", Source);
-        data.put("IPCType", IPCType);
-        data.put("baseInfoCompany", jsonObject);
-        String s = httpClientUtil.pushHttpRequset("POST", path, data, null, "json");
-        System.err.println(s);
-    }
-
-
-    /**
-     * 私人小客车合乘信息服务平台基本信息
-     */
-    public void shareCompany(){
-        String IPCType = "shareCompany";
-        String path = url + "/share/company";
-        Map<String, Object> data = new HashMap<>();
-        JSONObject jsonObject = new JSONObject();
-        jsonObject.put("CompanyId", CompanyId);
-        jsonObject.put("CompanyName", "");//公司名称
-        jsonObject.put("Identifier", "");//统一社会信用代码
-        jsonObject.put("Address", 0);//注册地行政区划代码
-        jsonObject.put("ContactAddress", "");//通信地址
-        jsonObject.put("EconomicType", "");//经营业户经济类型
-        jsonObject.put("LegalName", "");//法人代表姓名(按照营业执照填写)
-        jsonObject.put("LegalPhone", "");//法人代表电话
-        jsonObject.put("State", 0);//状态(0:有效,1:失效)
-        jsonObject.put("Flag", 1);//操作标识(1:新增,2:更新,3:删除)
-        jsonObject.put("UpdateTime", 1);//更新时间YYYYMMDDhhmmss
-
-        data.put("CompanyId", CompanyId);
-        data.put("Source", Source);
-        data.put("IPCType", IPCType);
-        data.put("baseInfoCompany", jsonObject);
-        String s = httpClientUtil.pushHttpRequset("POST", path, data, null, "json");
-        System.err.println(s);
-    }
-
-    /**
-     * 私人小客车合乘驾驶员行程发布接口
-     */
-    public void shareRoute(){
-        String IPCType = "shareRoute";
-        String path = url + "/share/route";
-        Map<String, Object> data = new HashMap<>();
-        JSONObject jsonObject = new JSONObject();
-        jsonObject.put("CompanyId", CompanyId);
-        jsonObject.put("Address", 0);//行政区划代码
-        jsonObject.put("RouteId", "");//驾驶员发起行程编号
-        jsonObject.put("DriverName", "");//驾驶员姓名
-        jsonObject.put("DriverPhone", "");//驾驶员手机号
-        jsonObject.put("LicenseId", "");//机动车驾驶证号
-        jsonObject.put("VehicleNo", "");//车辆号牌
-        jsonObject.put("Departure", "");//行程出发地点
-        jsonObject.put("DepLongitude", 0);//车辆出发经度
-        jsonObject.put("DepLatitude", 0);//车辆出发纬度
-        jsonObject.put("Destination", "");//行程到达地点
-        jsonObject.put("DestLongitude", 0);//到达地经度
-        jsonObject.put("DestLatitude", 0);//到达纬度
-        jsonObject.put("Encrypt", 0);//坐标加密标识(1:GCJ-02测绘局标准,2:WGS84 GPS标准,3:BD-09百度标准,4:CGCS2000北斗标准,0:其他)
-        jsonObject.put("RouteCreateTime", 0);//行程发布时间YYYYMMDDhhmmss
-        jsonObject.put("RouteMile", 0);//行程预计里程(km)
-        jsonObject.put("RouteNote", "");//行程备注
-
-        data.put("CompanyId", CompanyId);
-        data.put("Source", Source);
-        data.put("IPCType", IPCType);
-        data.put("baseInfoCompany", jsonObject);
-        String s = httpClientUtil.pushHttpRequset("POST", path, data, null, "json");
-        System.err.println(s);
-    }
-
-
-    /**
-     * 此人小客车合乘订单接口
-     */
-    public void shareOrder(){
-        String IPCType = "shareOrder";
-        String path = url + "/share/order";
-        Map<String, Object> data = new HashMap<>();
-        JSONObject jsonObject = new JSONObject();
-        jsonObject.put("CompanyId", CompanyId);
-        jsonObject.put("Address", 0);//行政区划代码
-        jsonObject.put("RouteId", "");//驾驶员发起行程编号
-        jsonObject.put("OrderId", "");//乘客合乘订单号
-        jsonObject.put("BookDepartTime", 0);//预计上车时间YYYYMMDDhhmmss
-        jsonObject.put("Departure", "");//预计上车地点
-        jsonObject.put("DepLongitude", 0);//预计上车地点经度
-        jsonObject.put("DepLatitude", 0);//预计上车地点纬度
-        jsonObject.put("Destination", "");//预计下车地点
-        jsonObject.put("DestLongitude", 0);//预计下车地点经度
-        jsonObject.put("DestLatitude", 0);//预计下车地点纬度
-        jsonObject.put("Encrypt", 0);//坐标加密标识(1:GCJ-02测绘局标准,2:WGS84 GPS标准,3:BD-09百度标准,4:CGCS2000北斗标准,0:其他)
-        jsonObject.put("OrderEnsureTime", 0);//订单确认时间YYYYMMDDhhmmss
-        jsonObject.put("PassengerNum", 0);//乘客人数
-        jsonObject.put("PassengerNote", "");//乘客备注
-
-        data.put("CompanyId", CompanyId);
-        data.put("Source", Source);
-        data.put("IPCType", IPCType);
-        data.put("baseInfoCompany", jsonObject);
-        String s = httpClientUtil.pushHttpRequset("POST", path, data, null, "json");
-        System.err.println(s);
-    }
-
-
-    /**
-     * 私人小客车合乘订单支付接口
-     */
-    public void sharePay(){
-        String IPCType = "sharePay";
-        String path = url + "/share/pay";
-        Map<String, Object> data = new HashMap<>();
-        JSONObject jsonObject = new JSONObject();
-        jsonObject.put("CompanyId", CompanyId);
-        jsonObject.put("Address", 0);//行政区划代码
-        jsonObject.put("RouteId", "");//驾驶员发起行程编号
-        jsonObject.put("OrderId", "");//乘客合乘订单号
-        jsonObject.put("DriverPhone", "");//驾驶员手机号
-        jsonObject.put("LicenseId", "");//机动车驾驶证号
-        jsonObject.put("VehicleNo", "");//车辆号牌
-        jsonObject.put("FareType", "");//运价类型编码
-        jsonObject.put("BookDepartTime", 0);//预计上车时间YYYYMMDDhhmmss
-        jsonObject.put("DepartTime", 0);//实际上车时间YYYYMMDDhhmmss
-        jsonObject.put("Departure", "");//上车地点
-        jsonObject.put("DepLongitude", 0);//上车地点经度
-        jsonObject.put("DepLatitude", 0);//上车地点纬度
-        jsonObject.put("DestTime", 0);//下车时间YYYYMMDDhhmmss
-        jsonObject.put("Destination", "");//下车地点
-        jsonObject.put("DestLongitude", 0);//下车地点经度
-        jsonObject.put("DestLatitude", "");//下车地点纬度
-        jsonObject.put("Encrypt", 0);//坐标加密标识(1:GCJ-02测绘局标准,2:WGS84 GPS标准,3:BD-09百度标准,4:CGCS2000北斗标准,0:其他)
-        jsonObject.put("DriveMile", 0);//载客里程(km)
-        jsonObject.put("DriveTime", 0);//载客时间(秒)
-        jsonObject.put("FactPrice", 0);//实收金额(元)
-        jsonObject.put("Price", 0);//应收金额(元)
-        jsonObject.put("CashPrice", 0);//现金支付金额(元)
-        jsonObject.put("LineName", "");//电子支付机构
-        jsonObject.put("LinePrice", 0);//电子支付金额(元)
-        jsonObject.put("BenfitPrice", 0);//优惠金额(元)
-        jsonObject.put("ShareFuelFee", 0);//燃料成本分摊金额(元)
-        jsonObject.put("ShareHighwayToll", 0);//路桥通行分摊金额(元)
-        jsonObject.put("PassengerTip", 0);//附加费(元)
-        jsonObject.put("ShareOther", 0);//其他费用分摊金额(元)
-        jsonObject.put("PayState", 0);//结算状态(0:未结算,1:已结算,2:未知)
-        jsonObject.put("PassengerNum", 0);//乘客人数(元)
-        jsonObject.put("PayTime", 0);//乘客结算时间YYYYMMDDhhmmss
-        jsonObject.put("OrderMatchTime", 0);//订单完成时间YYYYMMDDhhmmss
-
-        data.put("CompanyId", CompanyId);
-        data.put("Source", Source);
-        data.put("IPCType", IPCType);
-        data.put("baseInfoCompany", jsonObject);
-        String s = httpClientUtil.pushHttpRequset("POST", path, data, null, "json");
-        System.err.println(s);
-    }
-}
diff --git a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/util/PushUtil.java b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/util/PushUtil.java
new file mode 100644
index 0000000..2ead1b1
--- /dev/null
+++ b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/util/PushUtil.java
@@ -0,0 +1,64 @@
+package com.supersavedriving.driver.modular.system.util;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpEntity;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.MediaType;
+import org.springframework.stereotype.Component;
+import org.springframework.util.LinkedMultiValueMap;
+import org.springframework.util.MultiValueMap;
+import org.springframework.web.client.RestTemplate;
+
+import java.util.*;
+
+/**
+ * socket推单处理类
+ */
+@Component
+public class PushUtil {
+
+    @Autowired
+    private RestTemplate internalRestTemplate;
+
+    @Autowired
+    private RedisUtil redisUtil;
+
+    private Map<String, JSONObject> pushMap = new HashMap<>();//存储需要定时推送的数据
+
+    private Map<String, Timer> taskMap = new HashMap<>();//存储定时推送的定时器
+
+
+
+    /**
+     * 推送强迫下线
+     * @param id
+     * @param type
+     */
+    public void pushOffline(Integer id, Integer type){
+        JSONObject msg = new JSONObject();
+        msg.put("code", 200);
+        msg.put("msg", "SUCCESS");
+        msg.put("method", "OFFLINE");
+        msg.put("data", new Object());
+
+        //调用推送
+        HttpHeaders headers = new HttpHeaders();
+        // 以表单的方式提交
+        headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
+        //将请求头部和参数合成一个请求
+        MultiValueMap<String, Object> params = new LinkedMultiValueMap<>();
+        params.add("msg", msg.toJSONString());
+        params.add("id", id.toString());
+        params.add("type", type.toString());
+        HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(params, headers);
+        String s = internalRestTemplate.postForObject("http://zuul-gateway/netty/sendMsgToClient",requestEntity , String.class);
+        JSONObject jsonObject1 = JSON.parseObject(s, JSONObject.class);
+        if(jsonObject1.getIntValue("code") != 200){
+            System.err.println(jsonObject1.getString("msg"));
+        }
+    }
+
+
+}
diff --git a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/util/SystemException.java b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/util/SystemException.java
deleted file mode 100644
index c35bca2..0000000
--- a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/util/SystemException.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package com.supersavedriving.driver.modular.system.util;
-
-/**
- * 自定义系统异常类
- */
-public class SystemException extends Exception {
-
-    public SystemException(String message) {
-        super(message);
-    }
-
-    public SystemException(String message, Throwable cause) {
-        super(message, cause);
-    }
-
-    public SystemException(Throwable cause) {
-        super(cause);
-    }
-}
diff --git a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/warpper/CommercialWarpper.java b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/warpper/CommercialWarpper.java
new file mode 100644
index 0000000..a2425ff
--- /dev/null
+++ b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/warpper/CommercialWarpper.java
@@ -0,0 +1,22 @@
+package com.supersavedriving.driver.modular.system.warpper;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel
+public class CommercialWarpper {
+    @ApiModelProperty("广告名称")
+    private String name;
+    @ApiModelProperty("广告类型(1=弹窗广告,2=底部广告)")
+    private Integer type;
+    @ApiModelProperty("是否跳转(0=否,1=是)")
+    private Integer isJump;
+    @ApiModelProperty("跳转类型(1=内部跳转,2=外部跳转)")
+    private Integer jumpType;
+    @ApiModelProperty("跳转链接")
+    private String jumpUrl;
+    @ApiModelProperty("H5页面")
+    private String html;
+}
diff --git a/super_save_driving.sql b/super_save_driving.sql
index 45556bd..12dfcf8 100644
--- a/super_save_driving.sql
+++ b/super_save_driving.sql
@@ -11,7 +11,7 @@
  Target Server Version : 50637
  File Encoding         : 65001
 
- Date: 09/02/2023 00:20:49
+ Date: 09/02/2023 23:16:27
 */
 
 SET NAMES utf8mb4;
@@ -418,6 +418,48 @@
 INSERT INTO `t_branch_office` VALUES (1, 1, 'test', '1566666666', '393733352@qq.com', '510000', '四川省', '510100', '成都市', '510107', '武侯区', 1, '2023-02-03 14:53:48');
 
 -- ----------------------------
+-- Table structure for t_commercial
+-- ----------------------------
+DROP TABLE IF EXISTS `t_commercial`;
+CREATE TABLE `t_commercial`  (
+  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `type` int(1) NULL DEFAULT NULL COMMENT '类型(1=弹窗广告,2=底部广告)',
+  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '名称',
+  `device` int(1) NULL DEFAULT NULL COMMENT '设备(1=小程序,2=司机端)',
+  `isJump` int(1) NULL DEFAULT NULL COMMENT '是否跳转(0=否,1=是)',
+  `jumpType` int(1) NULL DEFAULT NULL COMMENT '跳转类型(1=内部跳转,2=外部跳转)',
+  `jumpUrl` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '跳转连接',
+  `html` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL COMMENT '富文本',
+  `sort` int(11) NULL DEFAULT NULL COMMENT '排序',
+  `status` int(1) NULL DEFAULT NULL COMMENT '状态(1=正常,2=冻结,3=删除)',
+  `createTime` datetime(0) NULL DEFAULT NULL COMMENT '添加时间',
+  `createUserId` int(11) NULL DEFAULT NULL COMMENT '添加人员id',
+  `updateTime` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
+  `updateUserId` int(11) NULL DEFAULT NULL COMMENT '更新人员id',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '广告' ROW_FORMAT = Compact;
+
+-- ----------------------------
+-- Records of t_commercial
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for t_commercial_user_eject
+-- ----------------------------
+DROP TABLE IF EXISTS `t_commercial_user_eject`;
+CREATE TABLE `t_commercial_user_eject`  (
+  `id` bigint(20) NOT NULL COMMENT '主键',
+  `userType` int(1) NULL DEFAULT NULL COMMENT '用户类型(1=用户,2=司机)',
+  `userId` int(11) NULL DEFAULT NULL COMMENT '用户id',
+  `lastDate` date NULL DEFAULT NULL COMMENT '最后浏览日期',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '用户浏览弹框广告记录' ROW_FORMAT = Compact;
+
+-- ----------------------------
+-- Records of t_commercial_user_eject
+-- ----------------------------
+
+-- ----------------------------
 -- Table structure for t_complaint
 -- ----------------------------
 DROP TABLE IF EXISTS `t_complaint`;
@@ -474,6 +516,7 @@
   `inviterId` int(11) NULL DEFAULT NULL COMMENT '邀约人id',
   `agentId` int(11) NULL DEFAULT NULL COMMENT '代理商id',
   `branchOfficeId` int(11) NULL DEFAULT NULL COMMENT '分公司id',
+  `balance` decimal(10, 2) NULL DEFAULT NULL COMMENT '账户余额',
   `approvalStatus` int(1) NULL DEFAULT NULL COMMENT '审核状态(1=待审核,2=已同意,3=已拒绝)',
   `approvalNotes` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '审核注释',
   `approvalUserId` int(11) NULL DEFAULT NULL COMMENT '审核用户id',
@@ -486,7 +529,24 @@
 -- ----------------------------
 -- Records of t_driver
 -- ----------------------------
-INSERT INTO `t_driver` VALUES (1, '6450492139306606', NULL, '11', '15828353127', NULL, NULL, NULL, 'kk', '18382330577', NULL, '11', NULL, '11', '11', 1, 11, 1, 1, 1, '', NULL, NULL, 1, '2023-02-08 23:48:29');
+INSERT INTO `t_driver` VALUES (1, '6450492139306606', NULL, '11', '15828353127', NULL, NULL, NULL, 'kk', '18382330577', NULL, '11', NULL, '11', '11', 1, 11, 1, 1, NULL, 1, '', NULL, NULL, 1, '2023-02-08 23:48:29');
+
+-- ----------------------------
+-- Table structure for t_driver_work
+-- ----------------------------
+DROP TABLE IF EXISTS `t_driver_work`;
+CREATE TABLE `t_driver_work`  (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `driverId` int(11) NULL DEFAULT NULL COMMENT '司机id',
+  `workTime` datetime(0) NULL DEFAULT NULL COMMENT '上班时间',
+  `offWorkTime` datetime(0) NULL DEFAULT NULL COMMENT '下班时间',
+  `onlineTime` bigint(20) NULL DEFAULT NULL COMMENT '在线时长(秒)',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_bin COMMENT = '司机上下班记录' ROW_FORMAT = Compact;
+
+-- ----------------------------
+-- Records of t_driver_work
+-- ----------------------------
 
 -- ----------------------------
 -- Table structure for t_evaluate

--
Gitblit v1.7.1