From aa7a7ed2cafab7fccbd49134871bf7408d9ed010 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期三, 08 二月 2023 19:07:16 +0800
Subject: [PATCH] 新增加司机端注册接口

---
 driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/api/DriverController.java           |   31 +++++
 driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/warpper/DriverRegisterWarpper.java  |   31 +++++
 driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/model/Driver.java                   |  140 +++++++++++++++++++++++
 driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/dao/mapping/DriverMapper.xml        |   32 +++++
 driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/IDriverService.java         |   23 +++
 driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/DriverServiceImpl.java |   66 +++++++++++
 driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/dao/DriverMapper.java               |    7 +
 7 files changed, 330 insertions(+), 0 deletions(-)

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 40c2a03..86ea340 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
@@ -3,7 +3,9 @@
 import com.alibaba.fastjson.JSON;
 import com.supersavedriving.driver.core.util.ToolUtil;
 import com.supersavedriving.driver.modular.system.service.IBranchOfficeService;
+import com.supersavedriving.driver.modular.system.service.IDriverService;
 import com.supersavedriving.driver.modular.system.util.ResultUtil;
+import com.supersavedriving.driver.modular.system.warpper.DriverRegisterWarpper;
 import com.supersavedriving.driver.modular.system.warpper.OpenCityWarpper;
 import com.supersavedriving.driver.modular.system.warpper.ResponseWarpper;
 import io.swagger.annotations.ApiImplicitParam;
@@ -32,6 +34,9 @@
 
     @Autowired
     private IBranchOfficeService branchOfficeService;
+
+    @Autowired
+    private IDriverService driverService;
 
 
 
@@ -92,4 +97,30 @@
                 , cityCode, JSON.toJSONString(responseWarpper));
         return responseWarpper;
     }
+
+
+
+
+    @ResponseBody
+    @PostMapping("/base/driver/driverRegister")
+    @ApiOperation(value = "司机注册申请", tags = {"司机端-登录注册"}, notes = "")
+    @ApiImplicitParams({
+    })
+    public ResponseWarpper driverRegister(DriverRegisterWarpper driverRegisterWarpper){
+        ResponseWarpper responseWarpper = null;
+        try {
+            ResultUtil resultUtil = driverService.driverRegister(driverRegisterWarpper);
+            responseWarpper = ResponseWarpper.success(resultUtil);
+        }catch (Exception e){
+            e.printStackTrace();
+            responseWarpper = new ResponseWarpper(500, e.getMessage());
+        }
+        logger.debug("" +
+                        "\n接口地址:/base/driver/driverRegister" +
+                        "\n接口名称:司机注册申请" +
+                        "\n请求参数:" + JSON.toJSONString(driverRegisterWarpper) +
+                        "\n响应结果:{}"
+                , JSON.toJSONString(responseWarpper));
+        return responseWarpper;
+    }
 }
