Search in sources :

Example 6 with Proxy

use of com.itrus.portal.db.Proxy in project portal by ixinportal.

the class SubmitReviewServiceImpl method getAuditJsonParam.

/**
 * 获取单个送审的数据json格式
 *
 * @param bill
 * @return
 */
public String getAuditJsonParam(Bill bill) throws Exception {
    SysConfig sysConfig = cacheCustomer.getSysConfigByType(SystemConfigService.TS_URL);
    if (sysConfig == null || StringUtils.isBlank(sysConfig.getConfig()))
        throw new UserInfoServiceException("缺少终端后台地址配置信息");
    // 查询企业表是是否含有dataid的值
    UserInfo userInfo = sqlSession.selectOne("com.itrus.portal.db.UserInfoMapper.selectByPrimaryKey", bill.getUniqueId());
    Enterprise enterprise = sqlSession.selectOne("com.itrus.portal.db.EnterpriseMapper.selectByPrimaryKey", bill.getEnterprise());
    String dataId = bill.getDataId();
    // 获取产品的认证等级需要认证的项
    Product product = sqlSession.selectOne("com.itrus.portal.db.ProductMapper.selectByPrimaryKey", bill.getProduct());
    Certification certification = sqlSession.selectOne("com.itrus.portal.db.CertificationMapper.selectByPrimaryKey", product.getAuthentication());
    /**
     * 需要认证的项:0营业执照,1组织机构代码,2税务登记证,3授权书,4法定代表人/经营者
     */
    Long[] items = StringTools.getLong(certification.getCertItems());
    BusinessLicense businessLicense = null;
    OrgCode orgCode = null;
    TaxRegisterCert taxRegister = null;
    IdentityCard identityCard = null;
    Proxy proxy = null;
    Agent agent = null;
    for (Long item : items) {
        if (ComNames.BUSINESS_ITEM == item) {
            // 查询订单的营业执照信息
            businessLicense = businessService.getBusinessByBillId(bill.getId(), null);
        } else if (ComNames.ORG_CODE_ITEM == item) {
            // 查询订单的组织机构代码信息
            orgCode = orgCodeService.getOrgCodeByBillId(bill.getId(), null);
        } else if (ComNames.TAX_CERT_ITEM == item) {
            // 查询订单的税务登记证信息
            taxRegister = taxCertService.getTaxRegisterCertByBillId(bill.getId(), null);
        } else if (ComNames.IDENTITY_CARD_ITEM == item) {
            // 查询订单的法人信息
            identityCard = identityCardService.getIdentityCardByBillId(bill.getId(), null);
        } else if (ComNames.PROXY_ITEM == item) {
            // 查询订单的授权书信息
            proxy = proxyService.getProxyByBillId(bill.getId());
        } else if (ComNames.AGENT_ITEM == item) {
            agent = agentService.getAgentByBillId(bill.getId(), null);
        }
    }
    Map<String, Object> jsonMap = new HashMap<String, Object>();
    String appId = product.getAppId().toString();
    String appsecret = product.getAppsecret();
    jsonMap.put("appId", appId);
    jsonMap.put("appsecret", appsecret);
    if (StringUtils.isNotBlank(dataId))
        // 用户查询记录回执id,当审核失败后重新提交时,必填(上一次返回的dataid)
        jsonMap.put("dataid", dataId);
    // 企业信息
    // 企业类型(1为企业;
    jsonMap.put("comptype", enterprise.getEnterpriseNature());
    // 2为个体工商户;3为事业单位/政府机关)
    // 注册省份
    jsonMap.put("compaddress", "");
    // 企业名称
    jsonMap.put("companyname", enterprise.getEnterpriseName());
    // 营业执照信息:当企业类型comptype值为1和2时,必填
    if (null != businessLicense) {
        if (businessLicense.getBusinessType() == 1) {
            // 三证合一企业
            jsonMap.put("businesslicensetype", 1);
        } else {
            // 非三证合一企业
            jsonMap.put("businesslicensetype", 0);
        }
        // 统一社会信用代码/营业执照注册号
        jsonMap.put("compcode", businessLicense.getLicenseNo());
        if (StringUtils.isNotBlank(businessLicense.getImgFile()) && StringUtils.isNotBlank(businessLicense.getImgFileHash())) {
            jsonMap.put("businesslicense", sysConfig.getConfig() + "/reviewWeb/audit/img/0/" + businessLicense.getId() + "/0/" + // 营业执照照片的URL
            businessLicense.getImgFileHash());
        }
    }
    // 组织机构代码信息:当企业类型comptype值为3时,必填
    if (null != orgCode) {
        if (null != orgCode.getOrgCodeType() && orgCode.getOrgCodeType().equals(1)) {
            // 三证合一企业
            jsonMap.put("businesslicensetype", 1);
            if (StringUtils.isNotBlank(orgCode.getImgFile()) && StringUtils.isNotBlank(orgCode.getImgFileHash())) {
                jsonMap.put("businesslicense", sysConfig.getConfig() + "/reviewWeb/audit/img/1/" + orgCode.getId() + "/0/" + // 组织机构代码证照片的URL
                orgCode.getImgFileHash());
            }
            // 统一社会信用代码/营业执照注册号
            jsonMap.put("compcode", orgCode.getOrgCode());
        } else {
            // 组织机构代码(号码)
            jsonMap.put("organizationcode", orgCode.getOrgCode());
            if (StringUtils.isNotBlank(orgCode.getImgFile()) && StringUtils.isNotBlank(orgCode.getImgFileHash())) {
                jsonMap.put("orgcodecertificate", sysConfig.getConfig() + "/reviewWeb/audit/img/1/" + orgCode.getId() + "/0/" + // 组织机构代码证照片的URL
                orgCode.getImgFileHash());
            }
        }
    }
    // 税务登记证信息
    if (null != taxRegister) {
        jsonMap.put("taxregistratno", taxRegister.getCertNo());
        jsonMap.put("taxregcertificate", sysConfig.getConfig() + "/reviewWeb/audit/img/2/" + taxRegister.getId() + "/0/" + // 税务登记证的URL
        taxRegister.getImgFileHash());
    }
    // 授权书信息
    if (null != proxy) {
        jsonMap.put("powerofattorney", // 授权书的URL
        sysConfig.getConfig() + "/reviewWeb/audit/img/3/" + proxy.getId() + "/0/" + proxy.getImgFileHash());
    }
    // 法人信息
    if (null != identityCard) {
        // 法人姓名
        jsonMap.put("legalname", identityCard.getName());
        // 法人证件类型(1为身份证;2为护照;3为其他)
        jsonMap.put("legalnotype", identityCard.getCardType());
        // 法人证件号码
        jsonMap.put("legalidcardno", identityCard.getIdCode());
        jsonMap.put("legalpzmzp", sysConfig.getConfig() + "/reviewWeb/audit/img/4/" + identityCard.getId() + "/0/" + // 法人证件正面照片的URL
        identityCard.getFrontImgHash());
        if (StringUtils.isNotBlank(identityCard.getBackImg()) && StringUtils.isNotBlank(identityCard.getBackImgHash())) {
            jsonMap.put("legalpfmzp", sysConfig.getConfig() + "/reviewWeb/audit/img/4/" + identityCard.getId() + "/1/" + // 法人证件反面照片的URL
            identityCard.getBackImgHash());
        }
    }
    // 代理人信息
    // 代理人姓名
    jsonMap.put("proxyname", userInfo.getRealName());
    // 代理人手机号
    jsonMap.put("proxyphone", userInfo.getmPhone());
    // 代理人座机
    jsonMap.put("proxytele", userInfo.getTelephone());
    // 代理人邮箱
    jsonMap.put("proxyemail", userInfo.getEmail());
    if (null != agent) {
        // 代理人证件类型(1为身份证;2为护照;3为其他)
        jsonMap.put("proxynotype", agent.getCardType());
        // 代理人身份证号
        jsonMap.put("proxypidcardno", agent.getIdCode());
        jsonMap.put("proxypzmzp", sysConfig.getConfig() + "/reviewWeb/audit/img/5/" + agent.getId() + "/0/" + // 代理人身份证正面照片
        agent.getFrontImgHash());
        if (StringUtils.isNotBlank(agent.getBackImg()) && StringUtils.isNotBlank(agent.getBackImgHash())) {
            jsonMap.put("proxypfmzp", sysConfig.getConfig() + "/reviewWeb/audit/img/5/" + agent.getId() + "/1/" + // 代理人身份证反面照片
            agent.getBackImgHash());
        }
    }
    return jsonTool.writeValueAsString(jsonMap);
}
Also used : SysConfig(com.itrus.portal.db.SysConfig) HashMap(java.util.HashMap) Product(com.itrus.portal.db.Product) UserInfo(com.itrus.portal.db.UserInfo) UserInfoServiceException(com.itrus.portal.exception.UserInfoServiceException) Certification(com.itrus.portal.db.Certification) OrgCode(com.itrus.portal.db.OrgCode) BusinessLicense(com.itrus.portal.db.BusinessLicense) Proxy(com.itrus.portal.db.Proxy) Enterprise(com.itrus.portal.db.Enterprise) TaxRegisterCert(com.itrus.portal.db.TaxRegisterCert) IdentityCard(com.itrus.portal.db.IdentityCard)

