package com.uas.credit.service.impl; import com.alibaba.fastjson.JSON; import com.uas.credit.controller.PyConfig; import com.uas.credit.dao.EnRiskInfoDao; import com.uas.credit.model.EnterpriseQuery; import com.uas.credit.model.Item; import com.uas.credit.model.QueryCondition; import com.uas.credit.model.QueryConditions; import com.uas.credit.model.corpriskinfo.EnRiskInfoReport; import com.uas.credit.service.EnRiskInfoService; import com.uas.credit.service.EnterpriseQueryService; import com.uas.credit.service.ErpQueryService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; /** * 企业风险接口实现层 * created by shicr on 2018/6/12 **/ @Service public class EnRiskInfoServiceImpl implements EnRiskInfoService { //查询类型 private static String ENTERPRISE_RISK = "25123"; //查询原因ID private static Integer QueryReasonID = 101; //收费子报告类型 private static String SubreportIDs = "22527"; @Autowired private EnRiskInfoDao corpRiskInfoDao; @Autowired private EnRiskInfoDao enRiskInfoDao; @Autowired private ErpQueryService erpQueryService; /** * 查找企业信息 * * @return */ public String getQueryCondition(EnterpriseQuery query) { // 使用JavaBean/Map方式(正式使用,仅供参考) QueryConditions queryConditions = new QueryConditions(); List conditions = new ArrayList(); QueryCondition queryCondition = new QueryCondition(); // 查询类型 queryCondition.setQueryType(ENTERPRISE_RISK); List items = new ArrayList(); // 收费子报告 items.add(new Item("subreportIDs", SubreportIDs)); // 查询原因 items.add(new Item("queryReasonID", String.valueOf(QueryReasonID))); // 业务流水号 items.add(new Item("refID", query.getRefID())); //被查询企业名称 items.add(new Item("corpName", query.getEnname())); //被查询企业工商注册号 items.add(new Item("registerNo", query.getRegisterNo())); //被查询企业社会信用代码 items.add(new Item("creditCode", query.getCreditCode())); queryCondition.setItems(items); conditions.add(queryCondition); queryConditions.setConditions(conditions); return JSON.toJSONString(queryConditions); } /** * 查询并保存返回查询json串 * * @param query * @return */ public String queryAndSave(EnterpriseQuery query) { //拼装查询的json String enrisk = getQueryCondition(query); //发起鹏元征信的请求 String enriskResult = erpQueryService.requestApi(PyConfig.HOST, PyConfig.PATH_UNZIP, enrisk); //保存返回的结果 EnRiskInfoReport enRiskInfoReport = JSON.parseObject(enriskResult, EnRiskInfoReport.class); EnRiskInfoReport enRiskInfoReport1 = enRiskInfoDao.save(enRiskInfoReport); return enriskResult; } }