Search in sources :

Example 31 with Product

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

the class ReviewServiceImpl method getCertificationItems.

/**
 * 获取订单产品的实名认证项
 *
 * @param productId
 * @return
 */
public Long[] getCertificationItems(Long productId) {
    // 获取产品的认证等级需要认证的项
    Product product = sqlSession.selectOne("com.itrus.portal.db.ProductMapper.selectByPrimaryKey", productId);
    Certification certification = sqlSession.selectOne("com.itrus.portal.db.CertificationMapper.selectByPrimaryKey", product.getAuthentication());
    /**
     * 需要认证的项:0营业执照,1组织机构代码,2税务登记证,3授权书,4法定代表人/经营者
     */
    Long[] items = StringTools.getLong(certification.getCertItems());
    return items;
}
Also used : Product(com.itrus.portal.db.Product) Certification(com.itrus.portal.db.Certification)

Example 32 with Product

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

the class SubmitReviewServiceImpl method getQueryBill.

/**
 * 根据产品list 获取送审中的订单(状态为10送审中 的所有订单list)
 *
 * @param productList
 * @return
 */
public Map<Long, List<Bill>> getQueryBill(List<Product> productList) {
    Map<Long, List<Bill>> billListMap = new HashMap<Long, List<Bill>>();
    if (null != productList && !productList.isEmpty()) {
        for (Product product : productList) {
            BillExample example = new BillExample();
            BillExample.Criteria criteria = example.or();
            criteria.andProductEqualTo(product.getId());
            criteria.andBillStatusEqualTo(ComNames.BILL_STATUS_10);
            // 时间逆序排列
            example.setOrderByClause("create_time asc");
            List<Bill> billList = sqlSession.selectList("com.itrus.portal.db.BillMapper.selectByExample", example);
            if (null != billList && !billList.isEmpty()) {
                billListMap.put(product.getId(), billList);
            }
        }
    }
    return billListMap;
}
Also used : BillExample(com.itrus.portal.db.BillExample) HashMap(java.util.HashMap) Bill(com.itrus.portal.db.Bill) Product(com.itrus.portal.db.Product) ArrayList(java.util.ArrayList) List(java.util.List)

Example 33 with Product

use of com.itrus.portal.db.Product 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 34 with Product

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

the class BillServiceImpl method getProductMapByUserInfoId.

/**
 * 根据用户id查询订单表中对应的产品Map
 *
 * @param userInfo
 * @return
 */
public Map<Long, Product> getProductMapByUserInfoId(Long userInfo) {
    Map<Long, Product> productMap = new HashMap<Long, Product>();
    List<Long> productIds = sqlSession.selectList("com.itrus.portal.db.BillMapper.selectProductsByUserInfo", userInfo);
    if (null != productIds && !productIds.isEmpty()) {
        ProductExample example = new ProductExample();
        ProductExample.Criteria criteria = example.or();
        criteria.andIdIn(productIds);
        productMap = sqlSession.selectMap("com.itrus.portal.db.ProductMapper.selectByExample", example, "id");
    }
    return productMap;
}
Also used : HashMap(java.util.HashMap) Product(com.itrus.portal.db.Product) ProductExample(com.itrus.portal.db.ProductExample)

Example 35 with Product

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

the class BillServiceImpl method getProductMapByEnterpriseId.

/**
 * 根据企业id查询订单表中对应的产品Manp
 *
 * @param enterprise
 * @return
 */
public Map<Long, Product> getProductMapByEnterpriseId(Long enterprise) {
    Map<Long, Product> productMap = new HashMap<Long, Product>();
    List<Long> productIds = sqlSession.selectList("com.itrus.portal.db.BillMapper.selectProductsByEnterprise", enterprise);
    if (null != productIds && !productIds.isEmpty()) {
        ProductExample example = new ProductExample();
        ProductExample.Criteria criteria = example.or();
        criteria.andIdIn(productIds);
        productMap = sqlSession.selectMap("com.itrus.portal.db.ProductMapper.selectByExample", example, "id");
    }
    return productMap;
}
Also used : HashMap(java.util.HashMap) Product(com.itrus.portal.db.Product) ProductExample(com.itrus.portal.db.ProductExample)

Aggregations

Product (com.itrus.portal.db.Product)77 RequestMapping (org.springframework.web.bind.annotation.RequestMapping)43 HashMap (java.util.HashMap)42 Bill (com.itrus.portal.db.Bill)39 Enterprise (com.itrus.portal.db.Enterprise)27 UserInfo (com.itrus.portal.db.UserInfo)27 DigitalCert (com.itrus.portal.db.DigitalCert)24 JSONObject (com.alibaba.fastjson.JSONObject)19 UserCert (com.itrus.portal.db.UserCert)19 ArrayList (java.util.ArrayList)19 IOException (java.io.IOException)18 Map (java.util.Map)17 ResponseBody (org.springframework.web.bind.annotation.ResponseBody)17 ProductExample (com.itrus.portal.db.ProductExample)15 UserInfoServiceException (com.itrus.portal.exception.UserInfoServiceException)15 Date (java.util.Date)15 List (java.util.List)14 HttpSession (javax.servlet.http.HttpSession)14 BillExample (com.itrus.portal.db.BillExample)10 Project (com.itrus.portal.db.Project)10