diff --git a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/dao/DriverMapper.java b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/dao/DriverMapper.java
new file mode 100644
index 0000000..4c85839
--- /dev/null
+++ b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/dao/DriverMapper.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.Driver;
+
+public interface DriverMapper extends BaseMapper<Driver> {
+}
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
new file mode 100644
index 0000000..20652de
--- /dev/null
+++ b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/dao/mapping/DriverMapper.xml
@@ -0,0 +1,32 @@
+<?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.DriverMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.supersavedriving.driver.modular.system.model.Driver">
+        <id column="id" property="id"/>
+        <result column="code" property="code"/>
+        <result column="name" property="name"/>
+        <result column="avatar" property="avatar"/>
+        <result column="phone" property="phone"/>
+        <result column="sex" property="sex"/>
+        <result column="source" property="source"/>
+        <result column="emergencyContact" property="emergencyContact"/>
+        <result column="emergencyPhone" property="emergencyPhone"/>
+        <result column="driverLicenseNumber" property="driverLicenseNumber"/>
+        <result column="driverLicense" property="driverLicense"/>
+        <result column="idcard" property="idcard"/>
+        <result column="idcardFront" property="idcardFront"/>
+        <result column="idcardBack" property="idcardBack"/>
+        <result column="inviterType" property="inviterType"/>
+        <result column="inviterId" property="inviterId"/>
+        <result column="agentId" property="agentId"/>
+        <result column="branchOfficeId" property="branchOfficeId"/>
+        <result column="approvalStatus" property="approvalStatus"/>
+        <result column="approvalNotes" property="approvalNotes"/>
+        <result column="approvalUserId" property="approvalUserId"/>
+        <result column="approvalTime" property="approvalTime"/>
+        <result column="status" property="status"/>
+        <result column="createTime" property="createTime"/>
+    </resultMap>
+</mapper>
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
new file mode 100644
index 0000000..9f1f282
--- /dev/null
+++ b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/model/Driver.java
@@ -0,0 +1,140 @@
+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;
+
+/**
+* 司机基础信息
+* @author pzb
+* @Date 2023/2/8 18:33
+*/
+@Data
+@TableName("t_driver")
+public class Driver {
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    @TableField("id")
+    private Integer id;
+    /**
+     * 编号
+     */
+    @TableField("code")
+    private String code;
+    /**
+     * 名称
+     */
+    @TableField("name")
+    private String name;
+    /**
+     * 头像
+     */
+    @TableField("avatar")
+    private String avatar;
+    /**
+     * 手机号
+     */
+    @TableField("phone")
+    private String phone;
+    /**
+     * 性别(1=男,2=女)
+     */
+    @TableField("sex")
+    private Integer sex;
+    /**
+     * 来源
+     */
+    @TableField("source")
+    private Integer source;
+    /**
+     * 紧急联系人
+     */
+    @TableField("emergencyContact")
+    private String emergencyContact;
+    /**
+     * 紧急联系电话
+     */
+    @TableField("emergencyPhone")
+    private String emergencyPhone;
+    /**
+     * 驾驶证号码
+     */
+    @TableField("driverLicenseNumber")
+    private String driverLicenseNumber;
+    /**
+     * 驾驶证照片
+     */
+    @TableField("driverLicense")
+    private String driverLicense;
+    /**
+     * 身份证号码
+     */
+    @TableField("idcard")
+    private String idcard;
+    /**
+     * 身份证正面照
+     */
+    @TableField("idcardFront")
+    private String idcardFront;
+    /**
+     * 身份证背面照
+     */
+    @TableField("idcardBack")
+    private String idcardBack;
+    /**
+     * 邀约人类型(1=用户,2=司机)
+     */
+    @TableField("inviterType")
+    private Integer inviterType;
+    /**
+     * 邀约人id
+     */
+    @TableField("inviterId")
+    private Integer inviterId;
+    /**
+     * 代理商id
+     */
+    @TableField("agentId")
+    private Integer agentId;
+    /**
+     * 分公司id
+     */
+    @TableField("branchOfficeId")
+    private Integer branchOfficeId;
+    /**
+     * 审核状态(1=待审核,2=已同意,3=已拒绝)
+     */
+    @TableField("approvalStatus")
+    private Integer approvalStatus;
+    /**
+     * 审核注释
+     */
+    @TableField("approvalNotes")
+    private String approvalNotes;
+    /**
+     * 审核用户id
+     */
+    @TableField("approvalUserId")
+    private Integer approvalUserId;
+    /**
+     * 审核时间
+     */
+    @TableField("approvalTime")
+    private Date approvalTime;
+    /**
+     * 状态(1=正常,2=冻结,3=删除)
+     */
+    @TableField("status")
+    private Integer status;
+    /**
+     * 添加时间
+     */
+    @TableField("createTime")
+    private Date createTime;
+}
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
new file mode 100644
index 0000000..863f992
--- /dev/null
+++ b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/IDriverService.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.Driver;
+import com.supersavedriving.driver.modular.system.util.ResultUtil;
+import com.supersavedriving.driver.modular.system.warpper.DriverRegisterWarpper;
+
+/**
+* 司机
+* @author pzb
+* @Date 2023/2/8 18:52
+*/
+public interface IDriverService extends IService<Driver> {
+
+
+    /**
+     * 司机注册
+     * @param driverRegisterWarpper
+     * @return
+     * @throws Exception
+     */
+    ResultUtil driverRegister(DriverRegisterWarpper driverRegisterWarpper) throws Exception;
+}
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
new file mode 100644
index 0000000..0718c77
--- /dev/null
+++ b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/DriverServiceImpl.java
@@ -0,0 +1,66 @@
+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.DriverMapper;
+import com.supersavedriving.driver.modular.system.model.Driver;
+import com.supersavedriving.driver.modular.system.service.IDriverService;
+import com.supersavedriving.driver.modular.system.util.ResultUtil;
+import com.supersavedriving.driver.modular.system.warpper.DriverRegisterWarpper;
+import org.springframework.stereotype.Service;
+
+/**
+* 司机
+* @author pzb
+* @Date 2023/2/8 18:52
+*/
+@Service
+public class DriverServiceImpl extends ServiceImpl<DriverMapper, Driver> implements IDriverService {
+
+
+    /**
+     * 司机注册
+     * @param driverRegisterWarpper
+     * @return
+     * @throws Exception
+     */
+    @Override
+    public ResultUtil driverRegister(DriverRegisterWarpper driverRegisterWarpper) throws Exception {
+        Driver driver = this.selectOne(new EntityWrapper<Driver>().eq("phone", driverRegisterWarpper.getPhone()).ne("status", 3));
+        if(null != driver && driver.getStatus() == 2){
+            return ResultUtil.error("该手机账号已被冻结,请联系管理员。");
+        }
+        if(null != driver && driver.getApprovalStatus() == 1){
+            return ResultUtil.error("该手机账号正在审核中。");
+        }
+        if(null != driver && driver.getApprovalStatus() == 2){
+            return ResultUtil.error("该手机账号已审核通过,请直接登录。");
+        }
+
+        //账号审核拒绝后的处理
+        if(null != driver && driver.getApprovalStatus() == 3){
+            driver = setDriverParamete(driver, driverRegisterWarpper);
+            this.updateById(driver);
+        }
+        //新账号
+        if(null == driver){
+            driver = new Driver();
+            driver = setDriverParamete(driver, driverRegisterWarpper);
+            this.insert(driver);
+        }
+        //发送消息
+
+        return ResultUtil.success();
+    }
+
+
+    /**
+     * 组装个人信息
+     * @param driver
+     * @param driverRegisterWarpper
+     * @return
+     */
+    public Driver setDriverParamete(Driver driver, DriverRegisterWarpper driverRegisterWarpper){
+        return driver;
+    }
+}
diff --git a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/warpper/DriverRegisterWarpper.java b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/warpper/DriverRegisterWarpper.java
new file mode 100644
index 0000000..44fade9
--- /dev/null
+++ b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/warpper/DriverRegisterWarpper.java
@@ -0,0 +1,31 @@
+package com.supersavedriving.driver.modular.system.warpper;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+* 司机注册
+* @author pzb
+* @Date 2023/2/6 9:15
+*/
+@Data
+@ApiModel
+public class DriverRegisterWarpper {
+    @ApiModelProperty(value = "注册区域code", required = true, dataType = "string")
+    private String code;
+    @ApiModelProperty(value = "头像", required = true, dataType = "string")
+    private String avatar;
+    @ApiModelProperty(value = "手机号码", required = true, dataType = "string")
+    private String phone;
+    @ApiModelProperty(value = "紧急联系人", required = true, dataType = "string")
+    private String emergencyContact;
+    @ApiModelProperty(value = "紧急联系人电话", required = true, dataType = "string")
+    private String emergencyPhone;
+    @ApiModelProperty(value = "身份证正面照", required = true, dataType = "string")
+    private String idcardFront;
+    @ApiModelProperty(value = "身份证背面照", required = true, dataType = "string")
+    private String idcardBack;
+    @ApiModelProperty(value = "驾驶证照片", required = true, dataType = "string")
+    private String driverLicense;
+}

--
Gitblit v1.7.1