Example 7 with Proxy

use of com.itrus.portal.db.Proxy in project portal by ixinportal.

the class ProxyServiceImpl method portUpdateProxy.

/**
 * 修改授权书图片(PAI接口)
 *
 * @param billId
 * @param enterpriseSn
 * @param proxy
 * @return
 * @throws Exception
 */
public Proxy portUpdateProxy(Long billId, String uniqueId, String image) throws Exception {
    Proxy proxy = this.getProxyByBillId(billId);
    if (null == proxy) {
        return null;
    }
    File imgDir = filePathUtils.getUserInfoFIle(uniqueId);
    if (StringUtils.isNotBlank(proxy.getImgFile())) {
        FileUtils.deleteQuietly(new File(imgDir, proxy.getImgFile()));
    }
    File img = filePathUtils.saveImg(imgDir, null, image, IMG_DEFAULT_TYPE, IMG_NAME_PROXY);
    if (img != null && img.isFile()) {
        proxy.setImgFile(img.getName());
        proxy.setImgFileHash(HMACSHA1.genSha1HashOfFile(img));
    }
    sqlSession.update("com.itrus.portal.db.ProxyMapper.updateByPrimaryKeySelective", proxy);
    sqlSession.flushStatements();
    return proxy;
}
Also used : Proxy(com.itrus.portal.db.Proxy) File(java.io.File)

