use of com.itrus.portal.db.Proxy in project portal by ixinportal.
the class DoUnlockKeyController method toUnlockFailPage.
@RequestMapping("/toUnlockFailPage/{billId}")
public String toUnlockFailPage(@PathVariable("billId") Long billId, Model uiModel) {
Bill bill = billService.getBill(billId);
UserInfo userInfo = userInfoService.getUserInfoById(bill.getUniqueId());
Proxy proxy = proxyService.getProxyByBillId(bill.getId());
OnPayInfo onPayInfo = onPayInfoService.selectByPrimaryKey(bill.getOnPayInfo());
UserCert userCert = userCertService.selectByPrimaryKey(bill.getUnlockUserCert());
uiModel.addAttribute("mPhone", userInfo.getmPhone());
uiModel.addAttribute("userCert", userCert);
uiModel.addAttribute("bill", bill);
uiModel.addAttribute("onPayInfo", onPayInfo);
uiModel.addAttribute("proxy", proxy);
uiModel.addAttribute("keySn", userCert.getKeySn());
uiModel.addAttribute("certSn", userCert.getCertSn());
return "clientFW/jiesuoyichang";
}
use of com.itrus.portal.db.Proxy in project portal by ixinportal.
the class BillWebServiceImpl method portSaveBillAuthenticationItems.
/**
* 保存订单对应的认证项,并删除之前关联的认证项(API接口)
*
* @param certItems
* 需要认证的项
* @param enterpriseNature
* 企业性质
* @param billId
* 订单id
* @param businessLicense
* 营业制证
* @param orgCode
* 组织机构代码
* @param taxregisterCert
* 税务登记
* @param identityCard
* 法人
* @param agent
* 代理人
* @param proxy
* 授权书
* @param webenterprise
* 企业
* @param webuserInfo
* 用户
* @throws Exception
*/
public void portSaveBillAuthenticationItems(String certItems, Integer enterpriseNature, Long billId, BusinessLicense businessLicense, OrgCode orgCode, TaxRegisterCert taxregisterCert, IdentityCard identityCard, Agent agent, Proxy proxy, Enterprise webenterprise, UserInfo webuserInfo) throws Exception {
// 根据订单id,获取该订单的旧认证项:
BusinessLicense oldBl = businessService.getBusinessByBillId(billId, null);
OrgCode oldOc = orgCodeService.getOrgCodeByBillId(billId, null);
TaxRegisterCert oldTc = taxCertService.getTaxRegisterCertByBillId(billId, null);
IdentityCard oldIc = identityCardService.getIdentityCardByBillId(billId, null);
Agent oldAgent = agentService.getAgentByBillId(billId, null);
Proxy oldProxy = proxyService.getProxyByBillId(billId);
// 新认证项id置null,便于执行新增处理
businessLicense.setId(null);
orgCode.setId(null);
taxregisterCert.setId(null);
identityCard.setId(null);
agent.setId(null);
proxy.setId(null);
// 从数据库中删除旧认证项
if (false) {
if (null != oldBl) {
sqlSession.delete("com.itrus.portal.db.BusinessLicenseMapper.deleteByPrimaryKey", oldBl.getId());
}
if (null != oldOc) {
sqlSession.delete("com.itrus.portal.db.OrgCodeMapper.deleteByPrimaryKey", oldOc.getId());
}
if (null != oldTc) {
sqlSession.delete("com.itrus.portal.db.TaxRegisterCertMapper.deleteByPrimaryKey", oldTc.getId());
}
if (null != oldIc) {
sqlSession.delete("com.itrus.portal.db.IdentityCardMapper.deleteByPrimaryKey", oldIc.getId());
}
if (null != oldAgent) {
sqlSession.delete("com.itrus.portal.db.AgentMapper.deleteByPrimaryKey", oldAgent.getId());
}
}
/**
* 需要认证的项:0营业执照,1组织机构代码,2税务登记证,3授权书,4法定代表人/经营者 5代理人
*/
Long[] items = StringTools.getLong(certItems);
// 是否有营业执照信息,默认false没有
boolean hasBl = false;
for (Long item : items) {
if (ComNames.BUSINESS_ITEM.equals(item) && !enterpriseNature.equals(3)) {
// 事业单位不填写营业执照
hasBl = true;
// 判断新认证项是否是使用旧认证项的图片
if (null != oldBl) {
businessLicense.setImgFile(ComNames.USE_OLD_IMG);
}
businessLicense = businessService.portSaveBusiness1(webenterprise.getId(), webenterprise.getEnterpriseSn(), billId, webuserInfo.getId(), businessLicense, ComNames.ITEM_STATUS_1, oldBl);
if (businessLicense.getImgFile() != null && businessLicense.getImgFile().equals(ComNames.USE_OLD_IMG)) {
businessLicense.setImgFile(oldBl.getImgFile());
businessLicense.setImgFileHash(oldBl.getImgFileHash());
sqlSession.update("com.itrus.portal.db.BusinessLicenseMapper.updateByPrimaryKey", businessLicense);
}
} else if (ComNames.ORG_CODE_ITEM.equals(item)) {
if (hasBl && businessLicense.getBusinessType().equals(1))
// 五证合一企业不用提交组织机构代码、税务登记信息
continue;
// 假如企业性质为2(个体工商户)并且组织机构代码没有填,则不用保存
if (enterpriseNature.equals(2) && StringUtils.isBlank(orgCode.getOrgCode()))
continue;
// 判断是否需要使用旧的认证项图片
if (null != oldOc) {
orgCode.setImgFile(ComNames.USE_OLD_IMG);
}
orgCode = orgCodeService.saveOrgCode1(webenterprise.getId(), webenterprise.getEnterpriseSn(), billId, webuserInfo.getId(), orgCode, ComNames.ITEM_STATUS_1, oldOc);
if (orgCode.getImgFile() != null && orgCode.getImgFile().equals(ComNames.USE_OLD_IMG)) {
orgCode.setImgFile(oldOc.getImgFile());
orgCode.setImgFileHash(oldOc.getImgFileHash());
sqlSession.update("com.itrus.portal.db.OrgCodeMapper.updateByPrimaryKey", orgCode);
}
} else if (ComNames.TAX_CERT_ITEM.equals(item)) {
if (hasBl && businessLicense.getBusinessType().equals(1))
// 五证合一企业不用提交组织机构代码、税务登记信息
continue;
// 保存税务登记证
if (enterpriseNature.equals(3))
// 事业单位不填写税务登记信息
continue;
// 判断是否需要使用旧的认证项图片
if (null != oldTc) {
taxregisterCert.setImgFile(ComNames.USE_OLD_IMG);
}
taxregisterCert = taxCertService.saveTaxCert1(webenterprise.getId(), webenterprise.getEnterpriseSn(), billId, webuserInfo.getId(), taxregisterCert, ComNames.ITEM_STATUS_1, oldTc);
if (taxregisterCert.getImgFile() != null && taxregisterCert.getImgFile().equals(ComNames.USE_OLD_IMG)) {
taxregisterCert.setImgFile(oldTc.getImgFile());
taxregisterCert.setImgFileHash(oldTc.getImgFileHash());
sqlSession.update("com.itrus.portal.db.TaxRegisterCertMapper.updateByPrimaryKey", taxregisterCert);
}
} else if (ComNames.IDENTITY_CARD_ITEM.equals(item)) {
// 判断是否需要使用旧的认证项图片
if (null != oldIc) {
identityCard.setFrontImg(ComNames.USE_OLD_IMG);
identityCard.setBackImg(ComNames.USE_OLD_IMG);
}
identityCard = identityCardService.portSaveIdentityCard1(webenterprise.getId(), webenterprise.getEnterpriseSn(), billId, webuserInfo.getId(), identityCard, ComNames.ITEM_STATUS_1, oldIc);
if (identityCard.getFrontImg() != null && identityCard.getFrontImg().equals(ComNames.USE_OLD_IMG)) {
identityCard.setFrontImg(oldIc.getFrontImg());
identityCard.setFrontImgHash(oldIc.getFrontImgHash());
sqlSession.update("com.itrus.portal.db.IdentityCardMapper.updateByPrimaryKey", identityCard);
}
if (identityCard.getBackImg().equals(ComNames.USE_OLD_IMG)) {
identityCard.setBackImg(oldIc.getBackImg());
identityCard.setBackImgHash(oldIc.getBackImgHash());
sqlSession.update("com.itrus.portal.db.IdentityCardMapper.updateByPrimaryKey", identityCard);
}
} else if (ComNames.AGENT_ITEM.equals(item)) {
// 保存代理人
if (null != oldAgent) {
agent.setFrontImg(ComNames.USE_OLD_IMG);
agent.setBackImg(ComNames.USE_OLD_IMG);
}
agent = agentService.portSaveAgent1(webenterprise.getId(), webenterprise.getEnterpriseSn(), billId, webuserInfo.getId(), agent, ComNames.ITEM_STATUS_1, oldAgent);
if (agent.getFrontImg() != null && agent.getFrontImg().equals(ComNames.USE_OLD_IMG)) {
agent.setFrontImg(oldAgent.getFrontImg());
agent.setFrontImgHash(oldAgent.getFrontImgHash());
sqlSession.update("com.itrus.portal.db.AgentMapper.updateByPrimaryKey", agent);
}
if (agent.getBackImg() != null && agent.getBackImg().equals(ComNames.USE_OLD_IMG)) {
agent.setBackImg(oldAgent.getBackImg());
agent.setBackImgHash(oldAgent.getBackImgHash());
sqlSession.update("com.itrus.portal.db.AgentMapper.updateByPrimaryKey", agent);
}
} else if (ComNames.PROXY_ITEM.equals(item)) {
// 保存授权书
if (null != oldProxy)
proxy.setImgFile(ComNames.USE_OLD_IMG);
proxy = proxyService.portSaveProxy1(webenterprise.getId(), webuserInfo.getUniqueId(), billId, webuserInfo.getId(), proxy, oldProxy);
if (proxy.getImgFile() != null && proxy.getImgFile().equals(ComNames.USE_OLD_IMG)) {
proxy.setImgFile(oldProxy.getImgFile());
proxy.setImgFileHash(oldProxy.getImgFileHash());
sqlSession.update("com.itrus.portal.db.ProxyMapper.updateByPrimaryKey", proxy);
}
}
}
}
use of com.itrus.portal.db.Proxy in project portal by ixinportal.
the class BillWebServiceImpl method saveBillAuthenticationItems.
/**
* 保存订单对应的认证项,并删除之前关联的认证项
*
* @param certItems
* 需要认证的项
* @param enterpriseNature
* 企业性质
* @param billId
* 订单id
* @param businessLicense
* 营业制证
* @param orgCode
* 组织机构代码
* @param taxregisterCert
* 税务登记
* @param identityCard
* 法人
* @param agent
* 代理人
* @param proxy
* 授权书
* @param webenterprise
* 企业
* @param webuserInfo
* 用户
* @throws Exception
*/
public void saveBillAuthenticationItems(String certItems, Integer enterpriseNature, Long billId, BusinessLicense businessLicense, OrgCode orgCode, TaxRegisterCert taxregisterCert, IdentityCard identityCard, Agent agent, Proxy proxy, Enterprise webenterprise, UserInfo webuserInfo) throws Exception {
// 根据订单id,获取该订单的旧认证项:
BusinessLicense oldBl = businessService.getBusinessByBillId(billId, null);
OrgCode oldOc = orgCodeService.getOrgCodeByBillId(billId, null);
TaxRegisterCert oldTc = taxCertService.getTaxRegisterCertByBillId(billId, null);
IdentityCard oldIc = identityCardService.getIdentityCardByBillId(billId, null);
Agent oldAgent = agentService.getAgentByBillId(billId, null);
Proxy oldProxy = proxyService.getProxyByBillId(billId);
// 新认证项id置null,便于执行新增处理
businessLicense.setId(null);
orgCode.setId(null);
taxregisterCert.setId(null);
identityCard.setId(null);
agent.setId(null);
proxy.setId(null);
// 从数据库中删除旧认证项
if (false) {
if (null != oldBl) {
sqlSession.delete("com.itrus.portal.db.BusinessLicenseMapper.deleteByPrimaryKey", oldBl.getId());
}
if (null != oldOc) {
sqlSession.delete("com.itrus.portal.db.OrgCodeMapper.deleteByPrimaryKey", oldOc.getId());
}
if (null != oldTc) {
sqlSession.delete("com.itrus.portal.db.TaxRegisterCertMapper.deleteByPrimaryKey", oldTc.getId());
}
if (null != oldIc) {
sqlSession.delete("com.itrus.portal.db.IdentityCardMapper.deleteByPrimaryKey", oldIc.getId());
}
if (null != oldAgent) {
sqlSession.delete("com.itrus.portal.db.AgentMapper.deleteByPrimaryKey", oldAgent.getId());
}
if (null != oldProxy) {
sqlSession.delete("com.itrus.portal.db.ProxyMapper.deleteByPrimaryKey", oldProxy.getId());
}
}
/**
* 需要认证的项:0营业执照,1组织机构代码,2税务登记证,3授权书,4法定代表人/经营者 5代理人
*/
Long[] items = StringTools.getLong(certItems);
// 是否有营业执照信息,默认false没有
boolean hasBl = false;
for (Long item : items) {
if (ComNames.BUSINESS_ITEM.equals(item) && !enterpriseNature.equals(3)) {
// 事业单位不填写营业执照
hasBl = true;
// 判断新认证项是否是使用旧认证项的图片
if (null != oldBl && StringUtils.isBlank(businessLicense.getImgFile())) {
businessLicense.setImgFile(ComNames.USE_OLD_IMG);
}
// TODO 验证插入重复数据问题item是否重复了:
System.out.println("BillWebServiceImpl-insert into businessLicense:item=" + item + ",billId=" + billId + ",enterpriseName=" + webenterprise.getEnterpriseName());
businessLicense = businessService.saveBusiness1(webenterprise.getId(), webenterprise.getEnterpriseSn(), billId, webuserInfo.getId(), businessLicense, ComNames.ITEM_STATUS_1, oldBl);
if (businessLicense.getImgFile().equals(ComNames.USE_OLD_IMG)) {
businessLicense.setImgFile(oldBl.getImgFile());
businessLicense.setImgFileHash(oldBl.getImgFileHash());
sqlSession.update("com.itrus.portal.db.BusinessLicenseMapper.updateByPrimaryKey", businessLicense);
}
} else if (ComNames.ORG_CODE_ITEM.equals(item)) {
if (hasBl && businessLicense.getBusinessType().equals(1))
// 五证合一企业不用提交组织机构代码、税务登记信息
continue;
// 假如企业性质为2(个体工商户)并且组织机构代码没有填,则不用保存
if (enterpriseNature.equals(2) && StringUtils.isBlank(orgCode.getOrgCode()))
continue;
// 判断是否需要使用旧的认证项图片
if (null != oldOc && StringUtils.isBlank(orgCode.getImgFile())) {
if (StringUtils.isBlank(oldOc.getImgFile())) {
if (orgCode.getOrgCodeType().equals(1)) {
throw new UserInfoServiceException("事业单位法人证书不能为空");
} else {
throw new UserInfoServiceException("组织机构代码图不能为空");
}
}
orgCode.setImgFile(ComNames.USE_OLD_IMG);
} else if (StringUtils.isBlank(orgCode.getImgFile())) {
if (orgCode.getOrgCodeType().equals(1)) {
throw new UserInfoServiceException("事业单位法人证书不能为空");
} else {
throw new UserInfoServiceException("组织机构代码图不能为空");
}
}
orgCode = orgCodeService.saveOrgCode1(webenterprise.getId(), webenterprise.getEnterpriseSn(), billId, webuserInfo.getId(), orgCode, ComNames.ITEM_STATUS_1, oldOc);
if (orgCode.getImgFile().equals(ComNames.USE_OLD_IMG)) {
orgCode.setImgFile(oldOc.getImgFile());
orgCode.setImgFileHash(oldOc.getImgFileHash());
sqlSession.update("com.itrus.portal.db.OrgCodeMapper.updateByPrimaryKey", orgCode);
}
} else if (ComNames.TAX_CERT_ITEM.equals(item)) {
if (hasBl && businessLicense.getBusinessType().equals(1))
// 五证合一企业不用提交组织机构代码、税务登记信息
continue;
// 保存税务登记证
if (enterpriseNature.equals(3))
// 事业单位不填写税务登记信息
continue;
// 判断是否需要使用旧的认证项图片
if (null != oldTc && StringUtils.isBlank(taxregisterCert.getImgFile())) {
if (StringUtils.isBlank(oldTc.getImgFile()))
throw new UserInfoServiceException("税务登记证不能为空");
taxregisterCert.setImgFile(ComNames.USE_OLD_IMG);
}
taxregisterCert = taxCertService.saveTaxCert1(webenterprise.getId(), webenterprise.getEnterpriseSn(), billId, webuserInfo.getId(), taxregisterCert, ComNames.ITEM_STATUS_1, oldTc);
if (taxregisterCert.getImgFile().equals(ComNames.USE_OLD_IMG)) {
taxregisterCert.setImgFile(oldTc.getImgFile());
taxregisterCert.setImgFileHash(oldTc.getImgFileHash());
sqlSession.update("com.itrus.portal.db.TaxRegisterCertMapper.updateByPrimaryKey", taxregisterCert);
}
} else if (ComNames.IDENTITY_CARD_ITEM.equals(item)) {
// 判断是否需要使用旧的认证项图片
if (null != oldIc) {
if (StringUtils.isBlank(identityCard.getFrontImg())) {
identityCard.setFrontImg(ComNames.USE_OLD_IMG);
identityCard.setFrontImgHash(oldIc.getFrontImgHash());
}
if (StringUtils.isBlank(identityCard.getBackImg()))
identityCard.setBackImg(ComNames.USE_OLD_IMG);
}
identityCard = identityCardService.saveIdentityCard1(webenterprise.getId(), webenterprise.getEnterpriseSn(), billId, webuserInfo.getId(), identityCard, ComNames.ITEM_STATUS_1, oldIc);
if (identityCard.getFrontImg().equals(ComNames.USE_OLD_IMG)) {
identityCard.setFrontImg(oldIc.getFrontImg());
identityCard.setFrontImgHash(oldIc.getFrontImgHash());
sqlSession.update("com.itrus.portal.db.IdentityCardMapper.updateByPrimaryKey", identityCard);
}
if (identityCard.getBackImg().equals(ComNames.USE_OLD_IMG)) {
identityCard.setBackImg(oldIc.getBackImg());
identityCard.setBackImgHash(oldIc.getBackImgHash());
sqlSession.update("com.itrus.portal.db.IdentityCardMapper.updateByPrimaryKey", identityCard);
}
} else if (ComNames.AGENT_ITEM.equals(item)) {
// 保存代理人
if (null != oldAgent) {
if (StringUtils.isBlank(agent.getFrontImg())) {
agent.setFrontImg(ComNames.USE_OLD_IMG);
agent.setFrontImgHash(oldAgent.getFrontImgHash());
}
if (StringUtils.isBlank(agent.getBackImg()))
agent.setBackImg(ComNames.USE_OLD_IMG);
}
agent = agentService.saveAgent1(webenterprise.getId(), webenterprise.getEnterpriseSn(), billId, webuserInfo.getId(), agent, ComNames.ITEM_STATUS_1, oldAgent);
if (agent.getFrontImg().equals(ComNames.USE_OLD_IMG)) {
agent.setFrontImg(oldAgent.getFrontImg());
agent.setFrontImgHash(oldAgent.getFrontImgHash());
sqlSession.update("com.itrus.portal.db.AgentMapper.updateByPrimaryKey", agent);
}
if (agent.getBackImg().equals(ComNames.USE_OLD_IMG)) {
agent.setBackImg(oldAgent.getBackImg());
agent.setBackImgHash(oldAgent.getBackImgHash());
sqlSession.update("com.itrus.portal.db.AgentMapper.updateByPrimaryKey", agent);
}
} else if (ComNames.PROXY_ITEM.equals(item)) {
// 保存授权书
if (null != oldProxy && StringUtils.isBlank(proxy.getImgFile()))
proxy.setImgFile(ComNames.USE_OLD_IMG);
// TODO 验证插入重复数据问题item是否重复了:
System.out.println("BillWebServiceImpl-insert into proxy:item=" + item + ",billId=" + billId + ",enterpriseName=" + webenterprise.getEnterpriseName());
Project project = billService.getProjectByBillId(billId);
proxy = proxyService.saveProxy1(webenterprise.getId(), webuserInfo.getUniqueId(), billId, webuserInfo.getId(), proxy, oldProxy, project);
if (proxy.getImgFile().equals(ComNames.USE_OLD_IMG)) {
proxy.setImgFile(oldProxy.getImgFile());
proxy.setImgFileHash(oldProxy.getImgFileHash());
sqlSession.update("com.itrus.portal.db.ProxyMapper.updateByPrimaryKey", proxy);
}
}
}
}
use of com.itrus.portal.db.Proxy in project portal by ixinportal.
the class ReviewServiceImpl method agreeBillReview.
/**
* pfx证书,当不要审核的时候,自动生成审核记录
* @param bill
*/
public void agreeBillReview(Bill bill) {
if (null == bill) {
return;
}
// 填充营业执照运营时间
Enterprise enterpriseInBill = enterpriseService.getEnterpriseByBillId(bill.getId());
String soperationStart = null;
String soperationEnd = null;
List<BusinessLicense> oldBusinessLicenses = businessService.getBusinessLicensesNews(bill.getEnterprise());
if (null != oldBusinessLicenses && !oldBusinessLicenses.isEmpty()) {
for (BusinessLicense businessLicense1 : oldBusinessLicenses) {
if (null != businessLicense1.getOperationStart() || null != businessLicense1.getOperationEnd()) {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
if (null != businessLicense1.getOperationStart()) {
soperationStart = format.format(businessLicense1.getOperationStart());
}
if (null != businessLicense1.getOperationEnd()) {
soperationEnd = format.format(businessLicense1.getOperationEnd());
}
break;
}
}
}
Product product = sqlSession.selectOne("com.itrus.portal.db.ProductMapper.selectByPrimaryKey", bill.getProduct());
DigitalCert cert = sqlSession.selectOne("com.itrus.portal.db.DigitalCertMapper.selectByPrimaryKey", product.getCert());
Certification certification = sqlSession.selectOne("com.itrus.portal.db.CertificationMapper.selectByPrimaryKey", product.getAuthentication());
Project project = billService.getProjectByBillId(bill.getId());
BusinessLicense businessLicense = businessService.getBusinessByBillId(bill.getId(), null);
OrgCode orgCode = orgCodeService.getOrgCodeByBillId(bill.getId(), null);
TaxRegisterCert taxregisterCert = taxCertService.getTaxRegisterCertByBillId(bill.getId(), null);
IdentityCard identityCard = identityCardService.getIdentityCardByBillId(bill.getId(), null);
Agent agent = agentService.getAgentByBillId(bill.getId(), null);
Proxy proxy = proxyService.getProxyByBillId(bill.getId());
// 更新管理员提交的认证项资料信息
DefaultTransactionDefinition def = new DefaultTransactionDefinition();
def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
TransactionStatus status = transactionManager.getTransaction(def);
try {
Long businessId = null;
Long orgCodeId = null;
Long taxregisterId = null;
Long identityCardId = null;
Long agentId = null;
Long proxyId = null;
// 更新营业执照信息
if (null != businessLicense && null != businessLicense.getId()) {
businessLicense = businessService.updateBusinessLicense(soperationStart, soperationEnd, businessLicense, ComNames.ITEM_STATUS_2, bill.getEnterprise(), bill.getId(), bill.getUniqueId(), null);
businessId = businessLicense.getId();
}
// 更新组织机构代码
if (null != orgCode && null != orgCode.getId()) {
orgCode = orgCodeService.updateOrgCode(orgCode, ComNames.ITEM_STATUS_2, bill.getEnterprise(), bill.getId(), bill.getUniqueId(), null);
orgCodeId = orgCode.getId();
}
// 更新税务登记
if (null != taxregisterCert && null != taxregisterCert.getId()) {
taxregisterCert = taxCertService.updateTaxRegisterCert(taxregisterCert, ComNames.ITEM_STATUS_2, bill.getEnterprise(), bill.getId(), bill.getUniqueId(), null);
taxregisterId = taxregisterCert.getId();
}
// 更新法定代表人
if (null != identityCard && null != identityCard.getId()) {
identityCard = identityCardService.updateIdentityCard(identityCard, ComNames.ITEM_STATUS_2, bill.getEnterprise(), bill.getId(), bill.getUniqueId(), null);
identityCardId = identityCard.getId();
}
// 更新代理人
if (null != agent && null != agent.getId()) {
agent = agentService.updateAgent(agent, ComNames.ITEM_STATUS_2, bill.getEnterprise(), bill.getId(), bill.getUniqueId(), null);
agentId = agent.getId();
}
// 更新授权书
if (null != proxy && null != proxy.getId()) {
proxy = proxyService.updateProxy(proxy, ComNames.ITEM_STATUS_2, bill.getEnterprise(), bill.getId(), bill.getUniqueId(), null, project);
proxyId = proxy.getId();
}
// 设置第一个admin账号
AdminExample adminExample = new AdminExample();
adminExample.setOrderByClause("create_time ASC");
List<Admin> admins = sqlSession.selectList("com.itrus.portal.db.AdminMapper.selectByExample", adminExample);
// 更新企业信息
Enterprise enterprise = enterpriseService.updateEnterprise(bill.getEnterprise(), certification.getId(), businessId, orgCodeId, taxregisterId, identityCardId, agentId);
// 生成认证记录
reviewLogService.saveReviewLog(2, admins.get(0).getId(), 1, null, bill.getEnterprise(), bill.getId(), bill.getUniqueId(), businessId, orgCodeId, taxregisterId, identityCardId, agentId, proxyId);
bill.setCheckTime(new Date());
sqlSession.update("com.itrus.portal.db.BillMapper.updateByPrimaryKey", bill);
transactionManager.commit(status);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (!status.isCompleted())
transactionManager.rollback(status);
}
}
use of com.itrus.portal.db.Proxy in project portal by ixinportal.
the class SubmitReviewTask method query.
/**
* 查询送审
*/
public void query() {
if (!isRun()) {
return;
}
// 获取第三方鉴证配置信息
AuditSystemConfig auditSystemConfig = auditSystemConfigService.getAuditSystemConfig(new AuditSystemConfigExample());
// 未配置第三方鉴证信息、未开启查询送审、未配置查询送审时间间隔,直接返回
if (null == auditSystemConfig || !auditSystemConfig.getIsQuery() || null == auditSystemConfig.getQueryInterval()) {
log.debug("未配置第三方鉴证信息、未开启查询送审、未配置查询送审时间间隔--返回");
return;
}
// 上次查询送审时间为空,或者上次查询送审时间大于当前时间,则重新设置上次查询送审时间为当前时间的毫秒数
if (null == auditSystemConfig.getQueryStartTime() || auditSystemConfig.getQueryStartTime() > System.currentTimeMillis()) {
auditSystemConfig.setQueryStartTime(System.currentTimeMillis());
auditSystemConfigService.updateAuditSystemConfig(auditSystemConfig);
}
// 判断是否在查询送审的时间间隔内(当前时间小于 上次查询送审时间加上送审时间间隔)
if (System.currentTimeMillis() < auditSystemConfig.getQueryStartTime() + (auditSystemConfig.getQueryInterval() * 1000)) {
log.debug("不在查询送审时间内");
return;
}
// 设置本次送审时间
auditSystemConfig.setQueryStartTime(System.currentTimeMillis());
auditSystemConfigService.updateAuditSystemConfig(auditSystemConfig);
// TransactionStatus s = null;
try {
// 获取送审中的订单
Map<Long, List<Bill>> billListMap = submitReviewService.getQueryBill(submitReviewService.getAuditProduct());
// 根据产品来提交信息
Product product = null;
Enterprise ent = null;
JSONObject jsonMap = null;
JSONObject data = null;
BusinessLicense bl = null;
OrgCode oc = null;
TaxRegisterCert trc = null;
IdentityCard ic = null;
Agent at = null;
Proxy p = null;
Product product1 = null;
Product product2 = null;
Product product3 = null;
int count;
int reject;
for (Long productId : billListMap.keySet()) {
List<Bill> billList = billListMap.get(productId);
product = sqlSession.selectOne("com.itrus.portal.db.ProductMapper.selectByPrimaryKey", productId);
DigitalCert cert1 = null;
DigitalCert cert2 = null;
DigitalCert cert3 = null;
if (null != product.getIsCombined() && product.getIsCombined() == 1) {
if (null != product.getCombinedId()) {
String[] comb = product.getCombinedId().split(",");
product1 = sqlSession.selectOne("com.itrus.portal.db.ProductMapper.selectByPrimaryKey", Long.parseLong(comb[0]));
product2 = sqlSession.selectOne("com.itrus.portal.db.ProductMapper.selectByPrimaryKey", Long.parseLong(comb[1]));
if (comb.length == 3) {
product3 = sqlSession.selectOne("com.itrus.portal.db.ProductMapper.selectByPrimaryKey", Long.parseLong(comb[2]));
}
}
if (null != product1 && null != product1.getCert()) {
// 产品关联的数字证书
cert1 = sqlSession.selectOne("com.itrus.portal.db.DigitalCertMapper.selectByPrimaryKey", product1.getCert());
}
if (null != product2 && null != product2.getCert()) {
// 产品关联的数字证书
cert2 = sqlSession.selectOne("com.itrus.portal.db.DigitalCertMapper.selectByPrimaryKey", product2.getCert());
}
if (null != product3 && null != product3.getCert()) {
// 产品关联的数字证书
cert3 = sqlSession.selectOne("com.itrus.portal.db.DigitalCertMapper.selectByPrimaryKey", product3.getCert());
}
}
DigitalCert cert = sqlSession.selectOne("com.itrus.portal.db.DigitalCertMapper.selectByPrimaryKey", product.getCert());
count = 0;
reject = 0;
for (Bill bill : billList) {
ent = sqlSession.selectOne("com.itrus.portal.db.EnterpriseMapper.selectByPrimaryKey", bill.getEnterprise());
if (null == jsonMap) {
jsonMap = new JSONObject();
}
jsonMap.put("appId", product.getAppId());
jsonMap.put("appsecret", product.getAppsecret());
// 待查询的记录id
jsonMap.put("dataid", bill.getDataId());
String result = RequestUtils.post(auditSystemConfig.getAuditSystemUrl() + queryUrl, jsonMap.toString(), product.getAppsecret());
// log.info(result);
data = JSON.parseObject(result);
if (data.getInteger("status") != 200) {
continue;
}
data = data.getJSONObject("result");
// 将返回信息同步至订单状态
// 0是未通过,1是通过,2是审核中
int status = data.getInteger("auditstatus");
// data.getString("auditmessage");
if (status == 2 || status == 1003) {
continue;
}
// DefaultTransactionDefinition def = new
// DefaultTransactionDefinition();
// def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
// s = transactionManager.getTransaction(def);
String reason = data.getString("auditresult");
bill.setBillStatus(ComNames.BILL_STATUS_4);
bill.setCheckTime(new Date(data.getLong("auditdate")));
bill.setCancelReason(reason);
bl = businessService.getBusinessByBillId(bill.getId(), null);
oc = orgCodeService.getOrgCodeByBillId(bill.getId(), null);
trc = taxCertService.getTaxRegisterCertByBillId(bill.getId(), null);
ic = identityCardService.getIdentityCardByBillId(bill.getId(), null);
at = agentService.getAgentByBillId(bill.getId(), null);
// 默认未审核
Integer itemStatus = 1;
JsonNode respNode = jsonTool.readTree(result);
if (status == 1) {
if (respNode.get("source") != null) {
ent.setInfo(respNode.get("source").getTextValue().getBytes());
}
bill.setBillStatus(ComNames.BILL_STATUS_5);
if (bill.getOldUserCert() != null) {
bill.setBillStatus(ComNames.BILL_STATUS_12);
}
// 数字证书操作方式为用户下载(2)的,订单状态设置为待下载
if (null != cert && null != cert.getInitBuy() && "2".equals(cert.getInitBuy())) {
bill.setBillStatus(ComNames.BILL_STATUS_13);
}
// 当产品没有配置有数字证书的时候
if (null == cert && null == cert1 && null == cert2 && null == cert3) {
// 根据订单判断订单是否需要开票:0标识不需要开票,1需要开纸质发票,2需要开电子发票
int type = billService.getBillInvoiceType(bill);
switch(type) {
case 0:
bill.setBillStatus(ComNames.BILL_STATUS_8);
break;
case 1:
if (null != bill.getIsInvoiced() && bill.getIsInvoiced().equals(1)) {
bill.setBillStatus(ComNames.BILL_STATUS_7);
} else {
bill.setBillStatus(ComNames.BILL_STATUS_6);
}
break;
case 2:
if (null != bill.getIsInvoiced() && bill.getIsInvoiced().equals(1)) {
bill.setBillStatus(ComNames.BILL_STATUS_8);
} else {
bill.setBillStatus(ComNames.BILL_STATUS_6);
}
break;
default:
break;
}
}
ent.setAuthenticationLevel(product.getAuthentication());
ent.setReviewTime(new Date());
// 设置状态
itemStatus = 2;
count++;
} else if (status == 0) {
// 审核拒绝
itemStatus = 3;
// 发送短信
if (reviewService.sendSmsBySHJJ(bill.getId())) {
bill.setIsSms(true);
bill.setSendTime(new Date());
}
reject++;
}
// 更新认证项
if (null != bl) {
bl.setItemStatus(itemStatus);
reviewService.saveBl(bl, respNode.get("source"));
ent.setHasBl(bl.getId());
if (status == 1 && respNode.get("source") == null) {
// 通过 无值
String pid = systemConfigService.getReviewProjectId();
if (null != pid && Long.valueOf(pid) == bill.getProject()) {
// 用友
bill.setBillStatus(ComNames.BILL_STATUS_10);
LogUtil.syslog(this.sqlSession, "查询送审", "错误:" + bill.getBillId() + respNode.toString());
}
}
}
if (null != oc) {
oc.setItemStatus(itemStatus);
sqlSession.update("com.itrus.portal.db.OrgCodeMapper.updateByPrimaryKeySelective", oc);
ent.setHasOrgCode(oc.getId());
}
if (null != trc) {
trc.setItemStatus(itemStatus);
sqlSession.update("com.itrus.portal.db.TaxRegisterCertMapper.updateByPrimaryKeySelective", trc);
ent.setHasTaxCert(trc.getId());
}
if (null != ic) {
ic.setItemStatus(itemStatus);
sqlSession.update("com.itrus.portal.db.IdentityCardMapper.updateByPrimaryKeySelective", ic);
ent.setHasIdCard(ic.getId());
}
if (null != at) {
at.setItemStatus(itemStatus);
sqlSession.update("com.itrus.portal.db.AgentMapper.updateByPrimaryKeySelective", at);
ent.setHasAgent(at.getId());
}
// 更新企业
sqlSession.update("com.itrus.portal.db.EnterpriseMapper.updateByPrimaryKeyWithBLOBs", ent);
p = proxyService.getProxyByBillId(bill.getId());
if (p != null) {
p.setItemStatus(2);
sqlSession.update("com.itrus.portal.db.ProxyMapper.updateByPrimaryKeySelective", p);
}
sqlSession.update("com.itrus.portal.db.BillMapper.updateByPrimaryKeySelective", bill);
reviewLogService.saveReviewLog(1, null, status == 1 ? 1 : 2, reason, ent.getId(), bill.getId(), bill.getUniqueId(), bl == null ? null : bl.getId(), oc == null ? null : oc.getId(), trc == null ? null : trc.getId(), ic == null ? null : ic.getId(), at == null ? null : at.getId(), p == null ? null : p.getId());
// transactionManager.commit(s);
}
LogUtil.syslog(sqlSession, "批量查询送审结果", "产品名称:" + product.getName() + ",订单" + billList.size() + "条,审核通过" + count + "条,审核拒绝" + reject + "条");
}
log.debug("查询送审结果结束");
} catch (Exception e) {
log.error("ERRORLOG查询送审 {}", e.getMessage());
e.printStackTrace();
return;
}
// finally{
// if (s != null && !s.isCompleted()) {
// transactionManager.rollback(s);
// }
// }
}
Aggregations