From bfc6a73c2ff7b8d875de9531e8a6f54e7d447650 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=B0=8F=E9=BB=84=E7=8B=97=E6=A8=AA=E6=89=AB=E5=A3=AB?=
=?UTF-8?q?=E5=8A=9B=E6=9E=B6?= <949655436@qq.com>
Date: Wed, 28 Dec 2022 09:45:16 +0800
Subject: [PATCH] first commit
---
.gitignore | 25 +
db/20190121_weiyan.sql | 2 +
db/20190218_troy.sql | 2 +
db/20190220_tong.sql | 57 +
db/20190220_zj.sql | 5 +
db/20190221_tong.sql | 3 +
db/20190222_troy.sql | 8 +
db/20190225_zj.sql | 3 +
db/20190226_troy.sql | 7 +
db/20190226_zj.sql | 3 +
db/20190227_troy.sql | 26 +
db/20190227_zj.sql | 2 +
db/20190307_troy.sql | 6 +
db/20190311_zxy_sensitive_word.sql | 43 +
db/20190313_tong.sql | 15 +
db/20190315_tong.sql | 17 +
db/20190318_tong.sql | 5 +
db/20190411_tong.sql | 4 +
db/20190412_troy.sql | 376 +
db/20190423_tong.sql | 2 +
db/20190529_troy.sql | 6 +
db/20190531_troy.sql | 7 +
db/20190610_tong.sql | 3 +
db/20190723_ktan.sql | 50 +
db/20191111_tong.sql | 15 +
db/20191113_mxy.sql | 35 +
db/20191114_mxy.sql | 2 +
db/20191116_mxy.sql | 30 +
db/20200106_tong.sql | 4 +
db/20200107_mxy.sql | 98 +
db/20200113_tong.sql | 7 +
db/20200224_mxy.sql | 13 +
db/20200320_mxy.sql | 4 +
db/20200326_mxy.sql | 10 +
db/20210225_Matt.sql | 4 +
db/20210301_Matt.sql | 15 +
db/20210419_Matt.sql | 2 +
db/diversified.sql | 811 +
db/live_scene_TROY.sql | 104 +
db/live_scene_live_info_ext-zj-20190218.sql | 23 +
db/live_video_transcoding.sql | 26 +
db/live_video_transcoding_message.sql | 39 +
db/mssql.sql | 323 +
db/mysql.sql | 365 +
db/oracle.sql | 188 +
db/postgresql.sql | 186 +
db/scene_troy_190119.sql | 77 +
db/video.sql | 23 +
db/weiyan_20190119.sql | 22 +
db/weiyan_20190215.sql | 16 +
db/weiyan_20190220.sql | 16 +
db/weiyan_20190222.sql | 4 +
db/weiyan_20190227.sql | 3 +
db/weiyan_20190305.sql | 4 +
db/weiyan_20190308.sql | 9 +
db/weiyan_20190312.sql | 28 +
db/weiyan_20190320.sql | 3 +
db/weiyan_20190328.sql | 18 +
db/weiyan_20190423.sql | 16 +
db/weiyan_20200410.sql | 25 +
db/weiyan_20210115.sql | 8 +
pom-war.xml | 231 +
pom.xml | 431 +
.../com/platform/PlatformApplication.java | 42 +
.../live/LiveAutoConfiguration.java | 87 +
.../autoconfigure/live/LiveProperties.java | 334 +
.../platform/common/annotation/SysLog.java | 18 +
.../platform/common/aspect/RedisAspect.java | 36 +
.../platform/common/aspect/SysLogAspect.java | 108 +
.../common/exception/RRException.java | 51 +
.../common/exception/RRExceptionHandler.java | 47 +
.../platform/common/utils/ConfigConstant.java | 15 +
.../com/platform/common/utils/Constant.java | 95 +
.../platform/common/utils/ConverterUtils.java | 161 +
.../com/platform/common/utils/DateUtils.java | 180 +
.../com/platform/common/utils/DesUtils.java | 193 +
.../com/platform/common/utils/FileUtils.java | 232 +
.../common/utils/HttpClientHelper.java | 524 +
.../common/utils/HttpContextUtils.java | 24 +
.../com/platform/common/utils/IPUtils.java | 64 +
.../com/platform/common/utils/MapUtils.java | 57 +
.../com/platform/common/utils/PageUtils.java | 90 +
.../java/com/platform/common/utils/Query.java | 71 +
.../java/com/platform/common/utils/R.java | 54 +
.../platform/common/utils/RedisContants.java | 77 +
.../com/platform/common/utils/RedisKeys.java | 51 +
.../com/platform/common/utils/RedisUtils.java | 182 +
.../common/utils/SensitiveWordUtil.java | 581 +
.../com/platform/common/utils/ShiroUtils.java | 51 +
.../common/utils/SpringContextUtils.java | 41 +
.../com/platform/common/utils/StringKit.java | 82 +
.../platform/common/utils/ThirdConstant.java | 30 +
.../com/platform/common/validator/Assert.java | 22 +
.../common/validator/ValidatorUtils.java | 39 +
.../common/validator/group/AddGroup.java | 7 +
.../common/validator/group/AliyunGroup.java | 7 +
.../common/validator/group/Group.java | 11 +
.../common/validator/group/QcloudGroup.java | 7 +
.../common/validator/group/QiniuGroup.java | 7 +
.../common/validator/group/UpdateGroup.java | 9 +
.../com/platform/common/xss/HTMLFilter.java | 534 +
.../com/platform/common/xss/SQLFilter.java | 40 +
.../com/platform/common/xss/XssFilter.java | 27 +
.../xss/XssHttpServletRequestWrapper.java | 137 +
.../java/com/platform/config/CorsConfig.java | 18 +
.../com/platform/config/FilterConfig.java | 39 +
.../com/platform/config/KaptchaConfig.java | 29 +
.../com/platform/config/LiveNotifyConfig.java | 24 +
.../platform/config/MybatisPlusConfig.java | 118 +
.../platform/config/MybatisTenantParser.java | 178 +
.../java/com/platform/config/RedisConfig.java | 53 +
.../platform/config/RestTemplateConfig.java | 32 +
.../java/com/platform/config/ShiroConfig.java | 137 +
.../com/platform/config/SwaggerConfig.java | 62 +
.../com/platform/config/WebSocketConfig.java | 36 +
.../platform/datasources/DataSourceNames.java | 10 +
.../datasources/DynamicDataSource.java | 38 +
.../datasources/DynamicDataSourceConfig.java | 39 +
.../datasources/annotation/DataSource.java | 13 +
.../datasources/aspect/DataSourceAspect.java | 57 +
.../java/com/platform/filter/CorsFilter.java | 27 +
.../filter/LiveNotifyInterceptor.java | 55 +
.../listener/VideoFileApplicationContext.java | 38 +
.../platform/listener/VideoFileListener.java | 98 +
.../platform/listener/VideoFileMonitor.java | 46 +
.../listener/VideoFileProperties.java | 39 +
.../modules/app/annotation/AppPermission.java | 14 +
.../modules/app/annotation/Login.java | 12 +
.../modules/app/annotation/LoginUser.java | 15 +
.../modules/app/config/WebMvcConfig.java | 43 +
.../APPLiveTaskAllocationController.java | 76 +
.../app/controller/AppAbstractController.java | 34 +
.../AppLiveMultimediaController.java | 136 +
.../controller/AppLiveSceneController.java | 287 +
.../AppLiveSceneCountController.java | 110 +
.../AppLiveSceneReportController.java | 191 +
.../app/controller/AppLoginController.java | 92 +
.../app/controller/AppRegisterController.java | 51 +
.../app/controller/AppTestController.java | 43 +
.../app/controller/AppUserController.java | 172 +
.../com/platform/modules/app/dao/UserDao.java | 13 +
.../modules/app/dao/UserTokenDao.java | 15 +
.../modules/app/entity/LocationEntity.java | 44 +
.../modules/app/entity/UserEntity.java | 111 +
.../modules/app/entity/UserTokenEntity.java | 76 +
.../modules/app/form/AppUserInfoForm.java | 69 +
.../platform/modules/app/form/LoginForm.java | 35 +
.../modules/app/form/RegisterForm.java | 35 +
.../interceptor/AuthorizationInterceptor.java | 89 +
...oginUserHandlerMethodArgumentResolver.java | 43 +
.../modules/app/service/UserService.java | 30 +
.../modules/app/service/UserTokenService.java | 26 +
.../app/service/impl/UserServiceImpl.java | 57 +
.../service/impl/UserTokenServiceImpl.java | 71 +
.../platform/modules/app/utils/JwtUtils.java | 85 +
.../modules/fl/utils/BitConverter.java | 9 +
.../modules/fl/utils/ClientStarter.java | 81 +
.../fl/utils/FrontendClientAioHandler.java | 118 +
.../platform/modules/fl/utils/SendPacket.java | 38 +
.../modules/fl/utils/SocketAioHandler.java | 171 +
.../modules/fl/utils/SocketServerStarter.java | 39 +
.../platform/modules/fl/utils/TestPacket.java | 38 +
.../controller/ForeignLoginController.java | 67 +
.../controller/LiveForeignController.java | 255 +
.../foreign/entity/AiJiNanUserInfoModel.java | 58 +
.../foreign/entity/CommentForeignEntity.java | 67 +
.../entity/ReporterInterviewProcess.java | 137 +
.../foreign/entity/SceneForeignEntity.java | 177 +
.../entity/SceneStreamForeignEntity.java | 60 +
.../oauth2/ForeignOAuth2Interceptor.java | 86 +
.../foreign/service/LiveForeignService.java | 35 +
.../service/impl/LiveForeignServiceImpl.java | 620 +
.../modules/foreign/utils/AiJinanUtils.java | 117 +
.../modules/job/config/ScheduleConfig.java | 51 +
.../job/controller/ScheduleJobController.java | 122 +
.../controller/ScheduleJobLogController.java | 42 +
.../modules/job/dao/ScheduleJobDao.java | 19 +
.../modules/job/dao/ScheduleJobLogDao.java | 13 +
.../modules/job/entity/ScheduleJobEntity.java | 161 +
.../job/entity/ScheduleJobLogEntity.java | 134 +
.../job/service/ScheduleJobLogService.java | 16 +
.../job/service/ScheduleJobService.java | 50 +
.../impl/ScheduleJobLogServiceImpl.java | 31 +
.../service/impl/ScheduleJobServiceImpl.java | 123 +
.../platform/modules/job/task/TestTask.java | 41 +
.../modules/job/utils/ScheduleJob.java | 76 +
.../modules/job/utils/ScheduleRunnable.java | 43 +
.../modules/job/utils/ScheduleUtils.java | 146 +
.../ks/controller/MaterialController.java | 65 +
.../ks/dao/PlmVideoDownloadLogDao.java | 18 +
.../modules/ks/dao/PlmVideoSearchLogDao.java | 18 +
.../ks/entity/PlmVideoDownloadLogEntity.java | 153 +
.../ks/entity/PlmVideoSearchLogEntity.java | 113 +
.../service/PlmVideoDownloadLogService.java | 20 +
.../ks/service/PlmVideoSearchLogService.java | 22 +
.../modules/ks/service/PlmVideoService.java | 13 +
.../impl/PlmVideoDownloadLogServiceImpl.java | 78 +
.../impl/PlmVideoSearchLogServiceImpl.java | 36 +
.../ks/service/impl/PlmVideoServiceImpl.java | 241 +
.../modules/live/aspect/BaseTenantAspect.java | 145 +
.../modules/live/aspect/CasterTenant.java | 19 +
.../live/aspect/CasterTenantAspect.java | 43 +
.../modules/live/aspect/ClipsTenant.java | 19 +
.../live/aspect/ClipsTenantAspect.java | 36 +
.../modules/live/aspect/LiveTenant.java | 20 +
.../modules/live/aspect/LiveTenantAspect.java | 37 +
.../modules/live/constants/LiveConstants.java | 127 +
.../live/constants/MediaConstants.java | 17 +
.../live/constants/SceneConstants.java | 444 +
.../live/controller/CasterController.java | 471 +
.../controller/ClipsMultimediaController.java | 166 +
.../controller/GenerateLiveUrlController.java | 79 +
.../live/controller/HomepageController.java | 63 +
.../live/controller/LiveCasterController.java | 84 +
.../controller/LiveChannelController.java | 171 +
.../controller/LiveCommentController.java | 163 +
.../controller/LiveMultimediaController.java | 191 +
.../live/controller/LiveNotifyController.java | 392 +
.../live/controller/LiveReportController.java | 236 +
.../controller/LiveSceneCheckController.java | 84 +
.../live/controller/LiveSceneController.java | 702 +
.../controller/LiveSceneCountController.java | 84 +
.../LiveSceneLiveInfoController.java | 104 +
.../controller/LiveSceneRecordController.java | 210 +
.../LiveTaskAllocationController.java | 110 +
.../controller/MediaUploadController.java | 123 +
.../controller/TranscodingController.java | 80 +
.../modules/live/dao/LiveCasterDao.java | 18 +
.../modules/live/dao/LiveChannelDao.java | 25 +
.../modules/live/dao/LiveCommentDao.java | 33 +
.../modules/live/dao/LiveMultimediaDao.java | 28 +
.../modules/live/dao/LiveReportDao.java | 28 +
.../modules/live/dao/LiveSceneChannelDao.java | 18 +
.../modules/live/dao/LiveSceneCheckDao.java | 18 +
.../modules/live/dao/LiveSceneCountDao.java | 28 +
.../modules/live/dao/LiveSceneDao.java | 43 +
.../live/dao/LiveSceneLiveInfoDao.java | 29 +
.../live/dao/LiveSceneLiveInfoExtDao.java | 15 +
.../live/dao/LiveSceneLiveInfoRecordDao.java | 17 +
.../modules/live/dao/LiveSceneRecordDao.java | 17 +
.../modules/live/dao/LiveStreamBlackDao.java | 17 +
.../live/dao/LiveStreamRecordTaskDao.java | 17 +
.../modules/live/dao/LiveStreamStatusDao.java | 17 +
.../live/dao/LiveTaskAllocationDao.java | 29 +
.../live/dao/LiveTranscodeInfoDao.java | 14 +
.../modules/live/dao/LiveTranscodeJobDao.java | 14 +
.../live/dao/LiveVideoTranscodingDao.java | 15 +
.../live/dao/LiveVideoTranscodingExtDao.java | 15 +
.../dao/LiveVideoTranscodingMessageDao.java | 15 +
.../live/dto/AddCasterVideoResourceDto.java | 32 +
.../modules/live/dto/AliRequestDto.java | 53 +
.../dto/DescribeCasterStreamResponseDto.java | 55 +
.../modules/live/dto/DescribeCastersDto.java | 45 +
.../live/dto/DescribeCastersResponseDto.java | 81 +
.../live/dto/FileUploadCompleteNotifyDto.java | 18 +
.../modules/live/dto/GenerateLiveUrlDto.java | 32 +
.../platform/modules/live/dto/ListJobDto.java | 22 +
.../modules/live/dto/PushStreamNotifyDto.java | 29 +
.../live/dto/StreamInfoResponseDto.java | 33 +
.../modules/live/dto/SubmitJobsDto.java | 48 +
.../live/dto/TranscodeCompleteDto.java | 46 +
.../modules/live/dto/TranscodingTaskDto.java | 28 +
.../modules/live/entity/LiveCasterEntity.java | 227 +
.../live/entity/LiveChannelEntity.java | 216 +
.../live/entity/LiveCommentEntity.java | 269 +
.../live/entity/LiveMultimediaEntity.java | 451 +
.../modules/live/entity/LiveReportEntity.java | 435 +
.../live/entity/LiveSceneChannelEntity.java | 78 +
.../live/entity/LiveSceneCheckEntity.java | 168 +
.../live/entity/LiveSceneCountEntity.java | 203 +
.../modules/live/entity/LiveSceneEntity.java | 717 +
.../live/entity/LiveSceneLiveInfoEntity.java | 358 +
.../entity/LiveSceneLiveInfoExtEntity.java | 141 +
.../entity/LiveSceneLiveInfoRecordEntity.java | 182 +
.../live/entity/LiveSceneRecordEntity.java | 394 +
.../live/entity/LiveStreamBlackEntity.java | 89 +
.../entity/LiveStreamRecordTaskEntity.java | 182 +
.../live/entity/LiveStreamStatusEntity.java | 192 +
.../live/entity/LiveTaskAllocationEntity.java | 193 +
.../live/entity/LiveTranscodeInfoEntity.java | 49 +
.../live/entity/LiveTranscodeJobEntity.java | 111 +
.../entity/LiveVideoTranscodingEntity.java | 213 +
.../entity/LiveVideoTranscodingExtEntity.java | 119 +
.../LiveVideoTranscodingMessageEntity.java | 197 +
.../modules/live/service/CasterService.java | 19 +
.../live/service/GenerateLiveUrlService.java | 24 +
.../live/service/LiveCasterService.java | 28 +
.../live/service/LiveChannelService.java | 43 +
.../live/service/LiveCommentService.java | 64 +
.../live/service/LiveMultimediaService.java | 93 +
.../service/LiveMultimediaSyncService.java | 17 +
.../live/service/LiveReportService.java | 53 +
.../live/service/LiveSceneChannelService.java | 26 +
.../live/service/LiveSceneCheckService.java | 24 +
.../live/service/LiveSceneCountService.java | 38 +
.../service/LiveSceneLiveInfoExtService.java | 34 +
.../LiveSceneLiveInfoRecordService.java | 20 +
.../service/LiveSceneLiveInfoService.java | 56 +
.../live/service/LiveSceneRecordService.java | 60 +
.../live/service/LiveSceneService.java | 167 +
.../live/service/LiveStreamBlackService.java | 20 +
.../service/LiveStreamRecordTaskService.java | 27 +
.../live/service/LiveStreamStatusService.java | 22 +
.../service/LiveTaskAllocationService.java | 46 +
.../service/LiveTranscodeInfoService.java | 13 +
.../live/service/LiveTranscodeJobService.java | 15 +
.../LiveVideoTranscodingExtService.java | 21 +
.../LiveVideoTranscodingMessageService.java | 20 +
.../service/LiveVideoTranscodingService.java | 21 +
.../modules/live/service/LuceneService.java | 21 +
.../live/service/TranscodingTaskService.java | 30 +
.../live/service/impl/CasterServiceImpl.java | 69 +
.../impl/GenerateLiveUrlServiceImpl.java | 56 +
.../service/impl/LiveCasterServiceImpl.java | 61 +
.../service/impl/LiveChannelServiceImpl.java | 290 +
.../service/impl/LiveCommentServiceImpl.java | 255 +
.../impl/LiveMultimediaServiceImpl.java | 1181 +
.../impl/LiveMultimediaSyncServiceImpl.java | 133 +
.../service/impl/LiveReportServiceImpl.java | 687 +
.../impl/LiveSceneChannelServiceImpl.java | 46 +
.../impl/LiveSceneCheckServiceImpl.java | 47 +
.../impl/LiveSceneCountServiceImpl.java | 235 +
.../impl/LiveSceneLiveInfoExtServiceImpl.java | 81 +
.../LiveSceneLiveInfoRecordServiceImpl.java | 32 +
.../impl/LiveSceneLiveInfoServiceImpl.java | 327 +
.../impl/LiveSceneRecordServiceImpl.java | 442 +
.../service/impl/LiveSceneServiceImpl.java | 2755 ++
.../impl/LiveStreamBlackServiceImpl.java | 32 +
.../impl/LiveStreamRecordTaskServiceImpl.java | 68 +
.../impl/LiveStreamStatusServiceImpl.java | 167 +
.../impl/LiveTaskAllocationServiceImpl.java | 206 +
.../impl/LiveTranscodeInfoServiceImpl.java | 24 +
.../impl/LiveTranscodeJobServiceImpl.java | 25 +
.../LiveVideoTranscodingExtServiceImpl.java | 39 +
...iveVideoTranscodingMessageServiceImpl.java | 32 +
.../impl/LiveVideoTranscodingServiceImpl.java | 41 +
.../live/service/impl/LuceneServiceImpl.java | 391 +
.../impl/TranscodingTaskServiceImpl.java | 445 +
.../modules/live/task/AutoLiveTask.java | 44 +
.../live/task/LiveVodRecordDeleteTask.java | 97 +
.../modules/live/task/SceneCountToDBTask.java | 40 +
.../live/thread/TranscodingTaskThread.java | 28 +
.../modules/live/utils/AliMediaUtils.java | 182 +
.../modules/live/utils/AliRequestUtils.java | 141 +
.../live/utils/ArraysCustomeUtils.java | 26 +
.../live/utils/CalculateSceneCountUtils.java | 40 +
.../live/utils/CalculateTimeDifference.java | 39 +
.../modules/live/utils/CommentSourceEnum.java | 52 +
.../modules/live/utils/ForeignProperties.java | 53 +
.../modules/live/utils/LuceneTypeEnum.java | 43 +
.../live/utils/PlatformTenantProperties.java | 45 +
.../modules/live/utils/QrCodeUtils.java | 226 +
.../platform/modules/live/utils/RSAUtils.java | 197 +
.../modules/live/utils/ReportReleaseEnum.java | 52 +
.../modules/live/utils/ReportTypeEnum.java | 67 +
.../modules/live/utils/SceneUUIDGenUtils.java | 29 +
.../platform/modules/live/utils/TopEnum.java | 49 +
.../modules/live/vo/AppSceneEntityVo.java | 270 +
.../modules/live/vo/CasterComponentVo.java | 32 +
.../modules/live/vo/CasterConfigVo.java | 16 +
.../modules/live/vo/CasterLayoutVo.java | 23 +
.../modules/live/vo/CasterSceneAudioVo.java | 26 +
.../modules/live/vo/CasterSceneConfigVo.java | 21 +
.../modules/live/vo/CasterStreamVo.java | 19 +
.../modules/live/vo/GenerateLiveUrlVo.java | 24 +
.../modules/live/vo/LiveCasterSubVo.java | 28 +
.../modules/live/vo/LiveCommentAppVo.java | 132 +
.../platform/modules/live/vo/LiveInfoVo.java | 410 +
.../modules/live/vo/LiveReportVo.java | 119 +
.../modules/live/vo/LiveSceneRecordVo.java | 149 +
.../live/vo/LiveTaskAllocationListVo.java | 37 +
.../modules/live/vo/LiveTaskAllocationVo.java | 35 +
.../platform/modules/live/vo/ReporterVo.java | 51 +
.../modules/live/vo/SceneCommentCountVo.java | 134 +
.../modules/live/vo/SceneCountVo.java | 64 +
.../modules/live/vo/SceneEntityVo.java | 732 +
.../modules/live/vo/SceneSortEntityVo.java | 196 +
.../oss/cloud/AliyunCloudStorageService.java | 52 +
.../modules/oss/cloud/CloudStorageConfig.java | 232 +
.../oss/cloud/CloudStorageService.java | 79 +
.../modules/oss/cloud/OSSFactory.java | 34 +
.../oss/cloud/QcloudCloudStorageService.java | 96 +
.../oss/cloud/QiniuCloudStorageService.java | 67 +
.../oss/controller/SysOssController.java | 126 +
.../platform/modules/oss/dao/SysOssDao.java | 14 +
.../modules/oss/entity/SysOssEntity.java | 60 +
.../modules/oss/service/SysOssService.java | 16 +
.../oss/service/impl/SysOssServiceImpl.java | 27 +
.../plm/controller/PlmMaterialController.java | 189 +
.../controller/PlmVideoNewsController.java | 267 +
.../modules/plm/dao/PlmMaterialDao.java | 26 +
.../modules/plm/dao/PlmVideoNewsDao.java | 30 +
.../modules/plm/entity/PlmChunkEntity.java | 63 +
.../modules/plm/entity/PlmMaterialEntity.java | 332 +
.../plm/entity/PlmVideoNewsEntity.java | 432 +
.../plm/service/PlmMaterialService.java | 39 +
.../plm/service/PlmVideoNewsService.java | 37 +
.../service/impl/PlmMaterialServiceImpl.java | 355 +
.../service/impl/PlmVideoNewsServiceImpl.java | 300 +
.../plm/thread/MediaDownloadThread.java | 112 +
.../plm/thread/QkSynthesisStopThread.java | 55 +
.../modules/plm/util/AudioTypeEnum.java | 42 +
.../modules/plm/util/DecimalFormatUtils.java | 38 +
.../modules/plm/util/FileCalculateUtils.java | 154 +
.../modules/plm/util/FileSizeUnitEnum.java | 26 +
.../modules/plm/util/ImageTypeEnum.java | 47 +
.../plm/util/MateriaFileProperties.java | 63 +
.../modules/plm/util/MaterialUtils.java | 339 +
.../modules/plm/util/VideoTypeEnum.java | 47 +
.../qk/controller/AliyunClipsController.java | 770 +
.../qk/controller/CloudClipsController.java | 213 +
.../modules/qk/dao/EditProjectDao.java | 16 +
.../qk/dao/EditProjectMaterialDao.java | 16 +
.../qk/dao/EditProjectWatermarkDao.java | 16 +
.../com/platform/modules/qk/dto/BaseDTO.java | 9 +
.../modules/qk/dto/EditingProject.java | 31 +
.../modules/qk/dto/EditingProjectDTO.java | 17 +
.../com/platform/modules/qk/dto/Effects.java | 209 +
.../com/platform/modules/qk/dto/FontFace.java | 34 +
.../com/platform/modules/qk/dto/Timeline.java | 93 +
.../platform/modules/qk/dto/TimelineDTO.java | 4 +
.../platform/modules/qk/dto/VideoTrack.java | 50 +
.../modules/qk/dto/VideoTrackClip.java | 233 +
.../modules/qk/entity/EditProjectEntity.java | 170 +
.../qk/entity/EditProjectMaterialEntity.java | 104 +
.../qk/entity/EditProjectWatermarkEntity.java | 105 +
.../CloudClipsAuthorizationInterceptor.java | 57 +
.../modules/qk/service/CloudClipsService.java | 13 +
.../modules/qk/service/VideoService.java | 81 +
.../service/impl/CloudClipsServiceImpl.java | 90 +
.../qk/service/impl/VideoServiceImpl.java | 807 +
.../modules/qk/utils/CloulClipsJwtUtils.java | 76 +
.../scene/controller/SceneController.java | 90 +
.../modules/scene/service/SceneService.java | 21 +
.../scene/service/impl/SceneServiceImpl.java | 202 +
.../SensitiveStopWordController.java | 109 +
.../controller/SensitiveWordController.java | 119 +
.../dao/SensitiveStopWordDao.java | 17 +
.../sensitiveword/dao/SensitiveWordDao.java | 17 +
.../entity/SensitiveStopWordEntity.java | 112 +
.../entity/SensitiveWordEntity.java | 132 +
.../service/SensitiveStopWordService.java | 21 +
.../service/SensitiveWordService.java | 99 +
.../impl/SensitiveStopWordServiceImpl.java | 39 +
.../impl/SensitiveWordServiceImpl.java | 198 +
.../sys/controller/AbstractController.java | 51 +
.../sys/controller/SysConfigController.java | 88 +
.../sys/controller/SysLogController.java | 38 +
.../sys/controller/SysLoginController.java | 152 +
.../sys/controller/SysMenuController.java | 186 +
.../sys/controller/SysRoleController.java | 120 +
.../sys/controller/SysTenantController.java | 167 +
.../sys/controller/SysUserController.java | 235 +
.../modules/sys/dao/SysCaptchaDao.java | 13 +
.../modules/sys/dao/SysConfigDao.java | 25 +
.../platform/modules/sys/dao/SysLogDao.java | 14 +
.../platform/modules/sys/dao/SysMenuDao.java | 33 +
.../platform/modules/sys/dao/SysRoleDao.java | 19 +
.../modules/sys/dao/SysRoleMenuDao.java | 24 +
.../modules/sys/dao/SysSchemaDao.java | 21 +
.../modules/sys/dao/SysTenantDao.java | 28 +
.../platform/modules/sys/dao/SysUserDao.java | 63 +
.../modules/sys/dao/SysUserRoleDao.java | 25 +
.../modules/sys/dao/SysUserTokenDao.java | 15 +
.../modules/sys/dto/SaveTenantDTO.java | 97 +
.../platform/modules/sys/dto/SaveUserDTO.java | 67 +
.../modules/sys/entity/SysCaptchaEntity.java | 48 +
.../modules/sys/entity/SysConfigEntity.java | 44 +
.../modules/sys/entity/SysLogEntity.java | 125 +
.../modules/sys/entity/SysMenuEntity.java | 201 +
.../modules/sys/entity/SysRoleEntity.java | 122 +
.../modules/sys/entity/SysRoleMenuEntity.java | 77 +
.../modules/sys/entity/SysTenantEntity.java | 228 +
.../modules/sys/entity/SysUserEntity.java | 360 +
.../modules/sys/entity/SysUserRoleEntity.java | 76 +
.../sys/entity/SysUserTokenEntity.java | 76 +
.../modules/sys/form/PasswordForm.java | 31 +
.../modules/sys/form/SysLoginForm.java | 43 +
.../modules/sys/oauth2/OAuth2Filter.java | 101 +
.../modules/sys/oauth2/OAuth2Realm.java | 69 +
.../modules/sys/oauth2/OAuth2Token.java | 25 +
.../modules/sys/oauth2/TokenGenerator.java | 42 +
.../modules/sys/redis/SysConfigRedis.java | 34 +
.../modules/sys/service/ShiroService.java | 24 +
.../sys/service/SysCaptchaService.java | 25 +
.../modules/sys/service/SysConfigService.java | 51 +
.../modules/sys/service/SysLogService.java | 18 +
.../modules/sys/service/SysMenuService.java | 42 +
.../sys/service/SysRoleMenuService.java | 27 +
.../modules/sys/service/SysRoleService.java | 29 +
.../modules/sys/service/SysSchemaService.java | 16 +
.../modules/sys/service/SysTenantService.java | 32 +
.../sys/service/SysUserRoleService.java | 26 +
.../modules/sys/service/SysUserService.java | 107 +
.../sys/service/SysUserTokenService.java | 24 +
.../sys/service/impl/ShiroServiceImpl.java | 60 +
.../service/impl/SysCaptchaServiceImpl.java | 60 +
.../service/impl/SysConfigServiceImpl.java | 96 +
.../sys/service/impl/SysLogServiceImpl.java | 33 +
.../sys/service/impl/SysMenuServiceImpl.java | 191 +
.../service/impl/SysRoleMenuServiceImpl.java | 82 +
.../sys/service/impl/SysRoleServiceImpl.java | 114 +
.../service/impl/SysSchemaServiceImpl.java | 20 +
.../service/impl/SysTenantServiceImpl.java | 297 +
.../service/impl/SysUserRoleServiceImpl.java | 51 +
.../sys/service/impl/SysUserServiceImpl.java | 436 +
.../service/impl/SysUserTokenServiceImpl.java | 66 +
.../modules/sys/vo/SysUserEntityVo.java | 34 +
.../modules/sys/vo/SysUserInfoVo.java | 59 +
.../controller/TranscodeController.java | 70 +
.../transcode/service/TranscodeService.java | 37 +
.../service/impl/TranscodeServiceImpl.java | 106 +
.../modules/transcode/vo/TranscodeInfoVo.java | 51 +
.../trtc/config/TrtcWebSocketConfig.java | 24 +
.../trtc/controller/TrtcController.java | 181 +
.../modules/trtc/service/TrtcService.java | 25 +
.../trtc/service/impl/TrtcServiceImpl.java | 216 +
.../modules/trtc/socket/SocketMsg.java | 150 +
.../modules/trtc/socket/WebSocket.java | 343 +
.../modules/trtc/socket/WebSocket2.java | 419 +
.../java/com/platform/modules/video/Test.java | 4 +
.../video/constants/FileSizeUnitEnum.java | 26 +
.../video/constants/VideoTypeEnum.java | 47 +
.../video/controller/VideoController.java | 225 +
.../platform/modules/video/dao/VideoDao.java | 17 +
.../modules/video/entity/VideoEntity.java | 324 +
.../video/service/RealPathResolver.java | 14 +
.../modules/video/service/VideoService.java | 43 +
.../impl/ServletContextRealPathResolver.java | 36 +
.../video/service/impl/VideoServiceImpl.java | 112 +
.../video/util/DecimalFormatUtils.java | 38 +
.../video/util/FileSizeCalculateUtils.java | 132 +
.../modules/video/util/VideoUtils.java | 167 +
.../platform/modules/weixin/kit/HttpKit.java | 250 +
.../modules/weixin/kit/JsSignKit.java | 23 +
.../modules/weixin/kit/JsSignature.java | 59 +
.../platform/modules/weixin/kit/ParaMap.java | 27 +
.../modules/weixin/kit/StringKit.java | 83 +
.../modules/weixin/token/AccessToken.java | 74 +
.../modules/weixin/token/AccessTokenApi.java | 148 +
.../modules/weixin/token/JsTicket.java | 74 +
.../modules/weixin/token/JsTicketApi.java | 135 +
.../modules/weixin/utils/ReturnCode.java | 153 +
.../platform/plugs/common/rpc/CommonRpc.java | 232 +
.../common/rpc/DefaultRequestParams.java | 20 +
.../platform/plugs/common/rpc/ErrorCode.java | 9 +
.../plugs/common/rpc/ErrorCodeMsg.java | 99 +
.../platform/plugs/common/rpc/Profile.java | 21 +
.../plugs/common/rpc/RequestWrapper.java | 11 +
.../plugs/common/rpc/ResponseResult.java | 11 +
.../plugs/common/rpc/ResponseWrapper.java | 9 +
.../plugs/common/rpc/RpcResponse.java | 66 +
.../com/platform/plugs/live/LiveClient.java | 105 +
.../plugs/live/annotation/RpcEntity.java | 10 +
.../plugs/live/annotation/RpcField.java | 10 +
.../plugs/live/annotation/RpcParam.java | 14 +
.../plugs/live/config/LiveAudioConfig.java | 83 +
.../plugs/live/config/LiveCasterConfig.java | 34 +
.../live/config/LivePullStreamConfig.java | 33 +
.../plugs/live/config/LiveRecordConfig.java | 61 +
.../plugs/live/config/LiveStreamConfig.java | 46 +
.../live/config/LiveTransCodeConfig.java | 23 +
.../live/config/LiveUploadToVoDConfig.java | 38 +
.../plugs/live/config/LiveWeixinConfig.java | 16 +
.../plugs/live/enums/PushStreamStatus.java | 10 +
.../live/handlers/ILiveAudioHandler.java | 19 +
.../live/handlers/ILiveCasterHandler.java | 401 +
.../live/handlers/ILivePullStreamHandler.java | 48 +
.../live/handlers/ILiveRecordHandler.java | 121 +
.../live/handlers/ILiveStreamHandler.java | 85 +
.../live/handlers/ILiveTransCodeHandler.java | 50 +
.../handlers/ILiveUploadToVoDHandler.java | 106 +
.../plugs/live/handlers/LiveAudioHandler.java | 195 +
.../live/handlers/LiveCasterHandler.java | 716 +
.../plugs/live/handlers/LiveHandler.java | 60 +
.../live/handlers/LivePullStreamHandler.java | 104 +
.../live/handlers/LiveRecordHandler.java | 304 +
.../live/handlers/LiveStreamHandler.java | 166 +
.../live/handlers/LiveTransCodeHandler.java | 144 +
.../live/handlers/LiveUploadToVoDHandler.java | 254 +
.../plugs/live/proxy/HandlerProxy.java | 70 +
.../plugs/live/responseEntity/AudioLayer.java | 41 +
.../plugs/live/responseEntity/Caster.java | 52 +
.../live/responseEntity/CasterComponent.java | 169 +
.../live/responseEntity/CasterConfig.java | 132 +
.../live/responseEntity/CasterLayout.java | 86 +
.../live/responseEntity/CasterSceneAudio.java | 45 +
.../live/responseEntity/CasterScenes.java | 83 +
.../live/responseEntity/CasterStream.java | 53 +
.../responseEntity/CasterVideoResource.java | 62 +
.../plugs/live/responseEntity/Channel.java | 48 +
.../DescribeCasterChannels.java | 16 +
.../responseEntity/LiveRecordVodConfig.java | 41 +
.../LiveStreamHistoryUserNum.java | 17 +
.../live/responseEntity/LiveStreamOnline.java | 31 +
.../live/responseEntity/LiveStreams.java | 21 +
.../live/responseEntity/StartCaster.java | 100 +
.../plugs/live/responseEntity/StreamInfo.java | 52 +
.../live/responseEntity/TranscodeInfo.java | 29 +
.../live/responseEntity/TranscodeJob.java | 82 +
.../live/responseEntity/TranscodeTask.java | 72 +
.../plugs/live/responseEntity/VideoLayer.java | 65 +
.../AddLiveRecordNotifyConfigEntity.java | 33 +
.../DeleteLiveAppRecordConfigEntity.java | 18 +
.../DescribeLiveStreamsOnlineListEntity.java | 31 +
.../plugs/live/rpcEntity/LiveUploadVideo.java | 132 +
.../RealTimeRecordCommandEntity.java | 18 +
.../plugs/live/utils/StreamAddressUtils.java | 187 +
.../plugs/live/utils/UTCDateFormat.java | 44 +
src/main/resources/application-dev.yml | 38 +
src/main/resources/application-live-dev.yml | 61 +
src/main/resources/application-live-prod.yml | 62 +
src/main/resources/application-prod.yml | 40 +
src/main/resources/application-test.yml | 38 +
src/main/resources/application.yml | 114 +
src/main/resources/banner2.txt | 5 +
src/main/resources/logback-spring.xml | 29 +
src/main/resources/mapper/app/UserDao.xml | 7 +
.../resources/mapper/app/UserTokenDao.xml | 9 +
.../resources/mapper/job/ScheduleJobDao.xml | 14 +
.../mapper/job/ScheduleJobLogDao.xml | 6 +
.../mapper/ks/PlmVideoDownloadLogDao.xml | 39 +
.../mapper/ks/PlmVideoSearchLogDao.xml | 33 +
.../resources/mapper/live/LiveCasterDao.xml | 23 +
.../resources/mapper/live/LiveChannelDao.xml | 19 +
.../resources/mapper/live/LiveCommentDao.xml | 62 +
.../mapper/live/LiveMultimediaDao.xml | 37 +
.../resources/mapper/live/LiveReportDao.xml | 45 +
.../mapper/live/LiveSceneChannelDao.xml | 14 +
.../mapper/live/LiveSceneCheckDao.xml | 19 +
.../mapper/live/LiveSceneCountDao.xml | 36 +
.../resources/mapper/live/LiveSceneDao.xml | 137 +
.../mapper/live/LiveSceneLiveInfoDao.xml | 45 +
.../mapper/live/LiveSceneLiveInfoExtDao.xml | 17 +
.../live/LiveSceneLiveInfoRecordDao.xml | 21 +
.../mapper/live/LiveSceneRecordDao.xml | 28 +
.../mapper/live/LiveStreamBlackDao.xml | 15 +
.../mapper/live/LiveStreamRecordTaskDao.xml | 21 +
.../mapper/live/LiveStreamStatusDao.xml | 20 +
.../mapper/live/LiveTaskAllocationDao.xml | 36 +
.../mapper/live/LiveTranscodeInfoDao.xml | 16 +
.../mapper/live/LiveTranscodeJobDao.xml | 31 +
.../mapper/live/LiveVideoTranscodingDao.xml | 21 +
.../live/LiveVideoTranscodingExtDao.xml | 21 +
.../live/LiveVideoTranscodingMessageDao.xml | 21 +
src/main/resources/mapper/oss/SysOssDao.xml | 7 +
.../resources/mapper/plm/PlmMaterialDao.xml | 33 +
.../resources/mapper/plm/PlmVideoNewsDao.xml | 124 +
.../resources/mapper/qk/EditProjectDao.xml | 55 +
.../mapper/qk/EditProjectMaterialDao.xml | 42 +
.../mapper/qk/EditProjectWatermarkDao.xml | 43 +
.../sensitiveword/SensitiveStopWordDao.xml | 16 +
.../mapper/sensitiveword/SensitiveWordDao.xml | 17 +
.../resources/mapper/sys/SysConfigDao.xml | 15 +
src/main/resources/mapper/sys/SysLogDao.xml | 6 +
src/main/resources/mapper/sys/SysMenuDao.xml | 26 +
src/main/resources/mapper/sys/SysRoleDao.xml | 10 +
.../resources/mapper/sys/SysRoleMenuDao.xml | 17 +
.../resources/mapper/sys/SysTenantDao.xml | 27 +
src/main/resources/mapper/sys/SysUserDao.xml | 61 +
.../resources/mapper/sys/SysUserRoleDao.xml | 16 +
.../resources/mapper/sys/SysUserTokenDao.xml | 9 +
src/main/resources/mapper/video/VideoDao.xml | 29 +
src/main/resources/static/favicon.ico | Bin 0 -> 4286 bytes
src/main/resources/static/socketjs/index.html | 44 +
.../resources/static/swagger/css/print.css | 1 +
.../resources/static/swagger/css/reset.css | 1 +
.../resources/static/swagger/css/screen.css | 1 +
.../resources/static/swagger/css/style.css | 1 +
.../static/swagger/css/typography.css | 0
.../static/swagger/favicon-16x16.png | Bin 0 -> 445 bytes
.../static/swagger/favicon-32x32.png | Bin 0 -> 1141 bytes
.../static/swagger/fonts/DroidSans-Bold.ttf | Bin 0 -> 42480 bytes
.../static/swagger/fonts/DroidSans.ttf | Bin 0 -> 41028 bytes
.../static/swagger/images/collapse.gif | Bin 0 -> 69 bytes
.../static/swagger/images/expand.gif | Bin 0 -> 73 bytes
.../static/swagger/images/explorer_icons.png | Bin 0 -> 5115 bytes
.../static/swagger/images/favicon-16x16.png | Bin 0 -> 445 bytes
.../static/swagger/images/favicon-32x32.png | Bin 0 -> 1141 bytes
.../static/swagger/images/favicon.ico | Bin 0 -> 5430 bytes
.../static/swagger/images/logo_small.png | Bin 0 -> 455 bytes
.../static/swagger/images/pet_store_api.png | Bin 0 -> 631 bytes
.../static/swagger/images/throbber.gif | Bin 0 -> 9257 bytes
.../static/swagger/images/wordnik_api.png | Bin 0 -> 670 bytes
src/main/resources/static/swagger/index.html | 107 +
src/main/resources/static/swagger/index.yaml | 1691 ++
src/main/resources/static/swagger/lang/en.js | 56 +
.../static/swagger/lang/translator.js | 39 +
.../resources/static/swagger/lang/zh-cn.js | 56 +
.../static/swagger/lib/backbone-min.js | 1 +
.../resources/static/swagger/lib/es5-shim.js | 1 +
.../static/swagger/lib/handlebars-4.0.5.js | 3 +
.../swagger/lib/highlight.9.1.0.pack.js | 1 +
.../lib/highlight.9.1.0.pack_extended.js | 1 +
.../static/swagger/lib/jquery-1.8.0.min.js | 3 +
.../static/swagger/lib/jquery.ba-bbq.min.js | 1 +
.../static/swagger/lib/jquery.slideto.min.js | 1 +
.../static/swagger/lib/jquery.wiggle.min.js | 1 +
.../static/swagger/lib/js-yaml.min.js | 2 +
.../static/swagger/lib/jsoneditor.min.js | 5 +
.../static/swagger/lib/lodash.min.js | 2 +
.../resources/static/swagger/lib/marked.js | 1 +
.../swagger/lib/object-assign-pollyfill.js | 1 +
.../static/swagger/lib/sanitize-html.min.js | 4 +
.../static/swagger/lib/swagger-oauth.js | 1 +
src/main/resources/static/swagger/o2c.html | 20 +
.../static/swagger/oauth2-redirect.html | 53 +
.../static/swagger/swagger-ui-bundle.js | 105 +
.../static/swagger/swagger-ui-bundle.js.map | 1 +
.../swagger/swagger-ui-standalone-preset.js | 21 +
.../swagger-ui-standalone-preset.js.map | 1 +
.../resources/static/swagger/swagger-ui.css | 2 +
.../static/swagger/swagger-ui.css.map | 1 +
.../resources/static/swagger/swagger-ui.js | 25344 ++++++++++++++++
.../static/swagger/swagger-ui.js.map | 1 +
.../static/swagger/swagger-ui.min.js | 15 +
.../com/platform/DynamicDataSourceTest.java | 35 +
src/test/java/com/platform/JwtTest.java | 37 +
src/test/java/com/platform/RedisTest.java | 39 +
.../service/DataSourceTestService.java | 26 +
720 files changed, 91638 insertions(+)
create mode 100644 .gitignore
create mode 100644 db/20190121_weiyan.sql
create mode 100644 db/20190218_troy.sql
create mode 100644 db/20190220_tong.sql
create mode 100644 db/20190220_zj.sql
create mode 100644 db/20190221_tong.sql
create mode 100644 db/20190222_troy.sql
create mode 100644 db/20190225_zj.sql
create mode 100644 db/20190226_troy.sql
create mode 100644 db/20190226_zj.sql
create mode 100644 db/20190227_troy.sql
create mode 100644 db/20190227_zj.sql
create mode 100644 db/20190307_troy.sql
create mode 100644 db/20190311_zxy_sensitive_word.sql
create mode 100644 db/20190313_tong.sql
create mode 100644 db/20190315_tong.sql
create mode 100644 db/20190318_tong.sql
create mode 100644 db/20190411_tong.sql
create mode 100644 db/20190412_troy.sql
create mode 100644 db/20190423_tong.sql
create mode 100644 db/20190529_troy.sql
create mode 100644 db/20190531_troy.sql
create mode 100644 db/20190610_tong.sql
create mode 100644 db/20190723_ktan.sql
create mode 100644 db/20191111_tong.sql
create mode 100644 db/20191113_mxy.sql
create mode 100644 db/20191114_mxy.sql
create mode 100644 db/20191116_mxy.sql
create mode 100644 db/20200106_tong.sql
create mode 100644 db/20200107_mxy.sql
create mode 100644 db/20200113_tong.sql
create mode 100644 db/20200224_mxy.sql
create mode 100644 db/20200320_mxy.sql
create mode 100644 db/20200326_mxy.sql
create mode 100644 db/20210225_Matt.sql
create mode 100644 db/20210301_Matt.sql
create mode 100644 db/20210419_Matt.sql
create mode 100644 db/diversified.sql
create mode 100644 db/live_scene_TROY.sql
create mode 100644 db/live_scene_live_info_ext-zj-20190218.sql
create mode 100644 db/live_video_transcoding.sql
create mode 100644 db/live_video_transcoding_message.sql
create mode 100644 db/mssql.sql
create mode 100644 db/mysql.sql
create mode 100644 db/oracle.sql
create mode 100644 db/postgresql.sql
create mode 100644 db/scene_troy_190119.sql
create mode 100644 db/video.sql
create mode 100644 db/weiyan_20190119.sql
create mode 100644 db/weiyan_20190215.sql
create mode 100644 db/weiyan_20190220.sql
create mode 100644 db/weiyan_20190222.sql
create mode 100644 db/weiyan_20190227.sql
create mode 100644 db/weiyan_20190305.sql
create mode 100644 db/weiyan_20190308.sql
create mode 100644 db/weiyan_20190312.sql
create mode 100644 db/weiyan_20190320.sql
create mode 100644 db/weiyan_20190328.sql
create mode 100644 db/weiyan_20190423.sql
create mode 100644 db/weiyan_20200410.sql
create mode 100644 db/weiyan_20210115.sql
create mode 100644 pom-war.xml
create mode 100644 pom.xml
create mode 100644 src/main/java/com/platform/PlatformApplication.java
create mode 100644 src/main/java/com/platform/autoconfigure/live/LiveAutoConfiguration.java
create mode 100644 src/main/java/com/platform/autoconfigure/live/LiveProperties.java
create mode 100644 src/main/java/com/platform/common/annotation/SysLog.java
create mode 100644 src/main/java/com/platform/common/aspect/RedisAspect.java
create mode 100644 src/main/java/com/platform/common/aspect/SysLogAspect.java
create mode 100644 src/main/java/com/platform/common/exception/RRException.java
create mode 100644 src/main/java/com/platform/common/exception/RRExceptionHandler.java
create mode 100644 src/main/java/com/platform/common/utils/ConfigConstant.java
create mode 100644 src/main/java/com/platform/common/utils/Constant.java
create mode 100644 src/main/java/com/platform/common/utils/ConverterUtils.java
create mode 100644 src/main/java/com/platform/common/utils/DateUtils.java
create mode 100644 src/main/java/com/platform/common/utils/DesUtils.java
create mode 100644 src/main/java/com/platform/common/utils/FileUtils.java
create mode 100644 src/main/java/com/platform/common/utils/HttpClientHelper.java
create mode 100644 src/main/java/com/platform/common/utils/HttpContextUtils.java
create mode 100644 src/main/java/com/platform/common/utils/IPUtils.java
create mode 100644 src/main/java/com/platform/common/utils/MapUtils.java
create mode 100644 src/main/java/com/platform/common/utils/PageUtils.java
create mode 100644 src/main/java/com/platform/common/utils/Query.java
create mode 100644 src/main/java/com/platform/common/utils/R.java
create mode 100644 src/main/java/com/platform/common/utils/RedisContants.java
create mode 100644 src/main/java/com/platform/common/utils/RedisKeys.java
create mode 100644 src/main/java/com/platform/common/utils/RedisUtils.java
create mode 100644 src/main/java/com/platform/common/utils/SensitiveWordUtil.java
create mode 100644 src/main/java/com/platform/common/utils/ShiroUtils.java
create mode 100644 src/main/java/com/platform/common/utils/SpringContextUtils.java
create mode 100644 src/main/java/com/platform/common/utils/StringKit.java
create mode 100644 src/main/java/com/platform/common/utils/ThirdConstant.java
create mode 100644 src/main/java/com/platform/common/validator/Assert.java
create mode 100644 src/main/java/com/platform/common/validator/ValidatorUtils.java
create mode 100644 src/main/java/com/platform/common/validator/group/AddGroup.java
create mode 100644 src/main/java/com/platform/common/validator/group/AliyunGroup.java
create mode 100644 src/main/java/com/platform/common/validator/group/Group.java
create mode 100644 src/main/java/com/platform/common/validator/group/QcloudGroup.java
create mode 100644 src/main/java/com/platform/common/validator/group/QiniuGroup.java
create mode 100644 src/main/java/com/platform/common/validator/group/UpdateGroup.java
create mode 100644 src/main/java/com/platform/common/xss/HTMLFilter.java
create mode 100644 src/main/java/com/platform/common/xss/SQLFilter.java
create mode 100644 src/main/java/com/platform/common/xss/XssFilter.java
create mode 100644 src/main/java/com/platform/common/xss/XssHttpServletRequestWrapper.java
create mode 100644 src/main/java/com/platform/config/CorsConfig.java
create mode 100644 src/main/java/com/platform/config/FilterConfig.java
create mode 100644 src/main/java/com/platform/config/KaptchaConfig.java
create mode 100644 src/main/java/com/platform/config/LiveNotifyConfig.java
create mode 100644 src/main/java/com/platform/config/MybatisPlusConfig.java
create mode 100644 src/main/java/com/platform/config/MybatisTenantParser.java
create mode 100644 src/main/java/com/platform/config/RedisConfig.java
create mode 100644 src/main/java/com/platform/config/RestTemplateConfig.java
create mode 100644 src/main/java/com/platform/config/ShiroConfig.java
create mode 100644 src/main/java/com/platform/config/SwaggerConfig.java
create mode 100644 src/main/java/com/platform/config/WebSocketConfig.java
create mode 100644 src/main/java/com/platform/datasources/DataSourceNames.java
create mode 100644 src/main/java/com/platform/datasources/DynamicDataSource.java
create mode 100644 src/main/java/com/platform/datasources/DynamicDataSourceConfig.java
create mode 100644 src/main/java/com/platform/datasources/annotation/DataSource.java
create mode 100644 src/main/java/com/platform/datasources/aspect/DataSourceAspect.java
create mode 100644 src/main/java/com/platform/filter/CorsFilter.java
create mode 100644 src/main/java/com/platform/filter/LiveNotifyInterceptor.java
create mode 100644 src/main/java/com/platform/listener/VideoFileApplicationContext.java
create mode 100644 src/main/java/com/platform/listener/VideoFileListener.java
create mode 100644 src/main/java/com/platform/listener/VideoFileMonitor.java
create mode 100644 src/main/java/com/platform/listener/VideoFileProperties.java
create mode 100644 src/main/java/com/platform/modules/app/annotation/AppPermission.java
create mode 100644 src/main/java/com/platform/modules/app/annotation/Login.java
create mode 100644 src/main/java/com/platform/modules/app/annotation/LoginUser.java
create mode 100644 src/main/java/com/platform/modules/app/config/WebMvcConfig.java
create mode 100644 src/main/java/com/platform/modules/app/controller/APPLiveTaskAllocationController.java
create mode 100644 src/main/java/com/platform/modules/app/controller/AppAbstractController.java
create mode 100644 src/main/java/com/platform/modules/app/controller/AppLiveMultimediaController.java
create mode 100644 src/main/java/com/platform/modules/app/controller/AppLiveSceneController.java
create mode 100644 src/main/java/com/platform/modules/app/controller/AppLiveSceneCountController.java
create mode 100644 src/main/java/com/platform/modules/app/controller/AppLiveSceneReportController.java
create mode 100644 src/main/java/com/platform/modules/app/controller/AppLoginController.java
create mode 100644 src/main/java/com/platform/modules/app/controller/AppRegisterController.java
create mode 100644 src/main/java/com/platform/modules/app/controller/AppTestController.java
create mode 100644 src/main/java/com/platform/modules/app/controller/AppUserController.java
create mode 100644 src/main/java/com/platform/modules/app/dao/UserDao.java
create mode 100644 src/main/java/com/platform/modules/app/dao/UserTokenDao.java
create mode 100644 src/main/java/com/platform/modules/app/entity/LocationEntity.java
create mode 100644 src/main/java/com/platform/modules/app/entity/UserEntity.java
create mode 100644 src/main/java/com/platform/modules/app/entity/UserTokenEntity.java
create mode 100644 src/main/java/com/platform/modules/app/form/AppUserInfoForm.java
create mode 100644 src/main/java/com/platform/modules/app/form/LoginForm.java
create mode 100644 src/main/java/com/platform/modules/app/form/RegisterForm.java
create mode 100644 src/main/java/com/platform/modules/app/interceptor/AuthorizationInterceptor.java
create mode 100644 src/main/java/com/platform/modules/app/resolver/LoginUserHandlerMethodArgumentResolver.java
create mode 100644 src/main/java/com/platform/modules/app/service/UserService.java
create mode 100644 src/main/java/com/platform/modules/app/service/UserTokenService.java
create mode 100644 src/main/java/com/platform/modules/app/service/impl/UserServiceImpl.java
create mode 100644 src/main/java/com/platform/modules/app/service/impl/UserTokenServiceImpl.java
create mode 100644 src/main/java/com/platform/modules/app/utils/JwtUtils.java
create mode 100644 src/main/java/com/platform/modules/fl/utils/BitConverter.java
create mode 100644 src/main/java/com/platform/modules/fl/utils/ClientStarter.java
create mode 100644 src/main/java/com/platform/modules/fl/utils/FrontendClientAioHandler.java
create mode 100644 src/main/java/com/platform/modules/fl/utils/SendPacket.java
create mode 100644 src/main/java/com/platform/modules/fl/utils/SocketAioHandler.java
create mode 100644 src/main/java/com/platform/modules/fl/utils/SocketServerStarter.java
create mode 100644 src/main/java/com/platform/modules/fl/utils/TestPacket.java
create mode 100644 src/main/java/com/platform/modules/foreign/controller/ForeignLoginController.java
create mode 100644 src/main/java/com/platform/modules/foreign/controller/LiveForeignController.java
create mode 100644 src/main/java/com/platform/modules/foreign/entity/AiJiNanUserInfoModel.java
create mode 100644 src/main/java/com/platform/modules/foreign/entity/CommentForeignEntity.java
create mode 100644 src/main/java/com/platform/modules/foreign/entity/ReporterInterviewProcess.java
create mode 100644 src/main/java/com/platform/modules/foreign/entity/SceneForeignEntity.java
create mode 100644 src/main/java/com/platform/modules/foreign/entity/SceneStreamForeignEntity.java
create mode 100644 src/main/java/com/platform/modules/foreign/oauth2/ForeignOAuth2Interceptor.java
create mode 100644 src/main/java/com/platform/modules/foreign/service/LiveForeignService.java
create mode 100644 src/main/java/com/platform/modules/foreign/service/impl/LiveForeignServiceImpl.java
create mode 100644 src/main/java/com/platform/modules/foreign/utils/AiJinanUtils.java
create mode 100644 src/main/java/com/platform/modules/job/config/ScheduleConfig.java
create mode 100644 src/main/java/com/platform/modules/job/controller/ScheduleJobController.java
create mode 100644 src/main/java/com/platform/modules/job/controller/ScheduleJobLogController.java
create mode 100644 src/main/java/com/platform/modules/job/dao/ScheduleJobDao.java
create mode 100644 src/main/java/com/platform/modules/job/dao/ScheduleJobLogDao.java
create mode 100644 src/main/java/com/platform/modules/job/entity/ScheduleJobEntity.java
create mode 100644 src/main/java/com/platform/modules/job/entity/ScheduleJobLogEntity.java
create mode 100644 src/main/java/com/platform/modules/job/service/ScheduleJobLogService.java
create mode 100644 src/main/java/com/platform/modules/job/service/ScheduleJobService.java
create mode 100644 src/main/java/com/platform/modules/job/service/impl/ScheduleJobLogServiceImpl.java
create mode 100644 src/main/java/com/platform/modules/job/service/impl/ScheduleJobServiceImpl.java
create mode 100644 src/main/java/com/platform/modules/job/task/TestTask.java
create mode 100644 src/main/java/com/platform/modules/job/utils/ScheduleJob.java
create mode 100644 src/main/java/com/platform/modules/job/utils/ScheduleRunnable.java
create mode 100644 src/main/java/com/platform/modules/job/utils/ScheduleUtils.java
create mode 100644 src/main/java/com/platform/modules/ks/controller/MaterialController.java
create mode 100644 src/main/java/com/platform/modules/ks/dao/PlmVideoDownloadLogDao.java
create mode 100644 src/main/java/com/platform/modules/ks/dao/PlmVideoSearchLogDao.java
create mode 100644 src/main/java/com/platform/modules/ks/entity/PlmVideoDownloadLogEntity.java
create mode 100644 src/main/java/com/platform/modules/ks/entity/PlmVideoSearchLogEntity.java
create mode 100644 src/main/java/com/platform/modules/ks/service/PlmVideoDownloadLogService.java
create mode 100644 src/main/java/com/platform/modules/ks/service/PlmVideoSearchLogService.java
create mode 100644 src/main/java/com/platform/modules/ks/service/PlmVideoService.java
create mode 100644 src/main/java/com/platform/modules/ks/service/impl/PlmVideoDownloadLogServiceImpl.java
create mode 100644 src/main/java/com/platform/modules/ks/service/impl/PlmVideoSearchLogServiceImpl.java
create mode 100644 src/main/java/com/platform/modules/ks/service/impl/PlmVideoServiceImpl.java
create mode 100644 src/main/java/com/platform/modules/live/aspect/BaseTenantAspect.java
create mode 100644 src/main/java/com/platform/modules/live/aspect/CasterTenant.java
create mode 100644 src/main/java/com/platform/modules/live/aspect/CasterTenantAspect.java
create mode 100644 src/main/java/com/platform/modules/live/aspect/ClipsTenant.java
create mode 100644 src/main/java/com/platform/modules/live/aspect/ClipsTenantAspect.java
create mode 100644 src/main/java/com/platform/modules/live/aspect/LiveTenant.java
create mode 100644 src/main/java/com/platform/modules/live/aspect/LiveTenantAspect.java
create mode 100644 src/main/java/com/platform/modules/live/constants/LiveConstants.java
create mode 100644 src/main/java/com/platform/modules/live/constants/MediaConstants.java
create mode 100644 src/main/java/com/platform/modules/live/constants/SceneConstants.java
create mode 100644 src/main/java/com/platform/modules/live/controller/CasterController.java
create mode 100644 src/main/java/com/platform/modules/live/controller/ClipsMultimediaController.java
create mode 100644 src/main/java/com/platform/modules/live/controller/GenerateLiveUrlController.java
create mode 100644 src/main/java/com/platform/modules/live/controller/HomepageController.java
create mode 100644 src/main/java/com/platform/modules/live/controller/LiveCasterController.java
create mode 100644 src/main/java/com/platform/modules/live/controller/LiveChannelController.java
create mode 100644 src/main/java/com/platform/modules/live/controller/LiveCommentController.java
create mode 100644 src/main/java/com/platform/modules/live/controller/LiveMultimediaController.java
create mode 100644 src/main/java/com/platform/modules/live/controller/LiveNotifyController.java
create mode 100644 src/main/java/com/platform/modules/live/controller/LiveReportController.java
create mode 100644 src/main/java/com/platform/modules/live/controller/LiveSceneCheckController.java
create mode 100644 src/main/java/com/platform/modules/live/controller/LiveSceneController.java
create mode 100644 src/main/java/com/platform/modules/live/controller/LiveSceneCountController.java
create mode 100644 src/main/java/com/platform/modules/live/controller/LiveSceneLiveInfoController.java
create mode 100644 src/main/java/com/platform/modules/live/controller/LiveSceneRecordController.java
create mode 100644 src/main/java/com/platform/modules/live/controller/LiveTaskAllocationController.java
create mode 100644 src/main/java/com/platform/modules/live/controller/MediaUploadController.java
create mode 100644 src/main/java/com/platform/modules/live/controller/TranscodingController.java
create mode 100644 src/main/java/com/platform/modules/live/dao/LiveCasterDao.java
create mode 100644 src/main/java/com/platform/modules/live/dao/LiveChannelDao.java
create mode 100644 src/main/java/com/platform/modules/live/dao/LiveCommentDao.java
create mode 100644 src/main/java/com/platform/modules/live/dao/LiveMultimediaDao.java
create mode 100644 src/main/java/com/platform/modules/live/dao/LiveReportDao.java
create mode 100644 src/main/java/com/platform/modules/live/dao/LiveSceneChannelDao.java
create mode 100644 src/main/java/com/platform/modules/live/dao/LiveSceneCheckDao.java
create mode 100644 src/main/java/com/platform/modules/live/dao/LiveSceneCountDao.java
create mode 100644 src/main/java/com/platform/modules/live/dao/LiveSceneDao.java
create mode 100644 src/main/java/com/platform/modules/live/dao/LiveSceneLiveInfoDao.java
create mode 100644 src/main/java/com/platform/modules/live/dao/LiveSceneLiveInfoExtDao.java
create mode 100644 src/main/java/com/platform/modules/live/dao/LiveSceneLiveInfoRecordDao.java
create mode 100644 src/main/java/com/platform/modules/live/dao/LiveSceneRecordDao.java
create mode 100644 src/main/java/com/platform/modules/live/dao/LiveStreamBlackDao.java
create mode 100644 src/main/java/com/platform/modules/live/dao/LiveStreamRecordTaskDao.java
create mode 100644 src/main/java/com/platform/modules/live/dao/LiveStreamStatusDao.java
create mode 100644 src/main/java/com/platform/modules/live/dao/LiveTaskAllocationDao.java
create mode 100644 src/main/java/com/platform/modules/live/dao/LiveTranscodeInfoDao.java
create mode 100644 src/main/java/com/platform/modules/live/dao/LiveTranscodeJobDao.java
create mode 100644 src/main/java/com/platform/modules/live/dao/LiveVideoTranscodingDao.java
create mode 100644 src/main/java/com/platform/modules/live/dao/LiveVideoTranscodingExtDao.java
create mode 100644 src/main/java/com/platform/modules/live/dao/LiveVideoTranscodingMessageDao.java
create mode 100644 src/main/java/com/platform/modules/live/dto/AddCasterVideoResourceDto.java
create mode 100644 src/main/java/com/platform/modules/live/dto/AliRequestDto.java
create mode 100644 src/main/java/com/platform/modules/live/dto/DescribeCasterStreamResponseDto.java
create mode 100644 src/main/java/com/platform/modules/live/dto/DescribeCastersDto.java
create mode 100644 src/main/java/com/platform/modules/live/dto/DescribeCastersResponseDto.java
create mode 100644 src/main/java/com/platform/modules/live/dto/FileUploadCompleteNotifyDto.java
create mode 100644 src/main/java/com/platform/modules/live/dto/GenerateLiveUrlDto.java
create mode 100644 src/main/java/com/platform/modules/live/dto/ListJobDto.java
create mode 100644 src/main/java/com/platform/modules/live/dto/PushStreamNotifyDto.java
create mode 100644 src/main/java/com/platform/modules/live/dto/StreamInfoResponseDto.java
create mode 100644 src/main/java/com/platform/modules/live/dto/SubmitJobsDto.java
create mode 100644 src/main/java/com/platform/modules/live/dto/TranscodeCompleteDto.java
create mode 100644 src/main/java/com/platform/modules/live/dto/TranscodingTaskDto.java
create mode 100644 src/main/java/com/platform/modules/live/entity/LiveCasterEntity.java
create mode 100644 src/main/java/com/platform/modules/live/entity/LiveChannelEntity.java
create mode 100644 src/main/java/com/platform/modules/live/entity/LiveCommentEntity.java
create mode 100644 src/main/java/com/platform/modules/live/entity/LiveMultimediaEntity.java
create mode 100644 src/main/java/com/platform/modules/live/entity/LiveReportEntity.java
create mode 100644 src/main/java/com/platform/modules/live/entity/LiveSceneChannelEntity.java
create mode 100644 src/main/java/com/platform/modules/live/entity/LiveSceneCheckEntity.java
create mode 100644 src/main/java/com/platform/modules/live/entity/LiveSceneCountEntity.java
create mode 100644 src/main/java/com/platform/modules/live/entity/LiveSceneEntity.java
create mode 100644 src/main/java/com/platform/modules/live/entity/LiveSceneLiveInfoEntity.java
create mode 100644 src/main/java/com/platform/modules/live/entity/LiveSceneLiveInfoExtEntity.java
create mode 100644 src/main/java/com/platform/modules/live/entity/LiveSceneLiveInfoRecordEntity.java
create mode 100644 src/main/java/com/platform/modules/live/entity/LiveSceneRecordEntity.java
create mode 100644 src/main/java/com/platform/modules/live/entity/LiveStreamBlackEntity.java
create mode 100644 src/main/java/com/platform/modules/live/entity/LiveStreamRecordTaskEntity.java
create mode 100644 src/main/java/com/platform/modules/live/entity/LiveStreamStatusEntity.java
create mode 100644 src/main/java/com/platform/modules/live/entity/LiveTaskAllocationEntity.java
create mode 100644 src/main/java/com/platform/modules/live/entity/LiveTranscodeInfoEntity.java
create mode 100644 src/main/java/com/platform/modules/live/entity/LiveTranscodeJobEntity.java
create mode 100644 src/main/java/com/platform/modules/live/entity/LiveVideoTranscodingEntity.java
create mode 100644 src/main/java/com/platform/modules/live/entity/LiveVideoTranscodingExtEntity.java
create mode 100644 src/main/java/com/platform/modules/live/entity/LiveVideoTranscodingMessageEntity.java
create mode 100644 src/main/java/com/platform/modules/live/service/CasterService.java
create mode 100644 src/main/java/com/platform/modules/live/service/GenerateLiveUrlService.java
create mode 100644 src/main/java/com/platform/modules/live/service/LiveCasterService.java
create mode 100644 src/main/java/com/platform/modules/live/service/LiveChannelService.java
create mode 100644 src/main/java/com/platform/modules/live/service/LiveCommentService.java
create mode 100644 src/main/java/com/platform/modules/live/service/LiveMultimediaService.java
create mode 100644 src/main/java/com/platform/modules/live/service/LiveMultimediaSyncService.java
create mode 100644 src/main/java/com/platform/modules/live/service/LiveReportService.java
create mode 100644 src/main/java/com/platform/modules/live/service/LiveSceneChannelService.java
create mode 100644 src/main/java/com/platform/modules/live/service/LiveSceneCheckService.java
create mode 100644 src/main/java/com/platform/modules/live/service/LiveSceneCountService.java
create mode 100644 src/main/java/com/platform/modules/live/service/LiveSceneLiveInfoExtService.java
create mode 100644 src/main/java/com/platform/modules/live/service/LiveSceneLiveInfoRecordService.java
create mode 100644 src/main/java/com/platform/modules/live/service/LiveSceneLiveInfoService.java
create mode 100644 src/main/java/com/platform/modules/live/service/LiveSceneRecordService.java
create mode 100644 src/main/java/com/platform/modules/live/service/LiveSceneService.java
create mode 100644 src/main/java/com/platform/modules/live/service/LiveStreamBlackService.java
create mode 100644 src/main/java/com/platform/modules/live/service/LiveStreamRecordTaskService.java
create mode 100644 src/main/java/com/platform/modules/live/service/LiveStreamStatusService.java
create mode 100644 src/main/java/com/platform/modules/live/service/LiveTaskAllocationService.java
create mode 100644 src/main/java/com/platform/modules/live/service/LiveTranscodeInfoService.java
create mode 100644 src/main/java/com/platform/modules/live/service/LiveTranscodeJobService.java
create mode 100644 src/main/java/com/platform/modules/live/service/LiveVideoTranscodingExtService.java
create mode 100644 src/main/java/com/platform/modules/live/service/LiveVideoTranscodingMessageService.java
create mode 100644 src/main/java/com/platform/modules/live/service/LiveVideoTranscodingService.java
create mode 100644 src/main/java/com/platform/modules/live/service/LuceneService.java
create mode 100644 src/main/java/com/platform/modules/live/service/TranscodingTaskService.java
create mode 100644 src/main/java/com/platform/modules/live/service/impl/CasterServiceImpl.java
create mode 100644 src/main/java/com/platform/modules/live/service/impl/GenerateLiveUrlServiceImpl.java
create mode 100644 src/main/java/com/platform/modules/live/service/impl/LiveCasterServiceImpl.java
create mode 100644 src/main/java/com/platform/modules/live/service/impl/LiveChannelServiceImpl.java
create mode 100644 src/main/java/com/platform/modules/live/service/impl/LiveCommentServiceImpl.java
create mode 100644 src/main/java/com/platform/modules/live/service/impl/LiveMultimediaServiceImpl.java
create mode 100644 src/main/java/com/platform/modules/live/service/impl/LiveMultimediaSyncServiceImpl.java
create mode 100644 src/main/java/com/platform/modules/live/service/impl/LiveReportServiceImpl.java
create mode 100644 src/main/java/com/platform/modules/live/service/impl/LiveSceneChannelServiceImpl.java
create mode 100644 src/main/java/com/platform/modules/live/service/impl/LiveSceneCheckServiceImpl.java
create mode 100644 src/main/java/com/platform/modules/live/service/impl/LiveSceneCountServiceImpl.java
create mode 100644 src/main/java/com/platform/modules/live/service/impl/LiveSceneLiveInfoExtServiceImpl.java
create mode 100644 src/main/java/com/platform/modules/live/service/impl/LiveSceneLiveInfoRecordServiceImpl.java
create mode 100644 src/main/java/com/platform/modules/live/service/impl/LiveSceneLiveInfoServiceImpl.java
create mode 100644 src/main/java/com/platform/modules/live/service/impl/LiveSceneRecordServiceImpl.java
create mode 100644 src/main/java/com/platform/modules/live/service/impl/LiveSceneServiceImpl.java
create mode 100644 src/main/java/com/platform/modules/live/service/impl/LiveStreamBlackServiceImpl.java
create mode 100644 src/main/java/com/platform/modules/live/service/impl/LiveStreamRecordTaskServiceImpl.java
create mode 100644 src/main/java/com/platform/modules/live/service/impl/LiveStreamStatusServiceImpl.java
create mode 100644 src/main/java/com/platform/modules/live/service/impl/LiveTaskAllocationServiceImpl.java
create mode 100644 src/main/java/com/platform/modules/live/service/impl/LiveTranscodeInfoServiceImpl.java
create mode 100644 src/main/java/com/platform/modules/live/service/impl/LiveTranscodeJobServiceImpl.java
create mode 100644 src/main/java/com/platform/modules/live/service/impl/LiveVideoTranscodingExtServiceImpl.java
create mode 100644 src/main/java/com/platform/modules/live/service/impl/LiveVideoTranscodingMessageServiceImpl.java
create mode 100644 src/main/java/com/platform/modules/live/service/impl/LiveVideoTranscodingServiceImpl.java
create mode 100644 src/main/java/com/platform/modules/live/service/impl/LuceneServiceImpl.java
create mode 100644 src/main/java/com/platform/modules/live/service/impl/TranscodingTaskServiceImpl.java
create mode 100644 src/main/java/com/platform/modules/live/task/AutoLiveTask.java
create mode 100644 src/main/java/com/platform/modules/live/task/LiveVodRecordDeleteTask.java
create mode 100644 src/main/java/com/platform/modules/live/task/SceneCountToDBTask.java
create mode 100644 src/main/java/com/platform/modules/live/thread/TranscodingTaskThread.java
create mode 100644 src/main/java/com/platform/modules/live/utils/AliMediaUtils.java
create mode 100644 src/main/java/com/platform/modules/live/utils/AliRequestUtils.java
create mode 100644 src/main/java/com/platform/modules/live/utils/ArraysCustomeUtils.java
create mode 100644 src/main/java/com/platform/modules/live/utils/CalculateSceneCountUtils.java
create mode 100644 src/main/java/com/platform/modules/live/utils/CalculateTimeDifference.java
create mode 100644 src/main/java/com/platform/modules/live/utils/CommentSourceEnum.java
create mode 100644 src/main/java/com/platform/modules/live/utils/ForeignProperties.java
create mode 100644 src/main/java/com/platform/modules/live/utils/LuceneTypeEnum.java
create mode 100644 src/main/java/com/platform/modules/live/utils/PlatformTenantProperties.java
create mode 100644 src/main/java/com/platform/modules/live/utils/QrCodeUtils.java
create mode 100644 src/main/java/com/platform/modules/live/utils/RSAUtils.java
create mode 100644 src/main/java/com/platform/modules/live/utils/ReportReleaseEnum.java
create mode 100644 src/main/java/com/platform/modules/live/utils/ReportTypeEnum.java
create mode 100644 src/main/java/com/platform/modules/live/utils/SceneUUIDGenUtils.java
create mode 100644 src/main/java/com/platform/modules/live/utils/TopEnum.java
create mode 100644 src/main/java/com/platform/modules/live/vo/AppSceneEntityVo.java
create mode 100644 src/main/java/com/platform/modules/live/vo/CasterComponentVo.java
create mode 100644 src/main/java/com/platform/modules/live/vo/CasterConfigVo.java
create mode 100644 src/main/java/com/platform/modules/live/vo/CasterLayoutVo.java
create mode 100644 src/main/java/com/platform/modules/live/vo/CasterSceneAudioVo.java
create mode 100644 src/main/java/com/platform/modules/live/vo/CasterSceneConfigVo.java
create mode 100644 src/main/java/com/platform/modules/live/vo/CasterStreamVo.java
create mode 100644 src/main/java/com/platform/modules/live/vo/GenerateLiveUrlVo.java
create mode 100644 src/main/java/com/platform/modules/live/vo/LiveCasterSubVo.java
create mode 100644 src/main/java/com/platform/modules/live/vo/LiveCommentAppVo.java
create mode 100644 src/main/java/com/platform/modules/live/vo/LiveInfoVo.java
create mode 100644 src/main/java/com/platform/modules/live/vo/LiveReportVo.java
create mode 100644 src/main/java/com/platform/modules/live/vo/LiveSceneRecordVo.java
create mode 100644 src/main/java/com/platform/modules/live/vo/LiveTaskAllocationListVo.java
create mode 100644 src/main/java/com/platform/modules/live/vo/LiveTaskAllocationVo.java
create mode 100644 src/main/java/com/platform/modules/live/vo/ReporterVo.java
create mode 100644 src/main/java/com/platform/modules/live/vo/SceneCommentCountVo.java
create mode 100644 src/main/java/com/platform/modules/live/vo/SceneCountVo.java
create mode 100644 src/main/java/com/platform/modules/live/vo/SceneEntityVo.java
create mode 100644 src/main/java/com/platform/modules/live/vo/SceneSortEntityVo.java
create mode 100644 src/main/java/com/platform/modules/oss/cloud/AliyunCloudStorageService.java
create mode 100644 src/main/java/com/platform/modules/oss/cloud/CloudStorageConfig.java
create mode 100644 src/main/java/com/platform/modules/oss/cloud/CloudStorageService.java
create mode 100644 src/main/java/com/platform/modules/oss/cloud/OSSFactory.java
create mode 100644 src/main/java/com/platform/modules/oss/cloud/QcloudCloudStorageService.java
create mode 100644 src/main/java/com/platform/modules/oss/cloud/QiniuCloudStorageService.java
create mode 100644 src/main/java/com/platform/modules/oss/controller/SysOssController.java
create mode 100644 src/main/java/com/platform/modules/oss/dao/SysOssDao.java
create mode 100644 src/main/java/com/platform/modules/oss/entity/SysOssEntity.java
create mode 100644 src/main/java/com/platform/modules/oss/service/SysOssService.java
create mode 100644 src/main/java/com/platform/modules/oss/service/impl/SysOssServiceImpl.java
create mode 100644 src/main/java/com/platform/modules/plm/controller/PlmMaterialController.java
create mode 100644 src/main/java/com/platform/modules/plm/controller/PlmVideoNewsController.java
create mode 100644 src/main/java/com/platform/modules/plm/dao/PlmMaterialDao.java
create mode 100644 src/main/java/com/platform/modules/plm/dao/PlmVideoNewsDao.java
create mode 100644 src/main/java/com/platform/modules/plm/entity/PlmChunkEntity.java
create mode 100644 src/main/java/com/platform/modules/plm/entity/PlmMaterialEntity.java
create mode 100644 src/main/java/com/platform/modules/plm/entity/PlmVideoNewsEntity.java
create mode 100644 src/main/java/com/platform/modules/plm/service/PlmMaterialService.java
create mode 100644 src/main/java/com/platform/modules/plm/service/PlmVideoNewsService.java
create mode 100644 src/main/java/com/platform/modules/plm/service/impl/PlmMaterialServiceImpl.java
create mode 100644 src/main/java/com/platform/modules/plm/service/impl/PlmVideoNewsServiceImpl.java
create mode 100644 src/main/java/com/platform/modules/plm/thread/MediaDownloadThread.java
create mode 100644 src/main/java/com/platform/modules/plm/thread/QkSynthesisStopThread.java
create mode 100644 src/main/java/com/platform/modules/plm/util/AudioTypeEnum.java
create mode 100644 src/main/java/com/platform/modules/plm/util/DecimalFormatUtils.java
create mode 100644 src/main/java/com/platform/modules/plm/util/FileCalculateUtils.java
create mode 100644 src/main/java/com/platform/modules/plm/util/FileSizeUnitEnum.java
create mode 100644 src/main/java/com/platform/modules/plm/util/ImageTypeEnum.java
create mode 100644 src/main/java/com/platform/modules/plm/util/MateriaFileProperties.java
create mode 100644 src/main/java/com/platform/modules/plm/util/MaterialUtils.java
create mode 100644 src/main/java/com/platform/modules/plm/util/VideoTypeEnum.java
create mode 100644 src/main/java/com/platform/modules/qk/controller/AliyunClipsController.java
create mode 100644 src/main/java/com/platform/modules/qk/controller/CloudClipsController.java
create mode 100644 src/main/java/com/platform/modules/qk/dao/EditProjectDao.java
create mode 100644 src/main/java/com/platform/modules/qk/dao/EditProjectMaterialDao.java
create mode 100644 src/main/java/com/platform/modules/qk/dao/EditProjectWatermarkDao.java
create mode 100644 src/main/java/com/platform/modules/qk/dto/BaseDTO.java
create mode 100644 src/main/java/com/platform/modules/qk/dto/EditingProject.java
create mode 100644 src/main/java/com/platform/modules/qk/dto/EditingProjectDTO.java
create mode 100644 src/main/java/com/platform/modules/qk/dto/Effects.java
create mode 100644 src/main/java/com/platform/modules/qk/dto/FontFace.java
create mode 100644 src/main/java/com/platform/modules/qk/dto/Timeline.java
create mode 100644 src/main/java/com/platform/modules/qk/dto/TimelineDTO.java
create mode 100644 src/main/java/com/platform/modules/qk/dto/VideoTrack.java
create mode 100644 src/main/java/com/platform/modules/qk/dto/VideoTrackClip.java
create mode 100644 src/main/java/com/platform/modules/qk/entity/EditProjectEntity.java
create mode 100644 src/main/java/com/platform/modules/qk/entity/EditProjectMaterialEntity.java
create mode 100644 src/main/java/com/platform/modules/qk/entity/EditProjectWatermarkEntity.java
create mode 100644 src/main/java/com/platform/modules/qk/interceptor/CloudClipsAuthorizationInterceptor.java
create mode 100644 src/main/java/com/platform/modules/qk/service/CloudClipsService.java
create mode 100644 src/main/java/com/platform/modules/qk/service/VideoService.java
create mode 100644 src/main/java/com/platform/modules/qk/service/impl/CloudClipsServiceImpl.java
create mode 100644 src/main/java/com/platform/modules/qk/service/impl/VideoServiceImpl.java
create mode 100644 src/main/java/com/platform/modules/qk/utils/CloulClipsJwtUtils.java
create mode 100644 src/main/java/com/platform/modules/scene/controller/SceneController.java
create mode 100644 src/main/java/com/platform/modules/scene/service/SceneService.java
create mode 100644 src/main/java/com/platform/modules/scene/service/impl/SceneServiceImpl.java
create mode 100644 src/main/java/com/platform/modules/sensitiveword/controller/SensitiveStopWordController.java
create mode 100644 src/main/java/com/platform/modules/sensitiveword/controller/SensitiveWordController.java
create mode 100644 src/main/java/com/platform/modules/sensitiveword/dao/SensitiveStopWordDao.java
create mode 100644 src/main/java/com/platform/modules/sensitiveword/dao/SensitiveWordDao.java
create mode 100644 src/main/java/com/platform/modules/sensitiveword/entity/SensitiveStopWordEntity.java
create mode 100644 src/main/java/com/platform/modules/sensitiveword/entity/SensitiveWordEntity.java
create mode 100644 src/main/java/com/platform/modules/sensitiveword/service/SensitiveStopWordService.java
create mode 100644 src/main/java/com/platform/modules/sensitiveword/service/SensitiveWordService.java
create mode 100644 src/main/java/com/platform/modules/sensitiveword/service/impl/SensitiveStopWordServiceImpl.java
create mode 100644 src/main/java/com/platform/modules/sensitiveword/service/impl/SensitiveWordServiceImpl.java
create mode 100644 src/main/java/com/platform/modules/sys/controller/AbstractController.java
create mode 100644 src/main/java/com/platform/modules/sys/controller/SysConfigController.java
create mode 100644 src/main/java/com/platform/modules/sys/controller/SysLogController.java
create mode 100644 src/main/java/com/platform/modules/sys/controller/SysLoginController.java
create mode 100644 src/main/java/com/platform/modules/sys/controller/SysMenuController.java
create mode 100644 src/main/java/com/platform/modules/sys/controller/SysRoleController.java
create mode 100644 src/main/java/com/platform/modules/sys/controller/SysTenantController.java
create mode 100644 src/main/java/com/platform/modules/sys/controller/SysUserController.java
create mode 100644 src/main/java/com/platform/modules/sys/dao/SysCaptchaDao.java
create mode 100644 src/main/java/com/platform/modules/sys/dao/SysConfigDao.java
create mode 100644 src/main/java/com/platform/modules/sys/dao/SysLogDao.java
create mode 100644 src/main/java/com/platform/modules/sys/dao/SysMenuDao.java
create mode 100644 src/main/java/com/platform/modules/sys/dao/SysRoleDao.java
create mode 100644 src/main/java/com/platform/modules/sys/dao/SysRoleMenuDao.java
create mode 100644 src/main/java/com/platform/modules/sys/dao/SysSchemaDao.java
create mode 100644 src/main/java/com/platform/modules/sys/dao/SysTenantDao.java
create mode 100644 src/main/java/com/platform/modules/sys/dao/SysUserDao.java
create mode 100644 src/main/java/com/platform/modules/sys/dao/SysUserRoleDao.java
create mode 100644 src/main/java/com/platform/modules/sys/dao/SysUserTokenDao.java
create mode 100644 src/main/java/com/platform/modules/sys/dto/SaveTenantDTO.java
create mode 100644 src/main/java/com/platform/modules/sys/dto/SaveUserDTO.java
create mode 100644 src/main/java/com/platform/modules/sys/entity/SysCaptchaEntity.java
create mode 100644 src/main/java/com/platform/modules/sys/entity/SysConfigEntity.java
create mode 100644 src/main/java/com/platform/modules/sys/entity/SysLogEntity.java
create mode 100644 src/main/java/com/platform/modules/sys/entity/SysMenuEntity.java
create mode 100644 src/main/java/com/platform/modules/sys/entity/SysRoleEntity.java
create mode 100644 src/main/java/com/platform/modules/sys/entity/SysRoleMenuEntity.java
create mode 100644 src/main/java/com/platform/modules/sys/entity/SysTenantEntity.java
create mode 100644 src/main/java/com/platform/modules/sys/entity/SysUserEntity.java
create mode 100644 src/main/java/com/platform/modules/sys/entity/SysUserRoleEntity.java
create mode 100644 src/main/java/com/platform/modules/sys/entity/SysUserTokenEntity.java
create mode 100644 src/main/java/com/platform/modules/sys/form/PasswordForm.java
create mode 100644 src/main/java/com/platform/modules/sys/form/SysLoginForm.java
create mode 100644 src/main/java/com/platform/modules/sys/oauth2/OAuth2Filter.java
create mode 100644 src/main/java/com/platform/modules/sys/oauth2/OAuth2Realm.java
create mode 100644 src/main/java/com/platform/modules/sys/oauth2/OAuth2Token.java
create mode 100644 src/main/java/com/platform/modules/sys/oauth2/TokenGenerator.java
create mode 100644 src/main/java/com/platform/modules/sys/redis/SysConfigRedis.java
create mode 100644 src/main/java/com/platform/modules/sys/service/ShiroService.java
create mode 100644 src/main/java/com/platform/modules/sys/service/SysCaptchaService.java
create mode 100644 src/main/java/com/platform/modules/sys/service/SysConfigService.java
create mode 100644 src/main/java/com/platform/modules/sys/service/SysLogService.java
create mode 100644 src/main/java/com/platform/modules/sys/service/SysMenuService.java
create mode 100644 src/main/java/com/platform/modules/sys/service/SysRoleMenuService.java
create mode 100644 src/main/java/com/platform/modules/sys/service/SysRoleService.java
create mode 100644 src/main/java/com/platform/modules/sys/service/SysSchemaService.java
create mode 100644 src/main/java/com/platform/modules/sys/service/SysTenantService.java
create mode 100644 src/main/java/com/platform/modules/sys/service/SysUserRoleService.java
create mode 100644 src/main/java/com/platform/modules/sys/service/SysUserService.java
create mode 100644 src/main/java/com/platform/modules/sys/service/SysUserTokenService.java
create mode 100644 src/main/java/com/platform/modules/sys/service/impl/ShiroServiceImpl.java
create mode 100644 src/main/java/com/platform/modules/sys/service/impl/SysCaptchaServiceImpl.java
create mode 100644 src/main/java/com/platform/modules/sys/service/impl/SysConfigServiceImpl.java
create mode 100644 src/main/java/com/platform/modules/sys/service/impl/SysLogServiceImpl.java
create mode 100644 src/main/java/com/platform/modules/sys/service/impl/SysMenuServiceImpl.java
create mode 100644 src/main/java/com/platform/modules/sys/service/impl/SysRoleMenuServiceImpl.java
create mode 100644 src/main/java/com/platform/modules/sys/service/impl/SysRoleServiceImpl.java
create mode 100644 src/main/java/com/platform/modules/sys/service/impl/SysSchemaServiceImpl.java
create mode 100644 src/main/java/com/platform/modules/sys/service/impl/SysTenantServiceImpl.java
create mode 100644 src/main/java/com/platform/modules/sys/service/impl/SysUserRoleServiceImpl.java
create mode 100644 src/main/java/com/platform/modules/sys/service/impl/SysUserServiceImpl.java
create mode 100644 src/main/java/com/platform/modules/sys/service/impl/SysUserTokenServiceImpl.java
create mode 100644 src/main/java/com/platform/modules/sys/vo/SysUserEntityVo.java
create mode 100644 src/main/java/com/platform/modules/sys/vo/SysUserInfoVo.java
create mode 100644 src/main/java/com/platform/modules/transcode/controller/TranscodeController.java
create mode 100644 src/main/java/com/platform/modules/transcode/service/TranscodeService.java
create mode 100644 src/main/java/com/platform/modules/transcode/service/impl/TranscodeServiceImpl.java
create mode 100644 src/main/java/com/platform/modules/transcode/vo/TranscodeInfoVo.java
create mode 100644 src/main/java/com/platform/modules/trtc/config/TrtcWebSocketConfig.java
create mode 100644 src/main/java/com/platform/modules/trtc/controller/TrtcController.java
create mode 100644 src/main/java/com/platform/modules/trtc/service/TrtcService.java
create mode 100644 src/main/java/com/platform/modules/trtc/service/impl/TrtcServiceImpl.java
create mode 100644 src/main/java/com/platform/modules/trtc/socket/SocketMsg.java
create mode 100644 src/main/java/com/platform/modules/trtc/socket/WebSocket.java
create mode 100644 src/main/java/com/platform/modules/trtc/socket/WebSocket2.java
create mode 100644 src/main/java/com/platform/modules/video/Test.java
create mode 100644 src/main/java/com/platform/modules/video/constants/FileSizeUnitEnum.java
create mode 100644 src/main/java/com/platform/modules/video/constants/VideoTypeEnum.java
create mode 100644 src/main/java/com/platform/modules/video/controller/VideoController.java
create mode 100644 src/main/java/com/platform/modules/video/dao/VideoDao.java
create mode 100644 src/main/java/com/platform/modules/video/entity/VideoEntity.java
create mode 100644 src/main/java/com/platform/modules/video/service/RealPathResolver.java
create mode 100644 src/main/java/com/platform/modules/video/service/VideoService.java
create mode 100644 src/main/java/com/platform/modules/video/service/impl/ServletContextRealPathResolver.java
create mode 100644 src/main/java/com/platform/modules/video/service/impl/VideoServiceImpl.java
create mode 100644 src/main/java/com/platform/modules/video/util/DecimalFormatUtils.java
create mode 100644 src/main/java/com/platform/modules/video/util/FileSizeCalculateUtils.java
create mode 100644 src/main/java/com/platform/modules/video/util/VideoUtils.java
create mode 100644 src/main/java/com/platform/modules/weixin/kit/HttpKit.java
create mode 100644 src/main/java/com/platform/modules/weixin/kit/JsSignKit.java
create mode 100644 src/main/java/com/platform/modules/weixin/kit/JsSignature.java
create mode 100644 src/main/java/com/platform/modules/weixin/kit/ParaMap.java
create mode 100644 src/main/java/com/platform/modules/weixin/kit/StringKit.java
create mode 100644 src/main/java/com/platform/modules/weixin/token/AccessToken.java
create mode 100644 src/main/java/com/platform/modules/weixin/token/AccessTokenApi.java
create mode 100644 src/main/java/com/platform/modules/weixin/token/JsTicket.java
create mode 100644 src/main/java/com/platform/modules/weixin/token/JsTicketApi.java
create mode 100644 src/main/java/com/platform/modules/weixin/utils/ReturnCode.java
create mode 100644 src/main/java/com/platform/plugs/common/rpc/CommonRpc.java
create mode 100644 src/main/java/com/platform/plugs/common/rpc/DefaultRequestParams.java
create mode 100644 src/main/java/com/platform/plugs/common/rpc/ErrorCode.java
create mode 100644 src/main/java/com/platform/plugs/common/rpc/ErrorCodeMsg.java
create mode 100644 src/main/java/com/platform/plugs/common/rpc/Profile.java
create mode 100644 src/main/java/com/platform/plugs/common/rpc/RequestWrapper.java
create mode 100644 src/main/java/com/platform/plugs/common/rpc/ResponseResult.java
create mode 100644 src/main/java/com/platform/plugs/common/rpc/ResponseWrapper.java
create mode 100644 src/main/java/com/platform/plugs/common/rpc/RpcResponse.java
create mode 100644 src/main/java/com/platform/plugs/live/LiveClient.java
create mode 100644 src/main/java/com/platform/plugs/live/annotation/RpcEntity.java
create mode 100644 src/main/java/com/platform/plugs/live/annotation/RpcField.java
create mode 100644 src/main/java/com/platform/plugs/live/annotation/RpcParam.java
create mode 100644 src/main/java/com/platform/plugs/live/config/LiveAudioConfig.java
create mode 100644 src/main/java/com/platform/plugs/live/config/LiveCasterConfig.java
create mode 100644 src/main/java/com/platform/plugs/live/config/LivePullStreamConfig.java
create mode 100644 src/main/java/com/platform/plugs/live/config/LiveRecordConfig.java
create mode 100644 src/main/java/com/platform/plugs/live/config/LiveStreamConfig.java
create mode 100644 src/main/java/com/platform/plugs/live/config/LiveTransCodeConfig.java
create mode 100644 src/main/java/com/platform/plugs/live/config/LiveUploadToVoDConfig.java
create mode 100644 src/main/java/com/platform/plugs/live/config/LiveWeixinConfig.java
create mode 100644 src/main/java/com/platform/plugs/live/enums/PushStreamStatus.java
create mode 100644 src/main/java/com/platform/plugs/live/handlers/ILiveAudioHandler.java
create mode 100644 src/main/java/com/platform/plugs/live/handlers/ILiveCasterHandler.java
create mode 100644 src/main/java/com/platform/plugs/live/handlers/ILivePullStreamHandler.java
create mode 100644 src/main/java/com/platform/plugs/live/handlers/ILiveRecordHandler.java
create mode 100644 src/main/java/com/platform/plugs/live/handlers/ILiveStreamHandler.java
create mode 100644 src/main/java/com/platform/plugs/live/handlers/ILiveTransCodeHandler.java
create mode 100644 src/main/java/com/platform/plugs/live/handlers/ILiveUploadToVoDHandler.java
create mode 100644 src/main/java/com/platform/plugs/live/handlers/LiveAudioHandler.java
create mode 100644 src/main/java/com/platform/plugs/live/handlers/LiveCasterHandler.java
create mode 100644 src/main/java/com/platform/plugs/live/handlers/LiveHandler.java
create mode 100644 src/main/java/com/platform/plugs/live/handlers/LivePullStreamHandler.java
create mode 100644 src/main/java/com/platform/plugs/live/handlers/LiveRecordHandler.java
create mode 100644 src/main/java/com/platform/plugs/live/handlers/LiveStreamHandler.java
create mode 100644 src/main/java/com/platform/plugs/live/handlers/LiveTransCodeHandler.java
create mode 100644 src/main/java/com/platform/plugs/live/handlers/LiveUploadToVoDHandler.java
create mode 100644 src/main/java/com/platform/plugs/live/proxy/HandlerProxy.java
create mode 100644 src/main/java/com/platform/plugs/live/responseEntity/AudioLayer.java
create mode 100644 src/main/java/com/platform/plugs/live/responseEntity/Caster.java
create mode 100644 src/main/java/com/platform/plugs/live/responseEntity/CasterComponent.java
create mode 100644 src/main/java/com/platform/plugs/live/responseEntity/CasterConfig.java
create mode 100644 src/main/java/com/platform/plugs/live/responseEntity/CasterLayout.java
create mode 100644 src/main/java/com/platform/plugs/live/responseEntity/CasterSceneAudio.java
create mode 100644 src/main/java/com/platform/plugs/live/responseEntity/CasterScenes.java
create mode 100644 src/main/java/com/platform/plugs/live/responseEntity/CasterStream.java
create mode 100644 src/main/java/com/platform/plugs/live/responseEntity/CasterVideoResource.java
create mode 100644 src/main/java/com/platform/plugs/live/responseEntity/Channel.java
create mode 100644 src/main/java/com/platform/plugs/live/responseEntity/DescribeCasterChannels.java
create mode 100644 src/main/java/com/platform/plugs/live/responseEntity/LiveRecordVodConfig.java
create mode 100644 src/main/java/com/platform/plugs/live/responseEntity/LiveStreamHistoryUserNum.java
create mode 100644 src/main/java/com/platform/plugs/live/responseEntity/LiveStreamOnline.java
create mode 100644 src/main/java/com/platform/plugs/live/responseEntity/LiveStreams.java
create mode 100644 src/main/java/com/platform/plugs/live/responseEntity/StartCaster.java
create mode 100644 src/main/java/com/platform/plugs/live/responseEntity/StreamInfo.java
create mode 100644 src/main/java/com/platform/plugs/live/responseEntity/TranscodeInfo.java
create mode 100644 src/main/java/com/platform/plugs/live/responseEntity/TranscodeJob.java
create mode 100644 src/main/java/com/platform/plugs/live/responseEntity/TranscodeTask.java
create mode 100644 src/main/java/com/platform/plugs/live/responseEntity/VideoLayer.java
create mode 100644 src/main/java/com/platform/plugs/live/rpcEntity/AddLiveRecordNotifyConfigEntity.java
create mode 100644 src/main/java/com/platform/plugs/live/rpcEntity/DeleteLiveAppRecordConfigEntity.java
create mode 100644 src/main/java/com/platform/plugs/live/rpcEntity/DescribeLiveStreamsOnlineListEntity.java
create mode 100644 src/main/java/com/platform/plugs/live/rpcEntity/LiveUploadVideo.java
create mode 100644 src/main/java/com/platform/plugs/live/rpcEntity/RealTimeRecordCommandEntity.java
create mode 100644 src/main/java/com/platform/plugs/live/utils/StreamAddressUtils.java
create mode 100644 src/main/java/com/platform/plugs/live/utils/UTCDateFormat.java
create mode 100644 src/main/resources/application-dev.yml
create mode 100644 src/main/resources/application-live-dev.yml
create mode 100644 src/main/resources/application-live-prod.yml
create mode 100644 src/main/resources/application-prod.yml
create mode 100644 src/main/resources/application-test.yml
create mode 100644 src/main/resources/application.yml
create mode 100644 src/main/resources/banner2.txt
create mode 100644 src/main/resources/logback-spring.xml
create mode 100644 src/main/resources/mapper/app/UserDao.xml
create mode 100644 src/main/resources/mapper/app/UserTokenDao.xml
create mode 100644 src/main/resources/mapper/job/ScheduleJobDao.xml
create mode 100644 src/main/resources/mapper/job/ScheduleJobLogDao.xml
create mode 100644 src/main/resources/mapper/ks/PlmVideoDownloadLogDao.xml
create mode 100644 src/main/resources/mapper/ks/PlmVideoSearchLogDao.xml
create mode 100644 src/main/resources/mapper/live/LiveCasterDao.xml
create mode 100644 src/main/resources/mapper/live/LiveChannelDao.xml
create mode 100644 src/main/resources/mapper/live/LiveCommentDao.xml
create mode 100644 src/main/resources/mapper/live/LiveMultimediaDao.xml
create mode 100644 src/main/resources/mapper/live/LiveReportDao.xml
create mode 100644 src/main/resources/mapper/live/LiveSceneChannelDao.xml
create mode 100644 src/main/resources/mapper/live/LiveSceneCheckDao.xml
create mode 100644 src/main/resources/mapper/live/LiveSceneCountDao.xml
create mode 100644 src/main/resources/mapper/live/LiveSceneDao.xml
create mode 100644 src/main/resources/mapper/live/LiveSceneLiveInfoDao.xml
create mode 100644 src/main/resources/mapper/live/LiveSceneLiveInfoExtDao.xml
create mode 100644 src/main/resources/mapper/live/LiveSceneLiveInfoRecordDao.xml
create mode 100644 src/main/resources/mapper/live/LiveSceneRecordDao.xml
create mode 100644 src/main/resources/mapper/live/LiveStreamBlackDao.xml
create mode 100644 src/main/resources/mapper/live/LiveStreamRecordTaskDao.xml
create mode 100644 src/main/resources/mapper/live/LiveStreamStatusDao.xml
create mode 100644 src/main/resources/mapper/live/LiveTaskAllocationDao.xml
create mode 100644 src/main/resources/mapper/live/LiveTranscodeInfoDao.xml
create mode 100644 src/main/resources/mapper/live/LiveTranscodeJobDao.xml
create mode 100644 src/main/resources/mapper/live/LiveVideoTranscodingDao.xml
create mode 100644 src/main/resources/mapper/live/LiveVideoTranscodingExtDao.xml
create mode 100644 src/main/resources/mapper/live/LiveVideoTranscodingMessageDao.xml
create mode 100644 src/main/resources/mapper/oss/SysOssDao.xml
create mode 100644 src/main/resources/mapper/plm/PlmMaterialDao.xml
create mode 100644 src/main/resources/mapper/plm/PlmVideoNewsDao.xml
create mode 100644 src/main/resources/mapper/qk/EditProjectDao.xml
create mode 100644 src/main/resources/mapper/qk/EditProjectMaterialDao.xml
create mode 100644 src/main/resources/mapper/qk/EditProjectWatermarkDao.xml
create mode 100644 src/main/resources/mapper/sensitiveword/SensitiveStopWordDao.xml
create mode 100644 src/main/resources/mapper/sensitiveword/SensitiveWordDao.xml
create mode 100644 src/main/resources/mapper/sys/SysConfigDao.xml
create mode 100644 src/main/resources/mapper/sys/SysLogDao.xml
create mode 100644 src/main/resources/mapper/sys/SysMenuDao.xml
create mode 100644 src/main/resources/mapper/sys/SysRoleDao.xml
create mode 100644 src/main/resources/mapper/sys/SysRoleMenuDao.xml
create mode 100644 src/main/resources/mapper/sys/SysTenantDao.xml
create mode 100644 src/main/resources/mapper/sys/SysUserDao.xml
create mode 100644 src/main/resources/mapper/sys/SysUserRoleDao.xml
create mode 100644 src/main/resources/mapper/sys/SysUserTokenDao.xml
create mode 100644 src/main/resources/mapper/video/VideoDao.xml
create mode 100644 src/main/resources/static/favicon.ico
create mode 100644 src/main/resources/static/socketjs/index.html
create mode 100644 src/main/resources/static/swagger/css/print.css
create mode 100644 src/main/resources/static/swagger/css/reset.css
create mode 100644 src/main/resources/static/swagger/css/screen.css
create mode 100644 src/main/resources/static/swagger/css/style.css
create mode 100644 src/main/resources/static/swagger/css/typography.css
create mode 100644 src/main/resources/static/swagger/favicon-16x16.png
create mode 100644 src/main/resources/static/swagger/favicon-32x32.png
create mode 100644 src/main/resources/static/swagger/fonts/DroidSans-Bold.ttf
create mode 100644 src/main/resources/static/swagger/fonts/DroidSans.ttf
create mode 100644 src/main/resources/static/swagger/images/collapse.gif
create mode 100644 src/main/resources/static/swagger/images/expand.gif
create mode 100644 src/main/resources/static/swagger/images/explorer_icons.png
create mode 100644 src/main/resources/static/swagger/images/favicon-16x16.png
create mode 100644 src/main/resources/static/swagger/images/favicon-32x32.png
create mode 100644 src/main/resources/static/swagger/images/favicon.ico
create mode 100644 src/main/resources/static/swagger/images/logo_small.png
create mode 100644 src/main/resources/static/swagger/images/pet_store_api.png
create mode 100644 src/main/resources/static/swagger/images/throbber.gif
create mode 100644 src/main/resources/static/swagger/images/wordnik_api.png
create mode 100644 src/main/resources/static/swagger/index.html
create mode 100644 src/main/resources/static/swagger/index.yaml
create mode 100644 src/main/resources/static/swagger/lang/en.js
create mode 100644 src/main/resources/static/swagger/lang/translator.js
create mode 100644 src/main/resources/static/swagger/lang/zh-cn.js
create mode 100644 src/main/resources/static/swagger/lib/backbone-min.js
create mode 100644 src/main/resources/static/swagger/lib/es5-shim.js
create mode 100644 src/main/resources/static/swagger/lib/handlebars-4.0.5.js
create mode 100644 src/main/resources/static/swagger/lib/highlight.9.1.0.pack.js
create mode 100644 src/main/resources/static/swagger/lib/highlight.9.1.0.pack_extended.js
create mode 100644 src/main/resources/static/swagger/lib/jquery-1.8.0.min.js
create mode 100644 src/main/resources/static/swagger/lib/jquery.ba-bbq.min.js
create mode 100644 src/main/resources/static/swagger/lib/jquery.slideto.min.js
create mode 100644 src/main/resources/static/swagger/lib/jquery.wiggle.min.js
create mode 100644 src/main/resources/static/swagger/lib/js-yaml.min.js
create mode 100644 src/main/resources/static/swagger/lib/jsoneditor.min.js
create mode 100644 src/main/resources/static/swagger/lib/lodash.min.js
create mode 100644 src/main/resources/static/swagger/lib/marked.js
create mode 100644 src/main/resources/static/swagger/lib/object-assign-pollyfill.js
create mode 100644 src/main/resources/static/swagger/lib/sanitize-html.min.js
create mode 100644 src/main/resources/static/swagger/lib/swagger-oauth.js
create mode 100644 src/main/resources/static/swagger/o2c.html
create mode 100644 src/main/resources/static/swagger/oauth2-redirect.html
create mode 100644 src/main/resources/static/swagger/swagger-ui-bundle.js
create mode 100644 src/main/resources/static/swagger/swagger-ui-bundle.js.map
create mode 100644 src/main/resources/static/swagger/swagger-ui-standalone-preset.js
create mode 100644 src/main/resources/static/swagger/swagger-ui-standalone-preset.js.map
create mode 100644 src/main/resources/static/swagger/swagger-ui.css
create mode 100644 src/main/resources/static/swagger/swagger-ui.css.map
create mode 100644 src/main/resources/static/swagger/swagger-ui.js
create mode 100644 src/main/resources/static/swagger/swagger-ui.js.map
create mode 100644 src/main/resources/static/swagger/swagger-ui.min.js
create mode 100644 src/test/java/com/platform/DynamicDataSourceTest.java
create mode 100644 src/test/java/com/platform/JwtTest.java
create mode 100644 src/test/java/com/platform/RedisTest.java
create mode 100644 src/test/java/com/platform/service/DataSourceTestService.java
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..dd851b6
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,25 @@
+# Compiled class file
+*.class
+target
+
+# Log file
+*.log
+
+# BlueJ files
+*.ctxt
+
+# Mobile Tools for Java (J2ME)
+.mtj.tmp/
+
+# Package Files #
+*.jar
+*.war
+*.ear
+*.zip
+*.tar.gz
+*.rar
+*.iml
+.idea
+
+# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
+hs_err_pid*
diff --git a/db/20190121_weiyan.sql b/db/20190121_weiyan.sql
new file mode 100644
index 0000000..1266893
--- /dev/null
+++ b/db/20190121_weiyan.sql
@@ -0,0 +1,2 @@
+ALTER TABLE `sys_user`
+ADD COLUMN `realname` varchar(50) NULL DEFAULT NULL COMMENT '真实姓名' AFTER `user_id`;
\ No newline at end of file
diff --git a/db/20190218_troy.sql b/db/20190218_troy.sql
new file mode 100644
index 0000000..2718fd3
--- /dev/null
+++ b/db/20190218_troy.sql
@@ -0,0 +1,2 @@
+ALTER TABLE `live_report`
+ADD COLUMN `report_date` datetime NULL COMMENT '报道时间';
\ No newline at end of file
diff --git a/db/20190220_tong.sql b/db/20190220_tong.sql
new file mode 100644
index 0000000..248149c
--- /dev/null
+++ b/db/20190220_tong.sql
@@ -0,0 +1,57 @@
+
+DROP TABLE IF EXISTS `live_scene_live_info_record`;
+CREATE TABLE `live_scene_live_info_record` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `info_id` int(11) DEFAULT NULL COMMENT '流id',
+ `info_name` varchar(128) DEFAULT NULL COMMENT '冗余字段,流名',
+ `domain` varchar(64) DEFAULT NULL COMMENT '域名',
+ `app_name` varchar(64) DEFAULT NULL,
+ `stream_name` varchar(255) DEFAULT NULL,
+ `uri` varchar(128) DEFAULT NULL COMMENT '视频时长',
+ `duration` double DEFAULT NULL COMMENT '视频时长',
+ `start_time` int(11) DEFAULT NULL COMMENT '开始unix时间',
+ `stop_time` int(11) DEFAULT NULL COMMENT '结束unix时间',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='流录制记录';
+
+
+DROP TABLE IF EXISTS `live_scene_record`;
+CREATE TABLE `live_scene_record` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `scene_id` int(11) DEFAULT NULL COMMENT '现场id',
+ `record_name` varchar(128) DEFAULT NULL COMMENT '回顾名称',
+ `uri` varchar(128) DEFAULT NULL COMMENT '视频时长',
+ `duration` double DEFAULT NULL COMMENT '视频时长',
+ `start_time` int(11) DEFAULT NULL COMMENT '开始unix时间',
+ `stop_time` int(11) DEFAULT NULL COMMENT '结束unix时间',
+ `creator_id` int(11) DEFAULT NULL,
+ `create_date` datetime DEFAULT NULL,
+ `last_updator_id` int(11) DEFAULT NULL,
+ `last_update_date` datetime DEFAULT NULL,
+ `record_status` int(11) DEFAULT NULL COMMENT '0:未审核;1:审核显示',
+ `is_delete` int(11) DEFAULT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='现场回顾';
+
+
+DROP TABLE IF EXISTS `live_stream_black`;
+CREATE TABLE `live_stream_black` (
+ `domain` varchar(64) DEFAULT NULL COMMENT '域名',
+ `app_name` varchar(64) DEFAULT NULL,
+ `stream_name` varchar(64) DEFAULT NULL,
+ `time` int(11) DEFAULT NULL COMMENT 'unix 时间戳'
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='黑名单流';
+
+
+DROP TABLE IF EXISTS `live_stream_status`;
+CREATE TABLE `live_stream_status` (
+ `time` int(11) DEFAULT NULL COMMENT 'unix 时间戳',
+ `action` varchar(15) DEFAULT NULL COMMENT 'publish 表示推流,publish_done 表示断流',
+ `app` varchar(64) DEFAULT NULL COMMENT '默认为自定义的推流域名,如果未绑定推流域名即为播放域名',
+ `app_name` varchar(64) DEFAULT NULL COMMENT '应用名称',
+ `stream_name` varchar(64) DEFAULT NULL COMMENT '流名称',
+ `node` varchar(64) DEFAULT NULL COMMENT 'CDN 接受流的节点或者机器名',
+ `IP` varchar(20) DEFAULT NULL COMMENT '推流的客户端 IP',
+ `usrargs` text COMMENT '用户推流的参数'
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流状态变更';
+
diff --git a/db/20190220_zj.sql b/db/20190220_zj.sql
new file mode 100644
index 0000000..c5b60e1
--- /dev/null
+++ b/db/20190220_zj.sql
@@ -0,0 +1,5 @@
+ALTER TABLE `live_scene`
+ADD COLUMN `live_end` datetime NULL COMMENT '直播结束时间' AFTER `caster_id`;
+
+ALTER TABLE `live_scene_live_info`
+ADD COLUMN `title_image` varchar(255) NULL COMMENT '标题图' AFTER `stream_name`;
diff --git a/db/20190221_tong.sql b/db/20190221_tong.sql
new file mode 100644
index 0000000..adeaa55
--- /dev/null
+++ b/db/20190221_tong.sql
@@ -0,0 +1,3 @@
+ALTER TABLE `live_scene_record`
+ADD COLUMN `title_image` varchar(255) NULL COMMENT '标题图' AFTER `record_name`;
+
diff --git a/db/20190222_troy.sql b/db/20190222_troy.sql
new file mode 100644
index 0000000..51f3e7b
--- /dev/null
+++ b/db/20190222_troy.sql
@@ -0,0 +1,8 @@
+
+
+-- 第三方平台用户评论
+
+ALTER TABLE `live_comment`
+ADD COLUMN `head_img` varchar(255) NULL COMMENT '用户头像路径' AFTER `last_update_date`,
+ADD COLUMN `user_name` varchar(64) NULL COMMENT '用户姓名' AFTER `head_img`;
+
diff --git a/db/20190225_zj.sql b/db/20190225_zj.sql
new file mode 100644
index 0000000..0cfe329
--- /dev/null
+++ b/db/20190225_zj.sql
@@ -0,0 +1,3 @@
+ALTER TABLE `live_scene`
+ADD COLUMN `actual_live_start` datetime NULL COMMENT '实际开始时间' AFTER `live_end`,
+ADD COLUMN `actual_live_end` datetime NULL COMMENT '实际结束时间' AFTER `actual_live_start`;
\ No newline at end of file
diff --git a/db/20190226_troy.sql b/db/20190226_troy.sql
new file mode 100644
index 0000000..fba0000
--- /dev/null
+++ b/db/20190226_troy.sql
@@ -0,0 +1,7 @@
+
+
+-- 现场报道增加报道人姓名
+
+ALTER TABLE `live_report`
+ADD COLUMN `reporter_name` varchar(64) NULL COMMENT '报道人姓名';
+
diff --git a/db/20190226_zj.sql b/db/20190226_zj.sql
new file mode 100644
index 0000000..917acd4
--- /dev/null
+++ b/db/20190226_zj.sql
@@ -0,0 +1,3 @@
+ALTER TABLE `live_scene_live_info`
+ADD COLUMN `is_default` smallint(6) NULL DEFAULT 0 COMMENT '是否是默认,1:是,0,不是' AFTER `title_image`;
+
diff --git a/db/20190227_troy.sql b/db/20190227_troy.sql
new file mode 100644
index 0000000..e0c5601
--- /dev/null
+++ b/db/20190227_troy.sql
@@ -0,0 +1,26 @@
+
+
+-- 第三方平台
+
+-- ----------------------------
+-- Table structure for `tb_user_token` 用户token
+-- ----------------------------
+DROP TABLE IF EXISTS `tb_user_token`;
+CREATE TABLE `tb_user_token` (
+ `user_id` bigint(20) NOT NULL,
+ `token` varchar(100) NOT NULL COMMENT 'token',
+ `expire_time` datetime DEFAULT NULL COMMENT '过期时间',
+ `update_time` datetime DEFAULT NULL COMMENT '更新时间',
+ PRIMARY KEY (`user_id`),
+ UNIQUE KEY `token` (`token`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='对外用户Token';
+
+
+ALTER TABLE `tb_user`
+ADD COLUMN `salt` varchar(20) NULL COMMENT '校验值';
+
+-- 爱济南客户端账号
+INSERT INTO `tb_user` VALUES ('4', 'cPrFQdgkKSorIUcE', 'cPrFQdgkKSorIUcE', '6d676f8c231adfd00db65da2eed4d302b325db62cf17def955cf4a630117ecc2', '2019-02-28 09:19:59', 'NvXW8Haya4eHlcb');
+
+
+
diff --git a/db/20190227_zj.sql b/db/20190227_zj.sql
new file mode 100644
index 0000000..20cb61c
--- /dev/null
+++ b/db/20190227_zj.sql
@@ -0,0 +1,2 @@
+ALTER TABLE `live_scene_live_info`
+ADD COLUMN `is_show` smallint(6) NULL DEFAULT 0 COMMENT '是否显示,0:不显示,1:显示' AFTER `is_default`;
\ No newline at end of file
diff --git a/db/20190307_troy.sql b/db/20190307_troy.sql
new file mode 100644
index 0000000..9dee744
--- /dev/null
+++ b/db/20190307_troy.sql
@@ -0,0 +1,6 @@
+
+-- ----------------------------
+-- Table structure for `live_scene` 现场允许评论设置
+-- ----------------------------
+ALTER TABLE `live_scene`
+ADD COLUMN `allow_comment` smallint NULL DEFAULT 1 COMMENT '允许评论';
diff --git a/db/20190311_zxy_sensitive_word.sql b/db/20190311_zxy_sensitive_word.sql
new file mode 100644
index 0000000..fd812ea
--- /dev/null
+++ b/db/20190311_zxy_sensitive_word.sql
@@ -0,0 +1,43 @@
+/*
+Navicat MySQL Data Transfer
+
+Source Server : DB
+Source Server Version : 80011
+Source Host : localhost:3306
+Source Database : aijinan
+
+Target Server Type : MYSQL
+Target Server Version : 80011
+File Encoding : 65001
+
+Date: 2019-03-11 17:48:09
+*/
+
+SET FOREIGN_KEY_CHECKS=0;
+
+-- ----------------------------
+-- Table structure for sensitive_stop_word
+-- ----------------------------
+DROP TABLE IF EXISTS `sensitive_stop_word`;
+CREATE TABLE `sensitive_stop_word` (
+ `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '停顿符id',
+ `stop_word` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT '停顿符',
+ `create_by` bigint(20) NOT NULL COMMENT '创建者id',
+ `create_time` timestamp NOT NULL COMMENT '创建时间',
+ `is_delete` tinyint(4) NOT NULL DEFAULT '0' COMMENT '是否删除,默认为0',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='敏感停顿符';
+
+-- ----------------------------
+-- Table structure for sensitive_word
+-- ----------------------------
+DROP TABLE IF EXISTS `sensitive_word`;
+CREATE TABLE `sensitive_word` (
+ `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id',
+ `sensitive_word` varchar(255) COLLATE utf8mb4_bin NOT NULL COMMENT '敏感词',
+ `replace_word` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '替换词',
+ `create_by` bigint(20) NOT NULL COMMENT '创建者id',
+ `create_time` timestamp NOT NULL COMMENT '创建时间',
+ `is_delete` tinyint(4) NOT NULL DEFAULT '0' COMMENT '是否删除,默认为0,不删除',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='敏感词';
diff --git a/db/20190313_tong.sql b/db/20190313_tong.sql
new file mode 100644
index 0000000..a99de2d
--- /dev/null
+++ b/db/20190313_tong.sql
@@ -0,0 +1,15 @@
+DROP TABLE IF EXISTS `live_caster`;
+CREATE TABLE `live_caster` (
+ `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '数据ID',
+ `caster_id` varchar(64) DEFAULT NULL COMMENT '导播台Id',
+ `caster_name` varchar(255) DEFAULT NULL COMMENT '导播台名称',
+ `norm_type` smallint(6) DEFAULT NULL COMMENT '导播台规格类型',
+ `create_time` datetime DEFAULT NULL COMMENT '创建时间',
+ `start_time` datetime DEFAULT NULL COMMENT '导播台启动时间',
+ `data_state` smallint(6) DEFAULT NULL COMMENT '数据状态',
+ `app_name` varchar(64) DEFAULT NULL COMMENT 'app名称',
+ `stream_name` varchar(64) DEFAULT NULL COMMENT '原画流名称',
+ `scene_id` int(11) DEFAULT NULL COMMENT '现场ID',
+ `is_delete` smallint(1) DEFAULT NULL COMMENT '导播台状态',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='导播台信息表';
\ No newline at end of file
diff --git a/db/20190315_tong.sql b/db/20190315_tong.sql
new file mode 100644
index 0000000..df0aae6
--- /dev/null
+++ b/db/20190315_tong.sql
@@ -0,0 +1,17 @@
+ALTER TABLE `live_scene_record`
+ADD COLUMN `media_id` int NULL COMMENT '素材id' AFTER `priority`;
+
+DROP TABLE IF EXISTS `live_stream_record_task`;
+CREATE TABLE `live_stream_record_task` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT,
+ `video_id` varchar(32) DEFAULT NULL COMMENT '视频id',
+ `domain_name` varchar(64) DEFAULT NULL COMMENT '域名',
+ `app_name` varchar(32) DEFAULT NULL COMMENT 'app名称',
+ `stream_name` varchar(32) DEFAULT NULL COMMENT '流名称',
+ `record_start_time` datetime DEFAULT NULL COMMENT '录制开始时间',
+ `record_end_time` datetime DEFAULT NULL COMMENT '录制结束时间',
+ `start_time` datetime DEFAULT NULL COMMENT '转码开始时间',
+ `end_time` datetime DEFAULT NULL COMMENT '转码结束时间',
+ `is_ok` smallint(1) DEFAULT NULL COMMENT '是否转码成功',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
\ No newline at end of file
diff --git a/db/20190318_tong.sql b/db/20190318_tong.sql
new file mode 100644
index 0000000..b33031c
--- /dev/null
+++ b/db/20190318_tong.sql
@@ -0,0 +1,5 @@
+ALTER TABLE `live_scene_record`
+MODIFY COLUMN `uri` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '视频时长' AFTER `title_image`;
+
+ALTER TABLE `live_caster`
+ADD COLUMN `template_ids` varchar(64) NULL COMMENT '转码设置' AFTER `is_delete`;
diff --git a/db/20190411_tong.sql b/db/20190411_tong.sql
new file mode 100644
index 0000000..36c406d
--- /dev/null
+++ b/db/20190411_tong.sql
@@ -0,0 +1,4 @@
+ALTER TABLE `live_scene`
+MODIFY COLUMN `live_desc` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '现场简介' AFTER `title_image`,
+MODIFY COLUMN `scene_mark` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '现场备注' AFTER `live_state`;
+
diff --git a/db/20190412_troy.sql b/db/20190412_troy.sql
new file mode 100644
index 0000000..d530973
--- /dev/null
+++ b/db/20190412_troy.sql
@@ -0,0 +1,376 @@
+
+/*
+角色菜单索引处理
+*/
+ALTER TABLE `sys_role_menu`
+ADD INDEX `SYS_ROLE_MENU_ROLE_ID` (`role_id`, `menu_id`) ;
+
+/*
+菜单数据管理
+*/
+
+SET FOREIGN_KEY_CHECKS=0;
+-- ----------------------------
+-- Table structure for `sys_menu`
+-- ----------------------------
+DROP TABLE IF EXISTS `sys_menu`;
+CREATE TABLE `sys_menu` (
+ `menu_id` bigint(20) NOT NULL AUTO_INCREMENT,
+ `parent_id` bigint(20) DEFAULT NULL COMMENT '父菜单ID,一级菜单为0',
+ `name` varchar(50) DEFAULT NULL COMMENT '菜单名称',
+ `url` varchar(200) DEFAULT NULL COMMENT '菜单URL',
+ `perms` varchar(1000) DEFAULT NULL COMMENT '授权(多个用逗号分隔,如:user:list,user:create)',
+ `type` int(11) DEFAULT NULL COMMENT '类型 0:目录 1:菜单 2:按钮',
+ `icon` varchar(50) DEFAULT NULL COMMENT '菜单图标',
+ `order_num` int(11) DEFAULT NULL COMMENT '排序',
+ PRIMARY KEY (`menu_id`)
+) ENGINE=InnoDB AUTO_INCREMENT=159 DEFAULT CHARSET=utf8 COMMENT='菜单管理';
+
+-- ----------------------------
+-- Records of sys_menu
+-- ----------------------------
+INSERT INTO `sys_menu` VALUES ('1', '0', '系统管理', null, null, '0', 'setting', '6');
+INSERT INTO `sys_menu` VALUES ('2', '1', '管理员列表', '/n/user', null, '1', 'fa fa-user', '1');
+INSERT INTO `sys_menu` VALUES ('3', '1', '角色管理', '/n/role', null, '1', 'fa fa-user-secret', '2');
+INSERT INTO `sys_menu` VALUES ('4', '1', '菜单管理', '/n/menu', null, '1', 'fa fa-th-list', '3');
+INSERT INTO `sys_menu` VALUES ('15', '2', '查看', null, 'sys:user:list,sys:user:info', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('16', '2', '新增', null, 'sys:user:save,sys:role:select', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('17', '2', '修改', null, 'sys:user:update,sys:role:select', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('18', '2', '删除', null, 'sys:user:delete', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('19', '3', '查看', null, 'sys:role:list,sys:role:info', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('20', '3', '新增', null, 'sys:role:save,sys:menu:list', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('21', '3', '修改', null, 'sys:role:update,sys:menu:list', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('22', '3', '删除', null, 'sys:role:delete', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('23', '4', '查看', null, 'sys:menu:list,sys:menu:info', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('24', '4', '新增', null, 'sys:menu:save,sys:menu:select', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('25', '4', '修改', null, 'sys:menu:update,sys:menu:select', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('26', '4', '删除', null, 'sys:menu:delete', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('29', '1', '系统日志', '/n/log', 'sys:log:list', '1', 'fa fa-file-text-o', '4');
+INSERT INTO `sys_menu` VALUES ('77', '0', '现场管理', null, null, '0', 'video_resource', '1');
+INSERT INTO `sys_menu` VALUES ('78', '77', '我的现场', '/v/myscene', 'live:livescene:page,live:livescene:info,live:livescene:save,live:livescene:update,live:livescene:submit,live:livescene:delete,live:livescene:index:rebuild', '1', null, '1');
+INSERT INTO `sys_menu` VALUES ('79', '77', '现场审核', '/v/reviewscene', 'live:livescene:page', '1', null, '2');
+INSERT INTO `sys_menu` VALUES ('80', '77', '成品现场', '/v/finishscene', 'modules/scene/finishScene.html\', \'live:livescene:page,live:livescene:info,live:livescene:caster,live:livescene:direct,live:livescene:stream:list,live:livescene:update,live:livescene:delete,live:livescene:stream:createOrUpdate,live:livescene:stream:delete,live:livescene:stream:create,live:livescene:stream:update,live:livescene:stream:info,live:livescene:stream:reporters,live:livescenerecord:page,live:livescenerecord:info,live:livescenerecord:update,live:livescenerecord:delete,live:livescene:startLive,live:livescene:stopLive,live:livescene:stream:streamDefault,live:livescene:streamPlay,live:livescenerecord:save,live:livescene:streamShow,live:livescene:index:rebuild,live:caster:all', '1', null, '3');
+INSERT INTO `sys_menu` VALUES ('81', '0', '素材库', '/r/library', null, '1', 'video_release', '2');
+INSERT INTO `sys_menu` VALUES ('82', '0', '在线剪辑', '/c/qkvideo', null, '1', 'spread', '3');
+INSERT INTO `sys_menu` VALUES ('89', '1', '敏感词管理', '/n/word', 'sensitive:word:list,sensitive:word:save,sensitive:word:info,sensitive:word:update,sensitive:word:delete,sensitive:word:replace,sensitive:stopword:list,sensitive:stopword:info,sensitive:stopword:save,sensitive:stopword:update,sensitive:stopword:delete', '1', null, '5');
+INSERT INTO `sys_menu` VALUES ('91', '79', 'app现场审核', null, 'app:live:scene:page,app:live:scene:check', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('93', '0', '考核管理', '/n/Assess', null, '1', 'left_assess', '4');
+INSERT INTO `sys_menu` VALUES ('94', '0', '接口管理', '/n/InterfaceTimedTask', null, '1', 'left_interface', '5');
+INSERT INTO `sys_menu` VALUES ('95', '77', '现场回收站', '/v/cyclescene', null, '1', null, '4');
+INSERT INTO `sys_menu` VALUES ('96', '1', '栏目管理', '/n/channel', null, '1', null, '6');
+INSERT INTO `sys_menu` VALUES ('97', '78', '新建现场', null, 'live:livescene:save,live:livescene:channels', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('98', '78', '现场查询', null, 'live:livescene:page', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('99', '78', '现场修改', null, 'live:livescene:update,live:livescene:channels', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('100', '78', '现场详情', null, 'live:livescene:info', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('101', '78', '现场送审', null, 'live:livescene:submit', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('102', '79', '现场查询', null, 'live:livescene:page', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('103', '79', '现场修改', null, 'live:livescene:update', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('104', '79', '现场详情', null, 'live:livescene:info', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('105', '79', '现场审核', null, 'live:livescene:check', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('106', '79', '现场删除', null, 'live:livescene:delete', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('107', '78', '现场删除', null, 'live:livescene:delete', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('108', '80', '现场删除', null, 'live:livescene:delete', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('109', '80', '现场详情', null, 'live:livescene:info', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('110', '80', '现场修改', null, 'live:livescene:update', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('111', '80', '流管理-列表', null, 'live:livescene:stream:list', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('112', '80', '流管理-创建', null, 'live:livescene:stream:create', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('113', '80', '流管理-更新', null, 'live:livescene:stream:update', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('114', '80', '流管理-详情', null, 'live:livescene:stream:info', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('115', '80', '流管理-删除', null, 'live:livescene:stream:delete', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('116', '80', '流管理-记者列表', null, 'live:livescene:stream:reporters', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('117', '80', '流管理-显示/不显示', null, 'live:livescene:streamShow', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('118', '80', '回顾-列表', null, 'live:livescenerecord:page', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('119', '80', '回顾-详情', null, 'live:livescenerecord:info', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('120', '80', '回顾-创建', null, 'live:livescenerecord:save', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('121', '80', '回顾-修改', null, 'live:livescenerecord:update', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('122', '80', '回顾-删除', null, 'live:livescenerecord:delete', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('123', '80', '回顾-排序', null, 'live:livescenerecord:priority', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('124', '80', '报道-列表', null, 'live:report:list', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('125', '80', '报道-详情', null, 'live:report:info', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('126', '80', '报道-创建', null, 'live:report:save', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('127', '80', '报道-修改', null, 'live:report:update', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('128', '80', '报道-删除', null, 'live:report:delete', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('129', '80', '报道-发布', null, 'live:report:release', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('130', '80', '报道-取消发布', null, 'live:report:cancelRelease', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('131', '80', '报道-置顶', null, 'live:report:top', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('132', '80', '报道-取消置顶', null, 'live:report:cancelTop', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('133', '80', '报道-排序', null, 'live:report:priority', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('134', '80', '评论-列表', null, 'live:comment:list', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('135', '80', '评论-详情', null, 'live:comment:info', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('136', '80', '评论-创建', null, 'live:comment:save', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('137', '80', '评论-修改', null, 'live:comment:update', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('138', '80', '评论-删除', null, 'live:comment:delete', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('139', '80', '评论-发布', null, 'live:comment:release', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('140', '80', '评论-取消发布', null, 'live:comment:cancelRelease', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('141', '80', '评论-app审核', null, 'app:live:scene:comment:check', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('142', '95', '列表', null, 'live:livescene:page', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('143', '95', '详情', null, 'live:livescene:info', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('144', '95', '还原', null, 'live:livescene:cycle:recycle', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('145', '95', '删除', null, 'live:livescene:cycle:delete', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('146', '81', '列表', null, 'live:multimedia:list', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('147', '81', '详情', null, 'live:multimedia:info', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('148', '81', '上传', null, 'live:multimedia:save', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('149', '81', '修改', null, 'live:multimedia:update', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('150', '81', '删除', null, 'live:multimedia:delete', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('151', '0', '首页', '/home', null, '1', 'home', '0');
+INSERT INTO `sys_menu` VALUES ('152', '96', '查看', null, 'live:channel:list,live:channel:info', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('153', '96', '新增', null, 'live:channel:save', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('154', '96', '修改', null, 'live:channel:update,live:channel:info', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('155', '96', '删除', null, 'live:channel:list,live:channel:delete', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('156', '96', '批量显示', null, 'live:channel:list,live:channel:display', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('157', '96', '取消显示', null, 'live:channel:list,live:channel:cancelDisplay', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('158', '96', '排序', null, 'live:channel:list,live:channel:priority', '2', null, '0');
+
+-- ----------------------------
+-- Table structure for `sys_role_menu`
+-- ----------------------------
+DROP TABLE IF EXISTS `sys_role_menu`;
+CREATE TABLE `sys_role_menu` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT,
+ `role_id` bigint(20) DEFAULT NULL COMMENT '角色ID',
+ `menu_id` bigint(20) DEFAULT NULL COMMENT '菜单ID',
+ PRIMARY KEY (`id`),
+ KEY `SYS_ROLE_MENU_ROLE_ID` (`role_id`,`menu_id`)
+) ENGINE=InnoDB AUTO_INCREMENT=1204 DEFAULT CHARSET=utf8 COMMENT='角色与菜单对应关系';
+
+-- ----------------------------
+-- Records of sys_role_menu
+-- ----------------------------
+INSERT INTO `sys_role_menu` VALUES ('822', '1', '1');
+INSERT INTO `sys_role_menu` VALUES ('823', '1', '2');
+INSERT INTO `sys_role_menu` VALUES ('828', '1', '3');
+INSERT INTO `sys_role_menu` VALUES ('833', '1', '4');
+INSERT INTO `sys_role_menu` VALUES ('824', '1', '15');
+INSERT INTO `sys_role_menu` VALUES ('825', '1', '16');
+INSERT INTO `sys_role_menu` VALUES ('826', '1', '17');
+INSERT INTO `sys_role_menu` VALUES ('827', '1', '18');
+INSERT INTO `sys_role_menu` VALUES ('829', '1', '19');
+INSERT INTO `sys_role_menu` VALUES ('830', '1', '20');
+INSERT INTO `sys_role_menu` VALUES ('831', '1', '21');
+INSERT INTO `sys_role_menu` VALUES ('832', '1', '22');
+INSERT INTO `sys_role_menu` VALUES ('834', '1', '23');
+INSERT INTO `sys_role_menu` VALUES ('835', '1', '24');
+INSERT INTO `sys_role_menu` VALUES ('836', '1', '25');
+INSERT INTO `sys_role_menu` VALUES ('837', '1', '26');
+INSERT INTO `sys_role_menu` VALUES ('838', '1', '29');
+INSERT INTO `sys_role_menu` VALUES ('760', '1', '77');
+INSERT INTO `sys_role_menu` VALUES ('761', '1', '78');
+INSERT INTO `sys_role_menu` VALUES ('768', '1', '79');
+INSERT INTO `sys_role_menu` VALUES ('775', '1', '80');
+INSERT INTO `sys_role_menu` VALUES ('815', '1', '81');
+INSERT INTO `sys_role_menu` VALUES ('821', '1', '82');
+INSERT INTO `sys_role_menu` VALUES ('839', '1', '89');
+INSERT INTO `sys_role_menu` VALUES ('769', '1', '91');
+INSERT INTO `sys_role_menu` VALUES ('810', '1', '95');
+INSERT INTO `sys_role_menu` VALUES ('840', '1', '96');
+INSERT INTO `sys_role_menu` VALUES ('762', '1', '97');
+INSERT INTO `sys_role_menu` VALUES ('763', '1', '98');
+INSERT INTO `sys_role_menu` VALUES ('764', '1', '99');
+INSERT INTO `sys_role_menu` VALUES ('765', '1', '100');
+INSERT INTO `sys_role_menu` VALUES ('766', '1', '101');
+INSERT INTO `sys_role_menu` VALUES ('770', '1', '102');
+INSERT INTO `sys_role_menu` VALUES ('771', '1', '103');
+INSERT INTO `sys_role_menu` VALUES ('772', '1', '104');
+INSERT INTO `sys_role_menu` VALUES ('773', '1', '105');
+INSERT INTO `sys_role_menu` VALUES ('774', '1', '106');
+INSERT INTO `sys_role_menu` VALUES ('767', '1', '107');
+INSERT INTO `sys_role_menu` VALUES ('776', '1', '108');
+INSERT INTO `sys_role_menu` VALUES ('777', '1', '109');
+INSERT INTO `sys_role_menu` VALUES ('778', '1', '110');
+INSERT INTO `sys_role_menu` VALUES ('779', '1', '111');
+INSERT INTO `sys_role_menu` VALUES ('780', '1', '112');
+INSERT INTO `sys_role_menu` VALUES ('781', '1', '113');
+INSERT INTO `sys_role_menu` VALUES ('782', '1', '114');
+INSERT INTO `sys_role_menu` VALUES ('783', '1', '115');
+INSERT INTO `sys_role_menu` VALUES ('784', '1', '116');
+INSERT INTO `sys_role_menu` VALUES ('785', '1', '117');
+INSERT INTO `sys_role_menu` VALUES ('786', '1', '118');
+INSERT INTO `sys_role_menu` VALUES ('787', '1', '119');
+INSERT INTO `sys_role_menu` VALUES ('788', '1', '120');
+INSERT INTO `sys_role_menu` VALUES ('789', '1', '121');
+INSERT INTO `sys_role_menu` VALUES ('790', '1', '122');
+INSERT INTO `sys_role_menu` VALUES ('791', '1', '123');
+INSERT INTO `sys_role_menu` VALUES ('792', '1', '124');
+INSERT INTO `sys_role_menu` VALUES ('793', '1', '125');
+INSERT INTO `sys_role_menu` VALUES ('794', '1', '126');
+INSERT INTO `sys_role_menu` VALUES ('795', '1', '127');
+INSERT INTO `sys_role_menu` VALUES ('796', '1', '128');
+INSERT INTO `sys_role_menu` VALUES ('797', '1', '129');
+INSERT INTO `sys_role_menu` VALUES ('798', '1', '130');
+INSERT INTO `sys_role_menu` VALUES ('799', '1', '131');
+INSERT INTO `sys_role_menu` VALUES ('800', '1', '132');
+INSERT INTO `sys_role_menu` VALUES ('801', '1', '133');
+INSERT INTO `sys_role_menu` VALUES ('802', '1', '134');
+INSERT INTO `sys_role_menu` VALUES ('803', '1', '135');
+INSERT INTO `sys_role_menu` VALUES ('804', '1', '136');
+INSERT INTO `sys_role_menu` VALUES ('805', '1', '137');
+INSERT INTO `sys_role_menu` VALUES ('806', '1', '138');
+INSERT INTO `sys_role_menu` VALUES ('807', '1', '139');
+INSERT INTO `sys_role_menu` VALUES ('808', '1', '140');
+INSERT INTO `sys_role_menu` VALUES ('809', '1', '141');
+INSERT INTO `sys_role_menu` VALUES ('811', '1', '142');
+INSERT INTO `sys_role_menu` VALUES ('812', '1', '143');
+INSERT INTO `sys_role_menu` VALUES ('813', '1', '144');
+INSERT INTO `sys_role_menu` VALUES ('814', '1', '145');
+INSERT INTO `sys_role_menu` VALUES ('816', '1', '146');
+INSERT INTO `sys_role_menu` VALUES ('817', '1', '147');
+INSERT INTO `sys_role_menu` VALUES ('818', '1', '148');
+INSERT INTO `sys_role_menu` VALUES ('819', '1', '149');
+INSERT INTO `sys_role_menu` VALUES ('820', '1', '150');
+INSERT INTO `sys_role_menu` VALUES ('759', '1', '151');
+INSERT INTO `sys_role_menu` VALUES ('841', '1', '152');
+INSERT INTO `sys_role_menu` VALUES ('842', '1', '153');
+INSERT INTO `sys_role_menu` VALUES ('843', '1', '154');
+INSERT INTO `sys_role_menu` VALUES ('844', '1', '155');
+INSERT INTO `sys_role_menu` VALUES ('845', '1', '156');
+INSERT INTO `sys_role_menu` VALUES ('846', '1', '157');
+INSERT INTO `sys_role_menu` VALUES ('847', '1', '158');
+INSERT INTO `sys_role_menu` VALUES ('1138', '2', '78');
+INSERT INTO `sys_role_menu` VALUES ('1146', '2', '80');
+INSERT INTO `sys_role_menu` VALUES ('1186', '2', '81');
+INSERT INTO `sys_role_menu` VALUES ('1192', '2', '82');
+INSERT INTO `sys_role_menu` VALUES ('1195', '2', '89');
+INSERT INTO `sys_role_menu` VALUES ('1193', '2', '93');
+INSERT INTO `sys_role_menu` VALUES ('1194', '2', '94');
+INSERT INTO `sys_role_menu` VALUES ('1181', '2', '95');
+INSERT INTO `sys_role_menu` VALUES ('1196', '2', '96');
+INSERT INTO `sys_role_menu` VALUES ('1139', '2', '97');
+INSERT INTO `sys_role_menu` VALUES ('1140', '2', '98');
+INSERT INTO `sys_role_menu` VALUES ('1141', '2', '99');
+INSERT INTO `sys_role_menu` VALUES ('1142', '2', '100');
+INSERT INTO `sys_role_menu` VALUES ('1143', '2', '101');
+INSERT INTO `sys_role_menu` VALUES ('1145', '2', '102');
+INSERT INTO `sys_role_menu` VALUES ('1144', '2', '107');
+INSERT INTO `sys_role_menu` VALUES ('1147', '2', '108');
+INSERT INTO `sys_role_menu` VALUES ('1148', '2', '109');
+INSERT INTO `sys_role_menu` VALUES ('1149', '2', '110');
+INSERT INTO `sys_role_menu` VALUES ('1150', '2', '111');
+INSERT INTO `sys_role_menu` VALUES ('1151', '2', '112');
+INSERT INTO `sys_role_menu` VALUES ('1152', '2', '113');
+INSERT INTO `sys_role_menu` VALUES ('1153', '2', '114');
+INSERT INTO `sys_role_menu` VALUES ('1154', '2', '115');
+INSERT INTO `sys_role_menu` VALUES ('1155', '2', '116');
+INSERT INTO `sys_role_menu` VALUES ('1156', '2', '117');
+INSERT INTO `sys_role_menu` VALUES ('1157', '2', '118');
+INSERT INTO `sys_role_menu` VALUES ('1158', '2', '119');
+INSERT INTO `sys_role_menu` VALUES ('1159', '2', '120');
+INSERT INTO `sys_role_menu` VALUES ('1160', '2', '121');
+INSERT INTO `sys_role_menu` VALUES ('1161', '2', '122');
+INSERT INTO `sys_role_menu` VALUES ('1162', '2', '123');
+INSERT INTO `sys_role_menu` VALUES ('1163', '2', '124');
+INSERT INTO `sys_role_menu` VALUES ('1164', '2', '125');
+INSERT INTO `sys_role_menu` VALUES ('1165', '2', '126');
+INSERT INTO `sys_role_menu` VALUES ('1166', '2', '127');
+INSERT INTO `sys_role_menu` VALUES ('1167', '2', '128');
+INSERT INTO `sys_role_menu` VALUES ('1168', '2', '129');
+INSERT INTO `sys_role_menu` VALUES ('1169', '2', '130');
+INSERT INTO `sys_role_menu` VALUES ('1170', '2', '131');
+INSERT INTO `sys_role_menu` VALUES ('1171', '2', '132');
+INSERT INTO `sys_role_menu` VALUES ('1172', '2', '133');
+INSERT INTO `sys_role_menu` VALUES ('1173', '2', '134');
+INSERT INTO `sys_role_menu` VALUES ('1174', '2', '135');
+INSERT INTO `sys_role_menu` VALUES ('1175', '2', '136');
+INSERT INTO `sys_role_menu` VALUES ('1176', '2', '137');
+INSERT INTO `sys_role_menu` VALUES ('1177', '2', '138');
+INSERT INTO `sys_role_menu` VALUES ('1178', '2', '139');
+INSERT INTO `sys_role_menu` VALUES ('1179', '2', '140');
+INSERT INTO `sys_role_menu` VALUES ('1180', '2', '141');
+INSERT INTO `sys_role_menu` VALUES ('1182', '2', '142');
+INSERT INTO `sys_role_menu` VALUES ('1183', '2', '143');
+INSERT INTO `sys_role_menu` VALUES ('1184', '2', '144');
+INSERT INTO `sys_role_menu` VALUES ('1185', '2', '145');
+INSERT INTO `sys_role_menu` VALUES ('1187', '2', '146');
+INSERT INTO `sys_role_menu` VALUES ('1188', '2', '147');
+INSERT INTO `sys_role_menu` VALUES ('1189', '2', '148');
+INSERT INTO `sys_role_menu` VALUES ('1190', '2', '149');
+INSERT INTO `sys_role_menu` VALUES ('1191', '2', '150');
+INSERT INTO `sys_role_menu` VALUES ('1137', '2', '151');
+INSERT INTO `sys_role_menu` VALUES ('1197', '2', '152');
+INSERT INTO `sys_role_menu` VALUES ('1198', '2', '153');
+INSERT INTO `sys_role_menu` VALUES ('1199', '2', '154');
+INSERT INTO `sys_role_menu` VALUES ('1200', '2', '155');
+INSERT INTO `sys_role_menu` VALUES ('1201', '2', '156');
+INSERT INTO `sys_role_menu` VALUES ('1202', '2', '157');
+INSERT INTO `sys_role_menu` VALUES ('1203', '2', '158');
+INSERT INTO `sys_role_menu` VALUES ('849', '3', '77');
+INSERT INTO `sys_role_menu` VALUES ('850', '3', '78');
+INSERT INTO `sys_role_menu` VALUES ('857', '3', '79');
+INSERT INTO `sys_role_menu` VALUES ('864', '3', '80');
+INSERT INTO `sys_role_menu` VALUES ('904', '3', '81');
+INSERT INTO `sys_role_menu` VALUES ('910', '3', '82');
+INSERT INTO `sys_role_menu` VALUES ('913', '3', '89');
+INSERT INTO `sys_role_menu` VALUES ('858', '3', '91');
+INSERT INTO `sys_role_menu` VALUES ('911', '3', '93');
+INSERT INTO `sys_role_menu` VALUES ('912', '3', '94');
+INSERT INTO `sys_role_menu` VALUES ('899', '3', '95');
+INSERT INTO `sys_role_menu` VALUES ('914', '3', '96');
+INSERT INTO `sys_role_menu` VALUES ('851', '3', '97');
+INSERT INTO `sys_role_menu` VALUES ('852', '3', '98');
+INSERT INTO `sys_role_menu` VALUES ('853', '3', '99');
+INSERT INTO `sys_role_menu` VALUES ('854', '3', '100');
+INSERT INTO `sys_role_menu` VALUES ('855', '3', '101');
+INSERT INTO `sys_role_menu` VALUES ('859', '3', '102');
+INSERT INTO `sys_role_menu` VALUES ('860', '3', '103');
+INSERT INTO `sys_role_menu` VALUES ('861', '3', '104');
+INSERT INTO `sys_role_menu` VALUES ('862', '3', '105');
+INSERT INTO `sys_role_menu` VALUES ('863', '3', '106');
+INSERT INTO `sys_role_menu` VALUES ('856', '3', '107');
+INSERT INTO `sys_role_menu` VALUES ('865', '3', '108');
+INSERT INTO `sys_role_menu` VALUES ('866', '3', '109');
+INSERT INTO `sys_role_menu` VALUES ('867', '3', '110');
+INSERT INTO `sys_role_menu` VALUES ('868', '3', '111');
+INSERT INTO `sys_role_menu` VALUES ('869', '3', '112');
+INSERT INTO `sys_role_menu` VALUES ('870', '3', '113');
+INSERT INTO `sys_role_menu` VALUES ('871', '3', '114');
+INSERT INTO `sys_role_menu` VALUES ('872', '3', '115');
+INSERT INTO `sys_role_menu` VALUES ('873', '3', '116');
+INSERT INTO `sys_role_menu` VALUES ('874', '3', '117');
+INSERT INTO `sys_role_menu` VALUES ('875', '3', '118');
+INSERT INTO `sys_role_menu` VALUES ('876', '3', '119');
+INSERT INTO `sys_role_menu` VALUES ('877', '3', '120');
+INSERT INTO `sys_role_menu` VALUES ('878', '3', '121');
+INSERT INTO `sys_role_menu` VALUES ('879', '3', '122');
+INSERT INTO `sys_role_menu` VALUES ('880', '3', '123');
+INSERT INTO `sys_role_menu` VALUES ('881', '3', '124');
+INSERT INTO `sys_role_menu` VALUES ('882', '3', '125');
+INSERT INTO `sys_role_menu` VALUES ('883', '3', '126');
+INSERT INTO `sys_role_menu` VALUES ('884', '3', '127');
+INSERT INTO `sys_role_menu` VALUES ('885', '3', '128');
+INSERT INTO `sys_role_menu` VALUES ('886', '3', '129');
+INSERT INTO `sys_role_menu` VALUES ('887', '3', '130');
+INSERT INTO `sys_role_menu` VALUES ('888', '3', '131');
+INSERT INTO `sys_role_menu` VALUES ('889', '3', '132');
+INSERT INTO `sys_role_menu` VALUES ('890', '3', '133');
+INSERT INTO `sys_role_menu` VALUES ('891', '3', '134');
+INSERT INTO `sys_role_menu` VALUES ('892', '3', '135');
+INSERT INTO `sys_role_menu` VALUES ('893', '3', '136');
+INSERT INTO `sys_role_menu` VALUES ('894', '3', '137');
+INSERT INTO `sys_role_menu` VALUES ('895', '3', '138');
+INSERT INTO `sys_role_menu` VALUES ('896', '3', '139');
+INSERT INTO `sys_role_menu` VALUES ('897', '3', '140');
+INSERT INTO `sys_role_menu` VALUES ('898', '3', '141');
+INSERT INTO `sys_role_menu` VALUES ('900', '3', '142');
+INSERT INTO `sys_role_menu` VALUES ('901', '3', '143');
+INSERT INTO `sys_role_menu` VALUES ('902', '3', '144');
+INSERT INTO `sys_role_menu` VALUES ('903', '3', '145');
+INSERT INTO `sys_role_menu` VALUES ('905', '3', '146');
+INSERT INTO `sys_role_menu` VALUES ('906', '3', '147');
+INSERT INTO `sys_role_menu` VALUES ('907', '3', '148');
+INSERT INTO `sys_role_menu` VALUES ('908', '3', '149');
+INSERT INTO `sys_role_menu` VALUES ('909', '3', '150');
+INSERT INTO `sys_role_menu` VALUES ('848', '3', '151');
+INSERT INTO `sys_role_menu` VALUES ('915', '3', '152');
+INSERT INTO `sys_role_menu` VALUES ('916', '3', '153');
+INSERT INTO `sys_role_menu` VALUES ('917', '3', '154');
+INSERT INTO `sys_role_menu` VALUES ('918', '3', '155');
+INSERT INTO `sys_role_menu` VALUES ('919', '3', '156');
+INSERT INTO `sys_role_menu` VALUES ('920', '3', '157');
+INSERT INTO `sys_role_menu` VALUES ('921', '3', '158');
+INSERT INTO `sys_role_menu` VALUES ('924', '4', '81');
+INSERT INTO `sys_role_menu` VALUES ('922', '4', '91');
+INSERT INTO `sys_role_menu` VALUES ('923', '4', '141');
+INSERT INTO `sys_role_menu` VALUES ('925', '4', '146');
+INSERT INTO `sys_role_menu` VALUES ('926', '4', '147');
+INSERT INTO `sys_role_menu` VALUES ('927', '4', '148');
+INSERT INTO `sys_role_menu` VALUES ('928', '4', '149');
+INSERT INTO `sys_role_menu` VALUES ('929', '4', '150');
diff --git a/db/20190423_tong.sql b/db/20190423_tong.sql
new file mode 100644
index 0000000..0fc2e1f
--- /dev/null
+++ b/db/20190423_tong.sql
@@ -0,0 +1,2 @@
+ALTER TABLE `live_scene`
+ADD COLUMN `video_url` varchar(255) NULL COMMENT '视频url' AFTER `title_image`;
\ No newline at end of file
diff --git a/db/20190529_troy.sql b/db/20190529_troy.sql
new file mode 100644
index 0000000..1df0306
--- /dev/null
+++ b/db/20190529_troy.sql
@@ -0,0 +1,6 @@
+
+/*
+素材库增加源文件唯一标识
+ */
+ALTER TABLE `live_multimedia`
+ADD COLUMN `ori_file_identifier` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '源文件唯一标识' AFTER `media_snapshots`;
\ No newline at end of file
diff --git a/db/20190531_troy.sql b/db/20190531_troy.sql
new file mode 100644
index 0000000..14720fb
--- /dev/null
+++ b/db/20190531_troy.sql
@@ -0,0 +1,7 @@
+/* 现场简介详情链接 */
+ALTER TABLE `live_scene`
+ADD COLUMN `live_desc_href` varchar(255) NULL COMMENT '现场简介链接';
+
+/* 报道详情链接 */
+ALTER TABLE `live_report`
+ADD COLUMN `content_href` varchar(255) NULL COMMENT '报道详情链接';
diff --git a/db/20190610_tong.sql b/db/20190610_tong.sql
new file mode 100644
index 0000000..30bbc0b
--- /dev/null
+++ b/db/20190610_tong.sql
@@ -0,0 +1,3 @@
+/* 素材资源大小 */
+ALTER TABLE `live_multimedia`
+MODIFY COLUMN `media_size` bigint NULL DEFAULT 0 COMMENT '素材资源大小,单位:字节。' AFTER `cate_id`;
\ No newline at end of file
diff --git a/db/20190723_ktan.sql b/db/20190723_ktan.sql
new file mode 100644
index 0000000..27b6947
--- /dev/null
+++ b/db/20190723_ktan.sql
@@ -0,0 +1,50 @@
+SET NAMES utf8mb4;
+SET FOREIGN_KEY_CHECKS = 0;
+
+
+DROP TABLE IF EXISTS `edit_project_material`;
+CREATE TABLE `edit_project_material` (
+ `id` int(8) NOT NULL AUTO_INCREMENT,
+ `project_id` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '项目id',
+ `material_id` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '素材id',
+ `create_date` date NULL DEFAULT NULL COMMENT '创建日期',
+ `create_user` int(4) NULL DEFAULT NULL COMMENT '创建人',
+ `is_delete` tinyint(1) NULL DEFAULT 0 COMMENT '是否删除',
+ `material_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '素材类型用于区分',
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 21 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+
+DROP TABLE IF EXISTS `edit_project_watermark`;
+CREATE TABLE `edit_project_watermark` (
+ `id` int(8) NOT NULL AUTO_INCREMENT,
+ `project_id` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '项目id',
+ `material_id` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '素材id',
+ `create_date` date NULL DEFAULT NULL COMMENT '创建日期',
+ `create_user` int(4) NULL DEFAULT NULL COMMENT '创建人',
+ `is_delete` tinyint(1) NULL DEFAULT 0 COMMENT '是否删除',
+ `material_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '素材类型用于区分',
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 21 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+
+DROP TABLE IF EXISTS `edit_project`;
+CREATE TABLE `edit_project` (
+ `id` int(8) NOT NULL AUTO_INCREMENT,
+ `project_id` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '项目id',
+ `create_date` date NULL DEFAULT NULL COMMENT '创建日期',
+ `create_user` int(4) NULL DEFAULT NULL COMMENT '创建人',
+ `is_delete` tinyint(1) NULL DEFAULT 0 COMMENT '是否删除',
+ `modified_time` date NULL DEFAULT NULL COMMENT '修改时间',
+ `project_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '素材类型用于区分',
+ `cover_url` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '图片链接',
+ `timeline` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL,
+ `title` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '标题',
+ `division` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
+ `description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
+ `material_id` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '完成后对应的素材ID',
+ `status` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 188 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+
+SET FOREIGN_KEY_CHECKS = 1;
+
+
diff --git a/db/20191111_tong.sql b/db/20191111_tong.sql
new file mode 100644
index 0000000..76467ba
--- /dev/null
+++ b/db/20191111_tong.sql
@@ -0,0 +1,15 @@
+CREATE TABLE `sys_tenant` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT,
+ `parent_id` bigint(20) DEFAULT NULL COMMENT '父id',
+ `tenant_name` varchar(50) DEFAULT NULL COMMENT '机构名',
+ `category` tinyint(2) DEFAULT '1' COMMENT '1,机构;2,个人',
+ `license` varchar(100) DEFAULT NULL COMMENT '营业执照',
+ `license_url` varchar(1000) DEFAULT NULL COMMENT '营业执照url',
+ `status` tinyint(4) DEFAULT NULL COMMENT '状态 0:禁用 1:正常',
+ `sort` int(11) DEFAULT '0' COMMENT '排序',
+ `remark` varchar(10000) DEFAULT NULL COMMENT '备注',
+ `create_time` datetime DEFAULT NULL,
+ `create_user_id` bigint(20) DEFAULT NULL COMMENT '创建者ID',
+ `delete_flag` tinyint(1) DEFAULT '0',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
\ No newline at end of file
diff --git a/db/20191113_mxy.sql b/db/20191113_mxy.sql
new file mode 100644
index 0000000..3dee35a
--- /dev/null
+++ b/db/20191113_mxy.sql
@@ -0,0 +1,35 @@
+ALTER TABLE `sys_user`
+ADD COLUMN `tenant_id` bigint(20) NULL DEFAULT NULL COMMENT '租户id' AFTER `last_login_ip`;
+
+ALTER TABLE `edit_project`
+ADD COLUMN `tenant_id` bigint(20) NULL DEFAULT NULL COMMENT '租户id' AFTER `status`;
+
+ALTER TABLE `live_multimedia`
+ADD COLUMN `tenant_id` bigint(20) NULL DEFAULT NULL COMMENT '租户id' AFTER `is_delete`;
+
+ALTER TABLE `live_report`
+ADD COLUMN `tenant_id` bigint(20) NULL DEFAULT NULL COMMENT '租户id' AFTER `content_href`;
+
+ALTER TABLE `live_scene`
+ADD COLUMN `tenant_id` bigint(20) NULL DEFAULT NULL COMMENT '租户id' AFTER `live_desc_href`;
+
+ALTER TABLE `live_scene_check`
+ADD COLUMN `tenant_id` bigint(20) NULL DEFAULT NULL COMMENT '租户id' AFTER `check_date`;
+
+ALTER TABLE `live_scene_count`
+ADD COLUMN `tenant_id` bigint(20) NULL DEFAULT NULL COMMENT '租户id' AFTER `last_update_time`;
+
+ALTER TABLE `live_scene_live_info`
+ADD COLUMN `tenant_id` bigint(20) NULL DEFAULT NULL COMMENT '租户id' AFTER `priority`;
+
+ALTER TABLE `live_scene_record`
+ADD COLUMN `tenant_id` bigint(20) NULL DEFAULT NULL COMMENT '租户id' AFTER `media_id`;
+
+ALTER TABLE `live_caster`
+ADD COLUMN `tenant_id` bigint(20) NULL DEFAULT NULL COMMENT '租户id' AFTER `template_ids`;
+
+ALTER TABLE `live_scene_live_info_ext`
+ADD COLUMN `tenant_id` bigint(20) NULL DEFAULT NULL COMMENT '租户id' AFTER `play_url_flv`;
+
+ALTER TABLE `live_scene_live_info_record`
+ADD COLUMN `tenant_id` bigint(20) NULL DEFAULT NULL COMMENT '租户id' AFTER `stop_time`;
\ No newline at end of file
diff --git a/db/20191114_mxy.sql b/db/20191114_mxy.sql
new file mode 100644
index 0000000..14ab57d
--- /dev/null
+++ b/db/20191114_mxy.sql
@@ -0,0 +1,2 @@
+ALTER TABLE `sys_user`
+ADD COLUMN `id_card` varchar(20) NULL DEFAULT NULL COMMENT '身份证号' AFTER `realname`;
\ No newline at end of file
diff --git a/db/20191116_mxy.sql b/db/20191116_mxy.sql
new file mode 100644
index 0000000..6e9b666
--- /dev/null
+++ b/db/20191116_mxy.sql
@@ -0,0 +1,30 @@
+ALTER TABLE `sys_tenant`
+CHANGE COLUMN `id` `tenant_id` bigint(20) NOT NULL AUTO_INCREMENT FIRST ;
+
+
+INSERT INTO `sys_tenant` VALUES ('1', null, '济南报业', '1', null, null, '1', '0', null, '2019-11-16 15:35:12', '1', '0');
+
+
+UPDATE sys_user SET tenant_id=1 WHERE user_id!=1;
+
+UPDATE edit_project SET tenant_id=1;
+
+UPDATE live_multimedia SET tenant_id=1;
+
+UPDATE live_report SET tenant_id=1;
+
+UPDATE live_scene SET tenant_id=1;
+
+UPDATE live_scene_check SET tenant_id=1;
+
+UPDATE live_scene_count SET tenant_id=1;
+
+UPDATE live_scene_live_info SET tenant_id=1;
+
+UPDATE live_scene_record SET tenant_id=1;
+
+UPDATE live_caster SET tenant_id=1;
+
+UPDATE live_scene_live_info_ext SET tenant_id=1;
+
+UPDATE live_scene_live_info_record SET tenant_id=1;
\ No newline at end of file
diff --git a/db/20200106_tong.sql b/db/20200106_tong.sql
new file mode 100644
index 0000000..65ab4f3
--- /dev/null
+++ b/db/20200106_tong.sql
@@ -0,0 +1,4 @@
+ALTER TABLE `live_multimedia`
+MODIFY COLUMN `state` smallint(1) NULL DEFAULT 0 COMMENT '状态 0 上传中 1正常 2 上传失败 10 转码中 11 转码失败 ' AFTER `description`;
+ALTER TABLE `live_multimedia`
+ADD COLUMN `ori_media_url` varchar(200) NULL COMMENT '源媒体地址,音视频转码此字段不为空' AFTER `media_url`;
diff --git a/db/20200107_mxy.sql b/db/20200107_mxy.sql
new file mode 100644
index 0000000..c6dcc4a
--- /dev/null
+++ b/db/20200107_mxy.sql
@@ -0,0 +1,98 @@
+/*
+Navicat MySQL Data Transfer
+
+Source Server : Mxy-Work
+Source Server Version : 80017
+Source Host : localhost:3306
+Source Database : jinan-live
+
+Target Server Type : MYSQL
+Target Server Version : 80017
+File Encoding : 65001
+
+Date: 2020-01-07 10:44:07
+*/
+
+SET FOREIGN_KEY_CHECKS=0;
+
+-- ----------------------------
+-- Table structure for live_transcode_info
+-- ----------------------------
+DROP TABLE IF EXISTS `live_transcode_info`;
+CREATE TABLE `live_transcode_info` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `transcode_task_id` varchar(255) DEFAULT NULL COMMENT '转码任务id',
+ `video_id` varchar(255) DEFAULT NULL COMMENT '视频id',
+ `transcode_template_group_id` varchar(255) DEFAULT NULL COMMENT '转码任务模板组id',
+ `task_status` varchar(32) DEFAULT NULL COMMENT '任务状态:Processing,处理中;Partial,部分转码完成;CompleteAllSucc,全部转码成功;CompleteAllFail,全部转码失败;CompletePartialSucc,全部转码完成,但仅部分成功',
+ `creation_time` varchar(32) DEFAULT NULL COMMENT '开始时间',
+ `complete_time` varchar(32) DEFAULT NULL COMMENT '完成时间',
+ `trigger` varchar(11) DEFAULT NULL COMMENT '触发类型:Auto,自动触发;Manual ,接口触发',
+ PRIMARY KEY (`id`)
+);
+
+
+-- ----------------------------
+-- Table structure for live_transcode_job
+-- ----------------------------
+DROP TABLE IF EXISTS `live_transcode_job`;
+CREATE TABLE `live_transcode_job` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `transcode_job_id` varchar(255) NOT NULL COMMENT '转码作业id',
+ `transcode_task_id` varchar(255) DEFAULT NULL COMMENT '转码任务id',
+ `transcode_template_group_id` varchar(255) DEFAULT NULL COMMENT '转码模板id',
+ `transcode_job_status` varchar(32) DEFAULT NULL COMMENT '转码作业状态:Transcoding,转码中;TranscodeSuccess,转码成功;TranscodeFail,转码失败',
+ `creation_time` varchar(32) DEFAULT NULL COMMENT '创建时间',
+ `complete_time` varchar(32) DEFAULT NULL COMMENT '完成时间',
+ `transcode_progress` int(11) DEFAULT NULL COMMENT '转码作业处理进度',
+ `input_file_url` varchar(255) DEFAULT NULL COMMENT '转码源文件的OSS地址',
+ `priority` varchar(11) DEFAULT NULL COMMENT '优先级',
+ `error_code` varchar(11) DEFAULT NULL COMMENT '异常码',
+ `error_message` varchar(32) DEFAULT NULL COMMENT '异常信息',
+ `definition` varchar(11) DEFAULT NULL COMMENT '清晰度',
+ `output_file_url` varchar(255) DEFAULT NULL COMMENT '转码输出文件的OSS地址',
+ `format` varchar(11) DEFAULT NULL COMMENT '转码输出文件的封装格式',
+ `width` varchar(11) DEFAULT NULL COMMENT '转码输出文件视频画面宽,单位:px',
+ `height` varchar(11) DEFAULT NULL COMMENT '转码输出文件视频画面高,单位:px',
+ `duration` varchar(11) DEFAULT NULL COMMENT '转码输出文件时长,单位:秒',
+ `bitrate` varchar(11) DEFAULT NULL COMMENT '转码输出文件平均码率,单位:kbps',
+ `fps` varchar(11) DEFAULT NULL COMMENT '转码输出文件的帧率,单位:N帧/秒',
+ `filesize` int(11) DEFAULT NULL COMMENT '转码输出文件大小,单位:Byte',
+ `encryption` varchar(255) DEFAULT NULL COMMENT '转码输出文件使用的加密类型',
+ PRIMARY KEY (`id`)
+);
+
+ALTER TABLE `live_transcode_info`
+ADD COLUMN `service_id` int(11) NULL COMMENT '转码业务id' AFTER `transcode_task_id`,
+ADD COLUMN `service_type` tinyint(1) NULL COMMENT '转码业务类型:0,上传;1,录制;2,合成' AFTER `service_id`;
+
+ALTER TABLE `live_transcode_job`
+ADD COLUMN `service_id` int(11) NULL COMMENT '转码业务id' AFTER `transcode_job_id`,
+ADD COLUMN `service_type` tinyint(1) NULL COMMENT '转码业务类型:0,上传;1,录制;2,合成' AFTER `service_id`;
+
+ALTER TABLE `live_transcode_info`
+ADD COLUMN `transcode_status` tinyint(1) NULL COMMENT '转码状态:0,上传中;1,转码中;2,转码成功;3,转码失败' AFTER `transcode_template_group_id`;
+
+ALTER TABLE `live_transcode_job`
+ADD COLUMN `transcode_status` tinyint(1) NULL COMMENT '转码状态:0,上传中;1,转码中;2,转码成功;3,转码失败' AFTER `transcode_template_group_id`;
+
+ALTER TABLE `live_transcode_info`
+DROP COLUMN `transcode_template_group_id`,
+DROP COLUMN `task_status`,
+DROP COLUMN `trigger`;
+
+ALTER TABLE `live_transcode_job`
+DROP COLUMN `transcode_template_group_id`,
+DROP COLUMN `transcode_job_status`;
+
+ALTER TABLE `live_transcode_info`
+ADD COLUMN `transcode_template_group_id` varchar(255) NULL DEFAULT NULL COMMENT '转码模板组id' AFTER `service_type`;
+
+ALTER TABLE `live_transcode_job`
+ADD COLUMN `transcode_template_group_id` varchar(255) NULL DEFAULT NULL COMMENT '转码模板组id' AFTER `service_type`;
+
+ALTER TABLE `live_transcode_info`
+MODIFY COLUMN `service_type` tinyint(1) NULL DEFAULT NULL COMMENT '转码业务类型:1,录制;2,上传;3,合成' AFTER `service_id`;
+
+ALTER TABLE `live_transcode_job`
+MODIFY COLUMN `service_type` tinyint(1) NULL DEFAULT NULL COMMENT '转码业务类型:1,录制;2,上传;3,合成' AFTER `service_id`;
diff --git a/db/20200113_tong.sql b/db/20200113_tong.sql
new file mode 100644
index 0000000..2d5d488
--- /dev/null
+++ b/db/20200113_tong.sql
@@ -0,0 +1,7 @@
+ALTER TABLE `live_stream_status`
+ADD COLUMN `id` bigint NOT NULL AUTO_INCREMENT FIRST ,
+ADD PRIMARY KEY (`id`);
+
+
+ALTER TABLE `live_stream_status`
+ADD INDEX `idx_stream_app` (`stream_name`, `app_name`) ;
\ No newline at end of file
diff --git a/db/20200224_mxy.sql b/db/20200224_mxy.sql
new file mode 100644
index 0000000..40566eb
--- /dev/null
+++ b/db/20200224_mxy.sql
@@ -0,0 +1,13 @@
+ALTER TABLE `live_scene_record`
+ADD COLUMN `record_type` tinyint(1) NULL DEFAULT 0 COMMENT '回顾类型:0,直播时移;1,m3u8;2,mp4;3.快速剪辑' AFTER `tenant_id`;
+
+UPDATE live_scene_record
+SET record_type = CASE
+WHEN uri LIKE '%.m3u8' THEN
+ 1
+WHEN uri LIKE '%.mp3' THEN
+ 2
+WHEN uri LIKE '%.mp4' THEN
+ 2
+else 0
+END
\ No newline at end of file
diff --git a/db/20200320_mxy.sql b/db/20200320_mxy.sql
new file mode 100644
index 0000000..239f59e
--- /dev/null
+++ b/db/20200320_mxy.sql
@@ -0,0 +1,4 @@
+ALTER TABLE `live_scene_record`
+MODIFY COLUMN `record_type` tinyint(1) NULL DEFAULT 0 COMMENT '回顾类型:0,直播时移;1,m3u8;2,mp4;3,快速剪辑;4,mp3' AFTER `tenant_id`;
+
+UPDATE live_scene_record SET record_type = 4 WHERE uri LIKE '%.mp3'
\ No newline at end of file
diff --git a/db/20200326_mxy.sql b/db/20200326_mxy.sql
new file mode 100644
index 0000000..7ec6c2b
--- /dev/null
+++ b/db/20200326_mxy.sql
@@ -0,0 +1,10 @@
+ALTER TABLE `live_scene_channel`
+ADD COLUMN `drag_sort` int(11) NULL COMMENT '拖动排序标识' AFTER `channel_id`;
+
+UPDATE live_scene_channel SET drag_sort = unix_timestamp(now());
+
+ALTER TABLE `live_task_allocation`
+MODIFY COLUMN `reporter_id` varchar(500) NULL DEFAULT NULL COMMENT '记者ID' AFTER `duration_time`;
+
+ALTER TABLE `live_report`
+ADD COLUMN `related_report` varchar(512) NULL DEFAULT NULL COMMENT '相关报道' AFTER `tenant_id`;
\ No newline at end of file
diff --git a/db/20210225_Matt.sql b/db/20210225_Matt.sql
new file mode 100644
index 0000000..7e89bf9
--- /dev/null
+++ b/db/20210225_Matt.sql
@@ -0,0 +1,4 @@
+ALTER TABLE `live_scene_live_info`
+ADD COLUMN `text` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '转写语音文字内容' AFTER `pull_end`,
+ADD COLUMN `task_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '语音转写文字任务id' AFTER `text`,
+ADD COLUMN `voice_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '视频转为mp3后的地址' AFTER `task_id`;
\ No newline at end of file
diff --git a/db/20210301_Matt.sql b/db/20210301_Matt.sql
new file mode 100644
index 0000000..9c79072
--- /dev/null
+++ b/db/20210301_Matt.sql
@@ -0,0 +1,15 @@
+ALTER TABLE `live_scene_record`
+ADD COLUMN `text` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '转写语音文字内容' AFTER `record_type`,
+ADD COLUMN `task_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '语音转写文字任务id' AFTER `text`,
+ADD COLUMN `voice_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '视频转为mp3后的地址' AFTER `task_id`,
+ADD COLUMN `is_txt` smallint(6) NULL DEFAULT 0 COMMENT '是否转写语音文字' AFTER `voice_url`,
+ADD COLUMN `to_txt_status` smallint(6) NULL DEFAULT 0 COMMENT '语音转写文字状态,0:未转;1:转码成功;2:转码中' AFTER `is_txt`;
+
+ALTER TABLE `live_scene_live_info`
+DROP COLUMN `text`,
+DROP COLUMN `task_id`,
+DROP COLUMN `voice_url`;
+
+ALTER TABLE `live_scene_live_info`
+ADD COLUMN `is_txt` smallint NULL DEFAULT 0 COMMENT '是否转写语音文字' AFTER `is_show`;
+
diff --git a/db/20210419_Matt.sql b/db/20210419_Matt.sql
new file mode 100644
index 0000000..51e53e3
--- /dev/null
+++ b/db/20210419_Matt.sql
@@ -0,0 +1,2 @@
+ALTER TABLE `live_scene`
+ADD COLUMN `is_auto_live` tinyint(1) NULL DEFAULT 0 COMMENT '是否自动开关播,0:关闭;1:开启' AFTER `tenant_id`;
\ No newline at end of file
diff --git a/db/diversified.sql b/db/diversified.sql
new file mode 100644
index 0000000..6aa769c
--- /dev/null
+++ b/db/diversified.sql
@@ -0,0 +1,811 @@
+/*
+Navicat MySQL Data Transfer
+
+Source Server : 39.106.19.53
+Source Server Version : 50722
+Source Host : 39.106.19.53:3306
+Source Database : diversified
+
+Target Server Type : MYSQL
+Target Server Version : 50722
+File Encoding : 65001
+
+Date: 2019-01-18 15:51:42
+*/
+
+SET FOREIGN_KEY_CHECKS=0;
+
+-- ----------------------------
+-- Table structure for plm_material
+-- ----------------------------
+DROP TABLE IF EXISTS `plm_material`;
+CREATE TABLE `plm_material` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `material_title` varchar(255) DEFAULT NULL COMMENT '标题',
+ `material_description` varchar(1000) DEFAULT NULL COMMENT '描述',
+ `material_type` tinyint(1) DEFAULT NULL COMMENT '资源类型,视频等 1视频 2语音 3图片',
+ `material_cover_url` varchar(255) DEFAULT NULL COMMENT '封面图',
+ `material_cover_ori_url` varchar(255) DEFAULT NULL COMMENT '原资源封面图',
+ `material_url` varchar(1000) DEFAULT NULL COMMENT '资源URl',
+ `material_ori_url` varchar(1000) DEFAULT NULL COMMENT '原资源URl',
+ `material_size` varchar(50) DEFAULT NULL COMMENT '资源大小',
+ `file_size` int(11) DEFAULT NULL COMMENT '文件大小',
+ `material_duration` varchar(50) DEFAULT NULL COMMENT '资源时长(S)(视频、语音)',
+ `play_time` int(11) DEFAULT NULL COMMENT '文件时长',
+ `material_sources` tinyint(1) DEFAULT NULL COMMENT '资源来源 1 本地上传,2快手下载,3现场下载,4现场报道下载',
+ `material_src_id` varchar(50) DEFAULT NULL,
+ `material_status` tinyint(1) unsigned zerofill DEFAULT '0' COMMENT '素材状态 0 处理中 1 处理完成 ',
+ `create_date` datetime DEFAULT NULL COMMENT '创建日期',
+ `create_user` bigint(20) DEFAULT NULL COMMENT '创建人',
+ `update_date` datetime DEFAULT NULL COMMENT '修改日期',
+ `update_user` bigint(20) DEFAULT NULL COMMENT '修改人',
+ `is_delete` tinyint(1) DEFAULT '0' COMMENT '是否删除',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='资源信息表';
+
+-- ----------------------------
+-- Records of plm_material
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for plm_video
+-- ----------------------------
+DROP TABLE IF EXISTS `plm_video`;
+CREATE TABLE `plm_video` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `title_img` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '标题图',
+ `title` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '标题',
+ `file_size` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '文件大小',
+ `duration_time` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '时长',
+ `publish_channel` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '发布渠道',
+ `create_method` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '创建方式',
+ `status` tinyint(1) DEFAULT '0' COMMENT '视频的状态(0,草稿,1,审核中,2,成品)',
+ `video_type` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '视频的类型',
+ `date` date DEFAULT NULL COMMENT '时间',
+ `server_video_path` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '服务器的视频路径',
+ `digest` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '摘要',
+ `opinion` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '审核意见',
+ `create_date` date DEFAULT NULL COMMENT '创建日期',
+ `create_user` int(4) DEFAULT NULL COMMENT '创建人',
+ `update_date` date DEFAULT NULL COMMENT '修改日期',
+ `update_user` tinyint(4) DEFAULT NULL COMMENT '修改人',
+ `is_delete` tinyint(1) DEFAULT '0' COMMENT '是否删除',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
+
+-- ----------------------------
+-- Records of plm_video
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for plm_video_download_log
+-- ----------------------------
+DROP TABLE IF EXISTS `plm_video_download_log`;
+CREATE TABLE `plm_video_download_log` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `paramList` varchar(500) DEFAULT NULL COMMENT '请求参数',
+ `signature` varchar(500) DEFAULT NULL COMMENT '参数签名',
+ `request_json` text COMMENT '下载json对象从检索结果在获取',
+ `result_json` text COMMENT '返回结果',
+ `head_url` varchar(255) DEFAULT NULL,
+ `media_url` varchar(255) DEFAULT NULL COMMENT '下载资源路径',
+ `create_date` datetime DEFAULT NULL COMMENT '操作日期',
+ `create_user` int(11) DEFAULT NULL COMMENT '操作人',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='快手下载记录表';
+
+-- ----------------------------
+-- Records of plm_video_download_log
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for plm_video_news
+-- ----------------------------
+DROP TABLE IF EXISTS `plm_video_news`;
+CREATE TABLE `plm_video_news` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT,
+ `title` varchar(255) DEFAULT NULL COMMENT '标题',
+ `video_url` varchar(255) DEFAULT NULL COMMENT '视频路径',
+ `title_img` varchar(255) DEFAULT NULL COMMENT '标题图路径',
+ `cover_url` varchar(255) DEFAULT NULL COMMENT '资源标题图',
+ `material_url` varchar(255) DEFAULT NULL COMMENT '资源URl',
+ `material_size` varchar(64) DEFAULT NULL COMMENT '文件大小',
+ `file_size` int(11) DEFAULT NULL,
+ `material_duration` varchar(64) DEFAULT NULL COMMENT '时长',
+ `play_time` int(11) DEFAULT NULL COMMENT '文件时长',
+ `publish_channel` varchar(64) DEFAULT NULL COMMENT '发布渠道',
+ `video_sources` tinyint(1) DEFAULT NULL COMMENT '视频来源 1趣看剪辑 2本地上传',
+ `description` varchar(500) DEFAULT NULL COMMENT '摘要',
+ `status` tinyint(1) DEFAULT '0' COMMENT '审核状态(-1转码失败 0 转码中 ,1下载中,2 草稿,3,审核中,4,成品)',
+ `message` varchar(255) DEFAULT NULL COMMENT '趣看转码返回信息',
+ `task_id` bigint(20) DEFAULT NULL COMMENT '趣看任务ID',
+ `material_id` bigint(20) DEFAULT NULL COMMENT '趣看资源ID',
+ `start_time` datetime DEFAULT NULL COMMENT '趣看合成开始时间',
+ `stop_time` datetime DEFAULT NULL COMMENT '趣看合成结束时间',
+ `audit_opinion` varchar(255) DEFAULT NULL COMMENT '审核意见',
+ `create_date` datetime DEFAULT NULL COMMENT '创建日期',
+ `create_user` bigint(20) DEFAULT NULL COMMENT '创建人',
+ `update_date` datetime DEFAULT NULL COMMENT '修改日期',
+ `update_user` bigint(20) DEFAULT NULL COMMENT '修改人',
+ `audit_date` datetime DEFAULT NULL COMMENT '审核日期',
+ `audit_user` bigint(20) DEFAULT NULL COMMENT '审核人',
+ `is_delete` tinyint(1) DEFAULT '0' COMMENT '是否删除',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='视频发布信息表';
+
+-- ----------------------------
+-- Records of plm_video_news
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for plm_video_search_log
+-- ----------------------------
+DROP TABLE IF EXISTS `plm_video_search_log`;
+CREATE TABLE `plm_video_search_log` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `paramList` varchar(500) DEFAULT NULL COMMENT '请求参数',
+ `signature` varchar(500) DEFAULT NULL COMMENT '参数签名',
+ `result_json` mediumtext COMMENT '返回结果',
+ `create_date` datetime DEFAULT NULL COMMENT '操作日期',
+ `create_user` int(11) DEFAULT NULL COMMENT '操作人',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='快手检索记录表';
+
+-- ----------------------------
+-- Records of plm_video_search_log
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for qrtz_blob_triggers
+-- ----------------------------
+DROP TABLE IF EXISTS `qrtz_blob_triggers`;
+CREATE TABLE `qrtz_blob_triggers` (
+ `SCHED_NAME` varchar(120) NOT NULL,
+ `TRIGGER_NAME` varchar(200) NOT NULL,
+ `TRIGGER_GROUP` varchar(200) NOT NULL,
+ `BLOB_DATA` blob,
+ PRIMARY KEY (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`),
+ KEY `SCHED_NAME` (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`),
+ CONSTRAINT `qrtz_blob_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- ----------------------------
+-- Records of qrtz_blob_triggers
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for qrtz_calendars
+-- ----------------------------
+DROP TABLE IF EXISTS `qrtz_calendars`;
+CREATE TABLE `qrtz_calendars` (
+ `SCHED_NAME` varchar(120) NOT NULL,
+ `CALENDAR_NAME` varchar(200) NOT NULL,
+ `CALENDAR` blob NOT NULL,
+ PRIMARY KEY (`SCHED_NAME`,`CALENDAR_NAME`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- ----------------------------
+-- Records of qrtz_calendars
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for qrtz_cron_triggers
+-- ----------------------------
+DROP TABLE IF EXISTS `qrtz_cron_triggers`;
+CREATE TABLE `qrtz_cron_triggers` (
+ `SCHED_NAME` varchar(120) NOT NULL,
+ `TRIGGER_NAME` varchar(200) NOT NULL,
+ `TRIGGER_GROUP` varchar(200) NOT NULL,
+ `CRON_EXPRESSION` varchar(120) NOT NULL,
+ `TIME_ZONE_ID` varchar(80) DEFAULT NULL,
+ PRIMARY KEY (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`),
+ CONSTRAINT `qrtz_cron_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- ----------------------------
+-- Records of qrtz_cron_triggers
+-- ----------------------------
+INSERT INTO `qrtz_cron_triggers` VALUES ('RenrenScheduler', 'TASK_1', 'DEFAULT', '0 0/30 * * * ?', 'Asia/Shanghai');
+INSERT INTO `qrtz_cron_triggers` VALUES ('RenrenScheduler', 'TASK_10', 'DEFAULT', '0 0/30 * * * ?', 'Asia/Shanghai');
+INSERT INTO `qrtz_cron_triggers` VALUES ('RenrenScheduler', 'TASK_2', 'DEFAULT', '0 0/30 * * * ?', 'Asia/Shanghai');
+INSERT INTO `qrtz_cron_triggers` VALUES ('RenrenScheduler', 'TASK_3', 'DEFAULT', '0 0/30 * * * ?', 'Asia/Shanghai');
+INSERT INTO `qrtz_cron_triggers` VALUES ('RenrenScheduler', 'TASK_4', 'DEFAULT', '0 0/30 * * * ?', 'Asia/Shanghai');
+INSERT INTO `qrtz_cron_triggers` VALUES ('RenrenScheduler', 'TASK_5', 'DEFAULT', '0 0/30 * * * ?', 'Asia/Shanghai');
+INSERT INTO `qrtz_cron_triggers` VALUES ('RenrenScheduler', 'TASK_6', 'DEFAULT', '0 0/30 * * * ?', 'Asia/Shanghai');
+INSERT INTO `qrtz_cron_triggers` VALUES ('RenrenScheduler', 'TASK_7', 'DEFAULT', '0 0/30 * * * ?', 'Asia/Shanghai');
+INSERT INTO `qrtz_cron_triggers` VALUES ('RenrenScheduler', 'TASK_8', 'DEFAULT', '0 0/30 * * * ?', 'Asia/Shanghai');
+INSERT INTO `qrtz_cron_triggers` VALUES ('RenrenScheduler', 'TASK_9', 'DEFAULT', '0 0/30 * * * ?', 'Asia/Shanghai');
+
+-- ----------------------------
+-- Table structure for qrtz_fired_triggers
+-- ----------------------------
+DROP TABLE IF EXISTS `qrtz_fired_triggers`;
+CREATE TABLE `qrtz_fired_triggers` (
+ `SCHED_NAME` varchar(120) NOT NULL,
+ `ENTRY_ID` varchar(95) NOT NULL,
+ `TRIGGER_NAME` varchar(200) NOT NULL,
+ `TRIGGER_GROUP` varchar(200) NOT NULL,
+ `INSTANCE_NAME` varchar(200) NOT NULL,
+ `FIRED_TIME` bigint(13) NOT NULL,
+ `SCHED_TIME` bigint(13) NOT NULL,
+ `PRIORITY` int(11) NOT NULL,
+ `STATE` varchar(16) NOT NULL,
+ `JOB_NAME` varchar(200) DEFAULT NULL,
+ `JOB_GROUP` varchar(200) DEFAULT NULL,
+ `IS_NONCONCURRENT` varchar(1) DEFAULT NULL,
+ `REQUESTS_RECOVERY` varchar(1) DEFAULT NULL,
+ PRIMARY KEY (`SCHED_NAME`,`ENTRY_ID`),
+ KEY `IDX_QRTZ_FT_TRIG_INST_NAME` (`SCHED_NAME`,`INSTANCE_NAME`),
+ KEY `IDX_QRTZ_FT_INST_JOB_REQ_RCVRY` (`SCHED_NAME`,`INSTANCE_NAME`,`REQUESTS_RECOVERY`),
+ KEY `IDX_QRTZ_FT_J_G` (`SCHED_NAME`,`JOB_NAME`,`JOB_GROUP`),
+ KEY `IDX_QRTZ_FT_JG` (`SCHED_NAME`,`JOB_GROUP`),
+ KEY `IDX_QRTZ_FT_T_G` (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`),
+ KEY `IDX_QRTZ_FT_TG` (`SCHED_NAME`,`TRIGGER_GROUP`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- ----------------------------
+-- Records of qrtz_fired_triggers
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for qrtz_job_details
+-- ----------------------------
+DROP TABLE IF EXISTS `qrtz_job_details`;
+CREATE TABLE `qrtz_job_details` (
+ `SCHED_NAME` varchar(120) NOT NULL,
+ `JOB_NAME` varchar(200) NOT NULL,
+ `JOB_GROUP` varchar(200) NOT NULL,
+ `DESCRIPTION` varchar(250) DEFAULT NULL,
+ `JOB_CLASS_NAME` varchar(250) NOT NULL,
+ `IS_DURABLE` varchar(1) NOT NULL,
+ `IS_NONCONCURRENT` varchar(1) NOT NULL,
+ `IS_UPDATE_DATA` varchar(1) NOT NULL,
+ `REQUESTS_RECOVERY` varchar(1) NOT NULL,
+ `JOB_DATA` blob,
+ PRIMARY KEY (`SCHED_NAME`,`JOB_NAME`,`JOB_GROUP`),
+ KEY `IDX_QRTZ_J_REQ_RECOVERY` (`SCHED_NAME`,`REQUESTS_RECOVERY`),
+ KEY `IDX_QRTZ_J_GRP` (`SCHED_NAME`,`JOB_GROUP`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- ----------------------------
+-- Records of qrtz_job_details
+-- ----------------------------
+INSERT INTO `qrtz_job_details` VALUES ('RenrenScheduler', 'TASK_1', 'DEFAULT', null, 'com.platform.modules.job.utils.ScheduleJob', '0', '0', '0', '0', 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C7708000000100000000174000D4A4F425F504152414D5F4B455973720031636F6D2E706C6174666F726D2E6D6F64756C65732E6A6F622E656E746974792E5363686564756C654A6F62456E7469747900000000000000010200084C00086265616E4E616D657400124C6A6176612F6C616E672F537472696E673B4C000A63726561746554696D657400104C6A6176612F7574696C2F446174653B4C000E63726F6E45787072657373696F6E71007E00094C00056A6F6249647400104C6A6176612F6C616E672F4C6F6E673B4C000A6D6574686F644E616D6571007E00094C0006706172616D7371007E00094C000672656D61726B71007E00094C00067374617475737400134C6A6176612F6C616E672F496E74656765723B7870740008746573745461736B7372000E6A6176612E7574696C2E44617465686A81014B5974190300007870770800000158BAF593307874000E3020302F3330202A202A202A203F7372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B020000787000000000000000017400047465737474000672656E72656E74000FE69C89E58F82E695B0E6B58BE8AF95737200116A6176612E6C616E672E496E746567657212E2A0A4F781873802000149000576616C75657871007E0013000000007800);
+INSERT INTO `qrtz_job_details` VALUES ('RenrenScheduler', 'TASK_10', 'DEFAULT', null, 'com.platform.modules.job.utils.ScheduleJob', '0', '0', '0', '0', 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C7708000000100000000174000D4A4F425F504152414D5F4B455973720031636F6D2E706C6174666F726D2E6D6F64756C65732E6A6F622E656E746974792E5363686564756C654A6F62456E7469747900000000000000010200084C00086265616E4E616D657400124C6A6176612F6C616E672F537472696E673B4C000A63726561746554696D657400104C6A6176612F7574696C2F446174653B4C000E63726F6E45787072657373696F6E71007E00094C00056A6F6249647400104C6A6176612F6C616E672F4C6F6E673B4C000A6D6574686F644E616D6571007E00094C0006706172616D7371007E00094C000672656D61726B71007E00094C00067374617475737400134C6A6176612F6C616E672F496E74656765723B7870740008746573745461736B7372000E6A6176612E7574696C2E44617465686A81014B5974190300007870770800000158C377C4607874000E3020302F3330202A202A202A203F7372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B0200007870000000000000000A74000574657374327074000FE697A0E58F82E695B0E6B58BE8AF95737200116A6176612E6C616E672E496E746567657212E2A0A4F781873802000149000576616C75657871007E0013000000017800);
+INSERT INTO `qrtz_job_details` VALUES ('RenrenScheduler', 'TASK_2', 'DEFAULT', null, 'com.platform.modules.job.utils.ScheduleJob', '0', '0', '0', '0', 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C7708000000100000000174000D4A4F425F504152414D5F4B455973720031636F6D2E706C6174666F726D2E6D6F64756C65732E6A6F622E656E746974792E5363686564756C654A6F62456E7469747900000000000000010200084C00086265616E4E616D657400124C6A6176612F6C616E672F537472696E673B4C000A63726561746554696D657400104C6A6176612F7574696C2F446174653B4C000E63726F6E45787072657373696F6E71007E00094C00056A6F6249647400104C6A6176612F6C616E672F4C6F6E673B4C000A6D6574686F644E616D6571007E00094C0006706172616D7371007E00094C000672656D61726B71007E00094C00067374617475737400134C6A6176612F6C616E672F496E74656765723B7870740008746573745461736B7372000E6A6176612E7574696C2E44617465686A81014B5974190300007870770800000158C377C4607874000E3020302F3330202A202A202A203F7372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B0200007870000000000000000274000574657374327074000FE697A0E58F82E695B0E6B58BE8AF95737200116A6176612E6C616E672E496E746567657212E2A0A4F781873802000149000576616C75657871007E0013000000017800);
+INSERT INTO `qrtz_job_details` VALUES ('RenrenScheduler', 'TASK_3', 'DEFAULT', null, 'com.platform.modules.job.utils.ScheduleJob', '0', '0', '0', '0', 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C7708000000100000000174000D4A4F425F504152414D5F4B455973720031636F6D2E706C6174666F726D2E6D6F64756C65732E6A6F622E656E746974792E5363686564756C654A6F62456E7469747900000000000000010200084C00086265616E4E616D657400124C6A6176612F6C616E672F537472696E673B4C000A63726561746554696D657400104C6A6176612F7574696C2F446174653B4C000E63726F6E45787072657373696F6E71007E00094C00056A6F6249647400104C6A6176612F6C616E672F4C6F6E673B4C000A6D6574686F644E616D6571007E00094C0006706172616D7371007E00094C000672656D61726B71007E00094C00067374617475737400134C6A6176612F6C616E672F496E74656765723B7870740008746573745461736B7372000E6A6176612E7574696C2E44617465686A81014B5974190300007870770800000158BAF593307874000E3020302F3330202A202A202A203F7372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B020000787000000000000000037400047465737474000672656E72656E74000FE69C89E58F82E695B0E6B58BE8AF95737200116A6176612E6C616E672E496E746567657212E2A0A4F781873802000149000576616C75657871007E0013000000007800);
+INSERT INTO `qrtz_job_details` VALUES ('RenrenScheduler', 'TASK_4', 'DEFAULT', null, 'com.platform.modules.job.utils.ScheduleJob', '0', '0', '0', '0', 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C7708000000100000000174000D4A4F425F504152414D5F4B455973720031636F6D2E706C6174666F726D2E6D6F64756C65732E6A6F622E656E746974792E5363686564756C654A6F62456E7469747900000000000000010200084C00086265616E4E616D657400124C6A6176612F6C616E672F537472696E673B4C000A63726561746554696D657400104C6A6176612F7574696C2F446174653B4C000E63726F6E45787072657373696F6E71007E00094C00056A6F6249647400104C6A6176612F6C616E672F4C6F6E673B4C000A6D6574686F644E616D6571007E00094C0006706172616D7371007E00094C000672656D61726B71007E00094C00067374617475737400134C6A6176612F6C616E672F496E74656765723B7870740008746573745461736B7372000E6A6176612E7574696C2E44617465686A81014B5974190300007870770800000158C377C4607874000E3020302F3330202A202A202A203F7372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B0200007870000000000000000474000574657374327074000FE697A0E58F82E695B0E6B58BE8AF95737200116A6176612E6C616E672E496E746567657212E2A0A4F781873802000149000576616C75657871007E0013000000017800);
+INSERT INTO `qrtz_job_details` VALUES ('RenrenScheduler', 'TASK_5', 'DEFAULT', null, 'com.platform.modules.job.utils.ScheduleJob', '0', '0', '0', '0', 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C7708000000100000000174000D4A4F425F504152414D5F4B455973720031636F6D2E706C6174666F726D2E6D6F64756C65732E6A6F622E656E746974792E5363686564756C654A6F62456E7469747900000000000000010200084C00086265616E4E616D657400124C6A6176612F6C616E672F537472696E673B4C000A63726561746554696D657400104C6A6176612F7574696C2F446174653B4C000E63726F6E45787072657373696F6E71007E00094C00056A6F6249647400104C6A6176612F6C616E672F4C6F6E673B4C000A6D6574686F644E616D6571007E00094C0006706172616D7371007E00094C000672656D61726B71007E00094C00067374617475737400134C6A6176612F6C616E672F496E74656765723B7870740008746573745461736B7372000E6A6176612E7574696C2E44617465686A81014B5974190300007870770800000158BAF593307874000E3020302F3330202A202A202A203F7372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B020000787000000000000000057400047465737474000672656E72656E74000FE69C89E58F82E695B0E6B58BE8AF95737200116A6176612E6C616E672E496E746567657212E2A0A4F781873802000149000576616C75657871007E0013000000007800);
+INSERT INTO `qrtz_job_details` VALUES ('RenrenScheduler', 'TASK_6', 'DEFAULT', null, 'com.platform.modules.job.utils.ScheduleJob', '0', '0', '0', '0', 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C7708000000100000000174000D4A4F425F504152414D5F4B455973720031636F6D2E706C6174666F726D2E6D6F64756C65732E6A6F622E656E746974792E5363686564756C654A6F62456E7469747900000000000000010200084C00086265616E4E616D657400124C6A6176612F6C616E672F537472696E673B4C000A63726561746554696D657400104C6A6176612F7574696C2F446174653B4C000E63726F6E45787072657373696F6E71007E00094C00056A6F6249647400104C6A6176612F6C616E672F4C6F6E673B4C000A6D6574686F644E616D6571007E00094C0006706172616D7371007E00094C000672656D61726B71007E00094C00067374617475737400134C6A6176612F6C616E672F496E74656765723B7870740008746573745461736B7372000E6A6176612E7574696C2E44617465686A81014B5974190300007870770800000158C377C4607874000E3020302F3330202A202A202A203F7372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B0200007870000000000000000674000574657374327074000FE697A0E58F82E695B0E6B58BE8AF95737200116A6176612E6C616E672E496E746567657212E2A0A4F781873802000149000576616C75657871007E0013000000017800);
+INSERT INTO `qrtz_job_details` VALUES ('RenrenScheduler', 'TASK_7', 'DEFAULT', null, 'com.platform.modules.job.utils.ScheduleJob', '0', '0', '0', '0', 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C7708000000100000000174000D4A4F425F504152414D5F4B455973720031636F6D2E706C6174666F726D2E6D6F64756C65732E6A6F622E656E746974792E5363686564756C654A6F62456E7469747900000000000000010200084C00086265616E4E616D657400124C6A6176612F6C616E672F537472696E673B4C000A63726561746554696D657400104C6A6176612F7574696C2F446174653B4C000E63726F6E45787072657373696F6E71007E00094C00056A6F6249647400104C6A6176612F6C616E672F4C6F6E673B4C000A6D6574686F644E616D6571007E00094C0006706172616D7371007E00094C000672656D61726B71007E00094C00067374617475737400134C6A6176612F6C616E672F496E74656765723B7870740008746573745461736B7372000E6A6176612E7574696C2E44617465686A81014B5974190300007870770800000158BAF593307874000E3020302F3330202A202A202A203F7372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B020000787000000000000000077400047465737474000672656E72656E74000FE69C89E58F82E695B0E6B58BE8AF95737200116A6176612E6C616E672E496E746567657212E2A0A4F781873802000149000576616C75657871007E0013000000007800);
+INSERT INTO `qrtz_job_details` VALUES ('RenrenScheduler', 'TASK_8', 'DEFAULT', null, 'com.platform.modules.job.utils.ScheduleJob', '0', '0', '0', '0', 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C7708000000100000000174000D4A4F425F504152414D5F4B455973720031636F6D2E706C6174666F726D2E6D6F64756C65732E6A6F622E656E746974792E5363686564756C654A6F62456E7469747900000000000000010200084C00086265616E4E616D657400124C6A6176612F6C616E672F537472696E673B4C000A63726561746554696D657400104C6A6176612F7574696C2F446174653B4C000E63726F6E45787072657373696F6E71007E00094C00056A6F6249647400104C6A6176612F6C616E672F4C6F6E673B4C000A6D6574686F644E616D6571007E00094C0006706172616D7371007E00094C000672656D61726B71007E00094C00067374617475737400134C6A6176612F6C616E672F496E74656765723B7870740008746573745461736B7372000E6A6176612E7574696C2E44617465686A81014B5974190300007870770800000158C377C4607874000E3020302F3330202A202A202A203F7372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B0200007870000000000000000874000574657374327074000FE697A0E58F82E695B0E6B58BE8AF95737200116A6176612E6C616E672E496E746567657212E2A0A4F781873802000149000576616C75657871007E0013000000017800);
+INSERT INTO `qrtz_job_details` VALUES ('RenrenScheduler', 'TASK_9', 'DEFAULT', null, 'com.platform.modules.job.utils.ScheduleJob', '0', '0', '0', '0', 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C7708000000100000000174000D4A4F425F504152414D5F4B455973720031636F6D2E706C6174666F726D2E6D6F64756C65732E6A6F622E656E746974792E5363686564756C654A6F62456E7469747900000000000000010200084C00086265616E4E616D657400124C6A6176612F6C616E672F537472696E673B4C000A63726561746554696D657400104C6A6176612F7574696C2F446174653B4C000E63726F6E45787072657373696F6E71007E00094C00056A6F6249647400104C6A6176612F6C616E672F4C6F6E673B4C000A6D6574686F644E616D6571007E00094C0006706172616D7371007E00094C000672656D61726B71007E00094C00067374617475737400134C6A6176612F6C616E672F496E74656765723B7870740008746573745461736B7372000E6A6176612E7574696C2E44617465686A81014B5974190300007870770800000158BAF593307874000E3020302F3330202A202A202A203F7372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B020000787000000000000000097400047465737474000672656E72656E74000FE69C89E58F82E695B0E6B58BE8AF95737200116A6176612E6C616E672E496E746567657212E2A0A4F781873802000149000576616C75657871007E0013000000007800);
+
+-- ----------------------------
+-- Table structure for qrtz_locks
+-- ----------------------------
+DROP TABLE IF EXISTS `qrtz_locks`;
+CREATE TABLE `qrtz_locks` (
+ `SCHED_NAME` varchar(120) NOT NULL,
+ `LOCK_NAME` varchar(40) NOT NULL,
+ PRIMARY KEY (`SCHED_NAME`,`LOCK_NAME`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- ----------------------------
+-- Records of qrtz_locks
+-- ----------------------------
+INSERT INTO `qrtz_locks` VALUES ('RenrenScheduler', 'STATE_ACCESS');
+INSERT INTO `qrtz_locks` VALUES ('RenrenScheduler', 'TRIGGER_ACCESS');
+
+-- ----------------------------
+-- Table structure for qrtz_paused_trigger_grps
+-- ----------------------------
+DROP TABLE IF EXISTS `qrtz_paused_trigger_grps`;
+CREATE TABLE `qrtz_paused_trigger_grps` (
+ `SCHED_NAME` varchar(120) NOT NULL,
+ `TRIGGER_GROUP` varchar(200) NOT NULL,
+ PRIMARY KEY (`SCHED_NAME`,`TRIGGER_GROUP`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- ----------------------------
+-- Records of qrtz_paused_trigger_grps
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for qrtz_scheduler_state
+-- ----------------------------
+DROP TABLE IF EXISTS `qrtz_scheduler_state`;
+CREATE TABLE `qrtz_scheduler_state` (
+ `SCHED_NAME` varchar(120) NOT NULL,
+ `INSTANCE_NAME` varchar(200) NOT NULL,
+ `LAST_CHECKIN_TIME` bigint(13) NOT NULL,
+ `CHECKIN_INTERVAL` bigint(13) NOT NULL,
+ PRIMARY KEY (`SCHED_NAME`,`INSTANCE_NAME`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- ----------------------------
+-- Records of qrtz_scheduler_state
+-- ----------------------------
+INSERT INTO `qrtz_scheduler_state` VALUES ('RenrenScheduler', 'iz2zeakzlq9sm4xqwxda7vz1545727870499', '1547798084939', '15000');
+
+-- ----------------------------
+-- Table structure for qrtz_simple_triggers
+-- ----------------------------
+DROP TABLE IF EXISTS `qrtz_simple_triggers`;
+CREATE TABLE `qrtz_simple_triggers` (
+ `SCHED_NAME` varchar(120) NOT NULL,
+ `TRIGGER_NAME` varchar(200) NOT NULL,
+ `TRIGGER_GROUP` varchar(200) NOT NULL,
+ `REPEAT_COUNT` bigint(7) NOT NULL,
+ `REPEAT_INTERVAL` bigint(12) NOT NULL,
+ `TIMES_TRIGGERED` bigint(10) NOT NULL,
+ PRIMARY KEY (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`),
+ CONSTRAINT `qrtz_simple_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- ----------------------------
+-- Records of qrtz_simple_triggers
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for qrtz_simprop_triggers
+-- ----------------------------
+DROP TABLE IF EXISTS `qrtz_simprop_triggers`;
+CREATE TABLE `qrtz_simprop_triggers` (
+ `SCHED_NAME` varchar(120) NOT NULL,
+ `TRIGGER_NAME` varchar(200) NOT NULL,
+ `TRIGGER_GROUP` varchar(200) NOT NULL,
+ `STR_PROP_1` varchar(512) DEFAULT NULL,
+ `STR_PROP_2` varchar(512) DEFAULT NULL,
+ `STR_PROP_3` varchar(512) DEFAULT NULL,
+ `INT_PROP_1` int(11) DEFAULT NULL,
+ `INT_PROP_2` int(11) DEFAULT NULL,
+ `LONG_PROP_1` bigint(20) DEFAULT NULL,
+ `LONG_PROP_2` bigint(20) DEFAULT NULL,
+ `DEC_PROP_1` decimal(13,4) DEFAULT NULL,
+ `DEC_PROP_2` decimal(13,4) DEFAULT NULL,
+ `BOOL_PROP_1` varchar(1) DEFAULT NULL,
+ `BOOL_PROP_2` varchar(1) DEFAULT NULL,
+ PRIMARY KEY (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`),
+ CONSTRAINT `qrtz_simprop_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- ----------------------------
+-- Records of qrtz_simprop_triggers
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for qrtz_triggers
+-- ----------------------------
+DROP TABLE IF EXISTS `qrtz_triggers`;
+CREATE TABLE `qrtz_triggers` (
+ `SCHED_NAME` varchar(120) NOT NULL,
+ `TRIGGER_NAME` varchar(200) NOT NULL,
+ `TRIGGER_GROUP` varchar(200) NOT NULL,
+ `JOB_NAME` varchar(200) NOT NULL,
+ `JOB_GROUP` varchar(200) NOT NULL,
+ `DESCRIPTION` varchar(250) DEFAULT NULL,
+ `NEXT_FIRE_TIME` bigint(13) DEFAULT NULL,
+ `PREV_FIRE_TIME` bigint(13) DEFAULT NULL,
+ `PRIORITY` int(11) DEFAULT NULL,
+ `TRIGGER_STATE` varchar(16) NOT NULL,
+ `TRIGGER_TYPE` varchar(8) NOT NULL,
+ `START_TIME` bigint(13) NOT NULL,
+ `END_TIME` bigint(13) DEFAULT NULL,
+ `CALENDAR_NAME` varchar(200) DEFAULT NULL,
+ `MISFIRE_INSTR` smallint(2) DEFAULT NULL,
+ `JOB_DATA` blob,
+ PRIMARY KEY (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`),
+ KEY `IDX_QRTZ_T_J` (`SCHED_NAME`,`JOB_NAME`,`JOB_GROUP`),
+ KEY `IDX_QRTZ_T_JG` (`SCHED_NAME`,`JOB_GROUP`),
+ KEY `IDX_QRTZ_T_C` (`SCHED_NAME`,`CALENDAR_NAME`),
+ KEY `IDX_QRTZ_T_G` (`SCHED_NAME`,`TRIGGER_GROUP`),
+ KEY `IDX_QRTZ_T_STATE` (`SCHED_NAME`,`TRIGGER_STATE`),
+ KEY `IDX_QRTZ_T_N_STATE` (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`,`TRIGGER_STATE`),
+ KEY `IDX_QRTZ_T_N_G_STATE` (`SCHED_NAME`,`TRIGGER_GROUP`,`TRIGGER_STATE`),
+ KEY `IDX_QRTZ_T_NEXT_FIRE_TIME` (`SCHED_NAME`,`NEXT_FIRE_TIME`),
+ KEY `IDX_QRTZ_T_NFT_ST` (`SCHED_NAME`,`TRIGGER_STATE`,`NEXT_FIRE_TIME`),
+ KEY `IDX_QRTZ_T_NFT_MISFIRE` (`SCHED_NAME`,`MISFIRE_INSTR`,`NEXT_FIRE_TIME`),
+ KEY `IDX_QRTZ_T_NFT_ST_MISFIRE` (`SCHED_NAME`,`MISFIRE_INSTR`,`NEXT_FIRE_TIME`,`TRIGGER_STATE`),
+ KEY `IDX_QRTZ_T_NFT_ST_MISFIRE_GRP` (`SCHED_NAME`,`MISFIRE_INSTR`,`NEXT_FIRE_TIME`,`TRIGGER_GROUP`,`TRIGGER_STATE`),
+ CONSTRAINT `qrtz_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) REFERENCES `qrtz_job_details` (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- ----------------------------
+-- Records of qrtz_triggers
+-- ----------------------------
+INSERT INTO `qrtz_triggers` VALUES ('RenrenScheduler', 'TASK_1', 'DEFAULT', 'TASK_1', 'DEFAULT', null, '1547798400000', '1547796600000', '5', 'WAITING', 'CRON', '1532398552000', '0', null, '2', 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C7708000000100000000174000D4A4F425F504152414D5F4B455973720031636F6D2E706C6174666F726D2E6D6F64756C65732E6A6F622E656E746974792E5363686564756C654A6F62456E7469747900000000000000010200084C00086265616E4E616D657400124C6A6176612F6C616E672F537472696E673B4C000A63726561746554696D657400104C6A6176612F7574696C2F446174653B4C000E63726F6E45787072657373696F6E71007E00094C00056A6F6249647400104C6A6176612F6C616E672F4C6F6E673B4C000A6D6574686F644E616D6571007E00094C0006706172616D7371007E00094C000672656D61726B71007E00094C00067374617475737400134C6A6176612F6C616E672F496E74656765723B7870740008746573745461736B7372000E6A6176612E7574696C2E44617465686A81014B5974190300007870770800000158BAF593307874000E3020302F3330202A202A202A203F7372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B020000787000000000000000017400047465737474000672656E72656E74000FE69C89E58F82E695B0E6B58BE8AF95737200116A6176612E6C616E672E496E746567657212E2A0A4F781873802000149000576616C75657871007E0013000000007800);
+INSERT INTO `qrtz_triggers` VALUES ('RenrenScheduler', 'TASK_10', 'DEFAULT', 'TASK_10', 'DEFAULT', null, '1532611800000', '-1', '5', 'PAUSED', 'CRON', '1532611074000', '0', null, '2', 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C7708000000100000000174000D4A4F425F504152414D5F4B455973720031636F6D2E706C6174666F726D2E6D6F64756C65732E6A6F622E656E746974792E5363686564756C654A6F62456E7469747900000000000000010200084C00086265616E4E616D657400124C6A6176612F6C616E672F537472696E673B4C000A63726561746554696D657400104C6A6176612F7574696C2F446174653B4C000E63726F6E45787072657373696F6E71007E00094C00056A6F6249647400104C6A6176612F6C616E672F4C6F6E673B4C000A6D6574686F644E616D6571007E00094C0006706172616D7371007E00094C000672656D61726B71007E00094C00067374617475737400134C6A6176612F6C616E672F496E74656765723B7870740008746573745461736B7372000E6A6176612E7574696C2E44617465686A81014B5974190300007870770800000158C377C4607874000E3020302F3330202A202A202A203F7372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B0200007870000000000000000A74000574657374327074000FE697A0E58F82E695B0E6B58BE8AF95737200116A6176612E6C616E672E496E746567657212E2A0A4F781873802000149000576616C75657871007E0013000000017800);
+INSERT INTO `qrtz_triggers` VALUES ('RenrenScheduler', 'TASK_2', 'DEFAULT', 'TASK_2', 'DEFAULT', null, '1532399400000', '-1', '5', 'PAUSED', 'CRON', '1532398552000', '0', null, '2', 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C7708000000100000000174000D4A4F425F504152414D5F4B455973720031636F6D2E706C6174666F726D2E6D6F64756C65732E6A6F622E656E746974792E5363686564756C654A6F62456E7469747900000000000000010200084C00086265616E4E616D657400124C6A6176612F6C616E672F537472696E673B4C000A63726561746554696D657400104C6A6176612F7574696C2F446174653B4C000E63726F6E45787072657373696F6E71007E00094C00056A6F6249647400104C6A6176612F6C616E672F4C6F6E673B4C000A6D6574686F644E616D6571007E00094C0006706172616D7371007E00094C000672656D61726B71007E00094C00067374617475737400134C6A6176612F6C616E672F496E74656765723B7870740008746573745461736B7372000E6A6176612E7574696C2E44617465686A81014B5974190300007870770800000158C377C4607874000E3020302F3330202A202A202A203F7372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B0200007870000000000000000274000574657374327074000FE697A0E58F82E695B0E6B58BE8AF95737200116A6176612E6C616E672E496E746567657212E2A0A4F781873802000149000576616C75657871007E0013000000017800);
+INSERT INTO `qrtz_triggers` VALUES ('RenrenScheduler', 'TASK_3', 'DEFAULT', 'TASK_3', 'DEFAULT', null, '1547798400000', '1547796600000', '5', 'WAITING', 'CRON', '1532611074000', '0', null, '2', 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C7708000000100000000174000D4A4F425F504152414D5F4B455973720031636F6D2E706C6174666F726D2E6D6F64756C65732E6A6F622E656E746974792E5363686564756C654A6F62456E7469747900000000000000010200084C00086265616E4E616D657400124C6A6176612F6C616E672F537472696E673B4C000A63726561746554696D657400104C6A6176612F7574696C2F446174653B4C000E63726F6E45787072657373696F6E71007E00094C00056A6F6249647400104C6A6176612F6C616E672F4C6F6E673B4C000A6D6574686F644E616D6571007E00094C0006706172616D7371007E00094C000672656D61726B71007E00094C00067374617475737400134C6A6176612F6C616E672F496E74656765723B7870740008746573745461736B7372000E6A6176612E7574696C2E44617465686A81014B5974190300007870770800000158BAF593307874000E3020302F3330202A202A202A203F7372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B020000787000000000000000037400047465737474000672656E72656E74000FE69C89E58F82E695B0E6B58BE8AF95737200116A6176612E6C616E672E496E746567657212E2A0A4F781873802000149000576616C75657871007E0013000000007800);
+INSERT INTO `qrtz_triggers` VALUES ('RenrenScheduler', 'TASK_4', 'DEFAULT', 'TASK_4', 'DEFAULT', null, '1532611800000', '-1', '5', 'PAUSED', 'CRON', '1532611074000', '0', null, '2', 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C7708000000100000000174000D4A4F425F504152414D5F4B455973720031636F6D2E706C6174666F726D2E6D6F64756C65732E6A6F622E656E746974792E5363686564756C654A6F62456E7469747900000000000000010200084C00086265616E4E616D657400124C6A6176612F6C616E672F537472696E673B4C000A63726561746554696D657400104C6A6176612F7574696C2F446174653B4C000E63726F6E45787072657373696F6E71007E00094C00056A6F6249647400104C6A6176612F6C616E672F4C6F6E673B4C000A6D6574686F644E616D6571007E00094C0006706172616D7371007E00094C000672656D61726B71007E00094C00067374617475737400134C6A6176612F6C616E672F496E74656765723B7870740008746573745461736B7372000E6A6176612E7574696C2E44617465686A81014B5974190300007870770800000158C377C4607874000E3020302F3330202A202A202A203F7372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B0200007870000000000000000474000574657374327074000FE697A0E58F82E695B0E6B58BE8AF95737200116A6176612E6C616E672E496E746567657212E2A0A4F781873802000149000576616C75657871007E0013000000017800);
+INSERT INTO `qrtz_triggers` VALUES ('RenrenScheduler', 'TASK_5', 'DEFAULT', 'TASK_5', 'DEFAULT', null, '1547798400000', '1547796600000', '5', 'WAITING', 'CRON', '1532611074000', '0', null, '2', 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C7708000000100000000174000D4A4F425F504152414D5F4B455973720031636F6D2E706C6174666F726D2E6D6F64756C65732E6A6F622E656E746974792E5363686564756C654A6F62456E7469747900000000000000010200084C00086265616E4E616D657400124C6A6176612F6C616E672F537472696E673B4C000A63726561746554696D657400104C6A6176612F7574696C2F446174653B4C000E63726F6E45787072657373696F6E71007E00094C00056A6F6249647400104C6A6176612F6C616E672F4C6F6E673B4C000A6D6574686F644E616D6571007E00094C0006706172616D7371007E00094C000672656D61726B71007E00094C00067374617475737400134C6A6176612F6C616E672F496E74656765723B7870740008746573745461736B7372000E6A6176612E7574696C2E44617465686A81014B5974190300007870770800000158BAF593307874000E3020302F3330202A202A202A203F7372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B020000787000000000000000057400047465737474000672656E72656E74000FE69C89E58F82E695B0E6B58BE8AF95737200116A6176612E6C616E672E496E746567657212E2A0A4F781873802000149000576616C75657871007E0013000000007800);
+INSERT INTO `qrtz_triggers` VALUES ('RenrenScheduler', 'TASK_6', 'DEFAULT', 'TASK_6', 'DEFAULT', null, '1532611800000', '-1', '5', 'PAUSED', 'CRON', '1532611074000', '0', null, '2', 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C7708000000100000000174000D4A4F425F504152414D5F4B455973720031636F6D2E706C6174666F726D2E6D6F64756C65732E6A6F622E656E746974792E5363686564756C654A6F62456E7469747900000000000000010200084C00086265616E4E616D657400124C6A6176612F6C616E672F537472696E673B4C000A63726561746554696D657400104C6A6176612F7574696C2F446174653B4C000E63726F6E45787072657373696F6E71007E00094C00056A6F6249647400104C6A6176612F6C616E672F4C6F6E673B4C000A6D6574686F644E616D6571007E00094C0006706172616D7371007E00094C000672656D61726B71007E00094C00067374617475737400134C6A6176612F6C616E672F496E74656765723B7870740008746573745461736B7372000E6A6176612E7574696C2E44617465686A81014B5974190300007870770800000158C377C4607874000E3020302F3330202A202A202A203F7372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B0200007870000000000000000674000574657374327074000FE697A0E58F82E695B0E6B58BE8AF95737200116A6176612E6C616E672E496E746567657212E2A0A4F781873802000149000576616C75657871007E0013000000017800);
+INSERT INTO `qrtz_triggers` VALUES ('RenrenScheduler', 'TASK_7', 'DEFAULT', 'TASK_7', 'DEFAULT', null, '1547798400000', '1547796600000', '5', 'WAITING', 'CRON', '1532611074000', '0', null, '2', 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C7708000000100000000174000D4A4F425F504152414D5F4B455973720031636F6D2E706C6174666F726D2E6D6F64756C65732E6A6F622E656E746974792E5363686564756C654A6F62456E7469747900000000000000010200084C00086265616E4E616D657400124C6A6176612F6C616E672F537472696E673B4C000A63726561746554696D657400104C6A6176612F7574696C2F446174653B4C000E63726F6E45787072657373696F6E71007E00094C00056A6F6249647400104C6A6176612F6C616E672F4C6F6E673B4C000A6D6574686F644E616D6571007E00094C0006706172616D7371007E00094C000672656D61726B71007E00094C00067374617475737400134C6A6176612F6C616E672F496E74656765723B7870740008746573745461736B7372000E6A6176612E7574696C2E44617465686A81014B5974190300007870770800000158BAF593307874000E3020302F3330202A202A202A203F7372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B020000787000000000000000077400047465737474000672656E72656E74000FE69C89E58F82E695B0E6B58BE8AF95737200116A6176612E6C616E672E496E746567657212E2A0A4F781873802000149000576616C75657871007E0013000000007800);
+INSERT INTO `qrtz_triggers` VALUES ('RenrenScheduler', 'TASK_8', 'DEFAULT', 'TASK_8', 'DEFAULT', null, '1532611800000', '-1', '5', 'PAUSED', 'CRON', '1532611074000', '0', null, '2', 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C7708000000100000000174000D4A4F425F504152414D5F4B455973720031636F6D2E706C6174666F726D2E6D6F64756C65732E6A6F622E656E746974792E5363686564756C654A6F62456E7469747900000000000000010200084C00086265616E4E616D657400124C6A6176612F6C616E672F537472696E673B4C000A63726561746554696D657400104C6A6176612F7574696C2F446174653B4C000E63726F6E45787072657373696F6E71007E00094C00056A6F6249647400104C6A6176612F6C616E672F4C6F6E673B4C000A6D6574686F644E616D6571007E00094C0006706172616D7371007E00094C000672656D61726B71007E00094C00067374617475737400134C6A6176612F6C616E672F496E74656765723B7870740008746573745461736B7372000E6A6176612E7574696C2E44617465686A81014B5974190300007870770800000158C377C4607874000E3020302F3330202A202A202A203F7372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B0200007870000000000000000874000574657374327074000FE697A0E58F82E695B0E6B58BE8AF95737200116A6176612E6C616E672E496E746567657212E2A0A4F781873802000149000576616C75657871007E0013000000017800);
+INSERT INTO `qrtz_triggers` VALUES ('RenrenScheduler', 'TASK_9', 'DEFAULT', 'TASK_9', 'DEFAULT', null, '1547798400000', '1547796600000', '5', 'WAITING', 'CRON', '1532611074000', '0', null, '2', 0xACED0005737200156F72672E71756172747A2E4A6F62446174614D61709FB083E8BFA9B0CB020000787200266F72672E71756172747A2E7574696C732E537472696E674B65794469727479466C61674D61708208E8C3FBC55D280200015A0013616C6C6F77735472616E7369656E74446174617872001D6F72672E71756172747A2E7574696C732E4469727479466C61674D617013E62EAD28760ACE0200025A000564697274794C00036D617074000F4C6A6176612F7574696C2F4D61703B787001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F4000000000000C7708000000100000000174000D4A4F425F504152414D5F4B455973720031636F6D2E706C6174666F726D2E6D6F64756C65732E6A6F622E656E746974792E5363686564756C654A6F62456E7469747900000000000000010200084C00086265616E4E616D657400124C6A6176612F6C616E672F537472696E673B4C000A63726561746554696D657400104C6A6176612F7574696C2F446174653B4C000E63726F6E45787072657373696F6E71007E00094C00056A6F6249647400104C6A6176612F6C616E672F4C6F6E673B4C000A6D6574686F644E616D6571007E00094C0006706172616D7371007E00094C000672656D61726B71007E00094C00067374617475737400134C6A6176612F6C616E672F496E74656765723B7870740008746573745461736B7372000E6A6176612E7574696C2E44617465686A81014B5974190300007870770800000158BAF593307874000E3020302F3330202A202A202A203F7372000E6A6176612E6C616E672E4C6F6E673B8BE490CC8F23DF0200014A000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B020000787000000000000000097400047465737474000672656E72656E74000FE69C89E58F82E695B0E6B58BE8AF95737200116A6176612E6C616E672E496E746567657212E2A0A4F781873802000149000576616C75657871007E0013000000007800);
+
+-- ----------------------------
+-- Table structure for schedule_job
+-- ----------------------------
+DROP TABLE IF EXISTS `schedule_job`;
+CREATE TABLE `schedule_job` (
+ `job_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '任务id',
+ `bean_name` varchar(200) DEFAULT NULL COMMENT 'spring bean名称',
+ `method_name` varchar(100) DEFAULT NULL COMMENT '方法名',
+ `params` varchar(2000) DEFAULT NULL COMMENT '参数',
+ `cron_expression` varchar(100) DEFAULT NULL COMMENT 'cron表达式',
+ `status` tinyint(4) DEFAULT NULL COMMENT '任务状态 0:正常 1:暂停',
+ `remark` varchar(255) DEFAULT NULL COMMENT '备注',
+ `create_time` datetime DEFAULT NULL COMMENT '创建时间',
+ PRIMARY KEY (`job_id`)
+) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8 COMMENT='定时任务';
+
+-- ----------------------------
+-- Records of schedule_job
+-- ----------------------------
+INSERT INTO `schedule_job` VALUES ('1', 'testTask', 'test', 'renren', '0 0/30 * * * ?', '0', '有参数测试', '2016-12-01 23:16:46');
+INSERT INTO `schedule_job` VALUES ('2', 'testTask', 'test2', null, '0 0/30 * * * ?', '1', '无参数测试', '2016-12-03 14:55:56');
+INSERT INTO `schedule_job` VALUES ('3', 'testTask', 'test', 'renren', '0 0/30 * * * ?', '0', '有参数测试', '2016-12-01 23:16:46');
+INSERT INTO `schedule_job` VALUES ('4', 'testTask', 'test2', null, '0 0/30 * * * ?', '1', '无参数测试', '2016-12-03 14:55:56');
+INSERT INTO `schedule_job` VALUES ('5', 'testTask', 'test', 'renren', '0 0/30 * * * ?', '0', '有参数测试', '2016-12-01 23:16:46');
+INSERT INTO `schedule_job` VALUES ('6', 'testTask', 'test2', null, '0 0/30 * * * ?', '1', '无参数测试', '2016-12-03 14:55:56');
+INSERT INTO `schedule_job` VALUES ('7', 'testTask', 'test', 'renren', '0 0/30 * * * ?', '0', '有参数测试', '2016-12-01 23:16:46');
+INSERT INTO `schedule_job` VALUES ('8', 'testTask', 'test2', null, '0 0/30 * * * ?', '1', '无参数测试', '2016-12-03 14:55:56');
+INSERT INTO `schedule_job` VALUES ('9', 'testTask', 'test', 'renren', '0 0/30 * * * ?', '0', '有参数测试', '2016-12-01 23:16:46');
+INSERT INTO `schedule_job` VALUES ('10', 'testTask', 'test2', null, '0 0/30 * * * ?', '1', '无参数测试', '2016-12-03 14:55:56');
+
+-- ----------------------------
+-- Table structure for schedule_job_log
+-- ----------------------------
+DROP TABLE IF EXISTS `schedule_job_log`;
+CREATE TABLE `schedule_job_log` (
+ `log_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '任务日志id',
+ `job_id` bigint(20) NOT NULL COMMENT '任务id',
+ `bean_name` varchar(200) DEFAULT NULL COMMENT 'spring bean名称',
+ `method_name` varchar(100) DEFAULT NULL COMMENT '方法名',
+ `params` varchar(2000) DEFAULT NULL COMMENT '参数',
+ `status` tinyint(4) NOT NULL COMMENT '任务状态 0:成功 1:失败',
+ `error` varchar(2000) DEFAULT NULL COMMENT '失败信息',
+ `times` int(11) NOT NULL COMMENT '耗时(单位:毫秒)',
+ `create_time` datetime DEFAULT NULL COMMENT '创建时间',
+ PRIMARY KEY (`log_id`),
+ KEY `job_id` (`job_id`)
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='定时任务日志';
+
+-- ----------------------------
+-- Records of schedule_job_log
+-- ----------------------------
+
+
+-- ----------------------------
+-- Table structure for sys_captcha
+-- ----------------------------
+DROP TABLE IF EXISTS `sys_captcha`;
+CREATE TABLE `sys_captcha` (
+ `uuid` char(36) NOT NULL COMMENT 'uuid',
+ `code` varchar(6) NOT NULL COMMENT '验证码',
+ `expire_time` datetime DEFAULT NULL COMMENT '过期时间',
+ PRIMARY KEY (`uuid`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='系统验证码';
+
+-- ----------------------------
+-- Records of sys_captcha
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for sys_config
+-- ----------------------------
+DROP TABLE IF EXISTS `sys_config`;
+CREATE TABLE `sys_config` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT,
+ `key` varchar(50) DEFAULT NULL COMMENT 'key',
+ `value` varchar(2000) DEFAULT NULL COMMENT 'value',
+ `status` tinyint(4) DEFAULT '1' COMMENT '状态 0:隐藏 1:显示',
+ `remark` varchar(500) DEFAULT NULL COMMENT '备注',
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `key` (`key`)
+) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COMMENT='系统配置信息表';
+
+-- ----------------------------
+-- Records of sys_config
+-- ----------------------------
+INSERT INTO `sys_config` VALUES ('1', 'CLOUD_STORAGE_CONFIG_KEY', '{\"aliyunAccessKeyId\":\"\",\"aliyunAccessKeySecret\":\"\",\"aliyunBucketName\":\"\",\"aliyunDomain\":\"\",\"aliyunEndPoint\":\"\",\"aliyunPrefix\":\"\",\"qcloudBucketName\":\"\",\"qcloudDomain\":\"\",\"qcloudPrefix\":\"\",\"qcloudSecretId\":\"\",\"qcloudSecretKey\":\"\",\"qiniuAccessKey\":\"NrgMfABZxWLo5B-YYSjoE8-AZ1EISdi1Z3ubLOeZ\",\"qiniuBucketName\":\"ios-app\",\"qiniuDomain\":\"http://7xqbwh.dl1.z0.glb.clouddn.com\",\"qiniuPrefix\":\"upload\",\"qiniuSecretKey\":\"uIwJHevMRWU0VLxFvgy0tAcOdGqasdtVlJkdy6vV\",\"type\":1}', '0', '云存储配置信息');
+
+-- ----------------------------
+-- Table structure for sys_log
+-- ----------------------------
+DROP TABLE IF EXISTS `sys_log`;
+CREATE TABLE `sys_log` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT,
+ `username` varchar(50) DEFAULT NULL COMMENT '用户名',
+ `operation` varchar(50) DEFAULT NULL COMMENT '用户操作',
+ `method` varchar(200) DEFAULT NULL COMMENT '请求方法',
+ `params` varchar(5000) DEFAULT NULL COMMENT '请求参数',
+ `time` bigint(20) NOT NULL COMMENT '执行时长(毫秒)',
+ `ip` varchar(64) DEFAULT NULL COMMENT 'IP地址',
+ `create_date` datetime DEFAULT NULL COMMENT '创建时间',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=271 DEFAULT CHARSET=utf8 COMMENT='系统日志';
+
+-- ----------------------------
+-- Records of sys_log
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for sys_menu
+-- ----------------------------
+DROP TABLE IF EXISTS `sys_menu`;
+CREATE TABLE `sys_menu` (
+ `menu_id` bigint(20) NOT NULL AUTO_INCREMENT,
+ `parent_id` bigint(20) DEFAULT NULL COMMENT '父菜单ID,一级菜单为0',
+ `name` varchar(50) DEFAULT NULL COMMENT '菜单名称',
+ `url` varchar(200) DEFAULT NULL COMMENT '菜单URL',
+ `perms` varchar(500) DEFAULT NULL COMMENT '授权(多个用逗号分隔,如:user:list,user:create)',
+ `type` int(11) DEFAULT NULL COMMENT '类型 0:目录 1:菜单 2:按钮',
+ `icon` varchar(50) DEFAULT NULL COMMENT '菜单图标',
+ `order_num` int(11) DEFAULT NULL COMMENT '排序',
+ PRIMARY KEY (`menu_id`)
+) ENGINE=InnoDB AUTO_INCREMENT=77 DEFAULT CHARSET=utf8 COMMENT='菜单管理';
+
+-- ----------------------------
+-- Records of sys_menu
+-- ----------------------------
+INSERT INTO `sys_menu` VALUES ('1', '0', '系统管理', null, null, '0', 'fa fa-cog', '5');
+INSERT INTO `sys_menu` VALUES ('2', '1', '管理员列表', 'modules/sys/user.html', null, '1', 'fa fa-user', '1');
+INSERT INTO `sys_menu` VALUES ('3', '1', '角色管理', 'modules/sys/role.html', null, '1', 'fa fa-user-secret', '2');
+INSERT INTO `sys_menu` VALUES ('4', '1', '菜单管理', 'modules/sys/menu.html', null, '1', 'fa fa-th-list', '3');
+INSERT INTO `sys_menu` VALUES ('15', '2', '查看', null, 'sys:user:list,sys:user:info', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('16', '2', '新增', null, 'sys:user:save,sys:role:select', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('17', '2', '修改', null, 'sys:user:update,sys:role:select', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('18', '2', '删除', null, 'sys:user:delete', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('19', '3', '查看', null, 'sys:role:list,sys:role:info', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('20', '3', '新增', null, 'sys:role:save,sys:menu:list', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('21', '3', '修改', null, 'sys:role:update,sys:menu:list', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('22', '3', '删除', null, 'sys:role:delete', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('23', '4', '查看', null, 'sys:menu:list,sys:menu:info', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('24', '4', '新增', null, 'sys:menu:save,sys:menu:select', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('25', '4', '修改', null, 'sys:menu:update,sys:menu:select', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('26', '4', '删除', null, 'sys:menu:delete', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('29', '1', '系统日志', 'modules/sys/log.html', 'sys:log:list', '1', 'fa fa-file-text-o', '7');
+INSERT INTO `sys_menu` VALUES ('31', '0', '媒体资源', null, null, '0', null, '0');
+INSERT INTO `sys_menu` VALUES ('32', '31', '现场新闻', 'modules/resource/scene.html', null, '1', null, '0');
+INSERT INTO `sys_menu` VALUES ('33', '32', '查看', null, 'scene:list,scene:info', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('34', '32', '下载', null, 'scene:download', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('35', '32', '报道', null, 'scenet:report:list,scene:report:info', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('36', '32', '报道下载', null, 'scene:report:download', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('37', '31', '本地上传', 'modules/resource/local.html', '', '1', null, '0');
+INSERT INTO `sys_menu` VALUES ('38', '37', '查看', '', 'plm:material:upload:list,plm:material:info', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('39', '37', '新增', null, 'plm:material:upload', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('40', '37', '修改', null, 'plm:material:update', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('41', '37', '删除', null, 'plm:material:delete', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('42', '31', '下载资源', 'modules/resource/download.html', null, '1', null, '0');
+INSERT INTO `sys_menu` VALUES ('43', '42', '查看', null, 'plm:material:download:list,plm:material:info', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('44', '42', '删除', null, 'plm:material:delete', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('45', '31', '回收站', 'modules/resource/recycle.html', null, '1', null, '0');
+INSERT INTO `sys_menu` VALUES ('46', '45', '查看', null, 'plm:material:cycle:list,plm:material:info', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('47', '45', '还原', null, 'plm:material:recycle', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('48', '45', '删除', null, 'plm:material:cycle:delete', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('49', '0', '资源搜索', '', null, '0', null, '0');
+INSERT INTO `sys_menu` VALUES ('50', '49', '快手搜索', 'modules/search/ksvideo.html', null, '1', null, '0');
+INSERT INTO `sys_menu` VALUES ('51', '50', '查看', null, 'kuaishou:video:list', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('52', '50', '下载', null, 'kuaishou:video:download', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('53', '49', '快手下载', 'modules/search/ksdownload.html', null, '1', null, '0');
+INSERT INTO `sys_menu` VALUES ('54', '53', '查看', null, 'kuaishou:video:download:list', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('55', '0', '视频剪辑', 'modules/clip/qkvideo.html', null, '1', null, '0');
+INSERT INTO `sys_menu` VALUES ('56', '0', '视频发布', null, null, '0', null, '0');
+INSERT INTO `sys_menu` VALUES ('57', '56', '我的视频', 'modules/video/myvideo.html', null, '1', null, '0');
+INSERT INTO `sys_menu` VALUES ('58', '57', '查看', null, 'plm:videonews:list,plm:videonews:info', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('59', '57', '编辑', null, 'plm:videonews:update', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('60', '57', '上传', null, 'plm:videonews:upload', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('61', '57', '删除', null, 'plm:videonews:delete', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('62', '57', '送审', null, 'plm:videonews:audit', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('63', '56', '视频审核', 'modules/video/audiovideo.html', null, '1', null, '0');
+INSERT INTO `sys_menu` VALUES ('64', '63', '查看', null, 'plm:videonews:audit:list,plm:videonews:info', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('65', '63', '编辑', null, 'plm:videonews:update', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('66', '63', '审核通过', null, 'plm:videonews:audit:pass', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('67', '63', '审核驳回', null, 'plm:videonews:audit:reject', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('68', '63', '删除', null, 'plm:videonews:delete', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('69', '56', '成品视频', 'modules/video/finishvideo.html', null, '1', null, '0');
+INSERT INTO `sys_menu` VALUES ('70', '69', '查看', null, 'plm:videonews:finished:list,plm:videonews:info', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('71', '69', '编辑', null, 'plm:videonews:update', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('72', '69', '删除', null, 'plm:videonews:delete', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('73', '56', '视频回收站', 'modules/video/recyclevideo.html', null, '1', null, '0');
+INSERT INTO `sys_menu` VALUES ('74', '73', '查看', null, 'plm:videonews:cycle:list,plm:videonews:info', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('75', '73', '删除', null, 'plm:videonews:cycle:delete', '2', null, '0');
+INSERT INTO `sys_menu` VALUES ('76', '73', '还原', null, 'plm:videonews:recycle', '2', null, '0');
+
+-- ----------------------------
+-- Table structure for sys_oss
+-- ----------------------------
+DROP TABLE IF EXISTS `sys_oss`;
+CREATE TABLE `sys_oss` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT,
+ `url` varchar(200) DEFAULT NULL COMMENT 'URL地址',
+ `create_date` datetime DEFAULT NULL COMMENT '创建时间',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='文件上传';
+
+-- ----------------------------
+-- Records of sys_oss
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for sys_role
+-- ----------------------------
+DROP TABLE IF EXISTS `sys_role`;
+CREATE TABLE `sys_role` (
+ `role_id` bigint(20) NOT NULL AUTO_INCREMENT,
+ `role_name` varchar(100) DEFAULT NULL COMMENT '角色名称',
+ `remark` varchar(100) DEFAULT NULL COMMENT '备注',
+ `create_user_id` bigint(20) DEFAULT NULL COMMENT '创建者ID',
+ `create_time` datetime DEFAULT NULL COMMENT '创建时间',
+ PRIMARY KEY (`role_id`)
+) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='角色';
+
+-- ----------------------------
+-- Records of sys_role
+-- ----------------------------
+INSERT INTO `sys_role` VALUES ('1', '管理员', null, '1', '2018-12-12 16:22:42');
+
+-- ----------------------------
+-- Table structure for sys_role_menu
+-- ----------------------------
+DROP TABLE IF EXISTS `sys_role_menu`;
+CREATE TABLE `sys_role_menu` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT,
+ `role_id` bigint(20) DEFAULT NULL COMMENT '角色ID',
+ `menu_id` bigint(20) DEFAULT NULL COMMENT '菜单ID',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=64 DEFAULT CHARSET=utf8 COMMENT='角色与菜单对应关系';
+
+-- ----------------------------
+-- Records of sys_role_menu
+-- ----------------------------
+INSERT INTO `sys_role_menu` VALUES ('1', '1', '1');
+INSERT INTO `sys_role_menu` VALUES ('2', '1', '2');
+INSERT INTO `sys_role_menu` VALUES ('3', '1', '15');
+INSERT INTO `sys_role_menu` VALUES ('4', '1', '16');
+INSERT INTO `sys_role_menu` VALUES ('5', '1', '17');
+INSERT INTO `sys_role_menu` VALUES ('6', '1', '18');
+INSERT INTO `sys_role_menu` VALUES ('7', '1', '3');
+INSERT INTO `sys_role_menu` VALUES ('8', '1', '19');
+INSERT INTO `sys_role_menu` VALUES ('9', '1', '20');
+INSERT INTO `sys_role_menu` VALUES ('10', '1', '21');
+INSERT INTO `sys_role_menu` VALUES ('11', '1', '22');
+INSERT INTO `sys_role_menu` VALUES ('12', '1', '4');
+INSERT INTO `sys_role_menu` VALUES ('13', '1', '23');
+INSERT INTO `sys_role_menu` VALUES ('14', '1', '24');
+INSERT INTO `sys_role_menu` VALUES ('15', '1', '25');
+INSERT INTO `sys_role_menu` VALUES ('16', '1', '26');
+INSERT INTO `sys_role_menu` VALUES ('17', '1', '29');
+INSERT INTO `sys_role_menu` VALUES ('18', '1', '31');
+INSERT INTO `sys_role_menu` VALUES ('19', '1', '32');
+INSERT INTO `sys_role_menu` VALUES ('20', '1', '33');
+INSERT INTO `sys_role_menu` VALUES ('21', '1', '34');
+INSERT INTO `sys_role_menu` VALUES ('22', '1', '35');
+INSERT INTO `sys_role_menu` VALUES ('23', '1', '36');
+INSERT INTO `sys_role_menu` VALUES ('24', '1', '37');
+INSERT INTO `sys_role_menu` VALUES ('25', '1', '38');
+INSERT INTO `sys_role_menu` VALUES ('26', '1', '39');
+INSERT INTO `sys_role_menu` VALUES ('27', '1', '40');
+INSERT INTO `sys_role_menu` VALUES ('28', '1', '41');
+INSERT INTO `sys_role_menu` VALUES ('29', '1', '42');
+INSERT INTO `sys_role_menu` VALUES ('30', '1', '43');
+INSERT INTO `sys_role_menu` VALUES ('31', '1', '44');
+INSERT INTO `sys_role_menu` VALUES ('32', '1', '45');
+INSERT INTO `sys_role_menu` VALUES ('33', '1', '46');
+INSERT INTO `sys_role_menu` VALUES ('34', '1', '47');
+INSERT INTO `sys_role_menu` VALUES ('35', '1', '48');
+INSERT INTO `sys_role_menu` VALUES ('36', '1', '49');
+INSERT INTO `sys_role_menu` VALUES ('37', '1', '50');
+INSERT INTO `sys_role_menu` VALUES ('38', '1', '51');
+INSERT INTO `sys_role_menu` VALUES ('39', '1', '52');
+INSERT INTO `sys_role_menu` VALUES ('40', '1', '53');
+INSERT INTO `sys_role_menu` VALUES ('41', '1', '54');
+INSERT INTO `sys_role_menu` VALUES ('42', '1', '55');
+INSERT INTO `sys_role_menu` VALUES ('43', '1', '56');
+INSERT INTO `sys_role_menu` VALUES ('44', '1', '57');
+INSERT INTO `sys_role_menu` VALUES ('45', '1', '58');
+INSERT INTO `sys_role_menu` VALUES ('46', '1', '59');
+INSERT INTO `sys_role_menu` VALUES ('47', '1', '60');
+INSERT INTO `sys_role_menu` VALUES ('48', '1', '61');
+INSERT INTO `sys_role_menu` VALUES ('49', '1', '62');
+INSERT INTO `sys_role_menu` VALUES ('50', '1', '63');
+INSERT INTO `sys_role_menu` VALUES ('51', '1', '64');
+INSERT INTO `sys_role_menu` VALUES ('52', '1', '65');
+INSERT INTO `sys_role_menu` VALUES ('53', '1', '66');
+INSERT INTO `sys_role_menu` VALUES ('54', '1', '67');
+INSERT INTO `sys_role_menu` VALUES ('55', '1', '68');
+INSERT INTO `sys_role_menu` VALUES ('56', '1', '69');
+INSERT INTO `sys_role_menu` VALUES ('57', '1', '70');
+INSERT INTO `sys_role_menu` VALUES ('58', '1', '71');
+INSERT INTO `sys_role_menu` VALUES ('59', '1', '72');
+INSERT INTO `sys_role_menu` VALUES ('60', '1', '73');
+INSERT INTO `sys_role_menu` VALUES ('61', '1', '74');
+INSERT INTO `sys_role_menu` VALUES ('62', '1', '75');
+INSERT INTO `sys_role_menu` VALUES ('63', '1', '76');
+
+-- ----------------------------
+-- Table structure for sys_user
+-- ----------------------------
+DROP TABLE IF EXISTS `sys_user`;
+CREATE TABLE `sys_user` (
+ `user_id` bigint(20) NOT NULL AUTO_INCREMENT,
+ `username` varchar(50) NOT NULL COMMENT '用户名',
+ `password` varchar(100) DEFAULT NULL COMMENT '密码',
+ `salt` varchar(20) DEFAULT NULL COMMENT '盐',
+ `email` varchar(100) DEFAULT NULL COMMENT '邮箱',
+ `mobile` varchar(100) DEFAULT NULL COMMENT '手机号',
+ `status` tinyint(4) DEFAULT NULL COMMENT '状态 0:禁用 1:正常',
+ `create_user_id` bigint(20) DEFAULT NULL COMMENT '创建者ID',
+ `create_time` datetime DEFAULT NULL COMMENT '创建时间',
+ `last_login_time` datetime DEFAULT NULL COMMENT '最后登录时间',
+ `last_login_ip` varchar(50) DEFAULT '127.0.0.1' COMMENT '最后登录IP',
+ PRIMARY KEY (`user_id`),
+ UNIQUE KEY `username` (`username`)
+) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COMMENT='系统用户';
+
+-- ----------------------------
+-- Records of sys_user
+-- ----------------------------
+INSERT INTO `sys_user` VALUES ('1', 'admin', '9ec9750e709431dad22365cabc5c625482e574c74adaebba7dd02f1129e4ce1d', 'YzcmCZNvbXocrsz9dm8e', 'root@renren.io', '13612345678', '1', '1', '2016-11-11 11:11:11', '2019-01-18 09:51:53', '106.120.84.238');
+INSERT INTO `sys_user` VALUES ('2', 'h3azg5trm9soskpv', '45c3cc2589a61561121784b146f12eb3c40886237a5664a692eb24c0d4969f66', 'nY7tzWiCmWrZnQ1I0ued', '', '', '1', '1', '2018-08-07 16:05:01', '2018-12-19 11:12:20', '127.0.0.1');
+INSERT INTO `sys_user` VALUES ('3', 'test', '84ef3a393ad90c149d1a914ae24b96c6b621fb4c8924b9d1e07b1a879f42ad23', 'UULhpzWasPjfNvGnLEaA', 'test@qq.com', '13121212111', '1', '1', '2018-12-12 16:22:18', '2019-01-17 18:41:36', '106.120.84.238');
+INSERT INTO `sys_user` VALUES ('4', 'zhangsiyu', 'e9a301f385ffe035062a24c2704dfd465ef407ba6dc54a81a2733e9de54e8636', '3pkhQjbFsIDbuIKuKeqc', 'zhangsiyu@qq.com', '13111111111', '1', '1', '2019-01-17 18:43:51', '2019-01-17 18:45:25', '106.120.84.238');
+
+-- ----------------------------
+-- Table structure for sys_user_role
+-- ----------------------------
+DROP TABLE IF EXISTS `sys_user_role`;
+CREATE TABLE `sys_user_role` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT,
+ `user_id` bigint(20) DEFAULT NULL COMMENT '用户ID',
+ `role_id` bigint(20) DEFAULT NULL COMMENT '角色ID',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COMMENT='用户与角色对应关系';
+
+-- ----------------------------
+-- Records of sys_user_role
+-- ----------------------------
+INSERT INTO `sys_user_role` VALUES ('5', '3', '1');
+INSERT INTO `sys_user_role` VALUES ('6', '4', '1');
+
+-- ----------------------------
+-- Table structure for sys_user_token
+-- ----------------------------
+DROP TABLE IF EXISTS `sys_user_token`;
+CREATE TABLE `sys_user_token` (
+ `user_id` bigint(20) NOT NULL,
+ `token` varchar(100) NOT NULL COMMENT 'token',
+ `expire_time` datetime DEFAULT NULL COMMENT '过期时间',
+ `update_time` datetime DEFAULT NULL COMMENT '更新时间',
+ PRIMARY KEY (`user_id`),
+ UNIQUE KEY `token` (`token`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='系统用户Token';
+
+-- ----------------------------
+-- Records of sys_user_token
+-- ----------------------------
+INSERT INTO `sys_user_token` VALUES ('1', 'b903a731afdb9335d2d690c80be6296e', '2019-01-18 21:51:53', '2019-01-18 09:51:53');
+INSERT INTO `sys_user_token` VALUES ('3', '3c067b73d3d402e2d7866480c0fb6697', '2019-01-18 06:41:36', '2019-01-17 18:41:36');
+INSERT INTO `sys_user_token` VALUES ('4', '21614c4ed82a5777a7e41c6df2c5803e', '2019-01-18 06:45:25', '2019-01-17 18:45:25');
+
+-- ----------------------------
+-- Table structure for tb_user
+-- ----------------------------
+DROP TABLE IF EXISTS `tb_user`;
+CREATE TABLE `tb_user` (
+ `user_id` bigint(20) NOT NULL AUTO_INCREMENT,
+ `username` varchar(50) NOT NULL COMMENT '用户名',
+ `mobile` varchar(20) NOT NULL COMMENT '手机号',
+ `password` varchar(64) DEFAULT NULL COMMENT '密码',
+ `create_time` datetime DEFAULT NULL COMMENT '创建时间',
+ PRIMARY KEY (`user_id`),
+ UNIQUE KEY `username` (`username`)
+) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COMMENT='用户';
+
+-- ----------------------------
+-- Records of tb_user
+-- ----------------------------
+INSERT INTO `tb_user` VALUES ('1', 'mark', '13612345678', '8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918', '2017-03-23 22:37:41');
diff --git a/db/live_scene_TROY.sql b/db/live_scene_TROY.sql
new file mode 100644
index 0000000..8d03fb5
--- /dev/null
+++ b/db/live_scene_TROY.sql
@@ -0,0 +1,104 @@
+/*
+Navicat MySQL Data Transfer
+
+Source Server : localhost
+Source Server Version : 50534
+Source Host : localhost:3306
+Source Database : aijinan
+
+Target Server Type : MYSQL
+Target Server Version : 50534
+File Encoding : 65001
+
+Date: 2019-01-19 14:52:16
+*/
+
+SET FOREIGN_KEY_CHECKS=0;
+
+-- ----------------------------
+-- Table structure for live_scene
+-- ----------------------------
+DROP TABLE IF EXISTS `live_scene`;
+CREATE TABLE `live_scene` (
+ `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '数据ID',
+ `title` varchar(255) DEFAULT NULL COMMENT '现场标题',
+ `scene_type` smallint(6) DEFAULT NULL COMMENT '现场类型',
+ `title_image` varchar(255) DEFAULT NULL COMMENT '标题图',
+ `live_desc` varchar(255) DEFAULT NULL COMMENT '现场简介',
+ `live_start` datetime DEFAULT NULL COMMENT '直播时间',
+ `live_position` varchar(255) DEFAULT NULL COMMENT '直播地点',
+ `live_state` smallint(6) DEFAULT NULL COMMENT '直播状态',
+ `scene_mark` varchar(255) DEFAULT NULL COMMENT '现场备注',
+ `scene_state` smallint(6) DEFAULT NULL COMMENT '现场状态',
+ `direct_state` smallint(6) DEFAULT NULL COMMENT '导播状态',
+ `process_id` int(11) DEFAULT NULL COMMENT '流程ID',
+ `scene_sign` varchar(64) DEFAULT NULL COMMENT '现场唯一标识',
+ `create_date` datetime DEFAULT NULL COMMENT '创建时间',
+ `creator_id` int(11) DEFAULT NULL COMMENT '创建人',
+ `update_date` datetime DEFAULT NULL COMMENT '修改时间',
+ `updator_id` int(11) DEFAULT NULL COMMENT '修改人',
+ `delete_flag` smallint(6) DEFAULT NULL COMMENT '是否删除',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='现场表';
+
+-- ----------------------------
+-- Table structure for live_scene_check
+-- ----------------------------
+DROP TABLE IF EXISTS `live_scene_check`;
+CREATE TABLE `live_scene_check` (
+ `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '数据ID',
+ `scene_id` int(11) DEFAULT NULL COMMENT '现场ID',
+ `process_id` int(11) DEFAULT NULL COMMENT '流程ID',
+ `node_id` int(11) DEFAULT NULL COMMENT '节点ID',
+ `auditor_id` int(11) DEFAULT NULL COMMENT '审核人ID',
+ `auditor_name` varchar(64) DEFAULT NULL COMMENT '审核人姓名',
+ `autitor_act` varchar(16) DEFAULT NULL COMMENT '审核动作标识',
+ `check_info` varchar(255) DEFAULT NULL COMMENT '审核说明',
+ `check_date` datetime DEFAULT NULL COMMENT '操作时间',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='现场审核表';
+
+-- ----------------------------
+-- Table structure for live_scene_live_info
+-- ----------------------------
+DROP TABLE IF EXISTS `live_scene_live_info`;
+CREATE TABLE `live_scene_live_info` (
+ `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '数据ID',
+ `scene_id` int(11) DEFAULT NULL COMMENT '现场ID',
+ `user_id` int(11) DEFAULT NULL COMMENT '人员ID',
+ `push_url` varchar(255) DEFAULT NULL COMMENT '推流地址',
+ `push_state` smallint(6) DEFAULT NULL COMMENT '推流状态',
+ `push_start` datetime DEFAULT NULL COMMENT '推流开始时间',
+ `push_end` datetime DEFAULT NULL COMMENT '推流结束时间',
+ `play_url_rmtp` varchar(255) DEFAULT NULL COMMENT 'RMTP播流地址',
+ `play_url_hls` varchar(255) DEFAULT NULL COMMENT 'HLS播流地址',
+ `play_url_flv` varchar(255) DEFAULT NULL COMMENT 'FLV播流地址',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='现场直播信息表';
+
+
+-- ----------------------------
+-- 20190120 TROY 现场表 表结构调整
+-- ----------------------------
+ALTER TABLE `live_scene`
+ADD COLUMN `direct_start` datetime NULL COMMENT '导播台开始时间',
+ADD COLUMN `direct_end` datetime NULL COMMENT '导播台结束时间',
+ADD COLUMN `caster_id` int NULL COMMENT '导播台ID';
+
+-- ----------------------------
+-- Table structure for `live_caster`
+-- ----------------------------
+DROP TABLE IF EXISTS `live_caster`;
+CREATE TABLE `live_caster` (
+ `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '数据ID',
+ `caster_id` varchar(64) DEFAULT NULL COMMENT '导播台Id',
+ `caster_name` varchar(64) DEFAULT NULL COMMENT '导播台名称',
+ `norm_type` smallint(6) DEFAULT NULL COMMENT '导播台规格类型',
+ `expire_time` datetime DEFAULT NULL COMMENT '导播台过期时间',
+ `scene_id` int(11) DEFAULT NULL COMMENT '现场ID',
+ `original_rtmp_url` varchar(255) DEFAULT NULL COMMENT '原画RTMP播放路径',
+ `original_m3u8_url` varchar(255) DEFAULT NULL COMMENT '原画M3U8播放路径',
+ `original_flv_url` varchar(255) DEFAULT NULL COMMENT '原画FLV播放路径',
+ `data_state` smallint(6) DEFAULT NULL COMMENT '数据状态',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='导播台信息表';
diff --git a/db/live_scene_live_info_ext-zj-20190218.sql b/db/live_scene_live_info_ext-zj-20190218.sql
new file mode 100644
index 0000000..55b77a9
--- /dev/null
+++ b/db/live_scene_live_info_ext-zj-20190218.sql
@@ -0,0 +1,23 @@
+DROP TABLE IF EXISTS `live_scene_live_info_ext`;
+CREATE TABLE `live_scene_live_info_ext` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `info_id` int(11) DEFAULT NULL COMMENT '现场Id',
+ `push_url` varchar(255) CHARACTER SET utf8 DEFAULT NULL COMMENT '推流地址',
+ `play_url_rmtp` varchar(255) CHARACTER SET utf8 DEFAULT NULL COMMENT 'RMTP播流地址',
+ `play_url_hls` varchar(255) CHARACTER SET utf8 DEFAULT NULL COMMENT 'HLS播流地址',
+ `play_url_flv` varchar(255) CHARACTER SET utf8 DEFAULT NULL COMMENT 'FLV播流地址',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb4;
+
+
+ALTER TABLE `live_scene_live_info`
+ADD COLUMN `info_name` varchar(128) NULL ,
+ADD COLUMN `info_type` smallint(6) NULL ,
+ADD COLUMN `push_domain` varchar(255) NULL ,
+ADD COLUMN `live_domain` varchar(255) NULL ,
+ADD COLUMN `app_name` varchar(255) NULL ,
+ADD COLUMN `stream_name` varchar(255) NULL ,
+DROP COLUMN `push_url`,
+DROP COLUMN `play_url_rmtp`,
+DROP COLUMN `play_url_hls`,
+DROP COLUMN `play_url_flv`;
\ No newline at end of file
diff --git a/db/live_video_transcoding.sql b/db/live_video_transcoding.sql
new file mode 100644
index 0000000..a21d519
--- /dev/null
+++ b/db/live_video_transcoding.sql
@@ -0,0 +1,26 @@
+
+CREATE TABLE `live_video_transcoding` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `request_id` varchar(255) DEFAULT NULL COMMENT '请求id',
+ `task_id` varchar(255) DEFAULT NULL COMMENT '任务id',
+ `task_status` char(1) DEFAULT NULL COMMENT '任务状态(0:增在处理,1处理完成)',
+ `del_flag` char(1) DEFAULT NULL COMMENT '删除标志',
+ `operate_id` varchar(255) DEFAULT NULL COMMENT '操作人',
+ `video_url` varchar(255) DEFAULT NULL COMMENT '转码前的url',
+ `format_video_url` varchar(255) DEFAULT NULL COMMENT '转码后的url',
+ `create_date` datetime DEFAULT NULL COMMENT '入库时间',
+ `update_date` datetime DEFAULT NULL COMMENT '修改时间',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+CREATE TABLE `live_video_transcoding_ext` (
+ `id` int(11) NOT NULL,
+ `request_params` text DEFAULT NULL COMMENT '后台请求的参数',
+ `request_ali_params` text DEFAULT NULL COMMENT '请求阿里的参数',
+ `response_ali_params` text DEFAULT NULL COMMENT '阿里响应的数据',
+ `operater` char(1) DEFAULT NULL COMMENT '操作方式:0添加,1删除,2查询'
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+ALTER TABLE `live_video_transcoding` ADD COLUMN `upload_state` CHAR(1) COMMENT '上传状态,0代表失败,1代表成功';
+ALTER TABLE `live_video_transcoding_ext` ADD COLUMN `create_date` DATETIME COMMENT '操作时间';
+
diff --git a/db/live_video_transcoding_message.sql b/db/live_video_transcoding_message.sql
new file mode 100644
index 0000000..390c449
--- /dev/null
+++ b/db/live_video_transcoding_message.sql
@@ -0,0 +1,39 @@
+/*
+Navicat MySQL Data Transfer
+
+Source Server : localhost_3306
+Source Server Version : 50709
+Source Host : localhost:3306
+Source Database : aijinan
+
+Target Server Type : MYSQL
+Target Server Version : 50709
+File Encoding : 65001
+
+Date: 2019-01-29 15:21:34
+*/
+
+SET FOREIGN_KEY_CHECKS=0;
+
+-- ----------------------------
+-- Table structure for `live_video_transcoding_message`
+-- ----------------------------
+DROP TABLE IF EXISTS `live_video_transcoding_message`;
+CREATE TABLE `live_video_transcoding_message` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `authorization` varchar(255) DEFAULT NULL COMMENT '此次推送请求的签名',
+ `request_id` varchar(255) DEFAULT NULL COMMENT '此次推送消息的 Request 编号',
+ `signing_cert_url` varchar(255) DEFAULT NULL COMMENT '签名证书的地址(Base64编码过)',
+ `message_id` varchar(255) DEFAULT NULL COMMENT '此次推送消息的 MessageId',
+ `message_tag` varchar(255) DEFAULT NULL COMMENT '此次推送消息的消息标签',
+ `job_id` varchar(255) DEFAULT NULL COMMENT '任务id',
+ `trans_request_id` varchar(255) DEFAULT NULL COMMENT '转码请求的requestId',
+ `type` varchar(64) DEFAULT NULL COMMENT '类型',
+ `state` varchar(64) DEFAULT NULL COMMENT '状态',
+ `create_date` datetime DEFAULT NULL COMMENT '创建时间',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb4;
+
+-- ----------------------------
+-- Records of live_video_transcoding_message
+-- ----------------------------
diff --git a/db/mssql.sql b/db/mssql.sql
new file mode 100644
index 0000000..43a6b5c
--- /dev/null
+++ b/db/mssql.sql
@@ -0,0 +1,323 @@
+-- 只提供了Quartz相关SQL,其他表结构,需要自行转换
+
+
+IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[FK_QRTZ_TRIGGERS_QRTZ_JOB_DETAILS]') AND OBJECTPROPERTY(id, N'ISFOREIGNKEY') = 1)
+ ALTER TABLE [dbo].[QRTZ_TRIGGERS] DROP CONSTRAINT FK_QRTZ_TRIGGERS_QRTZ_JOB_DETAILS
+GO
+
+IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[FK_QRTZ_CRON_TRIGGERS_QRTZ_TRIGGERS]') AND OBJECTPROPERTY(id, N'ISFOREIGNKEY') = 1)
+ ALTER TABLE [dbo].[QRTZ_CRON_TRIGGERS] DROP CONSTRAINT FK_QRTZ_CRON_TRIGGERS_QRTZ_TRIGGERS
+GO
+
+IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[FK_QRTZ_SIMPLE_TRIGGERS_QRTZ_TRIGGERS]') AND OBJECTPROPERTY(id, N'ISFOREIGNKEY') = 1)
+ ALTER TABLE [dbo].[QRTZ_SIMPLE_TRIGGERS] DROP CONSTRAINT FK_QRTZ_SIMPLE_TRIGGERS_QRTZ_TRIGGERS
+GO
+
+IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[FK_QRTZ_SIMPROP_TRIGGERS_QRTZ_TRIGGERS]') AND OBJECTPROPERTY(id, N'ISFOREIGNKEY') = 1)
+ ALTER TABLE [dbo].[QRTZ_SIMPROP_TRIGGERS] DROP CONSTRAINT FK_QRTZ_SIMPROP_TRIGGERS_QRTZ_TRIGGERS
+GO
+
+IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[QRTZ_CALENDARS]') AND OBJECTPROPERTY(id, N'ISUSERTABLE') = 1)
+ DROP TABLE [dbo].[QRTZ_CALENDARS]
+GO
+
+IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[QRTZ_CRON_TRIGGERS]') AND OBJECTPROPERTY(id, N'ISUSERTABLE') = 1)
+ DROP TABLE [dbo].[QRTZ_CRON_TRIGGERS]
+GO
+
+IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[QRTZ_BLOB_TRIGGERS]') AND OBJECTPROPERTY(id, N'ISUSERTABLE') = 1)
+ DROP TABLE [dbo].[QRTZ_BLOB_TRIGGERS]
+GO
+
+IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[QRTZ_FIRED_TRIGGERS]') AND OBJECTPROPERTY(id, N'ISUSERTABLE') = 1)
+ DROP TABLE [dbo].[QRTZ_FIRED_TRIGGERS]
+GO
+
+IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[QRTZ_PAUSED_TRIGGER_GRPS]') AND OBJECTPROPERTY(id, N'ISUSERTABLE') = 1)
+ DROP TABLE [dbo].[QRTZ_PAUSED_TRIGGER_GRPS]
+GO
+
+IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[QRTZ_SCHEDULER_STATE]') AND OBJECTPROPERTY(id, N'ISUSERTABLE') = 1)
+ DROP TABLE [dbo].[QRTZ_SCHEDULER_STATE]
+GO
+
+IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[QRTZ_LOCKS]') AND OBJECTPROPERTY(id, N'ISUSERTABLE') = 1)
+ DROP TABLE [dbo].[QRTZ_LOCKS]
+GO
+
+IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[QRTZ_JOB_DETAILS]') AND OBJECTPROPERTY(id, N'ISUSERTABLE') = 1)
+ DROP TABLE [dbo].[QRTZ_JOB_DETAILS]
+GO
+
+IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[QRTZ_SIMPLE_TRIGGERS]') AND OBJECTPROPERTY(id, N'ISUSERTABLE') = 1)
+ DROP TABLE [dbo].[QRTZ_SIMPLE_TRIGGERS]
+GO
+
+IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[QRTZ_SIMPROP_TRIGGERS]') AND OBJECTPROPERTY(id, N'ISUSERTABLE') = 1)
+ DROP TABLE [dbo].[QRTZ_SIMPROP_TRIGGERS]
+GO
+
+IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[QRTZ_TRIGGERS]') AND OBJECTPROPERTY(id, N'ISUSERTABLE') = 1)
+ DROP TABLE [dbo].[QRTZ_TRIGGERS]
+GO
+
+CREATE TABLE [dbo].[QRTZ_CALENDARS] (
+ [SCHED_NAME] [VARCHAR] (120) NOT NULL ,
+ [CALENDAR_NAME] [VARCHAR] (200) NOT NULL ,
+ [CALENDAR] [IMAGE] NOT NULL
+) ON [PRIMARY]
+GO
+
+CREATE TABLE [dbo].[QRTZ_CRON_TRIGGERS] (
+ [SCHED_NAME] [VARCHAR] (120) NOT NULL ,
+ [TRIGGER_NAME] [VARCHAR] (200) NOT NULL ,
+ [TRIGGER_GROUP] [VARCHAR] (200) NOT NULL ,
+ [CRON_EXPRESSION] [VARCHAR] (120) NOT NULL ,
+ [TIME_ZONE_ID] [VARCHAR] (80)
+) ON [PRIMARY]
+GO
+
+CREATE TABLE [dbo].[QRTZ_FIRED_TRIGGERS] (
+ [SCHED_NAME] [VARCHAR] (120) NOT NULL ,
+ [ENTRY_ID] [VARCHAR] (95) NOT NULL ,
+ [TRIGGER_NAME] [VARCHAR] (200) NOT NULL ,
+ [TRIGGER_GROUP] [VARCHAR] (200) NOT NULL ,
+ [INSTANCE_NAME] [VARCHAR] (200) NOT NULL ,
+ [FIRED_TIME] [BIGINT] NOT NULL ,
+ [SCHED_TIME] [BIGINT] NOT NULL ,
+ [PRIORITY] [INTEGER] NOT NULL ,
+ [STATE] [VARCHAR] (16) NOT NULL,
+ [JOB_NAME] [VARCHAR] (200) NULL ,
+ [JOB_GROUP] [VARCHAR] (200) NULL ,
+ [IS_NONCONCURRENT] [VARCHAR] (1) NULL ,
+ [REQUESTS_RECOVERY] [VARCHAR] (1) NULL
+) ON [PRIMARY]
+GO
+
+CREATE TABLE [dbo].[QRTZ_PAUSED_TRIGGER_GRPS] (
+ [SCHED_NAME] [VARCHAR] (120) NOT NULL ,
+ [TRIGGER_GROUP] [VARCHAR] (200) NOT NULL
+) ON [PRIMARY]
+GO
+
+CREATE TABLE [dbo].[QRTZ_SCHEDULER_STATE] (
+ [SCHED_NAME] [VARCHAR] (120) NOT NULL ,
+ [INSTANCE_NAME] [VARCHAR] (200) NOT NULL ,
+ [LAST_CHECKIN_TIME] [BIGINT] NOT NULL ,
+ [CHECKIN_INTERVAL] [BIGINT] NOT NULL
+) ON [PRIMARY]
+GO
+
+CREATE TABLE [dbo].[QRTZ_LOCKS] (
+ [SCHED_NAME] [VARCHAR] (120) NOT NULL ,
+ [LOCK_NAME] [VARCHAR] (40) NOT NULL
+) ON [PRIMARY]
+GO
+
+CREATE TABLE [dbo].[QRTZ_JOB_DETAILS] (
+ [SCHED_NAME] [VARCHAR] (120) NOT NULL ,
+ [JOB_NAME] [VARCHAR] (200) NOT NULL ,
+ [JOB_GROUP] [VARCHAR] (200) NOT NULL ,
+ [DESCRIPTION] [VARCHAR] (250) NULL ,
+ [JOB_CLASS_NAME] [VARCHAR] (250) NOT NULL ,
+ [IS_DURABLE] [VARCHAR] (1) NOT NULL ,
+ [IS_NONCONCURRENT] [VARCHAR] (1) NOT NULL ,
+ [IS_UPDATE_DATA] [VARCHAR] (1) NOT NULL ,
+ [REQUESTS_RECOVERY] [VARCHAR] (1) NOT NULL ,
+ [JOB_DATA] [IMAGE] NULL
+) ON [PRIMARY]
+GO
+
+CREATE TABLE [dbo].[QRTZ_SIMPLE_TRIGGERS] (
+ [SCHED_NAME] [VARCHAR] (120) NOT NULL ,
+ [TRIGGER_NAME] [VARCHAR] (200) NOT NULL ,
+ [TRIGGER_GROUP] [VARCHAR] (200) NOT NULL ,
+ [REPEAT_COUNT] [BIGINT] NOT NULL ,
+ [REPEAT_INTERVAL] [BIGINT] NOT NULL ,
+ [TIMES_TRIGGERED] [BIGINT] NOT NULL
+) ON [PRIMARY]
+GO
+
+CREATE TABLE [dbo].[QRTZ_SIMPROP_TRIGGERS] (
+ [SCHED_NAME] [VARCHAR] (120) NOT NULL ,
+ [TRIGGER_NAME] [VARCHAR] (200) NOT NULL ,
+ [TRIGGER_GROUP] [VARCHAR] (200) NOT NULL ,
+ [STR_PROP_1] [VARCHAR] (512) NULL,
+ [STR_PROP_2] [VARCHAR] (512) NULL,
+ [STR_PROP_3] [VARCHAR] (512) NULL,
+ [INT_PROP_1] [INT] NULL,
+ [INT_PROP_2] [INT] NULL,
+ [LONG_PROP_1] [BIGINT] NULL,
+ [LONG_PROP_2] [BIGINT] NULL,
+ [DEC_PROP_1] [NUMERIC] (13,4) NULL,
+ [DEC_PROP_2] [NUMERIC] (13,4) NULL,
+ [BOOL_PROP_1] [VARCHAR] (1) NULL,
+ [BOOL_PROP_2] [VARCHAR] (1) NULL,
+) ON [PRIMARY]
+GO
+
+CREATE TABLE [dbo].[QRTZ_BLOB_TRIGGERS] (
+ [SCHED_NAME] [VARCHAR] (120) NOT NULL ,
+ [TRIGGER_NAME] [VARCHAR] (200) NOT NULL ,
+ [TRIGGER_GROUP] [VARCHAR] (200) NOT NULL ,
+ [BLOB_DATA] [IMAGE] NULL
+) ON [PRIMARY]
+GO
+
+CREATE TABLE [dbo].[QRTZ_TRIGGERS] (
+ [SCHED_NAME] [VARCHAR] (120) NOT NULL ,
+ [TRIGGER_NAME] [VARCHAR] (200) NOT NULL ,
+ [TRIGGER_GROUP] [VARCHAR] (200) NOT NULL ,
+ [JOB_NAME] [VARCHAR] (200) NOT NULL ,
+ [JOB_GROUP] [VARCHAR] (200) NOT NULL ,
+ [DESCRIPTION] [VARCHAR] (250) NULL ,
+ [NEXT_FIRE_TIME] [BIGINT] NULL ,
+ [PREV_FIRE_TIME] [BIGINT] NULL ,
+ [PRIORITY] [INTEGER] NULL ,
+ [TRIGGER_STATE] [VARCHAR] (16) NOT NULL ,
+ [TRIGGER_TYPE] [VARCHAR] (8) NOT NULL ,
+ [START_TIME] [BIGINT] NOT NULL ,
+ [END_TIME] [BIGINT] NULL ,
+ [CALENDAR_NAME] [VARCHAR] (200) NULL ,
+ [MISFIRE_INSTR] [SMALLINT] NULL ,
+ [JOB_DATA] [IMAGE] NULL
+) ON [PRIMARY]
+GO
+
+ALTER TABLE [dbo].[QRTZ_CALENDARS] WITH NOCHECK ADD
+ CONSTRAINT [PK_QRTZ_CALENDARS] PRIMARY KEY CLUSTERED
+ (
+ [SCHED_NAME],
+ [CALENDAR_NAME]
+ ) ON [PRIMARY]
+GO
+
+ALTER TABLE [dbo].[QRTZ_CRON_TRIGGERS] WITH NOCHECK ADD
+ CONSTRAINT [PK_QRTZ_CRON_TRIGGERS] PRIMARY KEY CLUSTERED
+ (
+ [SCHED_NAME],
+ [TRIGGER_NAME],
+ [TRIGGER_GROUP]
+ ) ON [PRIMARY]
+GO
+
+ALTER TABLE [dbo].[QRTZ_FIRED_TRIGGERS] WITH NOCHECK ADD
+ CONSTRAINT [PK_QRTZ_FIRED_TRIGGERS] PRIMARY KEY CLUSTERED
+ (
+ [SCHED_NAME],
+ [ENTRY_ID]
+ ) ON [PRIMARY]
+GO
+
+ALTER TABLE [dbo].[QRTZ_PAUSED_TRIGGER_GRPS] WITH NOCHECK ADD
+ CONSTRAINT [PK_QRTZ_PAUSED_TRIGGER_GRPS] PRIMARY KEY CLUSTERED
+ (
+ [SCHED_NAME],
+ [TRIGGER_GROUP]
+ ) ON [PRIMARY]
+GO
+
+ALTER TABLE [dbo].[QRTZ_SCHEDULER_STATE] WITH NOCHECK ADD
+ CONSTRAINT [PK_QRTZ_SCHEDULER_STATE] PRIMARY KEY CLUSTERED
+ (
+ [SCHED_NAME],
+ [INSTANCE_NAME]
+ ) ON [PRIMARY]
+GO
+
+ALTER TABLE [dbo].[QRTZ_LOCKS] WITH NOCHECK ADD
+ CONSTRAINT [PK_QRTZ_LOCKS] PRIMARY KEY CLUSTERED
+ (
+ [SCHED_NAME],
+ [LOCK_NAME]
+ ) ON [PRIMARY]
+GO
+
+ALTER TABLE [dbo].[QRTZ_JOB_DETAILS] WITH NOCHECK ADD
+ CONSTRAINT [PK_QRTZ_JOB_DETAILS] PRIMARY KEY CLUSTERED
+ (
+ [SCHED_NAME],
+ [JOB_NAME],
+ [JOB_GROUP]
+ ) ON [PRIMARY]
+GO
+
+ALTER TABLE [dbo].[QRTZ_SIMPLE_TRIGGERS] WITH NOCHECK ADD
+ CONSTRAINT [PK_QRTZ_SIMPLE_TRIGGERS] PRIMARY KEY CLUSTERED
+ (
+ [SCHED_NAME],
+ [TRIGGER_NAME],
+ [TRIGGER_GROUP]
+ ) ON [PRIMARY]
+GO
+
+ALTER TABLE [dbo].[QRTZ_SIMPROP_TRIGGERS] WITH NOCHECK ADD
+ CONSTRAINT [PK_QRTZ_SIMPROP_TRIGGERS] PRIMARY KEY CLUSTERED
+ (
+ [SCHED_NAME],
+ [TRIGGER_NAME],
+ [TRIGGER_GROUP]
+ ) ON [PRIMARY]
+GO
+
+ALTER TABLE [dbo].[QRTZ_TRIGGERS] WITH NOCHECK ADD
+ CONSTRAINT [PK_QRTZ_TRIGGERS] PRIMARY KEY CLUSTERED
+ (
+ [SCHED_NAME],
+ [TRIGGER_NAME],
+ [TRIGGER_GROUP]
+ ) ON [PRIMARY]
+GO
+
+ALTER TABLE [dbo].[QRTZ_CRON_TRIGGERS] ADD
+ CONSTRAINT [FK_QRTZ_CRON_TRIGGERS_QRTZ_TRIGGERS] FOREIGN KEY
+ (
+ [SCHED_NAME],
+ [TRIGGER_NAME],
+ [TRIGGER_GROUP]
+ ) REFERENCES [dbo].[QRTZ_TRIGGERS] (
+ [SCHED_NAME],
+ [TRIGGER_NAME],
+ [TRIGGER_GROUP]
+ ) ON DELETE CASCADE
+GO
+
+ALTER TABLE [dbo].[QRTZ_SIMPLE_TRIGGERS] ADD
+ CONSTRAINT [FK_QRTZ_SIMPLE_TRIGGERS_QRTZ_TRIGGERS] FOREIGN KEY
+ (
+ [SCHED_NAME],
+ [TRIGGER_NAME],
+ [TRIGGER_GROUP]
+ ) REFERENCES [dbo].[QRTZ_TRIGGERS] (
+ [SCHED_NAME],
+ [TRIGGER_NAME],
+ [TRIGGER_GROUP]
+ ) ON DELETE CASCADE
+GO
+
+ALTER TABLE [dbo].[QRTZ_SIMPROP_TRIGGERS] ADD
+ CONSTRAINT [FK_QRTZ_SIMPROP_TRIGGERS_QRTZ_TRIGGERS] FOREIGN KEY
+ (
+ [SCHED_NAME],
+ [TRIGGER_NAME],
+ [TRIGGER_GROUP]
+ ) REFERENCES [dbo].[QRTZ_TRIGGERS] (
+ [SCHED_NAME],
+ [TRIGGER_NAME],
+ [TRIGGER_GROUP]
+ ) ON DELETE CASCADE
+GO
+
+ALTER TABLE [dbo].[QRTZ_TRIGGERS] ADD
+ CONSTRAINT [FK_QRTZ_TRIGGERS_QRTZ_JOB_DETAILS] FOREIGN KEY
+ (
+ [SCHED_NAME],
+ [JOB_NAME],
+ [JOB_GROUP]
+ ) REFERENCES [dbo].[QRTZ_JOB_DETAILS] (
+ [SCHED_NAME],
+ [JOB_NAME],
+ [JOB_GROUP]
+ )
+GO
+
diff --git a/db/mysql.sql b/db/mysql.sql
new file mode 100644
index 0000000..9fe9a8e
--- /dev/null
+++ b/db/mysql.sql
@@ -0,0 +1,365 @@
+-- 菜单
+CREATE TABLE `sys_menu` (
+ `menu_id` bigint NOT NULL AUTO_INCREMENT,
+ `parent_id` bigint COMMENT '父菜单ID,一级菜单为0',
+ `name` varchar(50) COMMENT '菜单名称',
+ `url` varchar(200) COMMENT '菜单URL',
+ `perms` varchar(500) COMMENT '授权(多个用逗号分隔,如:user:list,user:create)',
+ `type` int COMMENT '类型 0:目录 1:菜单 2:按钮',
+ `icon` varchar(50) COMMENT '菜单图标',
+ `order_num` int COMMENT '排序',
+ PRIMARY KEY (`menu_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='菜单管理';
+
+-- 系统用户
+CREATE TABLE `sys_user` (
+ `user_id` bigint NOT NULL AUTO_INCREMENT,
+ `username` varchar(50) NOT NULL COMMENT '用户名',
+ `password` varchar(100) COMMENT '密码',
+ `salt` varchar(20) COMMENT '盐',
+ `email` varchar(100) COMMENT '邮箱',
+ `mobile` varchar(100) COMMENT '手机号',
+ `status` tinyint COMMENT '状态 0:禁用 1:正常',
+ `create_user_id` bigint(20) COMMENT '创建者ID',
+ `create_time` datetime COMMENT '创建时间',
+ PRIMARY KEY (`user_id`),
+ UNIQUE INDEX (`username`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='系统用户';
+
+-- 系统用户Token
+CREATE TABLE `sys_user_token` (
+ `user_id` bigint(20) NOT NULL,
+ `token` varchar(100) NOT NULL COMMENT 'token',
+ `expire_time` datetime DEFAULT NULL COMMENT '过期时间',
+ `update_time` datetime DEFAULT NULL COMMENT '更新时间',
+ PRIMARY KEY (`user_id`),
+ UNIQUE KEY `token` (`token`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='系统用户Token';
+
+-- 系统验证码
+CREATE TABLE `sys_captcha` (
+ `uuid` char(36) NOT NULL COMMENT 'uuid',
+ `code` varchar(6) NOT NULL COMMENT '验证码',
+ `expire_time` datetime DEFAULT NULL COMMENT '过期时间',
+ PRIMARY KEY (`uuid`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='系统验证码';
+
+-- 角色
+CREATE TABLE `sys_role` (
+ `role_id` bigint NOT NULL AUTO_INCREMENT,
+ `role_name` varchar(100) COMMENT '角色名称',
+ `remark` varchar(100) COMMENT '备注',
+ `create_user_id` bigint(20) COMMENT '创建者ID',
+ `create_time` datetime COMMENT '创建时间',
+ PRIMARY KEY (`role_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='角色';
+
+-- 用户与角色对应关系
+CREATE TABLE `sys_user_role` (
+ `id` bigint NOT NULL AUTO_INCREMENT,
+ `user_id` bigint COMMENT '用户ID',
+ `role_id` bigint COMMENT '角色ID',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户与角色对应关系';
+
+-- 角色与菜单对应关系
+CREATE TABLE `sys_role_menu` (
+ `id` bigint NOT NULL AUTO_INCREMENT,
+ `role_id` bigint COMMENT '角色ID',
+ `menu_id` bigint COMMENT '菜单ID',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='角色与菜单对应关系';
+
+-- 系统配置信息
+CREATE TABLE `sys_config` (
+ `id` bigint NOT NULL AUTO_INCREMENT,
+ `key` varchar(50) COMMENT 'key',
+ `value` varchar(2000) COMMENT 'value',
+ `status` tinyint DEFAULT 1 COMMENT '状态 0:隐藏 1:显示',
+ `remark` varchar(500) COMMENT '备注',
+ PRIMARY KEY (`id`),
+ UNIQUE INDEX (`key`)
+) ENGINE=`InnoDB` DEFAULT CHARACTER SET utf8 COMMENT='系统配置信息表';
+
+-- 系统日志
+CREATE TABLE `sys_log` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT,
+ `username` varchar(50) COMMENT '用户名',
+ `operation` varchar(50) COMMENT '用户操作',
+ `method` varchar(200) COMMENT '请求方法',
+ `params` varchar(5000) COMMENT '请求参数',
+ `time` bigint NOT NULL COMMENT '执行时长(毫秒)',
+ `ip` varchar(64) COMMENT 'IP地址',
+ `create_date` datetime COMMENT '创建时间',
+ PRIMARY KEY (`id`)
+) ENGINE=`InnoDB` DEFAULT CHARACTER SET utf8 COMMENT='系统日志';
+
+-- 初始数据
+INSERT INTO `sys_user` (`user_id`, `username`, `password`, `salt`, `email`, `mobile`, `status`, `create_user_id`, `create_time`) VALUES ('1', 'admin', '9ec9750e709431dad22365cabc5c625482e574c74adaebba7dd02f1129e4ce1d', 'YzcmCZNvbXocrsz9dm8e', 'root@renren.io', '13612345678', '1', '1', '2016-11-11 11:11:11');
+INSERT INTO `sys_menu` (`menu_id`, `parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`) VALUES ('1', '0', '系统管理', NULL, NULL, '0', 'fa fa-cog', '0');
+INSERT INTO `sys_menu` (`menu_id`, `parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`) VALUES ('2', '1', '管理员列表', 'modules/sys/user.html', NULL, '1', 'fa fa-user', '1');
+INSERT INTO `sys_menu` (`menu_id`, `parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`) VALUES ('3', '1', '角色管理', 'modules/sys/role.html', NULL, '1', 'fa fa-user-secret', '2');
+INSERT INTO `sys_menu` (`menu_id`, `parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`) VALUES ('4', '1', '菜单管理', 'modules/sys/menu.html', NULL, '1', 'fa fa-th-list', '3');
+INSERT INTO `sys_menu` (`menu_id`, `parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`) VALUES ('5', '1', 'SQL监控', 'druid/sql.html', NULL, '1', 'fa fa-bug', '4');
+INSERT INTO `sys_menu` (`menu_id`, `parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`) VALUES ('15', '2', '查看', NULL, 'sys:user:list,sys:user:info', '2', NULL, '0');
+INSERT INTO `sys_menu` (`menu_id`, `parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`) VALUES ('16', '2', '新增', NULL, 'sys:user:save,sys:role:select', '2', NULL, '0');
+INSERT INTO `sys_menu` (`menu_id`, `parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`) VALUES ('17', '2', '修改', NULL, 'sys:user:update,sys:role:select', '2', NULL, '0');
+INSERT INTO `sys_menu` (`menu_id`, `parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`) VALUES ('18', '2', '删除', NULL, 'sys:user:delete', '2', NULL, '0');
+INSERT INTO `sys_menu` (`menu_id`, `parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`) VALUES ('19', '3', '查看', NULL, 'sys:role:list,sys:role:info', '2', NULL, '0');
+INSERT INTO `sys_menu` (`menu_id`, `parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`) VALUES ('20', '3', '新增', NULL, 'sys:role:save,sys:menu:list', '2', NULL, '0');
+INSERT INTO `sys_menu` (`menu_id`, `parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`) VALUES ('21', '3', '修改', NULL, 'sys:role:update,sys:menu:list', '2', NULL, '0');
+INSERT INTO `sys_menu` (`menu_id`, `parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`) VALUES ('22', '3', '删除', NULL, 'sys:role:delete', '2', NULL, '0');
+INSERT INTO `sys_menu` (`menu_id`, `parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`) VALUES ('23', '4', '查看', NULL, 'sys:menu:list,sys:menu:info', '2', NULL, '0');
+INSERT INTO `sys_menu` (`menu_id`, `parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`) VALUES ('24', '4', '新增', NULL, 'sys:menu:save,sys:menu:select', '2', NULL, '0');
+INSERT INTO `sys_menu` (`menu_id`, `parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`) VALUES ('25', '4', '修改', NULL, 'sys:menu:update,sys:menu:select', '2', NULL, '0');
+INSERT INTO `sys_menu` (`menu_id`, `parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`) VALUES ('26', '4', '删除', NULL, 'sys:menu:delete', '2', NULL, '0');
+INSERT INTO `sys_menu` (`menu_id`, `parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`) VALUES ('27', '1', '参数管理', 'modules/sys/config.html', 'sys:config:list,sys:config:info,sys:config:save,sys:config:update,sys:config:delete', '1', 'fa fa-sun-o', '6');
+INSERT INTO `sys_menu` (`menu_id`, `parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`) VALUES ('29', '1', '系统日志', 'modules/sys/log.html', 'sys:log:list', '1', 'fa fa-file-text-o', '7');
+
+
+
+-- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+-- 云存储服务相关SQL,如果不使用该功能,则不用执行下面SQL -------------------------------------------------------------------------------------------------------------
+-- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+
+-- 文件上传
+CREATE TABLE `sys_oss` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT,
+ `url` varchar(200) COMMENT 'URL地址',
+ `create_date` datetime COMMENT '创建时间',
+ PRIMARY KEY (`id`)
+) ENGINE=`InnoDB` DEFAULT CHARACTER SET utf8 COMMENT='文件上传';
+
+INSERT INTO `sys_config` (`key`, `value`, `status`, `remark`) VALUES ('CLOUD_STORAGE_CONFIG_KEY', '{\"aliyunAccessKeyId\":\"\",\"aliyunAccessKeySecret\":\"\",\"aliyunBucketName\":\"\",\"aliyunDomain\":\"\",\"aliyunEndPoint\":\"\",\"aliyunPrefix\":\"\",\"qcloudBucketName\":\"\",\"qcloudDomain\":\"\",\"qcloudPrefix\":\"\",\"qcloudSecretId\":\"\",\"qcloudSecretKey\":\"\",\"qiniuAccessKey\":\"NrgMfABZxWLo5B-YYSjoE8-AZ1EISdi1Z3ubLOeZ\",\"qiniuBucketName\":\"ios-app\",\"qiniuDomain\":\"http://7xqbwh.dl1.z0.glb.clouddn.com\",\"qiniuPrefix\":\"upload\",\"qiniuSecretKey\":\"uIwJHevMRWU0VLxFvgy0tAcOdGqasdtVlJkdy6vV\",\"type\":1}', '0', '云存储配置信息');
+INSERT INTO `sys_menu` (`menu_id`, `parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`) VALUES ('30', '1', '文件上传', 'modules/oss/oss.html', 'sys:oss:all', '1', 'fa fa-file-image-o', '6');
+
+
+
+-- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+-- APP接口相关SQL,如果不使用该功能,则不用执行下面SQL -------------------------------------------------------------------------------------------------------------
+-- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+
+-- 用户表
+CREATE TABLE `tb_user` (
+ `user_id` bigint NOT NULL AUTO_INCREMENT,
+ `username` varchar(50) NOT NULL COMMENT '用户名',
+ `mobile` varchar(20) NOT NULL COMMENT '手机号',
+ `password` varchar(64) COMMENT '密码',
+ `create_time` datetime COMMENT '创建时间',
+ PRIMARY KEY (`user_id`),
+ UNIQUE INDEX (`username`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户';
+
+
+-- 账号:13612345678 密码:admin
+INSERT INTO `tb_user` (`username`, `mobile`, `password`, `create_time`) VALUES ('mark', '13612345678', '8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918', '2017-03-23 22:37:41');
+
+
+
+-- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+-- 定时任务相关表结构,如果不使用该功能,则不用执行下面SQL -------------------------------------------------------------------------------------------------------------
+-- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+
+-- 初始化菜单数据
+INSERT INTO `sys_menu` (`menu_id`, `parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`) VALUES ('6', '1', '定时任务', 'modules/job/schedule.html', NULL, '1', 'fa fa-tasks', '5');
+INSERT INTO `sys_menu` (`menu_id`, `parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`) VALUES ('7', '6', '查看', NULL, 'sys:schedule:list,sys:schedule:info', '2', NULL, '0');
+INSERT INTO `sys_menu` (`menu_id`, `parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`) VALUES ('8', '6', '新增', NULL, 'sys:schedule:save', '2', NULL, '0');
+INSERT INTO `sys_menu` (`menu_id`, `parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`) VALUES ('9', '6', '修改', NULL, 'sys:schedule:update', '2', NULL, '0');
+INSERT INTO `sys_menu` (`menu_id`, `parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`) VALUES ('10', '6', '删除', NULL, 'sys:schedule:delete', '2', NULL, '0');
+INSERT INTO `sys_menu` (`menu_id`, `parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`) VALUES ('11', '6', '暂停', NULL, 'sys:schedule:pause', '2', NULL, '0');
+INSERT INTO `sys_menu` (`menu_id`, `parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`) VALUES ('12', '6', '恢复', NULL, 'sys:schedule:resume', '2', NULL, '0');
+INSERT INTO `sys_menu` (`menu_id`, `parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`) VALUES ('13', '6', '立即执行', NULL, 'sys:schedule:run', '2', NULL, '0');
+INSERT INTO `sys_menu` (`menu_id`, `parent_id`, `name`, `url`, `perms`, `type`, `icon`, `order_num`) VALUES ('14', '6', '日志列表', NULL, 'sys:schedule:log', '2', NULL, '0');
+
+-- 定时任务
+CREATE TABLE `schedule_job` (
+ `job_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '任务id',
+ `bean_name` varchar(200) DEFAULT NULL COMMENT 'spring bean名称',
+ `method_name` varchar(100) DEFAULT NULL COMMENT '方法名',
+ `params` varchar(2000) DEFAULT NULL COMMENT '参数',
+ `cron_expression` varchar(100) DEFAULT NULL COMMENT 'cron表达式',
+ `status` tinyint(4) DEFAULT NULL COMMENT '任务状态 0:正常 1:暂停',
+ `remark` varchar(255) DEFAULT NULL COMMENT '备注',
+ `create_time` datetime DEFAULT NULL COMMENT '创建时间',
+ PRIMARY KEY (`job_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='定时任务';
+
+-- 定时任务日志
+CREATE TABLE `schedule_job_log` (
+ `log_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '任务日志id',
+ `job_id` bigint(20) NOT NULL COMMENT '任务id',
+ `bean_name` varchar(200) DEFAULT NULL COMMENT 'spring bean名称',
+ `method_name` varchar(100) DEFAULT NULL COMMENT '方法名',
+ `params` varchar(2000) DEFAULT NULL COMMENT '参数',
+ `status` tinyint(4) NOT NULL COMMENT '任务状态 0:成功 1:失败',
+ `error` varchar(2000) DEFAULT NULL COMMENT '失败信息',
+ `times` int(11) NOT NULL COMMENT '耗时(单位:毫秒)',
+ `create_time` datetime DEFAULT NULL COMMENT '创建时间',
+ PRIMARY KEY (`log_id`),
+ KEY `job_id` (`job_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='定时任务日志';
+
+
+
+INSERT INTO `schedule_job` (`bean_name`, `method_name`, `params`, `cron_expression`, `status`, `remark`, `create_time`) VALUES ('testTask', 'test', 'renren', '0 0/30 * * * ?', '0', '有参数测试', '2016-12-01 23:16:46');
+INSERT INTO `schedule_job` (`bean_name`, `method_name`, `params`, `cron_expression`, `status`, `remark`, `create_time`) VALUES ('testTask', 'test2', NULL, '0 0/30 * * * ?', '1', '无参数测试', '2016-12-03 14:55:56');
+
+
+-- quartz自带表结构
+CREATE TABLE QRTZ_JOB_DETAILS(
+SCHED_NAME VARCHAR(120) NOT NULL,
+JOB_NAME VARCHAR(200) NOT NULL,
+JOB_GROUP VARCHAR(200) NOT NULL,
+DESCRIPTION VARCHAR(250) NULL,
+JOB_CLASS_NAME VARCHAR(250) NOT NULL,
+IS_DURABLE VARCHAR(1) NOT NULL,
+IS_NONCONCURRENT VARCHAR(1) NOT NULL,
+IS_UPDATE_DATA VARCHAR(1) NOT NULL,
+REQUESTS_RECOVERY VARCHAR(1) NOT NULL,
+JOB_DATA BLOB NULL,
+PRIMARY KEY (SCHED_NAME,JOB_NAME,JOB_GROUP))
+ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE QRTZ_TRIGGERS (
+SCHED_NAME VARCHAR(120) NOT NULL,
+TRIGGER_NAME VARCHAR(200) NOT NULL,
+TRIGGER_GROUP VARCHAR(200) NOT NULL,
+JOB_NAME VARCHAR(200) NOT NULL,
+JOB_GROUP VARCHAR(200) NOT NULL,
+DESCRIPTION VARCHAR(250) NULL,
+NEXT_FIRE_TIME BIGINT(13) NULL,
+PREV_FIRE_TIME BIGINT(13) NULL,
+PRIORITY INTEGER NULL,
+TRIGGER_STATE VARCHAR(16) NOT NULL,
+TRIGGER_TYPE VARCHAR(8) NOT NULL,
+START_TIME BIGINT(13) NOT NULL,
+END_TIME BIGINT(13) NULL,
+CALENDAR_NAME VARCHAR(200) NULL,
+MISFIRE_INSTR SMALLINT(2) NULL,
+JOB_DATA BLOB NULL,
+PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
+FOREIGN KEY (SCHED_NAME,JOB_NAME,JOB_GROUP)
+REFERENCES QRTZ_JOB_DETAILS(SCHED_NAME,JOB_NAME,JOB_GROUP))
+ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE QRTZ_SIMPLE_TRIGGERS (
+SCHED_NAME VARCHAR(120) NOT NULL,
+TRIGGER_NAME VARCHAR(200) NOT NULL,
+TRIGGER_GROUP VARCHAR(200) NOT NULL,
+REPEAT_COUNT BIGINT(7) NOT NULL,
+REPEAT_INTERVAL BIGINT(12) NOT NULL,
+TIMES_TRIGGERED BIGINT(10) NOT NULL,
+PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
+FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
+REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP))
+ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE QRTZ_CRON_TRIGGERS (
+SCHED_NAME VARCHAR(120) NOT NULL,
+TRIGGER_NAME VARCHAR(200) NOT NULL,
+TRIGGER_GROUP VARCHAR(200) NOT NULL,
+CRON_EXPRESSION VARCHAR(120) NOT NULL,
+TIME_ZONE_ID VARCHAR(80),
+PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
+FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
+REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP))
+ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE QRTZ_SIMPROP_TRIGGERS
+ (
+ SCHED_NAME VARCHAR(120) NOT NULL,
+ TRIGGER_NAME VARCHAR(200) NOT NULL,
+ TRIGGER_GROUP VARCHAR(200) NOT NULL,
+ STR_PROP_1 VARCHAR(512) NULL,
+ STR_PROP_2 VARCHAR(512) NULL,
+ STR_PROP_3 VARCHAR(512) NULL,
+ INT_PROP_1 INT NULL,
+ INT_PROP_2 INT NULL,
+ LONG_PROP_1 BIGINT NULL,
+ LONG_PROP_2 BIGINT NULL,
+ DEC_PROP_1 NUMERIC(13,4) NULL,
+ DEC_PROP_2 NUMERIC(13,4) NULL,
+ BOOL_PROP_1 VARCHAR(1) NULL,
+ BOOL_PROP_2 VARCHAR(1) NULL,
+ PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
+ FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
+ REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP))
+ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE QRTZ_BLOB_TRIGGERS (
+SCHED_NAME VARCHAR(120) NOT NULL,
+TRIGGER_NAME VARCHAR(200) NOT NULL,
+TRIGGER_GROUP VARCHAR(200) NOT NULL,
+BLOB_DATA BLOB NULL,
+PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
+INDEX (SCHED_NAME,TRIGGER_NAME, TRIGGER_GROUP),
+FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
+REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP))
+ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE QRTZ_CALENDARS (
+SCHED_NAME VARCHAR(120) NOT NULL,
+CALENDAR_NAME VARCHAR(200) NOT NULL,
+CALENDAR BLOB NOT NULL,
+PRIMARY KEY (SCHED_NAME,CALENDAR_NAME))
+ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE QRTZ_PAUSED_TRIGGER_GRPS (
+SCHED_NAME VARCHAR(120) NOT NULL,
+TRIGGER_GROUP VARCHAR(200) NOT NULL,
+PRIMARY KEY (SCHED_NAME,TRIGGER_GROUP))
+ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE QRTZ_FIRED_TRIGGERS (
+SCHED_NAME VARCHAR(120) NOT NULL,
+ENTRY_ID VARCHAR(95) NOT NULL,
+TRIGGER_NAME VARCHAR(200) NOT NULL,
+TRIGGER_GROUP VARCHAR(200) NOT NULL,
+INSTANCE_NAME VARCHAR(200) NOT NULL,
+FIRED_TIME BIGINT(13) NOT NULL,
+SCHED_TIME BIGINT(13) NOT NULL,
+PRIORITY INTEGER NOT NULL,
+STATE VARCHAR(16) NOT NULL,
+JOB_NAME VARCHAR(200) NULL,
+JOB_GROUP VARCHAR(200) NULL,
+IS_NONCONCURRENT VARCHAR(1) NULL,
+REQUESTS_RECOVERY VARCHAR(1) NULL,
+PRIMARY KEY (SCHED_NAME,ENTRY_ID))
+ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE QRTZ_SCHEDULER_STATE (
+SCHED_NAME VARCHAR(120) NOT NULL,
+INSTANCE_NAME VARCHAR(200) NOT NULL,
+LAST_CHECKIN_TIME BIGINT(13) NOT NULL,
+CHECKIN_INTERVAL BIGINT(13) NOT NULL,
+PRIMARY KEY (SCHED_NAME,INSTANCE_NAME))
+ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE QRTZ_LOCKS (
+SCHED_NAME VARCHAR(120) NOT NULL,
+LOCK_NAME VARCHAR(40) NOT NULL,
+PRIMARY KEY (SCHED_NAME,LOCK_NAME))
+ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE INDEX IDX_QRTZ_J_REQ_RECOVERY ON QRTZ_JOB_DETAILS(SCHED_NAME,REQUESTS_RECOVERY);
+CREATE INDEX IDX_QRTZ_J_GRP ON QRTZ_JOB_DETAILS(SCHED_NAME,JOB_GROUP);
+
+CREATE INDEX IDX_QRTZ_T_J ON QRTZ_TRIGGERS(SCHED_NAME,JOB_NAME,JOB_GROUP);
+CREATE INDEX IDX_QRTZ_T_JG ON QRTZ_TRIGGERS(SCHED_NAME,JOB_GROUP);
+CREATE INDEX IDX_QRTZ_T_C ON QRTZ_TRIGGERS(SCHED_NAME,CALENDAR_NAME);
+CREATE INDEX IDX_QRTZ_T_G ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_GROUP);
+CREATE INDEX IDX_QRTZ_T_STATE ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_STATE);
+CREATE INDEX IDX_QRTZ_T_N_STATE ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP,TRIGGER_STATE);
+CREATE INDEX IDX_QRTZ_T_N_G_STATE ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_GROUP,TRIGGER_STATE);
+CREATE INDEX IDX_QRTZ_T_NEXT_FIRE_TIME ON QRTZ_TRIGGERS(SCHED_NAME,NEXT_FIRE_TIME);
+CREATE INDEX IDX_QRTZ_T_NFT_ST ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_STATE,NEXT_FIRE_TIME);
+CREATE INDEX IDX_QRTZ_T_NFT_MISFIRE ON QRTZ_TRIGGERS(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME);
+CREATE INDEX IDX_QRTZ_T_NFT_ST_MISFIRE ON QRTZ_TRIGGERS(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME,TRIGGER_STATE);
+CREATE INDEX IDX_QRTZ_T_NFT_ST_MISFIRE_GRP ON QRTZ_TRIGGERS(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME,TRIGGER_GROUP,TRIGGER_STATE);
+
+CREATE INDEX IDX_QRTZ_FT_TRIG_INST_NAME ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,INSTANCE_NAME);
+CREATE INDEX IDX_QRTZ_FT_INST_JOB_REQ_RCVRY ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,INSTANCE_NAME,REQUESTS_RECOVERY);
+CREATE INDEX IDX_QRTZ_FT_J_G ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,JOB_NAME,JOB_GROUP);
+CREATE INDEX IDX_QRTZ_FT_JG ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,JOB_GROUP);
+CREATE INDEX IDX_QRTZ_FT_T_G ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP);
+CREATE INDEX IDX_QRTZ_FT_TG ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,TRIGGER_GROUP);
diff --git a/db/oracle.sql b/db/oracle.sql
new file mode 100644
index 0000000..4ab9452
--- /dev/null
+++ b/db/oracle.sql
@@ -0,0 +1,188 @@
+-- 只提供了Quartz相关SQL,其他表结构,需要自行转换
+
+
+
+
+delete from qrtz_fired_triggers;
+delete from qrtz_simple_triggers;
+delete from qrtz_simprop_triggers;
+delete from qrtz_cron_triggers;
+delete from qrtz_blob_triggers;
+delete from qrtz_triggers;
+delete from qrtz_job_details;
+delete from qrtz_calendars;
+delete from qrtz_paused_trigger_grps;
+delete from qrtz_locks;
+delete from qrtz_scheduler_state;
+
+drop table qrtz_calendars;
+drop table qrtz_fired_triggers;
+drop table qrtz_blob_triggers;
+drop table qrtz_cron_triggers;
+drop table qrtz_simple_triggers;
+drop table qrtz_simprop_triggers;
+drop table qrtz_triggers;
+drop table qrtz_job_details;
+drop table qrtz_paused_trigger_grps;
+drop table qrtz_locks;
+drop table qrtz_scheduler_state;
+
+
+CREATE TABLE qrtz_job_details
+(
+ SCHED_NAME VARCHAR2(120) NOT NULL,
+ JOB_NAME VARCHAR2(200) NOT NULL,
+ JOB_GROUP VARCHAR2(200) NOT NULL,
+ DESCRIPTION VARCHAR2(250) NULL,
+ JOB_CLASS_NAME VARCHAR2(250) NOT NULL,
+ IS_DURABLE VARCHAR2(1) NOT NULL,
+ IS_NONCONCURRENT VARCHAR2(1) NOT NULL,
+ IS_UPDATE_DATA VARCHAR2(1) NOT NULL,
+ REQUESTS_RECOVERY VARCHAR2(1) NOT NULL,
+ JOB_DATA BLOB NULL,
+ CONSTRAINT QRTZ_JOB_DETAILS_PK PRIMARY KEY (SCHED_NAME,JOB_NAME,JOB_GROUP)
+);
+CREATE TABLE qrtz_triggers
+(
+ SCHED_NAME VARCHAR2(120) NOT NULL,
+ TRIGGER_NAME VARCHAR2(200) NOT NULL,
+ TRIGGER_GROUP VARCHAR2(200) NOT NULL,
+ JOB_NAME VARCHAR2(200) NOT NULL,
+ JOB_GROUP VARCHAR2(200) NOT NULL,
+ DESCRIPTION VARCHAR2(250) NULL,
+ NEXT_FIRE_TIME NUMBER(13) NULL,
+ PREV_FIRE_TIME NUMBER(13) NULL,
+ PRIORITY NUMBER(13) NULL,
+ TRIGGER_STATE VARCHAR2(16) NOT NULL,
+ TRIGGER_TYPE VARCHAR2(8) NOT NULL,
+ START_TIME NUMBER(13) NOT NULL,
+ END_TIME NUMBER(13) NULL,
+ CALENDAR_NAME VARCHAR2(200) NULL,
+ MISFIRE_INSTR NUMBER(2) NULL,
+ JOB_DATA BLOB NULL,
+ CONSTRAINT QRTZ_TRIGGERS_PK PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
+ CONSTRAINT QRTZ_TRIGGER_TO_JOBS_FK FOREIGN KEY (SCHED_NAME,JOB_NAME,JOB_GROUP)
+ REFERENCES QRTZ_JOB_DETAILS(SCHED_NAME,JOB_NAME,JOB_GROUP)
+);
+CREATE TABLE qrtz_simple_triggers
+(
+ SCHED_NAME VARCHAR2(120) NOT NULL,
+ TRIGGER_NAME VARCHAR2(200) NOT NULL,
+ TRIGGER_GROUP VARCHAR2(200) NOT NULL,
+ REPEAT_COUNT NUMBER(7) NOT NULL,
+ REPEAT_INTERVAL NUMBER(12) NOT NULL,
+ TIMES_TRIGGERED NUMBER(10) NOT NULL,
+ CONSTRAINT QRTZ_SIMPLE_TRIG_PK PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
+ CONSTRAINT QRTZ_SIMPLE_TRIG_TO_TRIG_FK FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
+ REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
+);
+CREATE TABLE qrtz_cron_triggers
+(
+ SCHED_NAME VARCHAR2(120) NOT NULL,
+ TRIGGER_NAME VARCHAR2(200) NOT NULL,
+ TRIGGER_GROUP VARCHAR2(200) NOT NULL,
+ CRON_EXPRESSION VARCHAR2(120) NOT NULL,
+ TIME_ZONE_ID VARCHAR2(80),
+ CONSTRAINT QRTZ_CRON_TRIG_PK PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
+ CONSTRAINT QRTZ_CRON_TRIG_TO_TRIG_FK FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
+ REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
+);
+CREATE TABLE qrtz_simprop_triggers
+(
+ SCHED_NAME VARCHAR2(120) NOT NULL,
+ TRIGGER_NAME VARCHAR2(200) NOT NULL,
+ TRIGGER_GROUP VARCHAR2(200) NOT NULL,
+ STR_PROP_1 VARCHAR2(512) NULL,
+ STR_PROP_2 VARCHAR2(512) NULL,
+ STR_PROP_3 VARCHAR2(512) NULL,
+ INT_PROP_1 NUMBER(10) NULL,
+ INT_PROP_2 NUMBER(10) NULL,
+ LONG_PROP_1 NUMBER(13) NULL,
+ LONG_PROP_2 NUMBER(13) NULL,
+ DEC_PROP_1 NUMERIC(13,4) NULL,
+ DEC_PROP_2 NUMERIC(13,4) NULL,
+ BOOL_PROP_1 VARCHAR2(1) NULL,
+ BOOL_PROP_2 VARCHAR2(1) NULL,
+ CONSTRAINT QRTZ_SIMPROP_TRIG_PK PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
+ CONSTRAINT QRTZ_SIMPROP_TRIG_TO_TRIG_FK FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
+ REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
+);
+CREATE TABLE qrtz_blob_triggers
+(
+ SCHED_NAME VARCHAR2(120) NOT NULL,
+ TRIGGER_NAME VARCHAR2(200) NOT NULL,
+ TRIGGER_GROUP VARCHAR2(200) NOT NULL,
+ BLOB_DATA BLOB NULL,
+ CONSTRAINT QRTZ_BLOB_TRIG_PK PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
+ CONSTRAINT QRTZ_BLOB_TRIG_TO_TRIG_FK FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
+ REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
+);
+CREATE TABLE qrtz_calendars
+(
+ SCHED_NAME VARCHAR2(120) NOT NULL,
+ CALENDAR_NAME VARCHAR2(200) NOT NULL,
+ CALENDAR BLOB NOT NULL,
+ CONSTRAINT QRTZ_CALENDARS_PK PRIMARY KEY (SCHED_NAME,CALENDAR_NAME)
+);
+CREATE TABLE qrtz_paused_trigger_grps
+(
+ SCHED_NAME VARCHAR2(120) NOT NULL,
+ TRIGGER_GROUP VARCHAR2(200) NOT NULL,
+ CONSTRAINT QRTZ_PAUSED_TRIG_GRPS_PK PRIMARY KEY (SCHED_NAME,TRIGGER_GROUP)
+);
+CREATE TABLE qrtz_fired_triggers
+(
+ SCHED_NAME VARCHAR2(120) NOT NULL,
+ ENTRY_ID VARCHAR2(95) NOT NULL,
+ TRIGGER_NAME VARCHAR2(200) NOT NULL,
+ TRIGGER_GROUP VARCHAR2(200) NOT NULL,
+ INSTANCE_NAME VARCHAR2(200) NOT NULL,
+ FIRED_TIME NUMBER(13) NOT NULL,
+ SCHED_TIME NUMBER(13) NOT NULL,
+ PRIORITY NUMBER(13) NOT NULL,
+ STATE VARCHAR2(16) NOT NULL,
+ JOB_NAME VARCHAR2(200) NULL,
+ JOB_GROUP VARCHAR2(200) NULL,
+ IS_NONCONCURRENT VARCHAR2(1) NULL,
+ REQUESTS_RECOVERY VARCHAR2(1) NULL,
+ CONSTRAINT QRTZ_FIRED_TRIGGER_PK PRIMARY KEY (SCHED_NAME,ENTRY_ID)
+);
+CREATE TABLE qrtz_scheduler_state
+(
+ SCHED_NAME VARCHAR2(120) NOT NULL,
+ INSTANCE_NAME VARCHAR2(200) NOT NULL,
+ LAST_CHECKIN_TIME NUMBER(13) NOT NULL,
+ CHECKIN_INTERVAL NUMBER(13) NOT NULL,
+ CONSTRAINT QRTZ_SCHEDULER_STATE_PK PRIMARY KEY (SCHED_NAME,INSTANCE_NAME)
+);
+CREATE TABLE qrtz_locks
+(
+ SCHED_NAME VARCHAR2(120) NOT NULL,
+ LOCK_NAME VARCHAR2(40) NOT NULL,
+ CONSTRAINT QRTZ_LOCKS_PK PRIMARY KEY (SCHED_NAME,LOCK_NAME)
+);
+
+create index idx_qrtz_j_req_recovery on qrtz_job_details(SCHED_NAME,REQUESTS_RECOVERY);
+create index idx_qrtz_j_grp on qrtz_job_details(SCHED_NAME,JOB_GROUP);
+
+create index idx_qrtz_t_j on qrtz_triggers(SCHED_NAME,JOB_NAME,JOB_GROUP);
+create index idx_qrtz_t_jg on qrtz_triggers(SCHED_NAME,JOB_GROUP);
+create index idx_qrtz_t_c on qrtz_triggers(SCHED_NAME,CALENDAR_NAME);
+create index idx_qrtz_t_g on qrtz_triggers(SCHED_NAME,TRIGGER_GROUP);
+create index idx_qrtz_t_state on qrtz_triggers(SCHED_NAME,TRIGGER_STATE);
+create index idx_qrtz_t_n_state on qrtz_triggers(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP,TRIGGER_STATE);
+create index idx_qrtz_t_n_g_state on qrtz_triggers(SCHED_NAME,TRIGGER_GROUP,TRIGGER_STATE);
+create index idx_qrtz_t_next_fire_time on qrtz_triggers(SCHED_NAME,NEXT_FIRE_TIME);
+create index idx_qrtz_t_nft_st on qrtz_triggers(SCHED_NAME,TRIGGER_STATE,NEXT_FIRE_TIME);
+create index idx_qrtz_t_nft_misfire on qrtz_triggers(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME);
+create index idx_qrtz_t_nft_st_misfire on qrtz_triggers(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME,TRIGGER_STATE);
+create index idx_qrtz_t_nft_st_misfire_grp on qrtz_triggers(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME,TRIGGER_GROUP,TRIGGER_STATE);
+
+create index idx_qrtz_ft_trig_inst_name on qrtz_fired_triggers(SCHED_NAME,INSTANCE_NAME);
+create index idx_qrtz_ft_inst_job_req_rcvry on qrtz_fired_triggers(SCHED_NAME,INSTANCE_NAME,REQUESTS_RECOVERY);
+create index idx_qrtz_ft_j_g on qrtz_fired_triggers(SCHED_NAME,JOB_NAME,JOB_GROUP);
+create index idx_qrtz_ft_jg on qrtz_fired_triggers(SCHED_NAME,JOB_GROUP);
+create index idx_qrtz_ft_t_g on qrtz_fired_triggers(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP);
+create index idx_qrtz_ft_tg on qrtz_fired_triggers(SCHED_NAME,TRIGGER_GROUP);
+
+
diff --git a/db/postgresql.sql b/db/postgresql.sql
new file mode 100644
index 0000000..61fca77
--- /dev/null
+++ b/db/postgresql.sql
@@ -0,0 +1,186 @@
+-- 只提供了Quartz相关SQL,其他表结构,需要自行转换
+
+
+
+drop table qrtz_fired_triggers;
+DROP TABLE QRTZ_PAUSED_TRIGGER_GRPS;
+DROP TABLE QRTZ_SCHEDULER_STATE;
+DROP TABLE QRTZ_LOCKS;
+drop table qrtz_simple_triggers;
+drop table qrtz_cron_triggers;
+drop table qrtz_simprop_triggers;
+DROP TABLE QRTZ_BLOB_TRIGGERS;
+drop table qrtz_triggers;
+drop table qrtz_job_details;
+drop table qrtz_calendars;
+
+CREATE TABLE qrtz_job_details
+(
+ SCHED_NAME VARCHAR(120) NOT NULL,
+ JOB_NAME VARCHAR(200) NOT NULL,
+ JOB_GROUP VARCHAR(200) NOT NULL,
+ DESCRIPTION VARCHAR(250) NULL,
+ JOB_CLASS_NAME VARCHAR(250) NOT NULL,
+ IS_DURABLE BOOL NOT NULL,
+ IS_NONCONCURRENT BOOL NOT NULL,
+ IS_UPDATE_DATA BOOL NOT NULL,
+ REQUESTS_RECOVERY BOOL NOT NULL,
+ JOB_DATA BYTEA NULL,
+ PRIMARY KEY (SCHED_NAME,JOB_NAME,JOB_GROUP)
+);
+
+CREATE TABLE qrtz_triggers
+(
+ SCHED_NAME VARCHAR(120) NOT NULL,
+ TRIGGER_NAME VARCHAR(200) NOT NULL,
+ TRIGGER_GROUP VARCHAR(200) NOT NULL,
+ JOB_NAME VARCHAR(200) NOT NULL,
+ JOB_GROUP VARCHAR(200) NOT NULL,
+ DESCRIPTION VARCHAR(250) NULL,
+ NEXT_FIRE_TIME BIGINT NULL,
+ PREV_FIRE_TIME BIGINT NULL,
+ PRIORITY INTEGER NULL,
+ TRIGGER_STATE VARCHAR(16) NOT NULL,
+ TRIGGER_TYPE VARCHAR(8) NOT NULL,
+ START_TIME BIGINT NOT NULL,
+ END_TIME BIGINT NULL,
+ CALENDAR_NAME VARCHAR(200) NULL,
+ MISFIRE_INSTR SMALLINT NULL,
+ JOB_DATA BYTEA NULL,
+ PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
+ FOREIGN KEY (SCHED_NAME,JOB_NAME,JOB_GROUP)
+ REFERENCES QRTZ_JOB_DETAILS(SCHED_NAME,JOB_NAME,JOB_GROUP)
+);
+
+CREATE TABLE qrtz_simple_triggers
+(
+ SCHED_NAME VARCHAR(120) NOT NULL,
+ TRIGGER_NAME VARCHAR(200) NOT NULL,
+ TRIGGER_GROUP VARCHAR(200) NOT NULL,
+ REPEAT_COUNT BIGINT NOT NULL,
+ REPEAT_INTERVAL BIGINT NOT NULL,
+ TIMES_TRIGGERED BIGINT NOT NULL,
+ PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
+ FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
+ REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
+);
+
+CREATE TABLE qrtz_cron_triggers
+(
+ SCHED_NAME VARCHAR(120) NOT NULL,
+ TRIGGER_NAME VARCHAR(200) NOT NULL,
+ TRIGGER_GROUP VARCHAR(200) NOT NULL,
+ CRON_EXPRESSION VARCHAR(120) NOT NULL,
+ TIME_ZONE_ID VARCHAR(80),
+ PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
+ FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
+ REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
+);
+
+CREATE TABLE qrtz_simprop_triggers
+(
+ SCHED_NAME VARCHAR(120) NOT NULL,
+ TRIGGER_NAME VARCHAR(200) NOT NULL,
+ TRIGGER_GROUP VARCHAR(200) NOT NULL,
+ STR_PROP_1 VARCHAR(512) NULL,
+ STR_PROP_2 VARCHAR(512) NULL,
+ STR_PROP_3 VARCHAR(512) NULL,
+ INT_PROP_1 INT NULL,
+ INT_PROP_2 INT NULL,
+ LONG_PROP_1 BIGINT NULL,
+ LONG_PROP_2 BIGINT NULL,
+ DEC_PROP_1 NUMERIC(13,4) NULL,
+ DEC_PROP_2 NUMERIC(13,4) NULL,
+ BOOL_PROP_1 BOOL NULL,
+ BOOL_PROP_2 BOOL NULL,
+ PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
+ FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
+ REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
+);
+
+CREATE TABLE qrtz_blob_triggers
+(
+ SCHED_NAME VARCHAR(120) NOT NULL,
+ TRIGGER_NAME VARCHAR(200) NOT NULL,
+ TRIGGER_GROUP VARCHAR(200) NOT NULL,
+ BLOB_DATA BYTEA NULL,
+ PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
+ FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
+ REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
+);
+
+CREATE TABLE qrtz_calendars
+(
+ SCHED_NAME VARCHAR(120) NOT NULL,
+ CALENDAR_NAME VARCHAR(200) NOT NULL,
+ CALENDAR BYTEA NOT NULL,
+ PRIMARY KEY (SCHED_NAME,CALENDAR_NAME)
+);
+
+
+CREATE TABLE qrtz_paused_trigger_grps
+(
+ SCHED_NAME VARCHAR(120) NOT NULL,
+ TRIGGER_GROUP VARCHAR(200) NOT NULL,
+ PRIMARY KEY (SCHED_NAME,TRIGGER_GROUP)
+);
+
+CREATE TABLE qrtz_fired_triggers
+(
+ SCHED_NAME VARCHAR(120) NOT NULL,
+ ENTRY_ID VARCHAR(95) NOT NULL,
+ TRIGGER_NAME VARCHAR(200) NOT NULL,
+ TRIGGER_GROUP VARCHAR(200) NOT NULL,
+ INSTANCE_NAME VARCHAR(200) NOT NULL,
+ FIRED_TIME BIGINT NOT NULL,
+ SCHED_TIME BIGINT NOT NULL,
+ PRIORITY INTEGER NOT NULL,
+ STATE VARCHAR(16) NOT NULL,
+ JOB_NAME VARCHAR(200) NULL,
+ JOB_GROUP VARCHAR(200) NULL,
+ IS_NONCONCURRENT BOOL NULL,
+ REQUESTS_RECOVERY BOOL NULL,
+ PRIMARY KEY (SCHED_NAME,ENTRY_ID)
+);
+
+CREATE TABLE qrtz_scheduler_state
+(
+ SCHED_NAME VARCHAR(120) NOT NULL,
+ INSTANCE_NAME VARCHAR(200) NOT NULL,
+ LAST_CHECKIN_TIME BIGINT NOT NULL,
+ CHECKIN_INTERVAL BIGINT NOT NULL,
+ PRIMARY KEY (SCHED_NAME,INSTANCE_NAME)
+);
+
+CREATE TABLE qrtz_locks
+(
+ SCHED_NAME VARCHAR(120) NOT NULL,
+ LOCK_NAME VARCHAR(40) NOT NULL,
+ PRIMARY KEY (SCHED_NAME,LOCK_NAME)
+);
+
+create index idx_qrtz_j_req_recovery on qrtz_job_details(SCHED_NAME,REQUESTS_RECOVERY);
+create index idx_qrtz_j_grp on qrtz_job_details(SCHED_NAME,JOB_GROUP);
+
+create index idx_qrtz_t_j on qrtz_triggers(SCHED_NAME,JOB_NAME,JOB_GROUP);
+create index idx_qrtz_t_jg on qrtz_triggers(SCHED_NAME,JOB_GROUP);
+create index idx_qrtz_t_c on qrtz_triggers(SCHED_NAME,CALENDAR_NAME);
+create index idx_qrtz_t_g on qrtz_triggers(SCHED_NAME,TRIGGER_GROUP);
+create index idx_qrtz_t_state on qrtz_triggers(SCHED_NAME,TRIGGER_STATE);
+create index idx_qrtz_t_n_state on qrtz_triggers(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP,TRIGGER_STATE);
+create index idx_qrtz_t_n_g_state on qrtz_triggers(SCHED_NAME,TRIGGER_GROUP,TRIGGER_STATE);
+create index idx_qrtz_t_next_fire_time on qrtz_triggers(SCHED_NAME,NEXT_FIRE_TIME);
+create index idx_qrtz_t_nft_st on qrtz_triggers(SCHED_NAME,TRIGGER_STATE,NEXT_FIRE_TIME);
+create index idx_qrtz_t_nft_misfire on qrtz_triggers(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME);
+create index idx_qrtz_t_nft_st_misfire on qrtz_triggers(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME,TRIGGER_STATE);
+create index idx_qrtz_t_nft_st_misfire_grp on qrtz_triggers(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME,TRIGGER_GROUP,TRIGGER_STATE);
+
+create index idx_qrtz_ft_trig_inst_name on qrtz_fired_triggers(SCHED_NAME,INSTANCE_NAME);
+create index idx_qrtz_ft_inst_job_req_rcvry on qrtz_fired_triggers(SCHED_NAME,INSTANCE_NAME,REQUESTS_RECOVERY);
+create index idx_qrtz_ft_j_g on qrtz_fired_triggers(SCHED_NAME,JOB_NAME,JOB_GROUP);
+create index idx_qrtz_ft_jg on qrtz_fired_triggers(SCHED_NAME,JOB_GROUP);
+create index idx_qrtz_ft_t_g on qrtz_fired_triggers(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP);
+create index idx_qrtz_ft_tg on qrtz_fired_triggers(SCHED_NAME,TRIGGER_GROUP);
+
+
+commit;
diff --git a/db/scene_troy_190119.sql b/db/scene_troy_190119.sql
new file mode 100644
index 0000000..b91198a
--- /dev/null
+++ b/db/scene_troy_190119.sql
@@ -0,0 +1,77 @@
+/*
+Navicat MySQL Data Transfer
+
+Source Server : localhost
+Source Server Version : 50534
+Source Host : localhost:3306
+Source Database : aijinan
+
+Target Server Type : MYSQL
+Target Server Version : 50534
+File Encoding : 65001
+
+Date: 2019-01-19 14:52:16
+*/
+
+SET FOREIGN_KEY_CHECKS=0;
+
+-- ----------------------------
+-- Table structure for live_scene
+-- ----------------------------
+DROP TABLE IF EXISTS `live_scene`;
+CREATE TABLE `live_scene` (
+ `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '数据ID',
+ `title` varchar(255) DEFAULT NULL COMMENT '现场标题',
+ `scene_type` smallint(6) DEFAULT NULL COMMENT '现场类型',
+ `title_image` varchar(255) DEFAULT NULL COMMENT '标题图',
+ `live_desc` varchar(255) DEFAULT NULL COMMENT '现场简介',
+ `live_start` datetime DEFAULT NULL COMMENT '直播时间',
+ `live_position` varchar(255) DEFAULT NULL COMMENT '直播地点',
+ `live_state` smallint(6) DEFAULT NULL COMMENT '直播状态',
+ `scene_mark` varchar(255) DEFAULT NULL COMMENT '现场备注',
+ `scene_state` smallint(6) DEFAULT NULL COMMENT '现场状态',
+ `direct_state` smallint(6) DEFAULT NULL COMMENT '导播状态',
+ `process_id` int(11) DEFAULT NULL COMMENT '流程ID',
+ `scene_sign` varchar(64) DEFAULT NULL COMMENT '现场唯一标识',
+ `create_date` datetime DEFAULT NULL COMMENT '创建时间',
+ `creator_id` int(11) DEFAULT NULL COMMENT '创建人',
+ `update_date` datetime DEFAULT NULL COMMENT '修改时间',
+ `updator_id` int(11) DEFAULT NULL COMMENT '修改人',
+ `delete_flag` smallint(6) DEFAULT NULL COMMENT '是否删除',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='现场表';
+
+-- ----------------------------
+-- Table structure for live_scene_check
+-- ----------------------------
+DROP TABLE IF EXISTS `live_scene_check`;
+CREATE TABLE `live_scene_check` (
+ `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '数据ID',
+ `scene_id` int(11) DEFAULT NULL COMMENT '现场ID',
+ `process_id` int(11) DEFAULT NULL COMMENT '流程ID',
+ `node_id` int(11) DEFAULT NULL COMMENT '节点ID',
+ `auditor_id` int(11) DEFAULT NULL COMMENT '审核人ID',
+ `auditor_name` varchar(64) DEFAULT NULL COMMENT '审核人姓名',
+ `autitor_act` varchar(16) DEFAULT NULL COMMENT '审核动作标识',
+ `check_info` varchar(255) DEFAULT NULL COMMENT '审核说明',
+ `check_date` datetime DEFAULT NULL COMMENT '操作时间',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='现场审核表';
+
+-- ----------------------------
+-- Table structure for live_scene_live_info
+-- ----------------------------
+DROP TABLE IF EXISTS `live_scene_live_info`;
+CREATE TABLE `live_scene_live_info` (
+ `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '数据ID',
+ `scene_id` int(11) DEFAULT NULL COMMENT '现场ID',
+ `user_id` int(11) DEFAULT NULL COMMENT '人员ID',
+ `push_url` varchar(255) DEFAULT NULL COMMENT '推流地址',
+ `push_state` smallint(6) DEFAULT NULL COMMENT '推流状态',
+ `push_start` datetime DEFAULT NULL COMMENT '推流开始时间',
+ `push_end` datetime DEFAULT NULL COMMENT '推流结束时间',
+ `play_url_rmtp` varchar(255) DEFAULT NULL COMMENT 'RMTP播流地址',
+ `play_url_hls` varchar(255) DEFAULT NULL COMMENT 'HLS播流地址',
+ `play_url_flv` varchar(255) DEFAULT NULL COMMENT 'FLV播流地址',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='现场直播信息表';
diff --git a/db/video.sql b/db/video.sql
new file mode 100644
index 0000000..db04520
--- /dev/null
+++ b/db/video.sql
@@ -0,0 +1,23 @@
+DROP TABLE IF EXISTS `video`;
+CREATE TABLE `video` (
+ `id` int(11) NOT NULL AUTO_INCREMENT,
+ `title_img` varchar(64) DEFAULT NULL COMMENT '标题图',
+ `title` varchar(255) DEFAULT NULL COMMENT '标题',
+ `file_size` varchar(64) DEFAULT NULL COMMENT '文件大小',
+ `duration_time` varchar(64) DEFAULT NULL COMMENT '时长',
+ `publish_channel` varchar(64) DEFAULT NULL COMMENT '发布渠道',
+ `create_method` varchar(64) DEFAULT NULL COMMENT '创建方式',
+ `status` tinyint(1) DEFAULT '0' COMMENT '视频的状态(0,草稿,1,审核中,2,成品)',
+ `video_type` varchar(64) DEFAULT NULL COMMENT '视频的类型',
+ `date` date DEFAULT NULL COMMENT '时间',
+ `server_video_path` varchar(64) DEFAULT NULL COMMENT '服务器的视频路径',
+ `digest` varchar(255) DEFAULT NULL COMMENT '摘要',
+ `opinion` varchar(255) DEFAULT NULL COMMENT '审核意见',
+ `create_date` date DEFAULT NULL COMMENT '创建日期',
+ `create_user` int(4) DEFAULT NULL COMMENT '创建人',
+ `update_date` date DEFAULT NULL COMMENT '修改日期',
+ `update_user` tinyint(4) DEFAULT NULL COMMENT '修改人',
+ `is_delete` tinyint(1) DEFAULT '0' COMMENT '是否删除',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB;
+
diff --git a/db/weiyan_20190119.sql b/db/weiyan_20190119.sql
new file mode 100644
index 0000000..4fc7d51
--- /dev/null
+++ b/db/weiyan_20190119.sql
@@ -0,0 +1,22 @@
+DROP TABLE IF EXISTS `live_report`;
+CREATE TABLE `live_report` (
+ `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '数据ID',
+ `scene_id` int(11) NOT NULL COMMENT '现场ID',
+ `report_type` int(4) NOT NULL COMMENT '报道类型 1视频 2音频 3图文 4文字',
+ `title` varchar(300) DEFAULT NULL COMMENT '报道标题',
+ `user_id` int(11) DEFAULT NULL COMMENT '报道记者ID',
+ `img_list` varchar(512) DEFAULT NULL COMMENT '图片路径,多张用,分割',
+ `media_url` varchar(512) DEFAULT NULL COMMENT '视频、音频回看URL地址',
+ `content` text COMMENT '报道内容',
+ `create_id` int(11) DEFAULT NULL COMMENT '创建人',
+ `create_date` datetime DEFAULT NULL COMMENT '创建时间',
+ `is_delete` tinyint(1) DEFAULT 0 COMMENT '是否删除 0未删除 1 删除',
+ `is_release` tinyint(1) DEFAULT 0 COMMENT '是否发布 0未发布 1 已发布',
+ `release_user` int(11) DEFAULT NULL COMMENT '发布人',
+ `release_date` varchar(25) DEFAULT NULL COMMENT '发布时间',
+ `last_update_user` int(11) DEFAULT NULL COMMENT '最后操作人',
+ `last_update_date` datetime DEFAULT NULL COMMENT '最后操作时间',
+ PRIMARY KEY (`id`),
+ KEY `INDEX_id` (`scene_id`),
+ KEY `INDEX_S` (`id`,`scene_id`)
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT '直播报道';
\ No newline at end of file
diff --git a/db/weiyan_20190215.sql b/db/weiyan_20190215.sql
new file mode 100644
index 0000000..fcf51fc
--- /dev/null
+++ b/db/weiyan_20190215.sql
@@ -0,0 +1,16 @@
+DROP TABLE IF EXISTS `live_comment`;
+CREATE TABLE `live_comment` (
+ `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '数据ID',
+ `source` int(4) NOT NULL COMMENT '评论来源 1用户 2后台 3第三方',
+ `text` varchar(500) DEFAULT NULL COMMENT '评论内容',
+ `scene_id` int(11) DEFAULT NULL COMMENT '现场ID',
+ `create_id` int(11) DEFAULT NULL COMMENT '评论人',
+ `create_date` datetime DEFAULT NULL COMMENT '评论时间',
+ `is_delete` tinyint(1) DEFAULT 0 COMMENT '是否删除 0未删除 1 删除',
+ `is_release` tinyint(1) DEFAULT 0 COMMENT '是否发布 0未发布 1 已发布',
+ `release_user` int(11) DEFAULT NULL COMMENT '发布人',
+ `release_date` datetime DEFAULT NULL COMMENT '发布时间',
+ `last_update_user` int(11) DEFAULT NULL COMMENT '最后操作人',
+ `last_update_date` datetime DEFAULT NULL COMMENT '最后操作时间',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT '现场评论';
\ No newline at end of file
diff --git a/db/weiyan_20190220.sql b/db/weiyan_20190220.sql
new file mode 100644
index 0000000..ebb5a8e
--- /dev/null
+++ b/db/weiyan_20190220.sql
@@ -0,0 +1,16 @@
+DROP TABLE IF EXISTS `live_scene_count`;
+CREATE TABLE `live_scene_count` (
+ `scene_id` int(11) NOT NULL,
+ `views` int(11) NOT NULL DEFAULT '0' COMMENT '总访问数',
+ `views_show` int(11) NOT NULL DEFAULT '0' COMMENT '前端显示访问数',
+ `views_month` int(11) NOT NULL DEFAULT '0' COMMENT '月访问数',
+ `views_week` int(11) NOT NULL DEFAULT '0' COMMENT '周访问数',
+ `views_day` int(11) NOT NULL DEFAULT '0' COMMENT '日访问数',
+ `comments` int(11) NOT NULL DEFAULT '0' COMMENT '总评论数',
+ `comments_show` int(11) NOT NULL DEFAULT '0' COMMENT '前端显示评论数',
+ `comments_month` int(11) NOT NULL DEFAULT '0' COMMENT '月评论数',
+ `comments_week` smallint(6) NOT NULL DEFAULT '0' COMMENT '周评论数',
+ `comments_day` smallint(6) NOT NULL DEFAULT '0' COMMENT '日评论数',
+ `last_update_time` datetime DEFAULT NULL COMMENT '最后更新时间',
+ PRIMARY KEY (`scene_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='现场直播计数表';
\ No newline at end of file
diff --git a/db/weiyan_20190222.sql b/db/weiyan_20190222.sql
new file mode 100644
index 0000000..1383594
--- /dev/null
+++ b/db/weiyan_20190222.sql
@@ -0,0 +1,4 @@
+ALTER TABLE `live_report`
+ADD COLUMN `file_duration` bigint NULL DEFAULT 0 COMMENT '音视频时长',
+ADD COLUMN `file_size` bigint NULL DEFAULT 0 COMMENT '文件大小';
+
diff --git a/db/weiyan_20190227.sql b/db/weiyan_20190227.sql
new file mode 100644
index 0000000..688436e
--- /dev/null
+++ b/db/weiyan_20190227.sql
@@ -0,0 +1,3 @@
+ALTER TABLE `live_report`
+ADD COLUMN `is_top` tinyint(1) NULL DEFAULT 0 COMMENT '是否置顶 0未置顶 1 置顶' AFTER `is_release`,
+ADD COLUMN `priority` tinyint(4) NULL DEFAULT 0 COMMENT '排序,数字越大,排序越靠前' AFTER `is_top`;
\ No newline at end of file
diff --git a/db/weiyan_20190305.sql b/db/weiyan_20190305.sql
new file mode 100644
index 0000000..a00a63f
--- /dev/null
+++ b/db/weiyan_20190305.sql
@@ -0,0 +1,4 @@
+ALTER TABLE `sys_user`
+ADD COLUMN `gender` tinyint(1) NULL DEFAULT NULL COMMENT '性别 0:女 1:男' AFTER `mobile`,
+ADD COLUMN `user_img` varchar(255) NULL DEFAULT NULL COMMENT '用户头像' AFTER `gender`,
+ADD COLUMN `intro` varchar(255) NULL DEFAULT NULL COMMENT '用户介绍' AFTER `user_img`;
\ No newline at end of file
diff --git a/db/weiyan_20190308.sql b/db/weiyan_20190308.sql
new file mode 100644
index 0000000..d87a9ef
--- /dev/null
+++ b/db/weiyan_20190308.sql
@@ -0,0 +1,9 @@
+ALTER TABLE `live_scene_live_info`
+ADD COLUMN `priority` tinyint(4) NULL DEFAULT 0 COMMENT '排序,数字越大,排序越靠前';
+
+ALTER TABLE `live_scene_record`
+ADD COLUMN `priority` tinyint(4) NULL DEFAULT 0 COMMENT '排序,数字越大,排序越靠前';
+
+ALTER TABLE `live_scene`
+ADD COLUMN `is_top` tinyint(1) NULL DEFAULT 0 COMMENT '是否置顶 0未置顶 1 置顶',
+ADD COLUMN `priority` tinyint(4) NULL DEFAULT 0 COMMENT '排序,数字越大,排序越靠前';
\ No newline at end of file
diff --git a/db/weiyan_20190312.sql b/db/weiyan_20190312.sql
new file mode 100644
index 0000000..ba02bac
--- /dev/null
+++ b/db/weiyan_20190312.sql
@@ -0,0 +1,28 @@
+DROP TABLE IF EXISTS `live_multimedia`;
+CREATE TABLE `live_multimedia` (
+ `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '数据ID',
+ `title` varchar(200) DEFAULT NULL COMMENT '标题',
+ `media_type` int(11) DEFAULT NULL COMMENT '素材类型 1视频 2语音 3图片',
+ `request_id` varchar(100) DEFAULT NULL COMMENT '请求ID',
+ `cate_id` varchar(100) DEFAULT NULL COMMENT '视频分类ID。',
+ `media_size` int(11) DEFAULT '0' COMMENT '素材资源大小,单位:字节。',
+ `media_duration` float(11,0) DEFAULT '0' COMMENT '源文件时长 ,单位:秒',
+ `media_width` int(11) DEFAULT '0' COMMENT '源文件宽 ,源片为纯音频不会该字段',
+ `media_height` int(11) DEFAULT '0' COMMENT '源文件高 ,源片为纯音频不会有该字段',
+ `media_bitrate` varchar(255) DEFAULT NULL COMMENT '源文件码率 ,单位:Kbps',
+ `media_fps` varchar(255) DEFAULT NULL COMMENT '源文件帧率 ,每秒多少帧,源片为纯音频不会有该字段',
+ `media_snapshots` varchar(1000) DEFAULT NULL COMMENT '视频快照',
+ `ori_file_name` varchar(255) DEFAULT NULL,
+ `cover_url` varchar(1000) DEFAULT NULL COMMENT '视频封面图',
+ `tags` varchar(600) DEFAULT NULL COMMENT '标签 单个标签不超过32字节,最多不超过16个标签,多个用","分隔。',
+ `media_id` varchar(50) DEFAULT NULL COMMENT '媒资ID',
+ `media_url` varchar(200) DEFAULT NULL COMMENT '媒资地址。如果配置了CDN域名则返回CDN地址,否则为OSS地址。',
+ `description` varchar(1000) DEFAULT NULL COMMENT '素材描述。',
+ `state` smallint(1) DEFAULT '0' COMMENT '状态 0 上传中 1上传成功 2 上传失败',
+ `create_date` datetime DEFAULT NULL COMMENT '创建日期',
+ `creator_id` int(11) DEFAULT NULL COMMENT '创建人',
+ `last_update_date` datetime DEFAULT NULL COMMENT '修改时间',
+ `last_update_user` int(11) DEFAULT NULL COMMENT '修改人',
+ `is_delete` smallint(1) DEFAULT '0' COMMENT '是否删除 0 未删除 1删除',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='素材信息';
\ No newline at end of file
diff --git a/db/weiyan_20190320.sql b/db/weiyan_20190320.sql
new file mode 100644
index 0000000..a9c0455
--- /dev/null
+++ b/db/weiyan_20190320.sql
@@ -0,0 +1,3 @@
+ALTER TABLE `live_multimedia`
+ADD COLUMN `media_source` smallint(2) NULL COMMENT '视频来源 1直播录制 2 素材上传' AFTER `media_type`;
+
diff --git a/db/weiyan_20190328.sql b/db/weiyan_20190328.sql
new file mode 100644
index 0000000..07ac0d4
--- /dev/null
+++ b/db/weiyan_20190328.sql
@@ -0,0 +1,18 @@
+DROP TABLE IF EXISTS `live_channel`;
+CREATE TABLE `live_channel` (
+ `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '栏目数据ID',
+ `name` varchar(200) DEFAULT NULL COMMENT '栏目名称',
+ `identify` varchar(200) DEFAULT NULL COMMENT '栏目标识',
+ `priority` int(11) DEFAULT NULL COMMENT '排序,数字越大,排序越靠前',
+ `is_display` smallint(1) DEFAULT '1' COMMENT '是否显示 0 不显示 1显示',
+ `create_date` datetime DEFAULT NULL COMMENT '创建日期',
+ `creator_id` int(11) DEFAULT NULL COMMENT '创建人',
+ `last_update_date` datetime DEFAULT NULL COMMENT '修改时间',
+ `last_update_user` int(11) DEFAULT NULL COMMENT '修改人',
+ `is_delete` smallint(1) DEFAULT '0' COMMENT '是否删除 0 未删除 1删除',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='现场栏目信息';
+
+
+ALTER TABLE `live_scene`
+ADD COLUMN `channel_id` int(11) NULL COMMENT '栏目ID' AFTER `id`;
\ No newline at end of file
diff --git a/db/weiyan_20190423.sql b/db/weiyan_20190423.sql
new file mode 100644
index 0000000..a93c225
--- /dev/null
+++ b/db/weiyan_20190423.sql
@@ -0,0 +1,16 @@
+ALTER TABLE `live_scene`
+ADD COLUMN `auditor_id` int(11) NULL DEFAULT NULL COMMENT '实际审核人Id',
+ADD COLUMN `audit_date` datetime NULL DEFAULT NULL COMMENT '审核时间',
+ADD COLUMN `channels_name` varchar(255) NULL DEFAULT NULL COMMENT '栏目名称(多选)';
+
+DROP TABLE IF EXISTS `live_scene_channel`;
+CREATE TABLE `live_scene_channel` (
+ `id` bigint(20) NOT NULL AUTO_INCREMENT,
+ `scene_id` int(11) NOT NULL,
+ `channel_id` int(11) NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='现场与栏目对应关系';
+
+
+insert into live_scene_channel(scene_id,channel_id) select id,channel_id from live_scene bean where bean.channel_id is not NULL;
+update live_scene a SET a.channels_name=(SELECT c.`name` FROM live_channel as c where c.id=a.channel_id)
\ No newline at end of file
diff --git a/db/weiyan_20200410.sql b/db/weiyan_20200410.sql
new file mode 100644
index 0000000..08f8147
--- /dev/null
+++ b/db/weiyan_20200410.sql
@@ -0,0 +1,25 @@
+DROP TABLE IF EXISTS `live_task_allocation`;
+CREATE TABLE `live_task_allocation` (
+ `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '数据ID',
+ `uri` varchar(500) DEFAULT NULL COMMENT '语音url',
+ `text` varchar(500) DEFAULT NULL COMMENT '语音内容',
+ `duration_time` int(11) DEFAULT NULL COMMENT '语音时长',
+ `reporter_id` int(11) DEFAULT NULL COMMENT '记者ID',
+ `create_id` int(11) DEFAULT NULL COMMENT '创建人',
+ `create_date` datetime DEFAULT NULL COMMENT '创建时间',
+ `is_delete` tinyint(1) DEFAULT 0 COMMENT '是否删除 0未删除 1 删除',
+ `is_read` tinyint(1) DEFAULT 0 COMMENT '是否发布 0 未读 1 已读',
+ `read_date` datetime DEFAULT NULL COMMENT '阅读时间',
+ `tenant_id` bigint(20) DEFAULT NULL COMMENT '租户id',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT '任务分配';
+
+
+ALTER TABLE `live_task_allocation`
+ADD COLUMN `task_id` varchar(20) NULL DEFAULT NULL COMMENT 'taskId' AFTER `id`;
+
+ALTER TABLE `live_task_allocation`
+MODIFY COLUMN `reporter_id` varchar(500) NULL DEFAULT NULL COMMENT '记者ID' AFTER `duration_time`;
+
+ALTER TABLE `live_report`
+ADD COLUMN `related_report` varchar(512) NULL DEFAULT NULL COMMENT '相关报道' AFTER `tenant_id`;
diff --git a/db/weiyan_20210115.sql b/db/weiyan_20210115.sql
new file mode 100644
index 0000000..89dbc76
--- /dev/null
+++ b/db/weiyan_20210115.sql
@@ -0,0 +1,8 @@
+ALTER TABLE `live_scene_live_info`
+MODIFY COLUMN `info_type` smallint(6) NULL DEFAULT NULL COMMENT '类型,1:记者,2:直播间,3:第三方拉流' AFTER `info_name`,
+ADD COLUMN `pull_start` datetime NULL COMMENT '拉流开始时间' AFTER `tenant_id`,
+ADD COLUMN `pull_end` datetime NULL COMMENT '拉流结束时间' AFTER `pull_start`;
+
+ALTER TABLE `live_scene_live_info_ext`
+ADD COLUMN `pull_url` varchar(500) NULL COMMENT '拉流地址' AFTER `tenant_id`;
+
diff --git a/pom-war.xml b/pom-war.xml
new file mode 100644
index 0000000..99e8324
--- /dev/null
+++ b/pom-war.xml
@@ -0,0 +1,231 @@
+
+
+ 4.0.0
+ com.poly
+ ifs
+ 1.0.0
+ war
+ war包对应的pom,打war包,执行【mvn clean package -f pom-war.xml】
+
+
+ org.springframework.boot
+ spring-boot-starter-parent
+ 1.5.10.RELEASE
+
+
+
+ UTF-8
+ UTF-8
+ 1.8
+ 1.0.5
+ 2.1.9
+ 5.1.38
+ 1.1.3
+ 2.3.0
+ 2.6
+ 1.3.1
+ 2.5
+ 1.10
+ 1.10
+ 1.3.2
+ 0.7.0
+ 0.0.9
+ [7.2.0, 7.2.99]
+ 2.5.0
+ 4.4
+ 2.2.2
+ 2.9.9
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-tomcat
+ provided
+
+
+ org.springframework.boot
+ spring-boot-starter-aop
+
+
+ org.springframework
+ spring-context-support
+
+
+ org.springframework.boot
+ spring-boot-starter-data-redis
+
+
+ org.springframework.boot
+ spring-boot-configuration-processor
+ true
+
+
+ com.baomidou
+ mybatisplus-spring-boot-starter
+ ${mybatisplus.spring.boot.version}
+
+
+ com.baomidou
+ mybatis-plus
+ ${mybatisplus.version}
+
+
+ mysql
+ mysql-connector-java
+ ${mysql.version}
+
+
+ com.alibaba
+ druid-spring-boot-starter
+ ${druid.version}
+
+
+ org.quartz-scheduler
+ quartz
+ ${quartz.version}
+
+
+ com.mchange
+ c3p0
+
+
+
+
+ commons-lang
+ commons-lang
+ ${commons.lang.version}
+
+
+ commons-fileupload
+ commons-fileupload
+ ${commons.fileupload.version}
+
+
+ commons-io
+ commons-io
+ ${commons.io.version}
+
+
+ commons-codec
+ commons-codec
+ ${commons.codec.version}
+
+
+ commons-configuration
+ commons-configuration
+ ${commons.configuration.version}
+
+
+ org.apache.shiro
+ shiro-core
+ ${shiro.version}
+
+
+ org.apache.shiro
+ shiro-spring
+ ${shiro.version}
+
+
+ io.jsonwebtoken
+ jjwt
+ ${jwt.version}
+
+
+ com.github.axet
+ kaptcha
+ ${kaptcha.version}
+
+
+ io.springfox
+ springfox-swagger2
+ ${swagger.version}
+
+
+ io.springfox
+ springfox-swagger-ui
+ ${swagger.version}
+
+
+ com.qiniu
+ qiniu-java-sdk
+ ${qiniu.version}
+
+
+ com.aliyun.oss
+ aliyun-sdk-oss
+ ${aliyun.oss.version}
+
+
+ com.qcloud
+ cos_api
+ ${qcloud.cos.version}
+
+
+ org.slf4j
+ slf4j-log4j12
+
+
+
+
+ joda-time
+ joda-time
+ ${joda.time.version}
+
+
+
+
+ ${artifactId}
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+ true
+
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+
+ true
+
+
+
+
+
+
+
+ public
+ aliyun nexus
+ http://maven.aliyun.com/nexus/content/groups/public/
+
+ true
+
+
+
+
+
+ public
+ aliyun nexus
+ http://maven.aliyun.com/nexus/content/groups/public/
+
+ true
+
+
+ false
+
+
+
+
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..2e5e52a
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,431 @@
+
+
+ 4.0.0
+ com.poly
+ platform
+ 1.0.0
+ jar
+ pluralism-media
+
+
+ org.springframework.boot
+ spring-boot-starter-parent
+ 1.5.10.RELEASE
+
+
+
+ UTF-8
+ UTF-8
+ 1.8
+ 2.1.9
+ 2.1.9
+ 5.1.38
+ 1.1.3
+ 2.3.0
+ 2.6
+ 1.3.1
+ 2.5
+ 1.10
+ 1.10
+ 1.3.2
+ 0.7.0
+ 0.0.9
+ [7.2.0, 7.2.99]
+ 3.10.2
+ 4.4
+ 2.9.2
+ 2.9.9
+ 7.7.0
+
+ 0.0.9-tio-http
+
+
+ /work/platform
+ ${project.artifactId}-${project.version}.jar
+ 192.168.1.10:22
+ root
+ 123456
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-tomcat
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-aop
+
+
+ org.springframework
+ spring-context-support
+
+
+ org.springframework.boot
+ spring-boot-starter-data-redis
+
+
+ org.springframework.boot
+ spring-boot-configuration-processor
+ true
+
+
+
+
+
+
+
+ com.baomidou
+ mybatis-plus-boot-starter
+ ${mybatisplus.spring.boot.version}
+
+
+ com.baomidou
+ mybatis-plus
+ ${mybatisplus.version}
+
+
+ mysql
+ mysql-connector-java
+ ${mysql.version}
+
+
+ com.alibaba
+ druid-spring-boot-starter
+ ${druid.version}
+
+
+ org.quartz-scheduler
+ quartz
+ ${quartz.version}
+
+
+ com.mchange
+ c3p0
+
+
+
+
+ commons-lang
+ commons-lang
+ ${commons.lang.version}
+
+
+ commons-fileupload
+ commons-fileupload
+ ${commons.fileupload.version}
+
+
+ commons-io
+ commons-io
+ ${commons.io.version}
+
+
+ commons-codec
+ commons-codec
+ ${commons.codec.version}
+
+
+ commons-configuration
+ commons-configuration
+ ${commons.configuration.version}
+
+
+ org.apache.shiro
+ shiro-core
+ ${shiro.version}
+
+
+ org.apache.shiro
+ shiro-spring
+ ${shiro.version}
+
+
+ io.jsonwebtoken
+ jjwt
+ ${jwt.version}
+
+
+ com.github.axet
+ kaptcha
+ ${kaptcha.version}
+
+
+ io.springfox
+ springfox-swagger2
+ ${swagger.version}
+
+
+ com.github.xiaoymin
+ swagger-bootstrap-ui
+ 1.9.3
+
+
+ io.springfox
+ springfox-swagger-ui
+ ${swagger.version}
+
+
+ com.qiniu
+ qiniu-java-sdk
+ ${qiniu.version}
+
+
+ com.aliyun.oss
+ aliyun-sdk-oss
+ ${aliyun.oss.version}
+
+
+ com.qcloud
+ cos_api
+ ${qcloud.cos.version}
+
+
+ org.slf4j
+ slf4j-log4j12
+
+
+
+
+ joda-time
+ joda-time
+ ${joda.time.version}
+
+
+ org.t-io
+ tio-http-common
+ ${t-io.version}
+
+
+ jave
+ jave
+ system
+ 1.0.2
+ ${project.basedir}/lib/jave-1.0.2.jar
+
+
+
+ org.projectlombok
+ lombok
+ 1.16.16
+ provided
+
+
+
+ com.aliyun
+ aliyun-java-sdk-core
+ 4.5.1
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+ org.springframework
+ spring-messaging
+ 4.3.14.RELEASE
+
+
+ org.springframework
+ spring-websocket
+ 4.2.4.RELEASE
+ provided
+
+
+
+
+ com.aliyun
+ aliyun-java-sdk-mts
+ 2.5.2
+
+
+ com.aliyun
+ aliyun-java-sdk-live
+ 3.7.3
+
+
+ com.alibaba
+ fastjson
+ 1.2.46
+
+
+
+ com.aliyun
+ aliyun-java-sdk-vod
+ 2.15.11
+
+
+ com.aliyun
+ aliyun-java-vod-upload
+ system
+ 1.4.13
+ ${project.basedir}/lib/aliyun-java-vod-upload-1.4.13.jar
+
+
+ org.json
+ json
+ 20170516
+
+
+ net.sf.json-lib
+ json-lib
+ 2.4
+ jdk15
+
+
+ com.google.code.gson
+ gson
+ 2.8.2
+
+
+
+ jdk.tools
+ jdk.tools
+ 1.8
+ system
+ ${JAVA_HOME}/lib/tools.jar
+
+
+
+
+ org.apache.lucene
+ lucene-core
+ ${lucene.version}
+
+
+ org.apache.lucene
+ lucene-analyzers-common
+ ${lucene.version}
+
+
+ org.apache.lucene
+ lucene-queryparser
+ ${lucene.version}
+
+
+ com.google.zxing
+ core
+ 3.3.3
+
+
+
+ com.github.tencentyun
+ tls-sig-api
+ 1.2
+
+
+ com.jianggujin
+ IKAnalyzer-lucene
+ 8.0.0
+
+
+
+
+ ${project.artifactId}
+
+
+ org.apache.maven.wagon
+ wagon-ssh
+ 2.8
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+ true
+ true
+
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+
+ true
+
+
+
+
+ org.codehaus.mojo
+ wagon-maven-plugin
+ 1.0
+
+ target/${pack-name}
+
+
+
+ pkill -f ${pack-name}
+ rm -f ${service-path}/platform.log
+
+
+ ${service-path}/platform.log 2>&1 & ]]>
+
+
+
+
+ true
+
+
+
+
+ com.spotify
+ docker-maven-plugin
+ 0.4.14
+
+
+
+
+
+
+
+
+
+ renren/fast
+ ${project.basedir}
+
+
+ /
+ ${project.build.directory}
+ ${project.build.finalName}.jar
+
+
+
+
+
+
+
+
+
+
+ public
+ aliyun nexus
+ http://maven.aliyun.com/nexus/content/groups/public/
+
+ true
+
+
+
+
+
+ public
+ aliyun nexus
+ http://maven.aliyun.com/nexus/content/groups/public/
+
+ true
+
+
+ false
+
+
+
+
+
diff --git a/src/main/java/com/platform/PlatformApplication.java b/src/main/java/com/platform/PlatformApplication.java
new file mode 100644
index 0000000..28550e8
--- /dev/null
+++ b/src/main/java/com/platform/PlatformApplication.java
@@ -0,0 +1,42 @@
+package com.platform;
+
+import com.platform.datasources.DynamicDataSourceConfig;
+
+import java.util.concurrent.TimeUnit;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
+import org.springframework.boot.builder.SpringApplicationBuilder;
+import org.springframework.boot.context.embedded.EmbeddedServletContainerFactory;
+import org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory;
+import org.springframework.boot.web.support.SpringBootServletInitializer;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Import;
+import org.springframework.scheduling.annotation.EnableAsync;
+
+
+@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
+@Import({DynamicDataSourceConfig.class})
+@EnableAsync
+public class PlatformApplication extends SpringBootServletInitializer {
+
+ public static void main(String[] args) {
+ SpringApplication.run(PlatformApplication.class, args);
+
+ }
+
+ @Override
+ protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
+ return application.sources(PlatformApplication.class);
+ }
+
+ @Bean
+ public EmbeddedServletContainerFactory servletContainer() {
+ TomcatEmbeddedServletContainerFactory factory = new TomcatEmbeddedServletContainerFactory();
+// factory.setPort(9000);
+ factory.setSessionTimeout(1, TimeUnit.DAYS);
+// factory.addErrorPages(new ErrorPage(HttpStatus.NOT_FOUND, "/notfound.html"));
+ return factory;
+ }
+}
diff --git a/src/main/java/com/platform/autoconfigure/live/LiveAutoConfiguration.java b/src/main/java/com/platform/autoconfigure/live/LiveAutoConfiguration.java
new file mode 100644
index 0000000..85613a3
--- /dev/null
+++ b/src/main/java/com/platform/autoconfigure/live/LiveAutoConfiguration.java
@@ -0,0 +1,87 @@
+package com.platform.autoconfigure.live;
+
+import com.platform.plugs.live.config.*;
+import com.platform.plugs.common.rpc.DefaultRequestParams;
+import com.platform.plugs.common.rpc.Profile;
+import com.platform.plugs.live.LiveClient;
+
+import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * @Author TONG
+ * @Date 2019/2/18 14:23
+ **/
+@Configuration
+@ConditionalOnClass({LiveClient.class})
+@EnableConfigurationProperties({LiveProperties.class})
+public class LiveAutoConfiguration {
+
+ private final LiveProperties properties;
+
+ private LiveClient liveClient;
+
+ public LiveAutoConfiguration(LiveProperties properties) {
+ this.properties = properties;
+ }
+
+ @Bean
+ @ConditionalOnMissingBean
+ public LiveClient liveClient() {
+ this.liveClient = createLiveClient();
+ return liveClient;
+ }
+
+ private LiveClient createLiveClient() {
+
+ this.liveClient = new LiveClient(
+ new Profile(properties.getCommon().getRegionId(), properties.getAccount().getAccessKeyId(), properties.getAccount().getSecret()),
+ new DefaultRequestParams(properties.getCommon().getDomain(), properties.getCommon().getVersion()));
+
+ LiveProperties.LiveRecord liveRecord = properties.getRecord();
+// LiveRecordConfig liveRecordConfig = new LiveRecordConfig(
+// liveRecord.getDomainName(), liveRecord.getOssBucket(), liveRecord.getOssEndpoint(),
+// liveRecord.getRecordFormat().getRecordFormat(), liveRecord.getRecordFormat().getOssRecordPrefix() + liveRecord.getRecordFormat().getOssObjectPrefix(), null,
+// liveRecord.getOnDemand(), liveRecord.getRecordFormat().getCycleDuration());
+ LiveRecordConfig liveRecordConfig = new LiveRecordConfig(
+ liveRecord.getDomainName(), liveRecord.getVodTranscodeGroupIdMp4(), liveRecord.getVodTranscodeGroupIdMp3(), liveRecord.getVodRecordCategory(), liveRecord.getRecordFormat().getCycleDuration());
+ this.liveClient.configLiveRecord(liveRecordConfig);
+
+ LiveProperties.LiveDomains domains = properties.getDomains();
+ LiveStreamConfig liveStreamConfig = new LiveStreamConfig(
+ domains.getPush().getDomainName(), domains.getPush().getKey(),
+ domains.getLive().getDomainName(), domains.getLive().getKey());
+ if(domains.getPush().getAuthTime() != null)
+ liveStreamConfig.setPushAuthTime(domains.getPush().getAuthTime());
+ if(domains.getLive().getAuthTime() != null)
+ liveStreamConfig.setLiveAuthTime(domains.getLive().getAuthTime());
+ this.liveClient.configLiveStream(liveStreamConfig);
+
+ LiveProperties.LiveCaster caster = properties.getCaster();
+ String ossObjectPrefix = liveRecord.getRecordFormat().getOssRecordPrefix() + (liveRecord.getRecordFormat().getOssObjectPrefix().replaceAll("Escaped", ""));
+ LiveCasterConfig liveCasterConfig = new LiveCasterConfig(
+ domains.getLive().getDomainName(), caster.getCasterTemplate(), caster.getLiveTemplateIds(),
+ liveRecord.getOssBucket(), liveRecord.getOssEndpoint(), liveRecord.getRecordFormat().getRecordFormat(),
+ ossObjectPrefix, null, liveRecord.getRecordFormat().getCycleDuration());
+ this.liveClient.configLiveCaster(liveCasterConfig);
+
+ LiveUploadToVoDConfig liveUploadToVoDConfig = new LiveUploadToVoDConfig(properties.getAccount().getAccessKeyId(),properties.getAccount().getSecret(),domains.getMedia().getDomainName(), domains.getMedia().getBucket(), domains.getMedia().getEndpoint(), domains.getMedia().getApiRegionId());
+ this.liveClient.configLiveUploadToVoD(liveUploadToVoDConfig);
+
+ LiveTransCodeConfig liveTransCodeConfig = new LiveTransCodeConfig(properties.getAccount().getAccessKeyId(), properties.getAccount().getSecret(), properties.getCommon().getRegionId());
+ this.liveClient.configLiveTransCode(liveTransCodeConfig);
+
+// LiveAudioConfig liveAudioConfig = new LiveAudioConfig(properties.getAudio().getRecognition().getAppKey(), properties.getAudio().getRecognition().getRegionId(), properties.getAudio().getRecognition().getEndpointName(),
+// properties.getAudio().getRecognition().getProduct(), properties.getAudio().getRecognition().getDomainName(), properties.getAudio().getRecognition().getApiVersion(), properties.getAudio().getRecognition().getPostRequestAction(),
+// properties.getAudio().getRecognition().getGetRequestAction(), properties.getAccount().getAccessKeyId(), properties.getAccount().getSecret(), properties.getAudio().getRecognition().getCallbackDomainName());
+// this.liveClient.configLiveAudio(liveAudioConfig);
+
+ LivePullStreamConfig livePullStreamConfig = new LivePullStreamConfig(domains.getLive().getDomainName(), properties.getAccount().getAccessKeyId(),properties.getAccount().getSecret(), properties.getCommon().getRegionId());
+ this.liveClient.configLivePullStream(livePullStreamConfig);
+
+ return this.liveClient;
+ }
+}
diff --git a/src/main/java/com/platform/autoconfigure/live/LiveProperties.java b/src/main/java/com/platform/autoconfigure/live/LiveProperties.java
new file mode 100644
index 0000000..5fb1735
--- /dev/null
+++ b/src/main/java/com/platform/autoconfigure/live/LiveProperties.java
@@ -0,0 +1,334 @@
+package com.platform.autoconfigure.live;
+
+import lombok.Data;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 直播配置
+ *
+ * @Author TONG
+ * @Date 2019/2/18 11:39
+ **/
+@ConfigurationProperties("zkdx.live")
+@Data
+public class LiveProperties {
+
+ /**
+ * 直播账号配置
+ */
+ private final LiveAccount account = new LiveAccount();
+ /**
+ * 直播基础配置
+ */
+ private final LiveCommon common = new LiveCommon();
+ /**
+ * 直播域名
+ */
+ private final LiveDomains domains = new LiveDomains();
+ /**
+ * 直播录制配置
+ */
+ private final LiveRecord record = new LiveRecord();
+ /**
+ * 导播台配置
+ */
+ private final LiveCaster caster = new LiveCaster();
+ /**
+ * 语音配置
+ */
+ private final LiveAudio audio = new LiveAudio();
+ /**
+ * 微信配置
+ */
+ private final LiveWeixin weixin = new LiveWeixin();
+ /**
+ * 转码模板
+ */
+ private List templates;
+ /**
+ * 图片压缩
+ * */
+ private final CompressImage compressImage = new CompressImage();
+
+ @Data
+ public static class LiveAccount {
+ private String accessKeyId;
+ private String secret;
+ }
+
+ @Data
+ public static class LiveCommon {
+ private String regionId = "cn-shanghai";
+ private String domain = "live.aliyuncs.com";
+ private String version = "2017-03-21";
+ }
+
+ @Data
+ public static class LiveDomains {
+ /**
+ * 推流域名
+ */
+ private Domain push = new Domain();
+ /**
+ * 播流域名
+ */
+ private Domain live = new Domain();
+
+ /**
+ * 煤资库
+ *
+ * @author weiyan 20190311
+ */
+ private Media media = new Media();
+
+ }
+
+ @Data
+ public static class LiveAudio{
+ /*
+ * 语音识别
+ * @author weiyan 20200408
+ */
+ private Recognition recognition = new Recognition();
+ }
+
+ @Data
+ public static class LiveWeixin {
+ private String appId;
+ private String appSecret;
+ }
+
+ @Data
+ public static class LiveCaster {
+ /**
+ * 输出模板lp_ud: 超清 lp_hd: 高清 lp_sd: 标清 lp_ld: 流畅
+ */
+ private String casterTemplate = "lp_ud";
+ /**
+ * 转码输出模板 lld: 流畅 lsd: 标清 lhd: 高清 lud: 超清
+ */
+ private List liveTemplateIds = new ArrayList<>();
+
+ public void setLiveTemplateIds(List liveTemplateIds) {
+ if (liveTemplateIds != null && liveTemplateIds.size() > 0)
+ this.liveTemplateIds = liveTemplateIds;
+ else {
+ switch (this.casterTemplate) {
+
+ case "lp_ud":
+ liveTemplateIds.add("lld");
+ liveTemplateIds.add("lsd");
+ liveTemplateIds.add("lhd");
+ liveTemplateIds.add("lud");
+ break;
+ case "lp_hd":
+ liveTemplateIds.add("lld");
+ liveTemplateIds.add("lsd");
+ liveTemplateIds.add("lhd");
+ break;
+ case "lp_sd":
+ liveTemplateIds.add("lld");
+ liveTemplateIds.add("lsd");
+ break;
+ case "lp_ld":
+ liveTemplateIds.add("lld");
+ break;
+ default:
+ break;
+ }
+ }
+ }
+ }
+
+ @Data
+ public static class Domain {
+ /**
+ * 域名名称
+ */
+ private String domainName;
+ /**
+ * URL鉴权key
+ */
+ private String key;
+ /**
+ * URL鉴权时间, 默认30分钟
+ */
+ private Integer authTime = 30 * 60;
+ }
+
+ @Data
+ public static class Media {
+
+ /**
+ * 域名名称
+ */
+ private String domainName;
+ /**
+ * 煤资库Bucket名称
+ */
+ private String bucket;
+ /**
+ * 煤资库Endpoint域名
+ */
+ private String endpoint;
+ /**
+ * 点播服务接入点
+ */
+ private String apiRegionId;
+ /**
+ * 模板组ID
+ */
+ private String templateGroupId;
+
+ public String getTemplateGroupId() {
+ return templateGroupId;
+ }
+ }
+
+ @Data
+ public static class LiveRecord {
+
+ /**
+ * 加速域名
+ */
+ private String domainName;
+ /**
+ * 视频转码模板ID
+ */
+ private String vodTranscodeGroupIdMp4;
+
+ /**
+ * 音频转码模板ID
+ */
+ private String vodTranscodeGroupIdMp3;
+
+ /**
+ * 录制默认分类
+ */
+ private String vodRecordCategory;
+ /**
+ * OssBucket名称
+ */
+ private String ossBucket;
+ /**
+ * 媒资库Bucket名称
+ */
+ private String mediaBucket;
+ /**
+ * OssEndpoint域名
+ * oss-cn-shanghai.aliyuncs.com
+ */
+ private String ossEndpoint = "oss-cn-shanghai.aliyuncs.com";
+ /**
+ * 按需录制
+ * 0表示关闭
+ * 1表示通过HTTP回调方式,使用1方式时候需要设置OnDemandCallback,否则默认不录制
+ * 2表示通过推流参数方式
+ */
+ private Integer onDemand;
+ /**
+ * 直播录制格式
+ */
+ private final LiveRecordFormat recordFormat = new LiveRecordFormat();
+
+
+ }
+
+ @Data
+ public static class LiveRecordFormat {
+ /**
+ * 周期录制时长。单位:秒。不填则默认为 6 小时。
+ */
+ private Integer cycleDuration = 60 * 60 * 6;
+ /**
+ * 格式。目前支持 m3u8、flv、mp4 周期录制。
+ */
+ private String recordFormat = "mp4";
+ /**
+ * OSS 存储的录制文件名
+ * live-record/{AppName}/{StreamName}/{EscapedStartTime}_{EscapedEndTime}
+ */
+ private String ossObjectPrefix = "/{AppName}/{StreamName}/{EscapedStartTime}_{EscapedEndTime}";
+
+ /**
+ * 更细后生成回顾地址
+ */
+ private String ossRecordPrefix = "live-record";
+ }
+
+ @Data
+ public static class Template {
+
+ /**
+ * 模板名称
+ */
+ String templateName;
+ /**
+ * 模板id
+ */
+ String templateId;
+ /**
+ * 分辨率:宽
+ */
+ String wide;
+ /**
+ * 分辨率:高
+ */
+ String high;
+ }
+
+ @Data
+ public static class CompressImage{
+ /**
+ * 图片等比压缩
+ * */
+ String geometricFormat;
+ /**
+ * 图片强制宽高压缩
+ * */
+ String mandatoryFormat;
+ }
+
+ @Data
+ public static class Recognition{
+ /**
+ * 管控台项目的appkey
+ */
+ String appKey;
+ /**
+ * 服务接入点
+ */
+ String regionId;
+ /**
+ * 服务总结点
+ */
+ String endpointName;
+ /**
+ * 产品名称
+ */
+ String product;
+ /**
+ * 域名
+ */
+ String domainName;
+ /**
+ * API的版本号
+ */
+ String apiVersion;
+ /**
+ * post提交的action
+ */
+ String postRequestAction;
+ /**
+ * get提交的action
+ */
+ String getRequestAction;
+ /**
+ * 回调域名
+ * */
+ String callbackDomainName;
+ }
+}
diff --git a/src/main/java/com/platform/common/annotation/SysLog.java b/src/main/java/com/platform/common/annotation/SysLog.java
new file mode 100644
index 0000000..4f8d7d8
--- /dev/null
+++ b/src/main/java/com/platform/common/annotation/SysLog.java
@@ -0,0 +1,18 @@
+package com.platform.common.annotation;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * 系统日志注解
+ */
+@Target(ElementType.METHOD)
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+public @interface SysLog {
+
+ String value() default "";
+}
diff --git a/src/main/java/com/platform/common/aspect/RedisAspect.java b/src/main/java/com/platform/common/aspect/RedisAspect.java
new file mode 100644
index 0000000..62ef855
--- /dev/null
+++ b/src/main/java/com/platform/common/aspect/RedisAspect.java
@@ -0,0 +1,36 @@
+package com.platform.common.aspect;
+
+import com.platform.common.exception.RRException;
+import org.aspectj.lang.ProceedingJoinPoint;
+import org.aspectj.lang.annotation.Around;
+import org.aspectj.lang.annotation.Aspect;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * Redis切面处理类
+ */
+@Aspect
+@Configuration
+public class RedisAspect {
+ private Logger logger = LoggerFactory.getLogger(getClass());
+ //是否开启redis缓存 true开启 false关闭
+ @Value("${spring.redis.open: false}")
+ private boolean open;
+
+ @Around("execution(* com.platform.common.utils.RedisUtils.*(..))")
+ public Object around(ProceedingJoinPoint point) throws Throwable {
+ Object result = null;
+ if(open){
+ try{
+ result = point.proceed();
+ }catch (Exception e){
+ logger.error("redis error", e);
+ throw new RRException("Redis服务异常");
+ }
+ }
+ return result;
+ }
+}
diff --git a/src/main/java/com/platform/common/aspect/SysLogAspect.java b/src/main/java/com/platform/common/aspect/SysLogAspect.java
new file mode 100644
index 0000000..e9a3776
--- /dev/null
+++ b/src/main/java/com/platform/common/aspect/SysLogAspect.java
@@ -0,0 +1,108 @@
+package com.platform.common.aspect;
+
+import com.google.gson.Gson;
+import com.platform.common.annotation.SysLog;
+import com.platform.common.utils.HttpContextUtils;
+import com.platform.common.utils.IPUtils;
+import com.platform.modules.live.constants.SceneConstants;
+import com.platform.modules.sys.entity.SysLogEntity;
+import com.platform.modules.sys.entity.SysUserEntity;
+import com.platform.modules.sys.service.SysLogService;
+import org.apache.shiro.SecurityUtils;
+import org.aspectj.lang.ProceedingJoinPoint;
+import org.aspectj.lang.annotation.Around;
+import org.aspectj.lang.annotation.Aspect;
+import org.aspectj.lang.annotation.Pointcut;
+import org.aspectj.lang.reflect.MethodSignature;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import javax.servlet.http.HttpServletRequest;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.lang.reflect.Method;
+import java.util.Date;
+
+
+/**
+ * 系统日志,切面处理类
+ */
+@Aspect
+@Component
+public class SysLogAspect {
+ @Autowired
+ private SysLogService sysLogService;
+
+ @Pointcut("@annotation(com.platform.common.annotation.SysLog)")
+ public void logPointCut() {
+
+ }
+
+ @Around("logPointCut()")
+ public Object around(ProceedingJoinPoint point) throws Throwable {
+ long beginTime = System.currentTimeMillis();
+ //执行方法
+ Object result = point.proceed();
+ //执行时长(毫秒)
+ long time = System.currentTimeMillis() - beginTime;
+
+ //保存日志
+ saveSysLog(point, time);
+
+ return result;
+ }
+
+ private void saveSysLog(ProceedingJoinPoint joinPoint, long time) {
+ MethodSignature signature = (MethodSignature) joinPoint.getSignature();
+ Method method = signature.getMethod();
+
+ SysLogEntity sysLog = new SysLogEntity();
+
+ SysLog syslog = method.getAnnotation(SysLog.class);
+ if(syslog != null){
+ //注解上的描述
+ sysLog.setOperation(syslog.value());
+ }
+
+ //请求的方法名
+ String className = joinPoint.getTarget().getClass().getName();
+ String methodName = signature.getName();
+ sysLog.setMethod(className + "." + methodName + "()");
+
+ //请求的参数
+ Object[] args = joinPoint.getArgs();
+ try{
+ String params = new Gson().toJson(args[0]);
+ sysLog.setParams(params);
+ }catch (Exception e){
+
+ }
+
+ //获取request
+ HttpServletRequest request = HttpContextUtils.getHttpServletRequest();
+ //设置IP地址
+ sysLog.setIp(IPUtils.getIpAddr(request));
+ //用户名
+ String username = SecurityUtils.getSubject().getPrincipal()==null ? null : ((SysUserEntity) SecurityUtils.getSubject().getPrincipal()).getUsername();
+ if(className=="com.platform.modules.qk.controller.CloudClipsController" || className.equals("com.platform.modules.qk.controller.CloudClipsController")){
+ username = "趣看";
+ }else if("com.platform.modules.live.controller.LiveNotifyController".equals(className)){
+ username = "阿里云";
+// try {
+ Object liveNotifyControllerNotifyMsg = request.getAttribute(SceneConstants.LIVENOTIFY_REQUESTMSG);
+ if(liveNotifyControllerNotifyMsg != null)
+ sysLog.setParams(liveNotifyControllerNotifyMsg.toString());
+// } catch (IOException e) {
+// e.printStackTrace();
+// }
+ }
+ sysLog.setUsername(username);
+
+ sysLog.setTime(time);
+ sysLog.setCreateDate(new Date());
+ //保存系统日志
+ sysLogService.insert(sysLog);
+ }
+}
diff --git a/src/main/java/com/platform/common/exception/RRException.java b/src/main/java/com/platform/common/exception/RRException.java
new file mode 100644
index 0000000..14dcea2
--- /dev/null
+++ b/src/main/java/com/platform/common/exception/RRException.java
@@ -0,0 +1,51 @@
+package com.platform.common.exception;
+
+/**
+ * 自定义异常
+ */
+public class RRException extends RuntimeException {
+ private static final long serialVersionUID = 1L;
+
+ private String msg;
+ private int code = 500;
+
+ public RRException(String msg) {
+ super(msg);
+ this.msg = msg;
+ }
+
+ public RRException(String msg, Throwable e) {
+ super(msg, e);
+ this.msg = msg;
+ }
+
+ public RRException(String msg, int code) {
+ super(msg);
+ this.msg = msg;
+ this.code = code;
+ }
+
+ public RRException(String msg, int code, Throwable e) {
+ super(msg, e);
+ this.msg = msg;
+ this.code = code;
+ }
+
+ public String getMsg() {
+ return msg;
+ }
+
+ public void setMsg(String msg) {
+ this.msg = msg;
+ }
+
+ public int getCode() {
+ return code;
+ }
+
+ public void setCode(int code) {
+ this.code = code;
+ }
+
+
+}
diff --git a/src/main/java/com/platform/common/exception/RRExceptionHandler.java b/src/main/java/com/platform/common/exception/RRExceptionHandler.java
new file mode 100644
index 0000000..7ba2c88
--- /dev/null
+++ b/src/main/java/com/platform/common/exception/RRExceptionHandler.java
@@ -0,0 +1,47 @@
+package com.platform.common.exception;
+
+import com.platform.common.utils.R;
+import org.apache.shiro.authz.AuthorizationException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.dao.DuplicateKeyException;
+import org.springframework.web.bind.annotation.ExceptionHandler;
+import org.springframework.web.bind.annotation.RestControllerAdvice;
+
+/**
+ * 异常处理器
+ */
+@RestControllerAdvice
+public class RRExceptionHandler {
+ private Logger logger = LoggerFactory.getLogger(getClass());
+
+ /**
+ * 处理自定义异常
+ */
+ @ExceptionHandler(RRException.class)
+ public R handleRRException(RRException e){
+ R r = new R();
+ r.put("code", e.getCode());
+ r.put("msg", e.getMessage());
+
+ return r;
+ }
+
+ @ExceptionHandler(DuplicateKeyException.class)
+ public R handleDuplicateKeyException(DuplicateKeyException e){
+ logger.error(e.getMessage(), e);
+ return R.error("数据库中已存在该记录");
+ }
+
+ @ExceptionHandler(AuthorizationException.class)
+ public R handleAuthorizationException(AuthorizationException e){
+ logger.error(e.getMessage(), e);
+ return R.error("没有权限,请联系管理员授权");
+ }
+
+ @ExceptionHandler(Exception.class)
+ public R handleException(Exception e){
+ logger.error(e.getMessage(), e);
+ return R.error();
+ }
+}
diff --git a/src/main/java/com/platform/common/utils/ConfigConstant.java b/src/main/java/com/platform/common/utils/ConfigConstant.java
new file mode 100644
index 0000000..f8c4579
--- /dev/null
+++ b/src/main/java/com/platform/common/utils/ConfigConstant.java
@@ -0,0 +1,15 @@
+package com.platform.common.utils;
+
+/**
+ * 系统参数相关Key
+ */
+public class ConfigConstant {
+ /**
+ * 云存储配置KEY
+ */
+ public final static String CLOUD_STORAGE_CONFIG_KEY = "CLOUD_STORAGE_CONFIG_KEY";
+ /**
+ * 现场计数器清除时间
+ */
+ public static final String SCENE_COUNT_CLEAR_TIME = "SCENE_COUNT_CLEAR_TIME";
+}
diff --git a/src/main/java/com/platform/common/utils/Constant.java b/src/main/java/com/platform/common/utils/Constant.java
new file mode 100644
index 0000000..64dba05
--- /dev/null
+++ b/src/main/java/com/platform/common/utils/Constant.java
@@ -0,0 +1,95 @@
+package com.platform.common.utils;
+
+/**
+ * 常量
+ */
+public class Constant {
+ /** 超级管理员ID */
+ public static final int SUPER_ADMIN = 1;
+
+// public static final String DEFAULT_TENENT_COLUMN = "tenant_id";
+
+ public static final String REDIS_SYS_TENANT_ENTITY = "sys:tenant:entity";
+
+ public static final String REDIS_LOCATION_REPORT = "app:location:report";
+ /**
+ * 菜单类型
+ */
+ public enum MenuType {
+ /**
+ * 目录
+ */
+ CATALOG(0),
+ /**
+ * 菜单
+ */
+ MENU(1),
+ /**
+ * 按钮
+ */
+ BUTTON(2);
+
+ private int value;
+
+ MenuType(int value) {
+ this.value = value;
+ }
+
+ public int getValue() {
+ return value;
+ }
+ }
+
+ /**
+ * 定时任务状态
+ */
+ public enum ScheduleStatus {
+ /**
+ * 正常
+ */
+ NORMAL(0),
+ /**
+ * 暂停
+ */
+ PAUSE(1);
+
+ private int value;
+
+ ScheduleStatus(int value) {
+ this.value = value;
+ }
+
+ public int getValue() {
+ return value;
+ }
+ }
+
+ /**
+ * 云服务商
+ */
+ public enum CloudService {
+ /**
+ * 七牛云
+ */
+ QINIU(1),
+ /**
+ * 阿里云
+ */
+ ALIYUN(2),
+ /**
+ * 腾讯云
+ */
+ QCLOUD(3);
+
+ private int value;
+
+ CloudService(int value) {
+ this.value = value;
+ }
+
+ public int getValue() {
+ return value;
+ }
+ }
+
+}
diff --git a/src/main/java/com/platform/common/utils/ConverterUtils.java b/src/main/java/com/platform/common/utils/ConverterUtils.java
new file mode 100644
index 0000000..1da1c1a
--- /dev/null
+++ b/src/main/java/com/platform/common/utils/ConverterUtils.java
@@ -0,0 +1,161 @@
+package com.platform.common.utils;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+public class ConverterUtils {
+
+ /**
+ * <将obj转换为string,如果obj为null则返回defaultVal>
+ *
+ * @param obj 需要转换为string的对象
+ * @param defaultVal 默认值
+ * @return obj转换为string
+ */
+ public static String parseString(Object obj, String defaultVal){
+ return (obj != null) ? obj.toString() : defaultVal;
+ }
+ /**
+ * <将obj转换为string,默认为空>
+ *
+ * @param obj 需要转换为string的对象
+ * @return 将对象转换为string的字符串
+ */
+ public static String parseString(Object obj){
+ return parseString(obj, "");
+ }
+
+ /**
+ * <将对象转换为int>
+ *
+ * @param obj 需要转换为int的对象
+ * @param defaultVal 默认值
+ * @return obj转换成的int值
+ */
+ public static Integer parseInt(Object obj, Integer defaultVal) {
+ try
+ {
+ return (obj != null) ? Integer.parseInt(parseString(obj, "0")) : defaultVal;
+ }catch(Exception e)
+ {
+ }
+ return defaultVal;
+ }
+
+ /**
+ * <将对象转换为int>
+ *
+ * @param obj 需要转换为int的对象
+ * @param defaultVal 默认值
+ * @return obj转换成的int值
+ */
+ public static Integer parseInt(Object obj)
+ {
+ return parseInt(obj, 0);
+ }
+
+ /**
+ * <将对象转换为Integer>
+ *
+ * @param obj 需要转换为Integer的对象
+ * @return obj转换成的Integer值
+ */
+ public static Integer parseInteger(Object obj)
+ {
+ return parseInt(obj, null);
+ }
+
+ /**
+ * <将对象转换为int>
+ *
+ * @param obj 需要转换为int的对象
+ * @param defaultVal 默认值
+ * @return obj转换成的int值
+ */
+ public static Float parseFloat(Object obj, float defaultVal)
+ {
+ return (obj != null) ? Float.parseFloat(parseString(obj, "0")) : defaultVal;
+ }
+
+ /**
+ * <将对象转换为Float>
+ *
+ * @param obj 需要转换为Float的对象
+ * @return obj转换成的Float值
+ */
+ public static Float parseFloat(Object obj)
+ {
+ return parseFloat(obj, 0);
+ }
+
+ /**
+ * <将obj转换为long>
+ *
+ * @param obj 需要转换的对象
+ * @param defaultVal 默认值
+ * @return 如果obj为空则返回默认,不为空则返回转换后的long结果
+ */
+ public static Long parseLong(Object obj, long defaultVal)
+ {
+ return (obj != null) ? Long.parseLong(parseString(obj)) : defaultVal;
+ }
+
+ /**
+ * <将obj转换为long>
+ *
+ * @param obj 需要转换的对象
+ * @return 如果obj为空则返回默认的0l,不为空则返回转换后的long结果
+ */
+ public static Long parseLong(Object obj)
+ {
+ return parseLong(obj, 0l);
+ }
+
+ /**
+ * 将object转换为double类型,如果出错则返回 defaultVal
+ * @param obj 需要转换的对象
+ * @param defaultVal 默认值
+ * @return 转换后的结果
+ */
+ public static Double parseDouble(Object obj,Double defaultVal)
+ {
+ try
+ {
+ return Double.parseDouble(obj.toString());
+ }
+ catch(Exception e)
+ {
+ return defaultVal;
+ }
+ }
+
+ /**
+ * 将object转换为double类型,如果出错则返回 0d
+ * @param obj 需要转换的对象
+ * @return 转换后的结果
+ */
+ public static double parseDouble(Object obj)
+ {
+ return parseDouble(obj,0d);
+ }
+
+ /**
+ * <将List