Example 8 with Proxy

use of com.itrus.portal.db.Proxy in project portal by ixinportal.

the class ProxyServiceImpl method updateProxy.

/**
 * 修改授权书图片
 *
 * @param p_Id
 * @param enterpriseSn
 * @param proxy
 * @return
 * @throws Exception
 */
public Proxy updateProxy(Long p_Id, String uniqueId, Proxy proxy, Project project) throws Exception {
    if (null == proxy || StringUtils.isBlank(proxy.getImgFile())) {
        return null;
    }
    proxy.setId(p_Id);
    Proxy proxy1 = sqlSession.selectOne("com.itrus.portal.db.ProxyMapper.selectByPrimaryKey", p_Id);
    File imgDir = filePathUtils.getUserInfoFIle(uniqueId);
    if (StringUtils.isNotBlank(proxy.getImgFile())) {
        FileUtils.deleteQuietly(new File(imgDir, proxy1.getImgFile()));
        File img = filePathUtils.saveImg(imgDir, null, proxy.getImgFile(), IMG_DEFAULT_TYPE, IMG_NAME_PROXY, project);
        if (img != null && img.isFile()) {
            proxy.setImgFile(img.getName());
            proxy.setImgFileHash(HMACSHA1.genSha1HashOfFile(img));
        }
    }
    sqlSession.update("com.itrus.portal.db.ProxyMapper.updateByPrimaryKeySelective", proxy);
    sqlSession.flushStatements();
    return proxy;
}
Also used : Proxy(com.itrus.portal.db.Proxy) File(java.io.File)

