package com.uas.credit.service.impl; import com.alibaba.fastjson.JSON; import com.uas.credit.controller.PyConfig; import com.uas.credit.dao.EnCreditDao; 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.corpcreditinfo.EncreditReport; import com.uas.credit.service.EnCreditInfoService; 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/14 **/ @Service public class EnCreditInfoServiceImpl implements EnCreditInfoService { //查询类型 private static String ENTERPRISE_CREDIT = "25123"; //查询原因ID private static Integer QueryReasonID = 101; //收费子报告类型 private static String SubreportIDs = "95013"; @Autowired private EnCreditDao creditDao; @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_CREDIT); 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 encredit = getQueryCondition(query); //发起鹏元征信的请求 String encreditResult = erpQueryService.requestApi(PyConfig.HOST, PyConfig.PATH_UNZIP, encredit); //保存返回的结果 EncreditReport encreditReport = JSON.parseObject(encreditResult, EncreditReport.class); EncreditReport encreditReport1 = creditDao.save(encreditReport); return encreditResult; } }