EnRiskInfoServiceImpl.java 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  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.EnRiskInfoDao;
  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.corpriskinfo.EnRiskInfoReport;
  10. import com.uas.credit.service.EnRiskInfoService;
  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/12
  20. **/
  21. @Service
  22. public class EnRiskInfoServiceImpl implements EnRiskInfoService {
  23. //查询类型
  24. private static String ENTERPRISE_RISK = "25123";
  25. //查询原因ID
  26. private static Integer QueryReasonID = 101;
  27. //收费子报告类型
  28. private static String SubreportIDs = "22527";
  29. @Autowired
  30. private EnRiskInfoDao corpRiskInfoDao;
  31. @Autowired
  32. private EnRiskInfoDao enRiskInfoDao;
  33. @Autowired
  34. private ErpQueryService erpQueryService;
  35. /**
  36. * 查找企业信息
  37. *
  38. * @return
  39. */
  40. public String getQueryCondition(EnterpriseQuery query) {
  41. // 使用JavaBean/Map方式(正式使用,仅供参考)
  42. QueryConditions queryConditions = new QueryConditions();
  43. List<QueryCondition> conditions = new ArrayList<QueryCondition>();
  44. QueryCondition queryCondition = new QueryCondition();
  45. // 查询类型
  46. queryCondition.setQueryType(ENTERPRISE_RISK);
  47. List<Item> items = new ArrayList<Item>();
  48. // 收费子报告
  49. items.add(new Item("subreportIDs", SubreportIDs));
  50. // 查询原因
  51. items.add(new Item("queryReasonID", String.valueOf(QueryReasonID)));
  52. // 业务流水号
  53. items.add(new Item("refID", query.getRefID()));
  54. //被查询企业名称
  55. items.add(new Item("corpName", query.getEnname()));
  56. //被查询企业工商注册号
  57. items.add(new Item("registerNo", query.getRegisterNo()));
  58. //被查询企业社会信用代码
  59. items.add(new Item("creditCode", query.getCreditCode()));
  60. queryCondition.setItems(items);
  61. conditions.add(queryCondition);
  62. queryConditions.setConditions(conditions);
  63. return JSON.toJSONString(queryConditions);
  64. }
  65. /**
  66. * 查询并保存返回查询json串
  67. *
  68. * @param query
  69. * @return
  70. */
  71. public String queryAndSave(EnterpriseQuery query) {
  72. //拼装查询的json
  73. String enrisk = getQueryCondition(query);
  74. //发起鹏元征信的请求
  75. String enriskResult = erpQueryService.requestApi(PyConfig.HOST, PyConfig.PATH_UNZIP, enrisk);
  76. //保存返回的结果
  77. EnRiskInfoReport enRiskInfoReport = JSON.parseObject(enriskResult, EnRiskInfoReport.class);
  78. EnRiskInfoReport enRiskInfoReport1 = enRiskInfoDao.save(enRiskInfoReport);
  79. return enriskResult;
  80. }
  81. }