EnCreditInfoServiceImpl.java 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. package com.uas.credit.service.impl;
  2. import com.alibaba.fastjson.JSON;
  3. import com.uas.credit.controller.PyConfig;
  4. import com.uas.credit.dao.EnCreditDao;
  5. import com.uas.credit.model.EnterpriseQuery;
  6. import com.uas.credit.model.Item;
  7. import com.uas.credit.model.QueryCondition;
  8. import com.uas.credit.model.QueryConditions;
  9. import com.uas.credit.model.corpcreditinfo.EncreditReport;
  10. import com.uas.credit.service.EnCreditInfoService;
  11. import com.uas.credit.service.EnterpriseQueryService;
  12. import com.uas.credit.service.ErpQueryService;
  13. import org.springframework.beans.factory.annotation.Autowired;
  14. import org.springframework.stereotype.Service;
  15. import java.util.ArrayList;
  16. import java.util.List;
  17. /**
  18. * 企业信用信息
  19. * created by shicr on 2018/6/14
  20. **/
  21. @Service
  22. public class EnCreditInfoServiceImpl implements EnCreditInfoService {
  23. //查询类型
  24. private static String ENTERPRISE_CREDIT = "25123";
  25. //查询原因ID
  26. private static Integer QueryReasonID = 101;
  27. //收费子报告类型
  28. private static String SubreportIDs = "95013";
  29. @Autowired
  30. private EnCreditDao creditDao;
  31. @Autowired
  32. private ErpQueryService erpQueryService;
  33. /**
  34. * 查找企业信息
  35. *
  36. * @return
  37. */
  38. public String getQueryCondition(EnterpriseQuery query) {
  39. // 使用JavaBean/Map方式(正式使用,仅供参考)
  40. QueryConditions queryConditions = new QueryConditions();
  41. List<QueryCondition> conditions = new ArrayList<QueryCondition>();
  42. QueryCondition queryCondition = new QueryCondition();
  43. // 查询类型
  44. queryCondition.setQueryType(ENTERPRISE_CREDIT);
  45. List<Item> items = new ArrayList<Item>();
  46. // 收费子报告
  47. items.add(new Item("subreportIDs", SubreportIDs));
  48. // 查询原因
  49. items.add(new Item("queryReasonID", String.valueOf(QueryReasonID)));
  50. // 业务流水号
  51. items.add(new Item("refID", query.getRefID()));
  52. //被查询企业名称
  53. items.add(new Item("corpName", query.getEnname()));
  54. //被查询企业工商注册号
  55. items.add(new Item("registerNo", query.getRegisterNo()));
  56. //被查询企业社会信用代码
  57. items.add(new Item("creditCode", query.getCreditCode()));
  58. queryCondition.setItems(items);
  59. conditions.add(queryCondition);
  60. queryConditions.setConditions(conditions);
  61. return JSON.toJSONString(queryConditions);
  62. }
  63. /**
  64. * 查询并保存返回查询json串
  65. *
  66. * @param query 企业查询信息
  67. * @return
  68. */
  69. public String queryAndSave(EnterpriseQuery query) {
  70. //拼装查询的json
  71. String encredit = getQueryCondition(query);
  72. //发起鹏元征信的请求
  73. String encreditResult = erpQueryService.requestApi(PyConfig.HOST, PyConfig.PATH_UNZIP, encredit);
  74. //保存返回的结果
  75. EncreditReport encreditReport = JSON.parseObject(encreditResult, EncreditReport.class);
  76. EncreditReport encreditReport1 = creditDao.save(encreditReport);
  77. return encreditResult;
  78. }
  79. }