WayBillCountQueryServiceImpl.java 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. package com.jkcredit.invoice.hub.service.apiWayBillCountQuery;
  2. import cn.com.taiji.common.manager.net.http.binclient.ApiRequestException;
  3. import cn.com.taiji.sdk.comm.ETCCommHelper;
  4. import cn.com.taiji.sdk.model.comm.protocol.tts.waybill.WaybillCountQueryRequest;
  5. import cn.com.taiji.sdk.model.comm.protocol.tts.waybill.WaybillCountQueryResponse;
  6. import com.alibaba.fastjson.JSON;
  7. import com.alibaba.fastjson.JSONObject;
  8. import com.jkcredit.invoice.hub.constant.CommonConstant;
  9. import com.jkcredit.invoice.hub.enums.ApiResponseCodeEnum;
  10. import com.jkcredit.invoice.hub.model.dto.wayBillCountQuery.WayBillCountQueryDto;
  11. import com.jkcredit.invoice.hub.service.base.BaseService;
  12. import com.jkcredit.invoice.hub.spi.lang.exception.ServiceException;
  13. import com.jkcredit.invoice.hub.spi.rest.data.ApiResponseData;
  14. import lombok.extern.slf4j.Slf4j;
  15. import org.springframework.stereotype.Service;
  16. import java.io.IOException;
  17. /**
  18. * @description:
  19. * @author: xusonglin
  20. * @create: 2020/1/17 22:58
  21. * @version: V1.0
  22. **/
  23. @Service
  24. @Slf4j
  25. public class WayBillCountQueryServiceImpl extends BaseService implements WayBillCountQueryService {
  26. @Override
  27. public ApiResponseData wayBillCountQuery(JSONObject param) {
  28. long costTimeStart = System.currentTimeMillis();
  29. String result;
  30. try {
  31. WayBillCountQueryDto dto = JSON.toJavaObject(param, WayBillCountQueryDto.class);
  32. validate(dto);
  33. WaybillCountQueryRequest request = new WaybillCountQueryRequest();
  34. request.setCompanyNum(CommonConstant.COMPANY_NUMBER);
  35. request.setTaxCode(dto.getTaxCode());
  36. request.setWaybillSource(1);
  37. request.setTradeMonth(dto.getTradeMonth());
  38. request.setPageNo(dto.getPageNo());
  39. String fileName = request.getFilename();
  40. // 调用upload 发送数据
  41. WaybillCountQueryResponse response = ETCCommHelper.upload(fileName, request, WaybillCountQueryResponse.class);
  42. result = response.toJson();
  43. long costTimeEnd = System.currentTimeMillis();
  44. log.info("[-apiWayBillCountQuery-] result is " + result.replaceAll("\r|\n", "") + " , request is "
  45. + param + ",costtime=" + (costTimeEnd - costTimeStart) + ",startTime=" + costTimeStart
  46. + ",endTime=" + costTimeEnd);
  47. } catch (IOException e) {
  48. log.error("[-apiWayBillCountQuery-] 网络异常 " + e);
  49. throw new ServiceException(CommonConstant.QUERY_FAILED);
  50. } catch (ApiRequestException apie) {
  51. log.error("[-apiWayBillCountQuery-] 错误信息:" + apie.getMessage());
  52. throw new ApiRequestException(apie.getMessage(), ApiResponseCodeEnum.CODE_200.getValue());
  53. } catch (ServiceException se) {
  54. log.error("[-apiWayBillCountQuery-] 错误信息:" + se.getMessage());
  55. throw new ServiceException(se.getMessage());
  56. }
  57. return ApiResponseData.success(ApiResponseCodeEnum.CODE_200.getValue(), result);
  58. }
  59. }