Solicitud asíncrona invocable para mejorar el rendimiento del sistema

Solicitud asíncrona invocable para mejorar el rendimiento del sistema

Información de distribución del agente de consulta de escenario, consulta de paginación, consulta de descarga, consulta detallada, el código es el siguiente:

Nota: puede mejorar el rendimiento de la interfaz y mejorar el rendimiento de la interfaz hasta cierto punto.
¿Por qué dices eso? Hay muchos factores que afectan el rendimiento de la interfaz, tales como: ancho de banda, calidad del código y cuellos de botella en la base de datos.Todo
sin considerar otras condiciones, el rendimiento de la interfaz se puede mejorar.


    @PostMapping(value = "/findAll")
    @LogAnnotion
    public Callable<UnionResp> findAll(@RequestBody UnionReq<ShareConfigQry> req) throws IOException {
    
    
        return () -> {
    
    
            ShareConfigQry dto = reqUtils.getContentObject(req, ShareConfigQry.class).orElseThrow(() ->new ShareException(RespCodeEnum.PARAMS_EXCEPTION.getCode(),"请求参数不能为空"));
            validateParam(dto);
            QueryTypeEnum queryTypeEnum = QueryTypeEnum.getByCode(dto.getQueryFlag());
            UnionResp response = null;
            switch (queryTypeEnum) {
    
    
                case PAGE:
                    Integer pageNum = Optional.ofNullable(req.getPage()).map(Page::getPageNum).orElse(Constants.DEFAULT_PAGE_MIN);
                    Integer pageSize = Optional.ofNullable(req.getPage()).map(Page::getPageSize).orElse(Constants.DEFAULT_PAGE_MAX);
                    response = msoShareConfigService.page(dto,pageNum,pageSize);
                    break;
                case DETAIL:
                    response = msoShareConfigService.getById(dto.getId());
                    break;
                case DOWNLOAD:
                    Integer downLoadMin = Constants.DOWN_LOAD_MIN;
                    Integer downLoadMax = Constants.DOWN_LOAD_MAX;
                    response = msoShareConfigService.page(dto, downLoadMin, downLoadMax);
                    break;
                default:
                    break;
            }
            return response;
        };
    }

Las expresiones non-lamdom son más intuitivas:

	@PostMapping(value = "/findAll")
    @LogAnnotion
    public Callable<UnionResp> findAll(@RequestBody UnionReq<ShareConfigQry> req) throws IOException {
    
    
        Callable<UnionResp> callable = new Callable<UnionResp>() {
    
    
            @Override
            public UnionResp call() throws Exception {
    
    
                ShareConfigQry dto = reqUtils.getContentObject(req, ShareConfigQry.class).orElseThrow(() ->new ShareException(RespCodeEnum.PARAMS_EXCEPTION.getCode(),"请求参数不能为空"));
                validateParam(dto);
                QueryTypeEnum queryTypeEnum = QueryTypeEnum.getByCode(dto.getQueryFlag());
                UnionResp response = null;
                switch (queryTypeEnum) {
    
    
                    case PAGE:
                        Integer pageNum = Optional.ofNullable(req.getPage()).map(Page::getPageNum).orElse(Constants.DEFAULT_PAGE_MIN);
                        Integer pageSize = Optional.ofNullable(req.getPage()).map(Page::getPageSize).orElse(Constants.DEFAULT_PAGE_MAX);
                        response = msoShareConfigService.page(dto,pageNum,pageSize);
                        break;
                    case DETAIL:
                        response = msoShareConfigService.getById(dto.getId();
                        break;
                    case DOWNLOAD:
                        Integer downLoadMin = Constants.DOWN_LOAD_MIN;
                        Integer downLoadMax = Constants.DOWN_LOAD_MAX;
                        response = msoShareConfigService.page(dto, downLoadMin, downLoadMax);
                        break;
                    default:
                        break;
                }
                return response;
            }
        };
        return callable;
    }
	

Supongo que te gusta

Origin blog.csdn.net/jiuyuemo1/article/details/127573552
Recomendado
Clasificación