puzhibing
2023-02-08 aa7a7ed2cafab7fccbd49134871bf7408d9ed010
新增加司机端注册接口
1个文件已修改
6个文件已添加
330 ■■■■■ 已修改文件
driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/api/DriverController.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/dao/DriverMapper.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/dao/mapping/DriverMapper.xml 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/model/Driver.java 140 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/IDriverService.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/DriverServiceImpl.java 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/warpper/DriverRegisterWarpper.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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;
    }
}
driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/dao/DriverMapper.java
New file
@@ -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> {
}
driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/dao/mapping/DriverMapper.xml
New file
@@ -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>
driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/model/Driver.java
New file
@@ -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;
}
driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/IDriverService.java
New file
@@ -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;
}
driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/DriverServiceImpl.java
New file
@@ -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;
    }
}
driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/warpper/DriverRegisterWarpper.java
New file
@@ -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;
}