Example 9 with Proxy

use of com.itrus.portal.db.Proxy in project portal by ixinportal.

the class ProxyServiceImpl method saveProxy1.

public Proxy saveProxy1(Long enterpriseId, String uniqueId, Long billId, Long userInfoId, Proxy proxy, Proxy old, Project project) throws Exception {
    File imgDir = filePathUtils.getUserInfoFIle(uniqueId);
    // 判断授权书图片是否重新上传了,没有重新上传,则会提交授权书的id,重新上传,还是按照下面的方法处理
    if (null != proxy.getId()) {
        Proxy newProxy = new Proxy();
        Proxy oldProxy = sqlSession.selectOne("com.itrus.portal.db.ProxyMapper.selectByPrimaryKey", proxy.getId());
        newProxy.setEnterprise(enterpriseId);
        newProxy.setBill(billId);
        newProxy.setUserInfo(userInfoId);
        newProxy.setItemStatus(oldProxy.getItemStatus());
        newProxy.setCreateTime(new Date());
        newProxy.setLastModify(new Date());
        if (StringUtils.isNotBlank(proxy.getImgFile())) {
            File img = filePathUtils.saveImg(imgDir, null, proxy.getImgFile(), IMG_DEFAULT_TYPE, IMG_NAME_PROXY, project);
            if (img != null && img.isFile()) {
                newProxy.setImgFile(img.getName());
                newProxy.setImgFileHash(HMACSHA1.genSha1HashOfFile(img));
            }
        } else {
            newProxy.setImgFile(oldProxy.getImgFile());
            newProxy.setImgFileHash(oldProxy.getImgFileHash());
        }
        sqlSession.insert("com.itrus.portal.db.ProxyMapper.insert", newProxy);
        sqlSession.flushStatements();
        return newProxy;
    }
    /*if (null == proxy || StringUtils.isBlank(proxy.getImgFile())) {
			throw new UserInfoServiceException("请提交授权书信息");
		}*/
    proxy.setCreateTime(new Date());
    proxy.setLastModify(new Date());
    proxy.setEnterprise(enterpriseId);
    proxy.setBill(billId);
    proxy.setUserInfo(userInfoId);
    if (StringUtils.isNotBlank(proxy.getImgFile()) && !proxy.getImgFile().equals(ComNames.USE_OLD_IMG)) {
        File img = filePathUtils.saveImg(imgDir, null, proxy.getImgFile(), IMG_DEFAULT_TYPE, IMG_NAME_PROXY, project);
        if (img != null && img.isFile()) {
            proxy.setImgFile(img.getName());
            proxy.setImgFileHash(HMACSHA1.genSha1HashOfFile(img));
        }
    }
    if (old == null)
        sqlSession.insert("com.itrus.portal.db.ProxyMapper.insert", proxy);
    else {
        proxy.setId(old.getId());
        sqlSession.update("com.itrus.portal.db.ProxyMapper.updateByPrimaryKey", proxy);
    }
    sqlSession.flushStatements();
    return proxy;
}
Also used : Proxy(com.itrus.portal.db.Proxy) File(java.io.File) Date(java.util.Date)

Example 10 with Proxy

use of com.itrus.portal.db.Proxy in project portal by ixinportal.

the class ProxyServiceImpl method portSaveProxy1.

