|
@@ -1,8 +1,19 @@
|
|
|
package com.jkcredit.invoice.hub.controller.rest.forward;
|
|
|
|
|
|
+import com.alibaba.fastjson.JSON;
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
+import com.jkcredit.invoice.hub.constant.CommonConstant;
|
|
|
+import com.jkcredit.invoice.hub.constant.ResponseStatus;
|
|
|
import com.jkcredit.invoice.hub.controller.base.RestResource;
|
|
|
-import com.jkcredit.invoice.hub.spi.web.data.ApiRequestParam;
|
|
|
+import com.jkcredit.invoice.hub.enums.ApiResponseCodeEnum;
|
|
|
+import com.jkcredit.invoice.hub.service.apiCompany.ApiCompanyService;
|
|
|
+import com.jkcredit.invoice.hub.service.apiUser.ApiUserService;
|
|
|
+import com.jkcredit.invoice.hub.spi.lang.exception.ServiceException;
|
|
|
+import com.jkcredit.invoice.hub.spi.rest.data.ApiRequestParam;
|
|
|
+import com.jkcredit.invoice.hub.spi.rest.data.ApiResponseData;
|
|
|
+import com.jkcredit.invoice.hub.util.EnumStatusUtils;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.web.bind.annotation.PostMapping;
|
|
|
import org.springframework.web.bind.annotation.RequestBody;
|
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
@@ -16,8 +27,31 @@ import org.springframework.web.bind.annotation.RestController;
|
|
|
@Slf4j
|
|
|
@RestController
|
|
|
public class ForwardResource extends RestResource {
|
|
|
+ @Autowired
|
|
|
+ ApiUserService apiUserService;
|
|
|
+ @Autowired
|
|
|
+ ApiCompanyService apiCompanyService;
|
|
|
+
|
|
|
@PostMapping("/rest")
|
|
|
- public void forwardRequest(@RequestBody ApiRequestParam param) {
|
|
|
+ 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();
|
|
|
}
|
|
|
}
|