瀏覽代碼

修改企业信息查询接口

xusonglin 5 年之前
父節點
當前提交
7a14fdfcd0

+ 1 - 0
src/main/java/com/jkcredit/invoice/hub/constant/CommonConstant.java

@@ -10,6 +10,7 @@ public class CommonConstant {
     public static String MESSAGE_SUCCESS = "成功";
     public static String MESSAGE_FAILED = "失败";
     public static String USER_NOT_EXIST = "用户不存在";
+    public static String QUERY_FAILED = "查询失败";
     public static Integer ACTIVATED_DELETED = 2;
     public static String[] CAR_FREE_API_ARGS = {"COMPANY_QUERY_V1", "COMPANY_ADD_V1", "VEHICLE_REGISTER_QUERY",
             "VEHICLE_REGISTER", "WAY_BILL_START", "WAY_BILL_END", "WAY_BILL_HISTORY_START", "WAY_BILL_HISTORY_END",

+ 31 - 27
src/main/java/com/jkcredit/invoice/hub/controller/rest/forward/ForwardResource.java

@@ -27,31 +27,35 @@ import org.springframework.web.bind.annotation.RestController;
 @Slf4j
 @RestController
 public class ForwardResource extends RestResource {
-//    @Autowired
-//    ApiUserService apiUserService;
-//    @Autowired
-//    ApiCompanyService apiCompanyService;
-//
-//    @PostMapping("/rest")
-//    public ApiResponseData forwardRequest(@RequestBody ApiRequestParam param) {
-//        try {
-//            validate(param);
-//        } catch (ServiceException se) {
-//            log.error("接口参数ApiRequestParam校验失败,失败原因:{}", se.getMessage());
-//            return ApiResponseData.failure(ApiResponseCodeEnum.CODE_1010.getValue(), ApiResponseCodeEnum.CODE_1010.getDesc());
-//        }
-//
-//        // 校验用户key secret, 权限,余额
-//        Integer validateUserResult = apiUserService.validateUser(param.getAppKey(), param.getAppSecret(), param.getApi());
-//        if (!validateUserResult.equals(ApiResponseCodeEnum.CODE_200.getValue())) {
-//            return ApiResponseData.failure(validateUserResult, EnumStatusUtils.getStatusByValue(ApiResponseCodeEnum.class, validateUserResult).getDesc());
-//        }
-//
-//        if (param.getApi().equals(CommonConstant.COMPANY_QUERY_V1)) {
-//            return apiCompanyService.companyQuery(JSON.parseObject(JSON.toJSONString(param.getData())));
-//        }
-//
-//        log.info(param.toString());
-//        return new ApiResponseData();
-//    }
+    @Autowired
+    ApiUserService apiUserService;
+    @Autowired
+    ApiCompanyService apiCompanyService;
+
+    @PostMapping("/rest")
+    public ApiResponseData forwardRequest(@RequestBody ApiRequestParam param) {
+        try {
+            validate(param);
+        } catch (ServiceException se) {
+            log.error("接口参数ApiRequestParam校验失败,失败原因:{}", se.getMessage());
+            return ApiResponseData.failure(ApiResponseCodeEnum.CODE_1010.getValue(), ApiResponseCodeEnum.CODE_1010.getDesc());
+        }
+
+        try {
+            // 校验用户key secret, 权限,余额
+            Integer validateUserResult = apiUserService.validateUser(param.getAppKey(), param.getAppSecret(), param.getApi());
+            if (!validateUserResult.equals(ApiResponseCodeEnum.CODE_200.getValue())) {
+                return ApiResponseData.failure(validateUserResult, EnumStatusUtils.getStatusByValue(ApiResponseCodeEnum.class, validateUserResult).getDesc());
+            }
+
+            if (param.getApi().equals(CommonConstant.COMPANY_QUERY_V1)) {
+                return apiCompanyService.companyQuery(JSON.parseObject(JSON.toJSONString(param.getData())));
+            } else {
+                return ApiResponseData.failure(ApiResponseCodeEnum.CODE_1080.getValue(), ApiResponseCodeEnum.CODE_1080.getDesc());
+            }
+        } catch (ServiceException se) {
+            log.error("接口调用失败,失败原因:{}", se.getMessage());
+            return ApiResponseData.failure(ApiResponseCodeEnum.CODE_9999.getValue(), CommonConstant.QUERY_FAILED);
+        }
+    }
 }

+ 4 - 1
src/main/java/com/jkcredit/invoice/hub/service/apiCompany/ApiCompanyService.java

@@ -1,5 +1,8 @@
 package com.jkcredit.invoice.hub.service.apiCompany;
 
+import com.alibaba.fastjson.JSONObject;
+import com.jkcredit.invoice.hub.spi.rest.data.ApiResponseData;
+
 /**
  * @description:
  * @author: xusonglin
@@ -7,5 +10,5 @@ package com.jkcredit.invoice.hub.service.apiCompany;
  * @version: V1.0
  **/
 public interface ApiCompanyService {
-//    ApiResponseData companyQuery(JSONObject param);
+    ApiResponseData companyQuery(JSONObject param);
 }

+ 43 - 32
src/main/java/com/jkcredit/invoice/hub/service/apiCompany/ApiCompanyServiceImpl.java

@@ -1,8 +1,22 @@
 package com.jkcredit.invoice.hub.service.apiCompany;
 
+import cn.com.taiji.sdk.comm.ETCCommHelper;
+import cn.com.taiji.sdk.model.comm.protocol.eoms.company.CompanyQueryRequest;
+import cn.com.taiji.sdk.model.comm.protocol.eoms.company.CompanyQueryResponse;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.jkcredit.invoice.hub.constant.CommonConstant;
+import com.jkcredit.invoice.hub.enums.ApiResponseCodeEnum;
+import com.jkcredit.invoice.hub.service.base.BaseService;
+import com.jkcredit.invoice.hub.spi.lang.exception.ServiceException;
+import com.jkcredit.invoice.hub.spi.rest.data.ApiResponseData;
+import io.netty.util.internal.StringUtil;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
+import javax.sql.rowset.serial.SerialException;
+import java.io.IOException;
+
 /**
  * @description:
  * @author: xusonglin
@@ -11,37 +25,34 @@ import org.springframework.stereotype.Service;
  **/
 @Slf4j
 @Service
-public class ApiCompanyServiceImpl implements ApiCompanyService {
+public class ApiCompanyServiceImpl extends BaseService implements ApiCompanyService {
+
+    @Override
+    public ApiResponseData companyQuery(JSONObject param) {
+        long costTimeStart = System.currentTimeMillis();
+        String result;
+
+        CompanyQueryRequest request = new CompanyQueryRequest();
+        request.setCompanyName(param.get("companyName").toString().trim());
+        request.setTaxpaterCode(param.get("taxplayerCode").toString().trim());
+        String fileName = request.getFilename();
+
+        try {
+            // 调用upload 发送数据
+            CompanyQueryResponse response = ETCCommHelper.upload(fileName, request, CompanyQueryResponse.class);
 
-//    @Override
-//    public ApiResponseData companyQuery(JSONObject param) {
-//        long costTimeStart = System.currentTimeMillis();
-//        String result;
-//
-//        CompanyQueryRequest request = new CompanyQueryRequest();
-//        request.setCompanyName(param.get("companyName").toString().trim());
-//        request.setTaxpaterCode(param.get("taxplayerCode").toString().trim());
-//        String fileName = request.getFilename();
-//
-//        try {
-//            // (4)指定协议的响应模型(IssuerUploadResponse),调用upload 发送数据
-//            CompanyQueryResponse response = ETCCommHelper.upload(fileName, request, CompanyQueryResponse.class);
-//
-//            // (5)发送成功处理(这里为示例,简单的将响应模型转为json字符串输出,各省根据实际情况处理)
-//            result = response.toJson();
-//            long costTimeEnd = System.currentTimeMillis();
-//            log.info("[-companyQuery-] result is " + result.replaceAll("\r|\n", "") + " , request is "
-//                    + param + ",costtime=" + (costTimeEnd - costTimeStart) + ",startTime=" + costTimeStart
-//                    + ",endTime=" + costTimeEnd);
-//        } catch (IOException e) {
-//            // todo 失败返回码和信息
-//            log.info("[-companyQuery-] 网络异常 " + e);
-//            return ApiResponseData.failure(1, "");
-//        } catch (Exception apie) {
-//            // todo 失败返回码和信息
-//            log.info("[-companyQuery-] 错误信息:" + apie.getMessage());
-//            return ApiResponseData.failure(1, "");
-//        }
-//        return ApiResponseData.success(ApiResponseCodeEnum.CODE_200.getValue(), result);
-//    }
+            result = response.toJson();
+            long costTimeEnd = System.currentTimeMillis();
+            log.info("[-companyQuery-] result is " + result.replaceAll("\r|\n", "") + " , request is "
+                    + param + ",costtime=" + (costTimeEnd - costTimeStart) + ",startTime=" + costTimeStart
+                    + ",endTime=" + costTimeEnd);
+        } catch (IOException e) {
+            log.info("[-companyQuery-] 网络异常 " + e);
+            throw new ServiceException(CommonConstant.QUERY_FAILED);
+        } catch (Exception apie) {
+            log.info("[-companyQuery-] 错误信息:" + apie.getMessage());
+            throw new ServiceException(CommonConstant.QUERY_FAILED);
+        }
+        return analyzeApiResult(result);
+    }
 }

+ 18 - 0
src/main/java/com/jkcredit/invoice/hub/service/base/BaseService.java

@@ -1,11 +1,17 @@
 package com.jkcredit.invoice.hub.service.base;
 
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.baidu.unbiz.fluentvalidator.FluentValidator;
 import com.baidu.unbiz.fluentvalidator.Result;
 import com.baidu.unbiz.fluentvalidator.jsr303.HibernateSupportedValidator;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jkcredit.invoice.hub.constant.CommonConstant;
+import com.jkcredit.invoice.hub.enums.ApiResponseCodeEnum;
+import com.jkcredit.invoice.hub.spi.rest.data.ApiResponseData;
+import lombok.extern.slf4j.Slf4j;
 import org.hibernate.service.spi.ServiceException;
 import org.springframework.beans.factory.annotation.Autowired;
 
@@ -19,6 +25,7 @@ import static com.baidu.unbiz.fluentvalidator.ResultCollectors.toSimple;
  * @create: 2019/12/29 20:55
  * @version: V1.0
  **/
+@Slf4j
 public class BaseService {
 
     @Autowired
@@ -35,4 +42,15 @@ public class BaseService {
         }
     }
 
+    protected ApiResponseData analyzeApiResult(String result) {
+        try {
+            JSONObject jsonObject = JSON.parseObject(result);
+            String item = jsonObject.getString("items");
+            return ApiResponseData.success(ApiResponseCodeEnum.CODE_200.getValue(), item);
+        } catch (Exception e) {
+            log.info("[-companyQuery-] 解析异常:" + e.getMessage());
+            throw new com.jkcredit.invoice.hub.spi.lang.exception.ServiceException(CommonConstant.QUERY_FAILED);
+        }
+    }
+
 }