|
|
@@ -1,12 +1,19 @@
|
|
|
package com.tianhu.system.companyAuth.controller;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.tianhu.common.core.cfca.AxqCommonUtil;
|
|
|
import com.tianhu.common.core.cfca.CfcaUtil;
|
|
|
+import com.tianhu.common.core.cfca.QccCommonUtil;
|
|
|
+import com.tianhu.common.core.constant.CacheConstants;
|
|
|
+import com.tianhu.common.core.constant.Constants;
|
|
|
import com.tianhu.common.core.domain.R;
|
|
|
import com.tianhu.common.core.exception.BaseException;
|
|
|
import com.tianhu.common.core.utils.*;
|
|
|
+import com.tianhu.common.core.utils.file.ExcelFileUtils;
|
|
|
import com.tianhu.common.core.web.controller.BaseController;
|
|
|
+import com.tianhu.common.core.web.domain.AjaxResult;
|
|
|
+import com.tianhu.common.redis.service.RedisService;
|
|
|
import com.tianhu.common.security.service.TokenService;
|
|
|
import com.tianhu.system.api.RemoteFileService;
|
|
|
import com.tianhu.system.api.domain.PubFileInf;
|
|
|
@@ -19,14 +26,34 @@ import com.tianhu.system.domain.*;
|
|
|
import com.tianhu.system.mapper.SysRoleMapper;
|
|
|
import com.tianhu.system.service.*;
|
|
|
import com.tianhu.system.utils.FlowableService;
|
|
|
+import com.tianhu.system.utils.SysConstant;
|
|
|
+import org.apache.commons.io.FileUtils;
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
+import org.apache.poi.hssf.usermodel.HSSFCell;
|
|
|
+import org.apache.poi.hssf.usermodel.HSSFRow;
|
|
|
+import org.apache.poi.hssf.usermodel.HSSFSheet;
|
|
|
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
|
|
+import org.apache.poi.ss.usermodel.Cell;
|
|
|
+import org.apache.poi.ss.usermodel.Row;
|
|
|
+import org.apache.poi.ss.usermodel.Sheet;
|
|
|
+import org.apache.poi.ss.usermodel.Workbook;
|
|
|
+import org.apache.poi.xssf.usermodel.XSSFCell;
|
|
|
+import org.apache.poi.xssf.usermodel.XSSFRow;
|
|
|
+import org.apache.poi.xssf.usermodel.XSSFSheet;
|
|
|
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
|
|
import org.json.JSONObject;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
|
+import javax.servlet.http.HttpServletRequest;
|
|
|
+import javax.swing.*;
|
|
|
+import java.io.*;
|
|
|
+import java.sql.ResultSet;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.util.*;
|
|
|
+import java.util.concurrent.TimeUnit;
|
|
|
|
|
|
/**
|
|
|
* 企业认证管理
|
|
|
@@ -68,6 +95,10 @@ public class OwnAuthController extends BaseController {
|
|
|
private RemoteFileService remoteFileService;
|
|
|
@Autowired
|
|
|
private SysRoleMapper roleMapper;
|
|
|
+ @Autowired
|
|
|
+ private ISysPermissionService permissionService;
|
|
|
+ @Autowired
|
|
|
+ private RedisService redisService;
|
|
|
/**
|
|
|
* CFCA (是否开启生产环境配置 true 开启 false 关闭)
|
|
|
*/
|
|
|
@@ -120,6 +151,16 @@ public class OwnAuthController extends BaseController {
|
|
|
* CFCA证件类型(小额打款认证)
|
|
|
*/
|
|
|
private String TYPECODE = "0";
|
|
|
+ /**
|
|
|
+ * 企查查标识 招采云链默认使用
|
|
|
+ */
|
|
|
+ private String KEY = "2eb3e260ce1c4439aa0aa039fb494036";
|
|
|
+ /**
|
|
|
+ * 企查查标识 招采云链默认使用
|
|
|
+ */
|
|
|
+ private String SECRETKEY = "03FFC1B421136621126B2AAD945E99CF";
|
|
|
+ //金额 正数 正整数
|
|
|
+ private static final String MONEY = "([1-9]\\d*(.\\d{1,2})?)$|^(0.\\d?[1-9])$|^(0.[1-9]\\d?)";
|
|
|
@Autowired
|
|
|
private FlowableService flowableService;
|
|
|
/**
|
|
|
@@ -192,16 +233,6 @@ public class OwnAuthController extends BaseController {
|
|
|
}
|
|
|
//经办人姓名
|
|
|
String handler = CommonUtil.objToString(map.get("handler"));
|
|
|
- //复核人员
|
|
|
- String review = CommonUtil.objToString(map.get("review"));
|
|
|
- if(CommonUtil.isEmpty(review)){
|
|
|
- return R.fail("复核人员不能为空");
|
|
|
- }
|
|
|
- if(CommonUtil.isNotEmpty(handler)&&!review.equals(handler)){
|
|
|
- return R.fail("复核人员需和经办人名称一致");
|
|
|
- }else if(CommonUtil.isEmpty(handler)&&!review.equals(scyLegal)){
|
|
|
- return R.fail("复核人员需和法人名称一致");
|
|
|
- }
|
|
|
//经办人身份证号
|
|
|
String handlerCard =CommonUtil.objToString(map.get("handlerCard"));
|
|
|
//经办人手机号
|
|
|
@@ -265,7 +296,7 @@ public class OwnAuthController extends BaseController {
|
|
|
operatorAuth.put("Message", "SUCCESS");
|
|
|
operatorAuth.put("Verification", "20");*/
|
|
|
if(CommonUtil.isNotEmpty(handler)){
|
|
|
- operatorAuth= CfcaUtil.operatorAuth(ISPRO, INSTITUTIONID, review, IDENTIFICATIONTYPE, handlerCard, phoneNumber, zbiRemark);
|
|
|
+ operatorAuth= CfcaUtil.operatorAuth(ISPRO, INSTITUTIONID, handler, IDENTIFICATIONTYPE, handlerCard, phoneNumber, zbiRemark);
|
|
|
}else{
|
|
|
operatorAuth= CfcaUtil.operatorAuth(ISPRO, INSTITUTIONID, scyLegal, IDENTIFICATIONTYPE, scyLegalId, phoneNumber, zbiRemark);
|
|
|
}
|
|
|
@@ -277,6 +308,9 @@ public class OwnAuthController extends BaseController {
|
|
|
}else{
|
|
|
return R.fail("运营商审核失败请确认经办人信息是否正确");
|
|
|
}
|
|
|
+ //获取社会统一信用代码前两位
|
|
|
+ String scySocial = scySocialCode.substring(0, 2);
|
|
|
+ if("91".equals(scySocial)||"92".equals(scySocial)||"93".equals(scySocial)){
|
|
|
//工商四要素
|
|
|
JSONObject companyAuth = CfcaUtil.companyAuth(ISPRO, INSTITUTIONID, scyName, scySocialCode, scyLegal, IDENTIFICATIONTYPE, scyLegalId, zbiRemark);
|
|
|
/*JSONObject companyAuth = new JSONObject();
|
|
|
@@ -295,6 +329,18 @@ public class OwnAuthController extends BaseController {
|
|
|
}else{
|
|
|
SysCompany.setScyAuthStatus("02");
|
|
|
}
|
|
|
+ }else{
|
|
|
+ //企查查
|
|
|
+ JSONObject BasicDetailsByName = QccCommonUtil.getBasicDetailsByName(KEY,SECRETKEY,scySocialCode);
|
|
|
+ //
|
|
|
+ String status =BasicDetailsByName.getString("Status");
|
|
|
+ if("200".equals(status)){
|
|
|
+ String name =BasicDetailsByName.getJSONObject("Result").getString("Name");
|
|
|
+ if(!scyName.equals(name)){
|
|
|
+ throw new Exception("企业名称与社会同一信用代码不一致!");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
//获取创建人
|
|
|
SysCompany.setCreateBy(use.getUserId()+"");
|
|
|
//获取当前时间
|
|
|
@@ -360,7 +406,11 @@ public class OwnAuthController extends BaseController {
|
|
|
// 修改用户数据
|
|
|
OwnSysUser sysUser = new OwnSysUser();
|
|
|
sysUser.setUserId(String.valueOf(use.getUserId()));
|
|
|
- sysUser.setNickName(review);
|
|
|
+ if(CommonUtil.isNotEmpty(handler)){
|
|
|
+ sysUser.setNickName(handler);
|
|
|
+ }else{
|
|
|
+ sysUser.setNickName(scyLegal);
|
|
|
+ }
|
|
|
sysUser.setRoleIds(roleIds);
|
|
|
userService.updateUser(sysUser);
|
|
|
// 增加关系表数据
|
|
|
@@ -387,7 +437,11 @@ public class OwnAuthController extends BaseController {
|
|
|
if(handlerUser == null){
|
|
|
SysUser sysUser = new SysUser();
|
|
|
sysUser.setUserName(phoneNumber);
|
|
|
- sysUser.setNickName(review);
|
|
|
+ if(CommonUtil.isNotEmpty(handler)){
|
|
|
+ sysUser.setNickName(handler);
|
|
|
+ }else{
|
|
|
+ sysUser.setNickName(scyLegal);
|
|
|
+ }
|
|
|
String password = configService.selectConfigByKey("sys.user.initPassword");
|
|
|
sysUser.setPassword(SecurityUtils.encryptPassword(password));
|
|
|
sysUser.setCreateBy(use.getUserId()+"");
|
|
|
@@ -416,7 +470,11 @@ public class OwnAuthController extends BaseController {
|
|
|
// TODO多公司用户名字存在不一样问题
|
|
|
OwnSysUser sysUser = new OwnSysUser();
|
|
|
sysUser.setUserId(String.valueOf(use.getUserId()));
|
|
|
- sysUser.setNickName(review);
|
|
|
+ if(CommonUtil.isNotEmpty(handler)){
|
|
|
+ sysUser.setNickName(handler);
|
|
|
+ }else{
|
|
|
+ sysUser.setNickName(scyLegal);
|
|
|
+ }
|
|
|
sysUser.setRoleIds(roleIds);
|
|
|
userService.updateUser(sysUser);
|
|
|
// 新增角色
|
|
|
@@ -479,7 +537,6 @@ public class OwnAuthController extends BaseController {
|
|
|
}
|
|
|
//返回企业信息
|
|
|
SysCompany company = sysCompanyService.getById(scyId);
|
|
|
-
|
|
|
// 审批增加分组
|
|
|
Map<String, Object> flowableRes = flowableService.addFlowableGroup(scyId, company.getScyName());
|
|
|
if (!"200".equals(flowableRes.get("code"))) {
|
|
|
@@ -526,18 +583,11 @@ public class OwnAuthController extends BaseController {
|
|
|
public R getlicense(MultipartFile file) {
|
|
|
//获取企业信息
|
|
|
SysCompany sysCompany = ownAuthService.businessLicense(file);
|
|
|
-// LambdaQueryWrapper<SysCompany> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
-// //企业名称
|
|
|
-// queryWrapper.eq(SysCompany::getScyName,sysCompany.getScyName());
|
|
|
-// //统一社会信用代码
|
|
|
-// queryWrapper.eq(SysCompany::getScySocialCode,sysCompany.getScySocialCode());
|
|
|
-// List<SysCompany> list = sysCompanyService.findSysCompanys(queryWrapper);
|
|
|
- //不重复则储存营业执照并上传
|
|
|
- //获取上传文件token
|
|
|
- String token = SecurityUtils.getToken(ServletUtils.getRequest());
|
|
|
- //文件传输
|
|
|
- R<PubFileInf> fileResult = remoteFileService.uploadFile(file,"01","04","00", "", token);
|
|
|
- sysCompany.setScyLicenseFile(fileResult.getData().getPfiFileId());
|
|
|
+ //获取上传文件token
|
|
|
+ String token = SecurityUtils.getToken(ServletUtils.getRequest());
|
|
|
+ //文件传输
|
|
|
+ R<PubFileInf> fileResult = remoteFileService.uploadFile(file,"01","04","00", "", token);
|
|
|
+ sysCompany.setScyLicenseFile(fileResult.getData().getPfiFileId());
|
|
|
//返回营业执照信息
|
|
|
System.out.print("ocr识别==========>" + sysCompany);
|
|
|
return R.ok(sysCompany);
|
|
|
@@ -737,9 +787,9 @@ public class OwnAuthController extends BaseController {
|
|
|
* @return
|
|
|
*/
|
|
|
@PostMapping("/verification")
|
|
|
- public R verification(@RequestBody Map<String,Object> map) throws Exception {
|
|
|
+ public R verification(@RequestBody Map<String,Object> map, HttpServletRequest request) throws Exception {
|
|
|
//获取登录用户
|
|
|
- LoginUser user = tokenService.getLoginUser();
|
|
|
+ LoginUser loginUser = tokenService.getLoginUser();
|
|
|
//电话
|
|
|
String phone = CommonUtil.objToString(map.get("phone"));
|
|
|
//企业id
|
|
|
@@ -812,6 +862,18 @@ public class OwnAuthController extends BaseController {
|
|
|
sysCompanyProduct.setScpEndDate("20990101");
|
|
|
sysCompanyProduct.setScpState("00");
|
|
|
sysCompanyProductService.insertSysCompanyProduct(sysCompanyProduct);
|
|
|
+
|
|
|
+ // 角色集合
|
|
|
+ SysUser sysUser = loginUser.getSysUser();
|
|
|
+ sysUser.setCompanyId(scyId);
|
|
|
+ sysUser.setCompanyStatus(sysCompany.getScyStatus());
|
|
|
+ Set<String> roles = permissionService.getRolePermission(sysUser.getUserId(), sysUser.getCompanyId());
|
|
|
+ Set<String> permissions = this.getPermissions(sysUser);
|
|
|
+ loginUser.setRoles(roles);
|
|
|
+ loginUser.setPermissions(permissions);
|
|
|
+ loginUser.setSysUser(sysUser);
|
|
|
+ String token = SecurityUtils.getToken(request);
|
|
|
+ redisService.setCacheObject(CacheConstants.LOGIN_TOKEN_KEY + token, loginUser, Constants.TOKEN_EXPIRE * 60, TimeUnit.SECONDS);
|
|
|
return R.ok();
|
|
|
}
|
|
|
/**
|
|
|
@@ -852,4 +914,26 @@ public class OwnAuthController extends BaseController {
|
|
|
return R.ok();
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ private Set<String> getPermissions(SysUser user){
|
|
|
+ Set<String> permissions = new HashSet<String>();
|
|
|
+ //平台走原流程
|
|
|
+ if(SysConstant.PLATFORM_NO.equals(user.getCompanyId()) ){
|
|
|
+ permissions = permissionService.getMenuPermission(user.getUserId());
|
|
|
+ System.out.println("平台用户");
|
|
|
+ }else{
|
|
|
+ List<String> roleList = permissionService.getRoles(user.getUserId().toString(), user.getCompanyId());
|
|
|
+ //初始用户,菜单权限数据取企业产品菜单数据
|
|
|
+ if(roleList.contains(SysConstant.ROLE_IS_AUTO)){
|
|
|
+ permissions = permissionService.getMenuByAutoUser(user);
|
|
|
+ System.out.println("企业初始用户");
|
|
|
+ }else{
|
|
|
+ //非初始用户菜单数据取 角色菜单-公司产品菜单数据并集
|
|
|
+ permissions = permissionService.getMenuByCommonUser(user);
|
|
|
+ System.out.println("企业普通用户");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return permissions;
|
|
|
+ }
|
|
|
+
|
|
|
}
|