Explorar el Código

企业认证修改

cuixq hace 3 años
padre
commit
4639347fa9

+ 154 - 122
tianhu-system/src/main/java/com/tianhu/system/companyAuth/controller/OwnAuthController.java

@@ -215,6 +215,9 @@ public class OwnAuthController extends BaseController {
         if(CommonUtil.isEmpty(scyName)){
             return R.fail("企业名称不能为空");
         }
+        if(!RegularUtil.companyName(scyName)){
+            throw new Exception("企业名称格式错误!");
+        }
         //社会信用代码
         String scySocialCode = CommonUtil.objToString(map.get("scySocialCode"));
         if(CommonUtil.isEmpty(scySocialCode)){
@@ -280,9 +283,12 @@ public class OwnAuthController extends BaseController {
         //是否法人亲办
         if("1".equals(CommonUtil.objToString(map.get("legalHandles")))){
              handler = CommonUtil.objToString(map.get("handler"));
-            if(CommonUtil.isEmpty(scyLegalId)){
+            if(CommonUtil.isEmpty(handler)){
                 return R.fail("经办人名称不能为空");
             }
+            if(!RegularUtil.handler(handler)){
+                throw new Exception("经办人名称格式错误!");
+            }
         }
         //经办人身份证号
         String handlerCard = null;
@@ -326,12 +332,12 @@ public class OwnAuthController extends BaseController {
             return R.fail("法人身份证人像面不能为空");
         }
         //法人身份证国徽
-        List<Map<String,String>> fsfzfList = (List<Map<String, String>>) map.get("fsfzfList");
-        if(fsfzfList.size()==0){
+        String fsfzfList =CommonUtil.objToString(map.get("fsfzfList"));
+        if(CommonUtil.isEmpty(fsfzzList)){
             return R.fail("法人身份证国徽面不能为空");
         }
         String jsfzzList =null;
-        List<Map<String, String>> jsfzfList =null;
+        String jsfzfList =null;
         //经办人身份证人像面
         jsfzzList = CommonUtil.objToString(map.get("jsfzzList"));
         if("1".equals(CommonUtil.objToString(map.get("legalHandles")))) {
@@ -340,9 +346,9 @@ public class OwnAuthController extends BaseController {
             }
         }
         //经办人身份证国徽面
-        jsfzfList = (List<Map<String, String>>) map.get("jsfzfList");
+        jsfzfList = CommonUtil.objToString(map.get("jsfzfList"));
         if("1".equals(CommonUtil.objToString(map.get("legalHandles")))) {
-            if(jsfzfList.size()==0){
+            if(CommonUtil.isEmpty(jsfzfList)){
                 return R.fail("经办人身份证国徽面不能为空");
             }
         }
@@ -375,9 +381,7 @@ public class OwnAuthController extends BaseController {
         sysCompany.setScyLegalFile(fsfzzList);
         //对公户认证
         sysCompany.setScyStatus("03");
-        if(fsfzfList.size()>0){
-            sysCompany.setScyLegalBackFile(fsfzfList.get(0).get("uid"));
-        }
+        sysCompany.setScyLegalBackFile(fsfzfList);
         if(frsqsList.size()>0){
             sysCompany.setScyAuthorizationFile(frsqsList.get(0).get("uid"));
         }
@@ -560,9 +564,7 @@ public class OwnAuthController extends BaseController {
                     sysUserCompanyRel.setSucrCard(scyLegalId);
                 }
                 sysUserCompanyRel.setSucrCardFile(fsfzzList);
-                if(jsfzfList.size() > 0){
-                    sysUserCompanyRel.setSucrCardBackFile(jsfzfList.get(0).get("uid"));
-                }
+                sysUserCompanyRel.setSucrCardBackFile(jsfzfList);
                 LambdaQueryWrapper<SysUserCompanyRel> lambdaQueryWrapper = new LambdaQueryWrapper<>();
                 lambdaQueryWrapper.eq(SysUserCompanyRel::getSucrUserId,use.getUserId());
                 lambdaQueryWrapper.eq(SysUserCompanyRel::getSucrCompanyId,scyId);
@@ -580,9 +582,7 @@ public class OwnAuthController extends BaseController {
                     sysUserCompanyRel.setSucrCard(scyLegalId);
                 }
                 sysUserCompanyRel.setSucrCardFile(fsfzzList);
-                if(jsfzfList.size() > 0){
-                    sysUserCompanyRel.setSucrCardBackFile(jsfzfList.get(0).get("uid"));
-                }
+                sysUserCompanyRel.setSucrCardBackFile(jsfzfList);
                 sysUserCompanyRelService.createSysUserCompanyRel(sysUserCompanyRel);
             }
         // 经办人与登录用户不是同一手机号
@@ -620,9 +620,7 @@ public class OwnAuthController extends BaseController {
                     sysUserCompanyRel.setSucrCard(scyLegalId);
                 }
                 sysUserCompanyRel.setSucrCardFile(fsfzzList);
-                if(jsfzfList.size() > 0){
-                    sysUserCompanyRel.setSucrCardBackFile(jsfzfList.get(0).get("uid"));
-                }
+                    sysUserCompanyRel.setSucrCardBackFile(jsfzfList);
                 sysUserCompanyRelService.saveOrUpdate(sysUserCompanyRel);
             // 经办人存在
             } else {
@@ -652,13 +650,8 @@ public class OwnAuthController extends BaseController {
                     sysUserCompanyRel.setSucrCard(scyLegalId);
                 }
                 sysUserCompanyRel.setSucrCardFile(fsfzzList);
-                if(jsfzfList.size() > 0){
-                    sysUserCompanyRel.setSucrCardBackFile(jsfzfList.get(0).get("uid"));
-                }
-                LambdaQueryWrapper<SysUserCompanyRel> lambdaQueryWrapper = new LambdaQueryWrapper<>();
-                lambdaQueryWrapper.eq(SysUserCompanyRel::getSucrUserId,use.getUserId());
-                lambdaQueryWrapper.eq(SysUserCompanyRel::getSucrCompanyId,scyId);
-                sysUserCompanyRelService.update(sysUserCompanyRel,lambdaQueryWrapper);
+                sysUserCompanyRel.setSucrCardBackFile(jsfzfList);
+                sysUserCompanyRelService.createSysUserCompanyRel(sysUserCompanyRel);
 
             }
             //创建登陆用户与企业关系
@@ -679,9 +672,7 @@ public class OwnAuthController extends BaseController {
                     sysUserCompanyRel.setSucrCard(scyLegalId);
                 }
                 sysUserCompanyRel.setSucrCardFile(fsfzzList);
-                if(jsfzfList.size() > 0){
-                    sysUserCompanyRel.setSucrCardBackFile(jsfzfList.get(0).get("uid"));
-                }
+                sysUserCompanyRel.setSucrCardBackFile(jsfzfList);
                 LambdaQueryWrapper<SysUserCompanyRel> lambdaQueryWrapper = new LambdaQueryWrapper<>();
                 lambdaQueryWrapper.eq(SysUserCompanyRel::getSucrUserId,use.getUserId());
                 lambdaQueryWrapper.eq(SysUserCompanyRel::getSucrCompanyId,scyId);
@@ -699,9 +690,7 @@ public class OwnAuthController extends BaseController {
                     sysUserCompanyRel.setSucrCard(scyLegalId);
                 }
                 sysUserCompanyRel.setSucrCardFile(fsfzzList);
-                if(jsfzfList.size() > 0){
-                    sysUserCompanyRel.setSucrCardBackFile(jsfzfList.get(0).get("uid"));
-                }
+                sysUserCompanyRel.setSucrCardBackFile(jsfzfList);
                 sysUserCompanyRelService.createSysUserCompanyRel(sysUserCompanyRel);
             }
         }
@@ -734,7 +723,7 @@ public class OwnAuthController extends BaseController {
                     operatorUser = userService.selectUserByUserName(number);
                 } else {
                     operatorUser.setNickName(operator);
-                    userService.updateUser(operatorUser);
+                    userService.updateUse(operatorUser);
                 }
                 operatorUserId = operatorUser.getUserId();
 
@@ -856,9 +845,13 @@ public class OwnAuthController extends BaseController {
             R<PubFileInf> fileResult = remoteFileService.uploadFile(file,"01","04","00", "", token);
             if("00".equals(fileType)){
                 map.put("fsfzzList",fileResult.getData().getPfiFileId());
-             }else{
+             }else if("01".equals(fileType)){
                 map.put("jsfzzList",fileResult.getData().getPfiFileId());
-          }
+             }else if("02".equals(fileType)){
+                map.put("fsfzfList",fileResult.getData().getPfiFileId());
+            }else if("03".equals(fileType)){
+                map.put("jsfzfList",fileResult.getData().getPfiFileId());
+            }
         }catch (Exception e) {
             throw new Exception("文件传输失败!");
           }
@@ -907,45 +900,67 @@ public class OwnAuthController extends BaseController {
         //查询账户
         LambdaQueryWrapper<PayBankAccInf> bank = new LambdaQueryWrapper<>();
         //所属银行
-        bank.eq(PayBankAccInf::getPbaiAccountName,pbaiAccountName);
-        bank.eq(PayBankAccInf::getPbaiBankaccountId,pbaiBankaccountId);
+        bank.eq(PayBankAccInf::getPbaiCstno,user.getSysUser().getCompanyId());
+        bank.orderByDesc(PayBankAccInf::getPbaiCfcaDate);
         List<PayBankAccInf> bankAcc = payBankAccInfService.findPayBankAccInfs(bank);
-            //企业打款申请
-            JSONObject operatorAuth = CfcaUtil.paymentApply(ISPRO, INSTITUTIONID, pbaiAccountName, pbaiBankaccountId,list.get(0).getZcbiBankNo(),zbiRemark);
-            /*JSONObject operatorAuth = new JSONObject();
-            operatorAuth.put("Message", "SUCCESS");
-            operatorAuth.put("Status", "20");
-            operatorAuth.put("TxSN", "100000001");*/
-            System.out.print("绑定对公户返回结果==========>" + operatorAuth);
-            String  TxSN =  operatorAuth.getString("TxSN");
-            if("SUCCESS".equals(operatorAuth.getString("Message"))){
-                if(!"20".equals(operatorAuth.getString("Status"))){
-                    return R.fail("绑定账户失败");
-                };
-            }else{
-                return R.fail("绑定账户失败");
+        SysCompany company = sysCompanyService.getById(user.getSysUser().getCompanyId());
+        //判断是否有账户
+        if(bankAcc.size()>0){
+            //获取当日零点
+            Calendar calendar = Calendar.getInstance();
+            calendar.setTime(new Date());
+            calendar.set(Calendar.HOUR_OF_DAY, 0);
+            calendar.set(Calendar.MINUTE, 0);
+            calendar.set(Calendar.SECOND, 0);
+            Date zero = calendar.getTime();
+            //判断当日是否有开户申请
+            if ((bankAcc.get(0).getPbaiCfcaDate()).compareTo(zero)>0){
+                //判断申请次数
+                if(Integer.valueOf(company.getScyCfcaAuthNumber())>=2){
+                    throw new Exception("今日开户已达上限");
+                }
             }
-            PayBankAccInf payBankAccInf = new PayBankAccInf();
-            String  pbiId  =  IdUtils.fastSimpleUUID();
-            payBankAccInf.setPbaiId(pbiId);
-            payBankAccInf.setPbaiCstno(scyId);
-            payBankAccInf.setPbaiAccountName(pbaiAccountName);
-            payBankAccInf.setPbaiBankaccountId(pbaiBankaccountId);
-            payBankAccInf.setPbaiBankName(list.get(0).getZcbiBankName());
-            payBankAccInf.setPbaiStatus("1");
-            payBankAccInf.setPbaiCfcaTime("0");
-            payBankAccInf.setPbaiCfcaNo(TxSN);
-            //获取当前时间
-            Date currentTime = DateUtils.getNowDate();
-            payBankAccInf.setPbaiCfcaDate(currentTime);
-            payBankAccInfService.createPayBankAccInf(payBankAccInf);
-            SysCompany sysCompany =new SysCompany();
-            sysCompany.setScyId(scyId);
-            //打款认证
-            sysCompany.setScyStatus("05");
-            //对公户打款次数
-            sysCompany.setScyCfcaAuthNumber(AmtUtil.add(bankAcc.get(0).getPbaiCfcaTime(),"1",0));
-            sysCompanyService.updateSysCompany(sysCompany);
+        }
+        //企业打款申请
+        JSONObject operatorAuth = CfcaUtil.paymentApply(ISPRO, INSTITUTIONID, pbaiAccountName, pbaiBankaccountId,list.get(0).getZcbiBankNo(),zbiRemark);
+        /*JSONObject operatorAuth = new JSONObject();
+        operatorAuth.put("Message", "SUCCESS");
+        operatorAuth.put("Status", "20");
+        operatorAuth.put("TxSN", "100000001");*/
+        System.out.print("绑定对公户返回结果==========>" + operatorAuth);
+        String  TxSN =  operatorAuth.getString("TxSN");
+        if("SUCCESS".equals(operatorAuth.getString("Message"))){
+            if(!"20".equals(operatorAuth.getString("Status"))){
+                return R.fail("绑定账户失败");
+            };
+        }else{
+            return R.fail("绑定账户失败");
+        }
+        PayBankAccInf payBankAccInf = new PayBankAccInf();
+        String  pbiId  =  IdUtils.fastSimpleUUID();
+        payBankAccInf.setPbaiId(pbiId);
+        payBankAccInf.setPbaiCstno(scyId);
+        payBankAccInf.setPbaiAccountName(pbaiAccountName);
+        payBankAccInf.setPbaiBankaccountId(pbaiBankaccountId);
+        payBankAccInf.setPbaiBankName(list.get(0).getZcbiBankName());
+        payBankAccInf.setPbaiStatus("1");
+        payBankAccInf.setPbaiCfcaTime("0");
+        payBankAccInf.setPbaiCfcaNo(TxSN);
+        //获取当前时间
+        Date currentTime = DateUtils.getNowDate();
+        payBankAccInf.setPbaiCfcaDate(currentTime);
+        payBankAccInfService.createPayBankAccInf(payBankAccInf);
+        SysCompany sysCompany =new SysCompany();
+        sysCompany.setScyId(scyId);
+        //打款认证
+        sysCompany.setScyStatus("05");
+        //对公户打款次数
+        if("1".equals(company.getScyCfcaAuthNumber())){
+            sysCompany.setScyCfcaAuthNumber("2");
+        }else{
+            sysCompany.setScyCfcaAuthNumber("1");
+        }
+        sysCompanyService.updateSysCompany(sysCompany);
         // 刷新登录用户菜单和权限
         SysUser sysUser = user.getSysUser();
         sysUser.setCompanyId(scyId);
@@ -968,15 +983,8 @@ public class OwnAuthController extends BaseController {
         //获取登录用户/47.94.174.212:7001
         LoginUser userInfo = tokenService.getLoginUser();
         SysUser users = userInfo.getSysUser();
-//        LambdaQueryWrapper<SysUserCompanyRel> userCompanyRel = new LambdaQueryWrapper<>();
-//        //用户名
-//        userCompanyRel.eq(SysUserCompanyRel::getSucrUserId,users.getUserId());
-//        List<SysUserCompanyRel> companyRel = sysUserCompanyRelService.findSysUserCompanyRels(userCompanyRel);
-//        if(companyRel.size()==0){
-//            return  R.fail("企业未认证请联系管理员");
-//        }else if(CommonUtil.isEmpty(companyRel.get(0).getSucrCompanyId())){
-//            return  R.fail("企业认证失败请联系管理员");
-//        }
+        //企业id
+        String scyId = CommonUtil.objToString(map.get("scyId"));
         //查询账户
         LambdaQueryWrapper<PayBankAccInf> bank = new LambdaQueryWrapper<>();
         //所属银行
@@ -987,10 +995,10 @@ public class OwnAuthController extends BaseController {
             return  R.fail("所属账号不存在");
         }
         if(Integer.valueOf(bankAcc.get(0).getPbaiCfcaTime())>=3){
+            String tittle =CommonUtil.objToString(map.get("scyName"))+"三次打款认证未通过,请联系"+CommonUtil.objToString(map.get("handler"))+CommonUtil.objToString(map.get("phone"))+"线下核实";
+            ownNoticeService.sendNotice(scyId,scyId,tittle,"00",null,"07","0","1",null, null, null);
             throw new Exception("当前账户打款上限,请重新申请开户!");
         }
-        //企业id
-        String scyId = CommonUtil.objToString(map.get("scyId"));
         //金额(元)
         String amount = CommonUtil.objToString(map.get("amount"));
         if(CommonUtil.isEmpty(amount)) {
@@ -1128,36 +1136,36 @@ public class OwnAuthController extends BaseController {
         sysCompany.setScyId(scyId);
         //正常状态
         sysCompany.setScyStatus("00");
-        JSONObject companyAccount =null;
-        //jks路径
-        String jksPath = configService.selectConfigByKey("jks_path");
-        //密码
-        String keyStorePassword = configService.selectConfigByKey("cfca_key_store_password");
-        //渠道
-        String channel = configService.selectConfigByKey("cfca_channel");
-        //platId
-        String platId = configService.selectConfigByKey("cfca_platId");
-        if(CommonUtil.isNotEmpty(handler)) {
-            try {
-                companyAccount = AxqCommonUtil.companyAccount(scyName, IDENTTYPECODE, scySocialCode, phoneNumber, scyPhone, AUTHENTICATIONMODE, handler, TYPECODE, handlerCard,new HttpConnector(jksPath,keyStorePassword,channel,platId));
-                }catch (Exception e) {
-                throw new Exception("开户失败!");
-                }
-        }else{
-            try {
-                companyAccount = AxqCommonUtil.companyAccount(scyName, IDENTTYPECODE, scySocialCode, phoneNumber, scyPhone, AUTHENTICATIONMODE, scyLegal, TYPECODE, scyLegalId,new HttpConnector(jksPath,keyStorePassword,channel,platId));
-            }catch (Exception e) {
-                throw new Exception("开户失败!");
-            }
-            }
-        System.out.print("开户结果==========>" + companyAccount);
-        //返回cfca用户id
-        if(CommonUtil.isNotEmpty(companyAccount.getJSONObject("enterprise").getString("userId"))){
-            String userId = companyAccount.getJSONObject("enterprise").getString("userId");
-            sysCompany.setScyCfcaUserId(userId);
-        }else{
-            throw new Exception("开户失败!");
-        }
+//        JSONObject companyAccount =null;
+//        //jks路径
+//        String jksPath = configService.selectConfigByKey("jks_path");
+//        //密码
+//        String keyStorePassword = configService.selectConfigByKey("cfca_key_store_password");
+//        //渠道
+//        String channel = configService.selectConfigByKey("cfca_channel");
+//        //platId
+//        String platId = configService.selectConfigByKey("cfca_platId");
+//        if(CommonUtil.isNotEmpty(handler)) {
+//            try {
+//                companyAccount = AxqCommonUtil.companyAccount(scyName, IDENTTYPECODE, scySocialCode, phoneNumber, scyPhone, AUTHENTICATIONMODE, handler, TYPECODE, handlerCard,new HttpConnector(jksPath,keyStorePassword,channel,platId));
+//                }catch (Exception e) {
+//                throw new Exception("开户失败!");
+//                }
+//        }else{
+//            try {
+//                companyAccount = AxqCommonUtil.companyAccount(scyName, IDENTTYPECODE, scySocialCode, phoneNumber, scyPhone, AUTHENTICATIONMODE, scyLegal, TYPECODE, scyLegalId,new HttpConnector(jksPath,keyStorePassword,channel,platId));
+//            }catch (Exception e) {
+//                throw new Exception("开户失败!");
+//            }
+//            }
+//        System.out.print("开户结果==========>" + companyAccount);
+//        //返回cfca用户id
+//        if(companyAccount.getJSONObject("enterprise")!=null||CommonUtil.isNotEmpty(companyAccount.getJSONObject("enterprise").getString("userId"))){
+//            String userId = companyAccount.getJSONObject("enterprise").getString("userId");
+//            sysCompany.setScyCfcaUserId(userId);
+//        }else{
+//            throw new Exception("开户失败!");
+//        }
         sysCompanyService.updateSysCompany(sysCompany);
         //查询企业
         LambdaQueryWrapper<SysCompany> company = new LambdaQueryWrapper<>();
@@ -1225,16 +1233,8 @@ public class OwnAuthController extends BaseController {
             for(int i = 0;i<userCompanyRel.size();i++){
                 SysUserRole sysUserRole =new SysUserRole();
                 sysUserRole.setUserId(userCompanyRel.get(i).getSucrUserId());
-                List<SysUserRole> sysUserRoles = sysUserRoleService.selectSysUserRoleList(sysUserRole);
-                if(sysUserRoles.size()>0){
-                    sysUserRole.setUserId(userCompanyRel.get(i).getSucrUserId());
-                    sysUserRole.setRoleId(sysRole.getRoleId());
-                    sysUserRoleService.updateSysUserRole(sysUserRole);
-                }else{
-                    sysUserRole.setUserId(userCompanyRel.get(i).getSucrUserId());
-                    sysUserRole.setRoleId(sysRole.getRoleId());
-                    sysUserRoleService.insertSysUserRole(sysUserRole);
-                }
+                sysUserRole.setRoleId(sysRole.getRoleId());
+                sysUserRoleService.insertSysUserRole(sysUserRole);
             }
         }
         //TODO 加消息通知
@@ -1395,6 +1395,38 @@ public class OwnAuthController extends BaseController {
         return R.ok(bankAcc);
     }
 
+    /**
+     * 查询申请对公户时间
+     *
+     * @return
+     */
+    @PostMapping("/corporateTime")
+    public R corporateTime() throws Exception {
+        //获取登录用户
+        LoginUser user = tokenService.getLoginUser();
+        //查询账户
+        LambdaQueryWrapper<PayBankAccInf> bank = new LambdaQueryWrapper<>();
+        bank.like(PayBankAccInf::getPbaiCstno,user.getSysUser().getCompanyId());
+        List<PayBankAccInf> bankAcc = payBankAccInfService.findPayBankAccInfs(bank);
+        if(bankAcc.size()>0){
+            //取得指定时间间隔后的系统时间
+            GregorianCalendar calendar = (GregorianCalendar) Calendar.getInstance();
+            calendar.add(Calendar.DAY_OF_MONTH, 3);
+            SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss");
+            System.out.println("比较时间" + formatter.format(calendar.getTime()));
+            System.out.println("最后时间" + formatter.format(bankAcc.get(0).getPbaiCfcaDate()));
+            if (formatter.format(calendar.getTime()).compareTo(formatter.format(bankAcc.get(0).getPbaiCfcaDate())) < 0) {
+                SysCompany sysCompany =new SysCompany();
+                sysCompany.setScyId(user.getSysUser().getCompanyId());
+                //状态(00:正常, 01:停用, 02:待四要素认证(认证中), 03:待对公户认证(认证中), 04:待实名审核(认证中), 99:删除)
+                sysCompany.setScyStatus("02");
+                sysCompanyService.updateSysCompany(sysCompany);
+                return R.ok("01");
+            }
+        }
+        return R.ok("00");
+    }
+
     private Set<String> getPermissions(SysUser user){
         Set<String> permissions = new HashSet<String>();
         //平台走原流程

+ 0 - 8
tianhu-system/src/main/java/com/tianhu/system/companyAuth/service/IOwnAuthService.java

@@ -12,14 +12,6 @@ public interface IOwnAuthService {
 
 
     /**
-     * 往来账款查询
-     * @param map
-     * @param request
-     * @return
-     */
-    public IPage<Map> selectBillInfList(Map map, QueryRequest request);
-
-    /**
      * 获取营业执照信息
      * @param file
      * @return

+ 36 - 28
tianhu-system/src/main/java/com/tianhu/system/companyAuth/service/impl/OwnAuthServiceImpl.java

@@ -44,6 +44,10 @@ public class OwnAuthServiceImpl implements IOwnAuthService {
      * OCR 身份证正面
      */
     private static String FRONT = "front";
+    /**
+     * OCR 身份证国徽面
+     */
+    private static String BACK = "back";
 
     /**
      * OCR文字识别token缓存时间
@@ -72,16 +76,6 @@ public class OwnAuthServiceImpl implements IOwnAuthService {
     @Autowired
     private OwnAuthMapper ownAuthMapper;
 
-    /**
-     * 往来账款查询
-     *
-     * @return
-     */
-    @Override
-    public IPage<Map> selectBillInfList(Map map, QueryRequest request) {
-        Page page = new Page<>(request.getPageNum(), request.getPageSize());
-        return ownAuthMapper.selectBillInfList(page, map);
-    }
 
     /**
      * 获取发票信息
@@ -141,26 +135,40 @@ public class OwnAuthServiceImpl implements IOwnAuthService {
     @SneakyThrows
     @Override
     public Map getCardPositive(MultipartFile file,String fileType) {
-        //获取身份证信息
-        JSONObject result = OcrUtil.idcard(getToken(),file,FRONT);
-        System.out.print("身份证文字提取结果==========>" + result);
         Map map =new HashMap();
-        //校验返回结果是否成功
-        if (result != null && result.getJSONObject(WORDS_RESULT) != null) {
-            JSONObject wordsResult = result.getJSONObject(WORDS_RESULT);
-            //公民身份号码
-            String scyLegalId = wordsResult.getJSONObject("公民身份号码").getString("words");
-
-            //姓名
-            String scyLegal = wordsResult.getJSONObject("姓名").getString("words");
-            if("00".equals(fileType)){
-                map.put("scyLegalId",scyLegalId);
-                map.put("scyLegal",scyLegal);
-            }else{
-                map.put("handler",scyLegal);
-                map.put("handlerCard",scyLegalId);
-            }
+        if("00".equals(fileType)||"01".equals(fileType)){
+            //获取身份证信息
+            JSONObject result = OcrUtil.idcard(getToken(),file,FRONT);
+            System.out.print("身份证正面提取结果==========>" + result);
+
+            //校验返回结果是否成功
+            if (result != null && result.getJSONObject(WORDS_RESULT) != null) {
+                JSONObject wordsResult = result.getJSONObject(WORDS_RESULT);
+                //公民身份号码
+                String scyLegalId = wordsResult.getJSONObject("公民身份号码").getString("words");
+
+                //姓名
+                String scyLegal = wordsResult.getJSONObject("姓名").getString("words");
+                if("00".equals(fileType)){
+                    map.put("scyLegalId",scyLegalId);
+                    map.put("scyLegal",scyLegal);
+                }else{
+                    map.put("handler",scyLegal);
+                    map.put("handlerCard",scyLegalId);
+                }
 
+            }
+        }else{
+            //获取身份证信息
+            JSONObject result = OcrUtil.idcard(getToken(),file,BACK);
+            System.out.print("身份证反面提取结果==========>" + result);
+            JSONObject wordsResult = result.getJSONObject(WORDS_RESULT);
+            //失效日期
+            String invalid = wordsResult.getJSONObject("失效日期").getString("words");
+            //签发机关
+            String office = wordsResult.getJSONObject("签发机关").getString("words");
+            //签发日期
+            String Issue = wordsResult.getJSONObject("签发日期").getString("words");
         }
         //返回身份证信息
         return  map;

+ 13 - 0
tianhu-system/src/main/java/com/tianhu/system/utils/RegularUtil.java

@@ -24,6 +24,9 @@ public class RegularUtil {
     //企业名称校验
     private static final String COMPANYNAME  ="^[0-9A-Z\\u4E00-\\u9FFF《》()()-]+$";
 
+    //经办人校验
+    private static final String HANDLER  ="^[A-Za-z\\\\u4e00-\\\\u9fa5]+$";
+
 
     /**
      *正则表达式验证金额 正数 正整数
@@ -109,4 +112,14 @@ public class RegularUtil {
         Matcher match = pattern.matcher(str);
         return match.matches();
     }
+    /**
+     *经办人校验
+     * @param str
+     * @return
+     */
+    public static boolean handler(String str) {
+        Pattern pattern = Pattern.compile(HANDLER);
+        Matcher match = pattern.matcher(str);
+        return match.matches();
+    }
 }