puzhibing
2023-05-18 53562814add61acfdc02d6b25dae6324f6fd5f92
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java
@@ -23,6 +23,7 @@
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
@@ -77,6 +78,9 @@
    @Autowired
    private ICityService cityService;
    @Value("${share.url}")
    private String shareUrl;
    /**
@@ -128,10 +132,10 @@
            @ApiImplicitParam(value = "手机号码", name = "phone", required = true, dataType = "String"),
            @ApiImplicitParam(value = "场景类型(1=身份验证,2=登录确认,3=用户注册,4=修改密码)", name = "type", required = true, dataType = "String")
    })
    public ResultUtil queryCaptcha(String phone, Integer type){
    public ResultUtil queryCaptcha(String phone, Integer type, Integer language){
        if(ToolUtil.isNotEmpty(phone)){
            try {
                return driverService.queryCaptcha(phone, type);
                return driverService.queryCaptcha(phone, type, language);
            }catch (Exception e){
                e.printStackTrace();
                return ResultUtil.runErr();
@@ -148,10 +152,10 @@
    @ApiImplicitParams({
            @ApiImplicitParam(value = "邮箱地址", name = "email", required = true, dataType = "String"),
    })
    public ResultUtil queryEmailCaptcha(String email){
    public ResultUtil queryEmailCaptcha(String email, Integer language){
        if(ToolUtil.isNotEmpty(email)){
            try {
                return driverService.queryEmailCaptcha(email);
                return driverService.queryEmailCaptcha(email, language);
            }catch (Exception e){
                e.printStackTrace();
                return ResultUtil.runErr();
@@ -178,10 +182,6 @@
    public ResultUtil checkCaptcha(String email, String code){
        try {
            boolean b = driverService.checkCaptcha(email, code);
//            if(b){
//                Driver driver = driverService.queryByPhone(email);
//                smsrecordService.saveData(null == driver ? 5 : 8, email, code, "验证码【" + code + "】已发到您的邮箱,验证码将在5分钟后失效!");
//            }
            return b ? ResultUtil.success() : ResultUtil.error("验证码无效");
        }catch (Exception e){
            e.printStackTrace();
@@ -204,9 +204,9 @@
            @ApiImplicitParam(value = "用户类型(1=用户,2=司机)", name = "type", required = true, dataType = "int"),
            @ApiImplicitParam(value = "注册类型(1=司机注册,2=用户注册)", name = "userType", required = true, dataType = "int")
    })
    public ResultUtil registeredDriver(String phone, String code, String password, Integer uid, Integer type, Integer userType){
    public ResultUtil registeredDriver(String phone, String code, String password, Integer uid, Integer type, Integer userType, Integer language){
        try {
            return driverService.registeredDriver(phone, code, password, uid, type, userType);
            return driverService.registeredDriver(phone, code, password, uid, type, userType, language);
        }catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
@@ -232,9 +232,9 @@
            @ApiImplicitParam(value = "用户类型(1=用户,2=司机)", name = "type", required = true, dataType = "int"),
            @ApiImplicitParam(value = "注册类型(1=司机注册,2=用户注册)", name = "userType", required = true, dataType = "int")
    })
    public ResultUtil<LoginWarpper> registeredDriver_(String phone, String code, String password, Integer uid, Integer type, Integer userType){
    public ResultUtil<LoginWarpper> registeredDriver_(String phone, String code, String password, Integer uid, Integer type, Integer userType, Integer language){
        try {
            return driverService.registeredDriver(phone, code, password, uid, type, userType);
            return driverService.registeredDriver(phone, code, password, uid, type, userType, language);
        }catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
@@ -242,21 +242,6 @@
    }
    @ResponseBody
    @PostMapping("/base/driver/queryNeedCertificate")
    @ApiOperation(value = "注册完善个人信息根据选择的从业地判断是否需要网约车资格证", tags = {"司机端-注册"}, notes = "0=城市未开通,1=是,2=否")
    @ApiImplicitParams({
            @ApiImplicitParam(value = "城市行政编号", name = "code", required = true, dataType = "String")
    })
    public ResultUtil queryNeedCertificate(String code){
        try {
            Integer integer = driverService.queryNeedCertificate(code);
            return ResultUtil.success(integer == null ? 0 : integer);
        }catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
        }
    }
    @ResponseBody
@@ -288,14 +273,40 @@
    @ApiImplicitParams({
            @ApiImplicitParam(value = "司机id", name = "uid", required = true, dataType = "int")
    })
    public ResultUtil updateDriver(RegisteredWarpper registeredWarpper, Integer uid){
    public ResultUtil updateDriver(RegisteredWarpper registeredWarpper, Integer uid, Integer language){
        try {
            return driverService.updateDriver(registeredWarpper, uid);
            return driverService.updateDriver(registeredWarpper, uid, language);
        }catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
        }
    }
    @ResponseBody
    @PostMapping("/api/driver/editEmail")
    @ApiOperation(value = "个人中心修改邮箱【1.0】", tags = {"司机端-个人中心"}, notes = "")
    @ApiImplicitParams({
            @ApiImplicitParam(value = "邮箱", name = "email", required = true, dataType = "string"),
            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
    })
    public ResultUtil editEmail(String email, HttpServletRequest request){
        try {
            Integer uid = driverService.getUserIdFormRedis(request);
            if(null == uid){
                return ResultUtil.tokenErr();
            }
            Driver driver = driverService.selectById(uid);
            driver.setEmail(email);
            driverService.updateById(driver);
            return ResultUtil.success();
        }catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
        }
    }
    /**
     * 司机注册后完善车辆信息
     * @param
@@ -309,18 +320,20 @@
            @ApiImplicitParam(value = "车辆颜色", name = "color", required = true, dataType = "string"),
            @ApiImplicitParam(value = "车牌号", name = "licensePlate", required = true, dataType = "string"),
            @ApiImplicitParam(value = "年审日期(需要格式化)", name = "time", required = false, dataType = "string"),
            @ApiImplicitParam(value = "行驶证号", name = "drivingLicenseNumber", required = true, dataType = "string"),
            @ApiImplicitParam(value = "行驶证照片", name = "drivingLicensePhoto", required = true, dataType = "string"),
            @ApiImplicitParam(value = "行驶证到期时间(yyyy-MM-dd)", name = "drivingLicenseEndTime", required = true, dataType = "string"),
            @ApiImplicitParam(value = "车辆照片", name = "carPhoto", required = true, dataType = "string"),
            @ApiImplicitParam(value = "保险照片", name = "insurancePhoto", required = false, dataType = "string"),
            @ApiImplicitParam(value = "保险到期时间(yyyy-MM-dd)", name = "commercialInsuranceTime", required = false, dataType = "string"),
            @ApiImplicitParam(value = "人车合一照片", name = "peopleAndCarsPhone", required = false, dataType = "string"),
            @ApiImplicitParam(value = "司机id", name = "uid", required = true, dataType = "int"),
            @ApiImplicitParam(value = "车辆id", name = "carId", required = false, dataType = "int")
    })
    public ResultUtil addDriverCar(Integer modelId, String color, String licensePlate, Date time, String drivingLicensePhoto, String drivingLicenseEndTime,
                                   String carPhoto, String insurancePhoto, String commercialInsuranceTime, Integer uid, Integer carId){
    public ResultUtil addDriverCar(Integer modelId, String color, String licensePlate, Date time, String drivingLicenseNumber, String drivingLicensePhoto, String drivingLicenseEndTime,
                                   String carPhoto, String insurancePhoto, String commercialInsuranceTime, Integer uid, Integer carId, String peopleAndCarsPhone){
        try {
            return carService.addCar(modelId, color, licensePlate, time, drivingLicensePhoto, drivingLicenseEndTime, carPhoto, insurancePhoto, commercialInsuranceTime, uid,carId);
            return carService.addCar(modelId, color, licensePlate, time, drivingLicenseNumber, drivingLicensePhoto, drivingLicenseEndTime, carPhoto, insurancePhoto, commercialInsuranceTime, uid,carId, peopleAndCarsPhone);
        }catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
@@ -386,9 +399,9 @@
            @ApiImplicitParam(value = "验证码", name = "code", required = true, dataType = "String"),
            @ApiImplicitParam(value = "新密码", name = "password", required = true, dataType = "String")
    })
    public ResultUtil resetPassword(String phone, String code, String password){
    public ResultUtil resetPassword(String phone, String code, String password, Integer language){
        try {
            return driverService.resetPassword(phone, code, password);
            return driverService.resetPassword(phone, code, password, language);
        }catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
@@ -684,9 +697,9 @@
            Map<String, Object> map = driverService.queryInfo(uid);
            map.put("qrCodeIsOpen",driverService.getAppOpenInfo(1)==1);
            DriverInfoWarpper driverInfoWarpper = DriverInfoWarpper.getDriverInfoWarpper(map);
            Double money = driverService.getThisWeekMoney(uid);
            driverInfoWarpper.setLaveBusinessMoney(driverInfoWarpper.getLaveBusinessMoney()-(money==null?0d:money));
            driverInfoWarpper.setLaveBusinessNextWeekMoney(money==null?0d:money);
//            Double money = driverService.getThisWeekMoney(uid);
//            driverInfoWarpper.setLaveBusinessMoney(driverInfoWarpper.getLaveBusinessMoney()-(money==null?0d:money));
            driverInfoWarpper.setLaveBusinessNextWeekMoney(0D);
            return ResultUtil.success(driverInfoWarpper);
        }catch (Exception e){
            e.printStackTrace();
@@ -759,13 +772,13 @@
            @ApiImplicitParam(value = "新密码", name = "password", required = true, dataType = "String"),
            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
    })
    public ResultUtil updatePassword(String password, HttpServletRequest request){
    public ResultUtil updatePassword(String password, Integer language, HttpServletRequest request){
        try {
            Integer uid = driverService.getUserIdFormRedis(request);
            if(null == uid){
                return ResultUtil.tokenErr();
            }
            driverService.updatePassword(password, uid);
            driverService.updatePassword(password, uid, language);
            return ResultUtil.success();
        }catch (Exception e){
            e.printStackTrace();
@@ -1022,7 +1035,7 @@
                baseWarpper.setAmount(Double.valueOf(String.valueOf(null != map.get("money") ? map.get("money") : 0)));
                switch (Integer.valueOf(String.valueOf(null != map.get("orderType") ? map.get("orderType") : 0))){
                    case 1:
                        baseWarpper.setName("快车");
                        baseWarpper.setName("专车");
                        break;
                    case 2:
                        baseWarpper.setName("出租车");
@@ -1031,7 +1044,7 @@
                        baseWarpper.setName("城际出行");
                        break;
                    case 4:
                        baseWarpper.setName("同城小件物流");
                        baseWarpper.setName("市内小件物流");
                        break;
                    case 5:
                        baseWarpper.setName("跨城小件物流");
@@ -1372,4 +1385,24 @@
            return ResultUtil.runErr();
        }
    }
    @ResponseBody
    @PostMapping("/base/driver/queryShareLink")
    @ApiOperation(value = "获取分享链接及分案", tags = {"司机端-个人中心"}, notes = "")
    @ApiImplicitParams({
            @ApiImplicitParam(value = "链接上的type", name = "type", required = true, dataType = "int"),
            @ApiImplicitParam(value = "链接上的uid", name = "driverId", required = true, dataType = "int"),
            @ApiImplicitParam(value = "语言", name = "language", required = true, dataType = "int"),
    })
    public ResultUtil<Map<String, Object>> queryShareLink(Integer type, Integer driverId, Integer language){
        try {
            Map<String, Object> map = new HashMap<>();
            map.put("link", shareUrl + "?type=" + type + "&uid=" + driverId + "&language=" + (null == language ? 2 : language));
            return ResultUtil.success(map);
        }catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
        }
    }
}