public Proxy portSaveProxy1(Long enterpriseId, String uniqueId, Long billId, Long userInfoId, Proxy proxy, Proxy old) throws Exception {
    File imgDir = filePathUtils.getUserInfoFIle(uniqueId);
    // 判断授权书图片是否重新上传了,没有重新上传,则会提交授权书的id,重新上传,还是按照下面的方法处理
    if (null != proxy.getId()) {
        Proxy newProxy = new Proxy();
        Proxy oldProxy = sqlSession.selectOne("com.itrus.portal.db.ProxyMapper.selectByPrimaryKey", proxy.getId());
        newProxy.setEnterprise(enterpriseId);
        newProxy.setBill(billId);
        newProxy.setUserInfo(userInfoId);
        newProxy.setItemStatus(oldProxy.getItemStatus());
        newProxy.setCreateTime(new Date());
        newProxy.setLastModify(new Date());
        if (StringUtils.isNotBlank(proxy.getImgFile())) {
            File img = filePathUtils.saveImg(imgDir, null, proxy.getImgFile(), IMG_DEFAULT_TYPE, IMG_NAME_PROXY);
            if (img != null && img.isFile()) {
                newProxy.setImgFile(img.getName());
                newProxy.setImgFileHash(HMACSHA1.genSha1HashOfFile(img));
            }
        } else {
            newProxy.setImgFile(oldProxy.getImgFile());
            newProxy.setImgFileHash(oldProxy.getImgFileHash());
        }
        sqlSession.insert("com.itrus.portal.db.ProxyMapper.insert", newProxy);
        sqlSession.flushStatements();
        return newProxy;
    }
    proxy.setCreateTime(new Date());
    proxy.setLastModify(new Date());
    proxy.setEnterprise(enterpriseId);
    proxy.setBill(billId);
    proxy.setUserInfo(userInfoId);
    if (StringUtils.isNotBlank(proxy.getImgFile()) && !proxy.getImgFile().equals(ComNames.USE_OLD_IMG)) {
        File img = filePathUtils.saveImg(imgDir, null, proxy.getImgFile(), IMG_DEFAULT_TYPE, IMG_NAME_PROXY);
        if (img != null && img.isFile()) {
            proxy.setImgFile(img.getName());
            proxy.setImgFileHash(HMACSHA1.genSha1HashOfFile(img));
        }
    }
    if (old == null)
        sqlSession.insert("com.itrus.portal.db.ProxyMapper.insert", proxy);
    else {
        proxy.setId(old.getId());
        sqlSession.update("com.itrus.portal.db.ProxyMapper.updateByPrimaryKey", proxy);
    }
    sqlSession.flushStatements();
    return proxy;
}
Also used : Proxy(com.itrus.portal.db.Proxy) File(java.io.File) Date(java.util.Date)

Aggregations

Proxy (com.itrus.portal.db.Proxy)20 BusinessLicense (com.itrus.portal.db.BusinessLicense)11 IdentityCard (com.itrus.portal.db.IdentityCard)11 OrgCode (com.itrus.portal.db.OrgCode)11 TaxRegisterCert (com.itrus.portal.db.TaxRegisterCert)11 Agent (com.itrus.portal.db.Agent)10 Enterprise (com.itrus.portal.db.Enterprise)10 Product (com.itrus.portal.db.Product)10 UserInfo (com.itrus.portal.db.UserInfo)10 UserInfoServiceException (com.itrus.portal.exception.UserInfoServiceException)10 Bill (com.itrus.portal.db.Bill)9 HashMap (java.util.HashMap)6 RequestMapping (org.springframework.web.bind.annotation.RequestMapping)6 JSONObject (com.alibaba.fastjson.JSONObject)5 UserCert (com.itrus.portal.db.UserCert)5 File (java.io.File)5 Date (java.util.Date)5 Certification (com.itrus.portal.db.Certification)4 DigitalCert (com.itrus.portal.db.DigitalCert)4 TransactionStatus (org.springframework.transaction.TransactionStatus)4