wuxw
2022-01-15 630cb0babb264657d8a07476e328654573620f8c
service-api/src/main/java/com/java110/api/controller/app/AppController.java
@@ -18,13 +18,16 @@
import com.alibaba.fastjson.JSONObject;
import com.java110.api.smo.IApiServiceSMO;
import com.java110.api.smo.api.IApiSMO;
import com.java110.api.smo.privilege.IPrivilegeSMO;
import com.java110.core.base.controller.BaseController;
import com.java110.core.context.IPageData;
import com.java110.core.log.LoggerFactory;
import com.java110.utils.constant.CommonConstant;
import com.java110.vo.ResultVo;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
@@ -49,11 +52,16 @@
public class AppController extends BaseController {
    private final static Logger logger = LoggerFactory.getLogger(AppController.class);
    @Autowired
    private IApiServiceSMO apiServiceSMOImpl;
    private IApiSMO apiSMOImpl;
    @Autowired
    private RestTemplate restTemplate;
    @Autowired
    private IPrivilegeSMO privilegeSMOImpl;
    /**
     * 资源请求 post方式
@@ -82,11 +90,11 @@
            headers.put(CommonConstant.HTTP_METHOD, CommonConstant.HTTP_METHOD_POST);
            logger.debug("api:{} 请求报文为:{},header信息为:{}", service, postInfo, headers);
            IPageData pd = (IPageData) request.getAttribute(CommonConstant.CONTEXT_PAGE_DATA);
            hasPrivilege(restTemplate, pd, "/app/" + service);
            responseEntity = apiServiceSMOImpl.service(postInfo, headers);
            privilegeSMOImpl.hasPrivilege(restTemplate, pd, "/app/" + service);
            responseEntity = apiSMOImpl.doApi(postInfo, headers,request);
        } catch (Throwable e) {
            logger.error("请求post 方法[" + service + "]失败:" + postInfo, e);
            responseEntity = new ResponseEntity<String>("请求发生异常," + e.getMessage(), HttpStatus.INTERNAL_SERVER_ERROR);
            responseEntity = ResultVo.error("请求发生异常," + e.getMessage(),HttpStatus.INTERNAL_SERVER_ERROR);
        }
        logger.debug("api:{} 返回信息为:{}", service, responseEntity);
@@ -114,13 +122,12 @@
            headers.put(CommonConstant.HTTP_METHOD, CommonConstant.HTTP_METHOD_GET);
            logger.debug("api:{} 请求报文为:{},header信息为:{}", "", headers);
            IPageData pd = (IPageData) request.getAttribute(CommonConstant.CONTEXT_PAGE_DATA);
            hasPrivilege(restTemplate, pd, "/app/" + service);
            //responseEntity = apiSMOImpl.doApi(JSONObject.toJSONString(getParameterStringMap(request)), headers, request);
            responseEntity = apiServiceSMOImpl.service(JSONObject.toJSONString(getParameterStringMap(request)), headers);
            privilegeSMOImpl.hasPrivilege(restTemplate, pd, "/app/" + service);
            responseEntity = apiSMOImpl.doApi(JSONObject.toJSONString(getParameterStringMap(request)), headers, request);
        } catch (Throwable e) {
            logger.error("请求get 方法[" + service + "]失败:", e);
            responseEntity = new ResponseEntity<String>("请求发生异常," + e.getMessage(), HttpStatus.INTERNAL_SERVER_ERROR);
            responseEntity = ResultVo.error("请求发生异常," + e.getMessage(),HttpStatus.INTERNAL_SERVER_ERROR);
        }
        logger.debug("api:{} 返回信息为:{}", service, responseEntity);
@@ -151,12 +158,12 @@
            headers.put(CommonConstant.HTTP_METHOD, CommonConstant.HTTP_METHOD_GET);
            logger.debug("api:{} 请求报文为:{},header信息为:{}", "", headers);
            IPageData pd = (IPageData) request.getAttribute(CommonConstant.CONTEXT_PAGE_DATA);
            hasPrivilege(restTemplate, pd, "/app/" + resource + "/" + action);
            //responseEntity = apiSMOImpl.doApi(JSONObject.toJSONString(getParameterStringMap(request)), headers, request);
            responseEntity = apiServiceSMOImpl.service(JSONObject.toJSONString(getParameterStringMap(request)), headers);
            privilegeSMOImpl.hasPrivilege(restTemplate, pd, "/app/" + resource + "/" + action);
            responseEntity = apiSMOImpl.doApi(JSONObject.toJSONString(getParameterStringMap(request)), headers, request);
            //responseEntity = apiServiceSMOImpl.service(JSONObject.toJSONString(getParameterStringMap(request)), headers);
        } catch (Throwable e) {
            logger.error("请求get 方法[" + action + "]失败:", e);
            responseEntity = new ResponseEntity<String>("请求发生异常," + e.getMessage(), HttpStatus.INTERNAL_SERVER_ERROR);
            responseEntity = ResultVo.error("请求发生异常," + e.getMessage(),HttpStatus.INTERNAL_SERVER_ERROR);
        }
        logger.debug("api:{} 返回信息为:{}", action, responseEntity);
@@ -189,12 +196,12 @@
            headers.put(CommonConstant.HTTP_METHOD, CommonConstant.HTTP_METHOD_POST);
            logger.debug("api:{} 请求报文为:{},header信息为:{}", action, postInfo, headers);
            IPageData pd = (IPageData) request.getAttribute(CommonConstant.CONTEXT_PAGE_DATA);
            hasPrivilege(restTemplate, pd, "/app/" + resource + "/" + action);
            //responseEntity = apiSMOImpl.doApi(postInfo, headers, request);
            responseEntity = apiServiceSMOImpl.service(JSONObject.toJSONString(getParameterStringMap(request)), headers);
            privilegeSMOImpl.hasPrivilege(restTemplate, pd, "/app/" + resource + "/" + action);
            responseEntity = apiSMOImpl.doApi(postInfo, headers, request);
            //responseEntity = apiServiceSMOImpl.service(JSONObject.toJSONString(getParameterStringMap(request)), headers);
        } catch (Throwable e) {
            logger.error("请求post 方法[" + action + "]失败:" + postInfo, e);
            responseEntity = new ResponseEntity<String>("请求发生异常," + e.getMessage(), HttpStatus.INTERNAL_SERVER_ERROR);
            responseEntity = ResultVo.error("请求发生异常," + e.getMessage(),HttpStatus.INTERNAL_SERVER_ERROR);
        }
        logger.debug("api:{} 返回信息为:{}", action, responseEntity);
@@ -224,12 +231,12 @@
            headers.put(CommonConstant.HTTP_METHOD, CommonConstant.HTTP_METHOD_PUT);
            logger.debug("api:{} 请求报文为:{},header信息为:{}", service, postInfo, headers);
            IPageData pd = (IPageData) request.getAttribute(CommonConstant.CONTEXT_PAGE_DATA);
            hasPrivilege(restTemplate, pd, "/app/" + service);
            //responseEntity = apiSMOImpl.doApi(postInfo, headers, request);
            responseEntity = apiServiceSMOImpl.service(JSONObject.toJSONString(getParameterStringMap(request)), headers);
            privilegeSMOImpl.hasPrivilege(restTemplate, pd, "/app/" + service);
            responseEntity = apiSMOImpl.doApi(postInfo, headers, request);
            //responseEntity = apiServiceSMOImpl.service(JSONObject.toJSONString(getParameterStringMap(request)), headers);
        } catch (Throwable e) {
            logger.error("请求put 方法[" + service + "]失败:", e);
            responseEntity = new ResponseEntity<String>("请求发生异常," + e.getMessage(), HttpStatus.INTERNAL_SERVER_ERROR);
            responseEntity = ResultVo.error("请求发生异常," + e.getMessage(),HttpStatus.INTERNAL_SERVER_ERROR);
        }
        logger.debug("api:{} 返回信息为:{}", service, responseEntity);
        return responseEntity;
@@ -256,12 +263,12 @@
            headers.put(CommonConstant.HTTP_METHOD, CommonConstant.HTTP_METHOD_DELETE);
            logger.debug("api:{} 请求报文为:{},header信息为:{}", service, "", headers);
            IPageData pd = (IPageData) request.getAttribute(CommonConstant.CONTEXT_PAGE_DATA);
            hasPrivilege(restTemplate, pd, "/app/" + service);
            //responseEntity = apiSMOImpl.doApi(JSONObject.toJSONString(getParameterStringMap(request)), headers, request);
            responseEntity = apiServiceSMOImpl.service(JSONObject.toJSONString(getParameterStringMap(request)), headers);
            privilegeSMOImpl.hasPrivilege(restTemplate, pd, "/app/" + service);
            responseEntity = apiSMOImpl.doApi(JSONObject.toJSONString(getParameterStringMap(request)), headers, request);
            //responseEntity = apiServiceSMOImpl.service(JSONObject.toJSONString(getParameterStringMap(request)), headers);
        } catch (Throwable e) {
            logger.error("请求delete 方法[" + service + "]失败:", e);
            responseEntity = new ResponseEntity<String>("请求发生异常," + e.getMessage(), HttpStatus.INTERNAL_SERVER_ERROR);
            responseEntity = ResultVo.error("请求发生异常," + e.getMessage(),HttpStatus.INTERNAL_SERVER_ERROR);
        }
        logger.debug("api:{} 返回信息为:{}", service, responseEntity);