puzhibing
2023-05-25 380c0e958fbc3f2b42a3e38ae5dc9af3254b8f5c
driver/guns-admin/src/main/java/com/agentdriving/driver/modular/system/service/impl/DriverServiceImpl.java
@@ -9,9 +9,7 @@
import com.agentdriving.driver.modular.system.model.*;
import com.agentdriving.driver.modular.system.service.*;
import com.agentdriving.driver.modular.system.util.*;
import com.agentdriving.driver.modular.system.util.MallBook.model.InterfaceResponse;
import com.agentdriving.driver.modular.system.util.MallBook.model.Register;
import com.agentdriving.driver.modular.system.util.MallBook.util.TrhRequest;
import com.agentdriving.driver.modular.system.util.juhe.OCRUtil;
import com.agentdriving.driver.modular.system.util.mongodb.model.Location;
import com.agentdriving.driver.modular.system.util.rongyun.RongYunUtil;
import com.agentdriving.driver.modular.system.warpper.*;
@@ -19,10 +17,6 @@
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.agentdriving.driver.modular.system.model.*;
import com.agentdriving.driver.modular.system.service.*;
import com.agentdriving.driver.modular.system.util.*;
import com.agentdriving.driver.modular.system.warpper.*;
import org.apache.shiro.authc.SimpleAuthenticationInfo;
import org.apache.shiro.authc.UsernamePasswordToken;
import org.apache.shiro.authc.credential.HashedCredentialsMatcher;
@@ -42,8 +36,12 @@
import org.springframework.stereotype.Service;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.commons.CommonsMultipartFile;
import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.io.FileInputStream;
import java.text.SimpleDateFormat;
import java.util.*;
@@ -125,6 +123,27 @@
        if(null != driver && driver.getApprovalStatus() == 2){
            return ResultUtil.error("该手机账号已审核通过,请直接登录。");
        }
        String idcardFront = driverRegisterWarpper.getIdcardFront();
        MultipartFile file = MultipartFileUtil.fileToMultipartFile(new File(idcardFront));
        JSONObject certificate = OCRUtil.certificate(2, file);
        if(null == certificate){
            return ResultUtil.error("身份证识别失败");
        }
        String idcode = certificate.getString("公民身份号码");
        driver.setIdcard(idcode);
        String driverLicense = driverRegisterWarpper.getDriverLicense();
        file = MultipartFileUtil.fileToMultipartFile(new File(driverLicense));
        certificate = OCRUtil.certificate(5, file);
        if(null == certificate){
            return ResultUtil.error("驾驶证识别失败");
        }
        System.err.println("驾驶证:" + certificate.toString());
        String driverLicenseNumber = certificate.getString("驾驶证号码");
        driver.setDriverLicenseNumber(driverLicenseNumber);
        driver.setFirstCertificateTime(null);
        //账号审核拒绝后的处理
        if(null != driver && driver.getApprovalStatus() == 3){
@@ -873,33 +892,33 @@
     */
    @Override
    public ResultUtil microenterprise(Integer uid, String name, String number, String phone) throws Exception {
        Driver driver = this.selectById(uid);
        Register registerVO = new Register();
        registerVO.setMerUserId("driver_" + uid);
        registerVO.setPhone(phone);
        registerVO.setUserType("0");
        registerVO.setUserName(name);
        registerVO.setCertId(number);
        registerVO.setNotifyUrl("");
        TrhRequest<Register> request = new TrhRequest();
        InterfaceResponse execute = request.execute(registerVO, Register.SERVICE_CODE);
        if(!"0000".equals(execute.getResult())){
            return ResultUtil.error(execute.getMsg());
        }
        JSONObject jsonObject = JSON.parseObject(execute.getResult());
        String status = jsonObject.getString("status");
        if("2".equals(status)){
            return ResultUtil.error("失败");
        }
        if("0".equals(status)){
            return ResultUtil.error("处理中");
        }
        String userId = jsonObject.getString("userId");
        driver.setMerchantNumber(userId);
        driver.setMerchantIDCode(number);
        driver.setMerchantName(name);
        driver.setMerchantPhone(phone);
        this.updateById(driver);
//        Driver driver = this.selectById(uid);
//        Register registerVO = new Register();
//        registerVO.setMerUserId("driver_" + uid);
//        registerVO.setPhone(phone);
//        registerVO.setUserType("0");
//        registerVO.setUserName(name);
//        registerVO.setCertId(number);
//        registerVO.setNotifyUrl("");
//        TrhRequest<Register> request = new TrhRequest();
//        InterfaceResponse execute = request.execute(registerVO, Register.SERVICE_CODE);
//        if(!"0000".equals(execute.getResult())){
//            return ResultUtil.error(execute.getMsg());
//        }
//        JSONObject jsonObject = JSON.parseObject(execute.getResult());
//        String status = jsonObject.getString("status");
//        if("2".equals(status)){
//            return ResultUtil.error("失败");
//        }
//        if("0".equals(status)){
//            return ResultUtil.error("处理中");
//        }
//        String userId = jsonObject.getString("userId");
//        driver.setMerchantNumber(userId);
//        driver.setMerchantIDCode(number);
//        driver.setMerchantName(name);
//        driver.setMerchantPhone(phone);
//        this.updateById(driver);
        return ResultUtil.success();
    }
}