class DealClientReportServiceImpl implements DealClientReportService {
    @Autowired
    private AsyncService asyncService;
    @Autowired
    private AppClientReportCommandService appClientReportCommandService;
    @Autowired
    private AppClientReportExceptionService appClientReportExceptionService;

    @Override
    public void init() {
        asyncService.assemblePool(getThreadPoolKey(), AsyncThreadPoolFactory.CLIENT_REPORT_THREAD_POOL);
    }

    @Override
    public boolean deal(final AppClientReportModel appClientReportModel) {<FILL_FUNCTION_BODY>}

    private String getThreadPoolKey() {
        return AsyncThreadPoolFactory.CLIENT_REPORT_POOL;
    }
}

        try {
            // 上报的数据
            final long appId = appClientReportModel.getAppId();
            final String clientIp = appClientReportModel.getClientIp();
            final String redisPoolConfig = JSON.toJSONString(appClientReportModel.getConfig());
            final long currentMin = appClientReportModel.getCurrentMin();
            final List<Map<String, Object>> commandStatsModels = appClientReportModel.getCommandStatsModels();
            final List<Map<String, Object>> exceptionModels = appClientReportModel.getExceptionModels();
            String key = getThreadPoolKey() + "_" + clientIp;
            asyncService.submitFuture(getThreadPoolKey(), new KeyCallable<Boolean>(key) {
                @Override
                public Boolean execute() {
                    try {
                        if (CollectionUtils.isNotEmpty(commandStatsModels)) {
                            appClientReportCommandService.batchSave(appId, clientIp, currentMin, commandStatsModels);
                        }
                        if (CollectionUtils.isNotEmpty(exceptionModels)) {
                            appClientReportExceptionService.batchSave(appId, clientIp, redisPoolConfig, currentMin, exceptionModels);
                        }
                        return true;
                    } catch (Exception e) {
                        log.error(e.getMessage(), e);
                        return false;
                    }
                }
            });
            return true;
        } catch (Exception e) {
            log.error(e.getMessage(), e);
            return false;
        }
    
<no_super_class>