该项目是一款基于Java语言的AI助手全套开源设计源码,包含823个文件,其中Java文件730个,涵盖了Gradle构建脚本、YML配置、XML、SQL等多种文件类型。该AI助手整合了OpenAI、Azure、ChatGLM、讯飞星火、文心一言等多个大语言模型API,并集成了MidJourney和Stable Diffusion AI绘画功能,同时自带运营管理后台,提供开箱即用的便捷体验。
关键词
Java AI助手 开源设计 源码 大语言模型
目录结构
├── .gitignore ├── .workflow ├── branch-pipeline.yml ├── master-pipeline.yml ├── pr-pipeline.yml ├── release-pipeline.yml ├── LICENSE ├── application-api ├── build.gradle ├── src ├── main ├── java ├── com ├── chatplus ├── application ├── constant ├── Constants.java ├── PayConstants.java ├── domain ├── dto ├── AdminConfigDto.java ├── ApiKeyDto.java ├── DevopsConfigDto.java ├── ExtendConfigDto.java ├── FunctionParametersDto.java ├── MJButtonDto.java ├── MJJobDto.java ├── MJPropertiesDto.java ├── NoticeConfigDto.java ├── OrderRemarkDto.java ├── RewardDto.java ├── RoleContextDto.java ├── SdJobResult.java ├── TextPromptsDto.java ├── UserCustomChatConfigDto.java ├── extend ├── ImgResultDto.java ├── WeiBoHotDto.java ├── ZaoBaoNewsDto.java ├── package-info.java ├── ws ├── ChatRecordMessage.java ├── WsChatMessage.java ├── entity ├── account ├── InviteCodeEntity.java ├── InviteLogEntity.java ├── UserEntity.java ├── UserLoginLogEntity.java ├── UserProductLogEntity.java ├── WechatUserEntity.java ├── basedata ├── ApiKeyEntity.java ├── ConfigEntity.java ├── MenuEntity.java ├── PowerLogsEntity.java ├── ProductEntity.java ├── SensitiveWordEntity.java ├── chat ├── ChatHistoryEntity.java ├── ChatItemEntity.java ├── ChatModelEntity.java ├── ChatRoleEntity.java ├── draw ├── MjJobEntity.java ├── SdJobEntity.java ├── file ├── FileEntity.java ├── framework ├── AuditLogRuleEntity.java ├── PendingNotificationEntity.java ├── functions ├── FunctionEntity.java ├── orders ├── OrderEntity.java ├── RewardEntity.java ├── pay ├── PayRequestEntity.java ├── RefundRequestEntity.java ├── model ├── ImageScale.java ├── package-info.java ├── notification ├── MJJobNotification.java ├── PowerLogNotification.java ├── ReloadSensitiveWordsEvent.java ├── SaveImageNotification.java ├── SdJobNotification.java ├── SdLocalJobNotification.java ├── SdStabilityJobNotification.java ├── request ├── AccountLoginRequest.java ├── AccountRegisterRequest.java ├── AccountResetPassRequest.java ├── AccountSaveRequest.java ├── AccountUpdatePassRequest.java ├── AccountUpdateRequest.java ├── ApiKeySaveRequest.java ├── BotCheckCaptchaRequest.java ├── ChatItemUpdateRequest.java ├── ChatModelSaveRequest.java ├── ChatRoleSaveRequest.java ├── ChatTokenRequest.java ├── FiledUpdateRequest.java ├── ImagePublishRequest.java ├── MjActionRequest.java ├── MjCallbackNotifyRequest.java ├── MjImageJobRequest.java ├── PaymentQueryRequest.java ├── PlusPageRequest.java ├── PowerLogsRequest.java ├── ProductSaveRequest.java ├── PromptApiRequest.java ├── QrCodePayRequest.java ├── SdLocalImageRequest.java ├── SdStabilityImageRequest.java ├── SendSmsRequest.java ├── SensitiveWordRequest.java ├── UserChatRoleUpdateRequest.java ├── admin ├── ChatHistoryQueryRequest.java ├── ChatItemQueryRequest.java ├── ConfigUpdateAdminApiRequest.java ├── FunctionSaveAdminApiRequest.java ├── MenuSortRequest.java ├── OrderAdminApiRequest.java ├── extend ├── Dalle3Request.java ├── ws ├── ChatWebSocketRequest.java ├── response ├── AccountLoginResponse.java ├── AccountProfileResponse.java ├── AccountSessionResponse.java ├── BotCaptchaResponse.java ├── CaptchaResponse.java ├── ChatHistoryDetailResponse.java ├── ChatItemDetailResponse.java ├── ChatModelDetailResponse.java ├── ChatRoleDetailResponse.java ├── FileDetailApiResponse.java ├── InviteCodeDetailResponse.java ├── InviteCodeListResponse.java ├── MenuDetailResponse.java ├── MjJobDetailApiResponse.java ├── OrderDetailApiResponse.java ├── PaymentQueryResponse.java ├── PlusPageResponse.java ├── PowerLogsResponse.java ├── ProductDetailApiResponse.java ├── QrCodePayResponse.java ├── SdJobDetailApiResponse.java ├── SensitiveWordResponse.java ├── SocialLoginBody.java ├── WechatLoginQrResponse.java ├── admin ├── AccountLoginLogDetailResponse.java ├── ApiKeyDetailResponse.java ├── ChatHistoryQueryResponse.java ├── ChatItemQueryResponse.java ├── DashboardStatsResponse.java ├── FunctionDetailApiResponse.java ├── vo ├── file ├── UpLoadFileVo.java ├── package-info.java ├── enumeration ├── AiPlatformEnum.java ├── AppBusinessCodeEnum.java ├── AuditLogRuleTypeEnum.java ├── CaptchaTypeEnum.java ├── FileChannelEnum.java ├── FundTypeEnum.java ├── GenderEnum.java ├── ImageTaskTypeEnum.java ├── ImgOperateType.java ├── MessageTypeEnum.java ├── MjJobActionEnum.java ├── MjJobStatusEnum.java ├── OrderStatusEnum.java ├── PayChannelEnum.java ├── PayStatusEnum.java ├── PowerLogTypeEnum.java ├── ProductTypeEnum.java ├── RefundStatusEnum.java ├── SubModeEnum.java ├── WechatUserStatusEnum.java ├── package-info.java ├── event ├── GenericEvent.java ├── order ├── OrderUpdateEvent.java ├── dto ├── OrderRequestEvent.java ├── pay ├── PayCloseEvent.java ├── PayFailEvent.java ├── PaySuccessEvent.java ├── RefundFailEvent.java ├── RefundSuccessEvent.java ├── dto ├── PayRequestEvent.java ├── RefundRequestEvent.java ├── util ├── ToUrlParamsUtils.java ├── package-info.java ├── application-app ├── build.gradle ├── src ├── main ├── java ├── com ├── chatplus ├── application ├── StartApplication.java ├── config ├── PlusSpringCacheManager.java ├── RedissonConfiguration.java ├── controller ├── admin ├── account ├── AccountAdminApiController.java ├── biz ├── ApiKeyAdminApiController.java ├── ChatItemAdminApiController.java ├── ChatModelAdminApiController.java ├── ChatRoleAdminApiController.java ├── ConfigAdminApiController.java ├── DashboardAdminApiController.java ├── FunctionAdminApiController.java ├── MenuAdminApiController.java ├── OrderAdminApiController.java ├── PowerLogsAdminApiController.java ├── ProductAdminApiController.java ├── SensitiveWordController.java ├── devops ├── DevelopController.java ├── TestController.java ├── api ├── AccountApiController.java ├── CaptchaController.java ├── ChatItemApiController.java ├── ChatModelApiController.java ├── ChatRoleApiController.java ├── ConfigApiController.java ├── FileApiController.java ├── InviteApiController.java ├── MenuApiController.java ├── MjJobApiController.java ├── OrderApiController.java ├── PayNotifyController.java ├── PaymentApiController.java ├── PowerLogsApiController.java ├── ProductApiController.java ├── PromptApiController.java ├── SdJobApiController.java ├── SmsApiController.java ├── SocialAuthController.java ├── WechatMpController.java ├── extend ├── GptDalle3ExtendController.java ├── WallpaperExtendController.java ├── WeiBoExtendController.java ├── ZaoBaoNewsExtendController.java ├── package-info.java ├── listener ├── MJJobNotificationListener.java ├── PowerLogNotificationListener.java ├── SaveImageNotificationListener.java ├── SdJobProcess.java ├── SdLocalJobNotificationListener.java ├── SdStabilityJobNotificationListener.java ├── order ├── OrderEventListener.java ├── package-info.java ├── pay ├── PayResultEventListener.java ├── sensitiveword ├── SensitiveWordListener.java ├── scheduled ├── DrawTimeoutJob.java ├── OrderTaskJob.java ├── PayTaskJob.java ├── PendingNotificationJob.java ├── UserSubsTaskJob.java ├── package-info.java ├── resources ├── META-INF ├── spring.factories ├── apiclient_cert.pem ├── apiclient_key.pem ├── application-dev.yml ├── application-local.yml ├── application-prod.yml ├── application.yml ├── certs ├── alipay ├── alipayPublicCert.crt ├── alipayRootCert.crt ├── appPublicCert.crt ├── data ├── jieba_custom_words.dict ├── sensitive_words.dict ├── img ├── alipay.jpg ├── wechat-pay.jpg ├── ip2region.xdb ├── logback-spring.xml ├── logback.xml ├── logo ├── logo.png ├── rsalogin.txt ├── spy.properties ├── static ├── MP_verify_s7xR2vGWGuBZJhXU.txt ├── test ├── resources ├── logback.xml ├── application-dao ├── build.gradle ├── src ├── main ├── java ├── com ├── chatplus ├── application ├── dao ├── account ├── InviteCodeDao.java ├── InviteLogDao.java ├── UserDao.java ├── UserLoginLogDao.java ├── UserProductLogDao.java ├── WechatUserDao.java ├── basedata ├── ApiKeyDao.java ├── ConfigDao.java ├── MenuDao.java ├── PowerLogsDao.java ├── ProductDao.java ├── SensitiveWordDao.java ├── chat ├── ChatHistoryDao.java ├── ChatItemDao.java ├── ChatModelDao.java ├── ChatRoleDao.java ├── draw ├── MjJobDao.java ├── SdJobDao.java ├── file ├── FileDao.java ├── framework ├── AuditLogRuleDao.java ├── PendingNotificationDao.java ├── functions ├── FunctionDao.java ├── orders ├── OrderDao.java ├── RewardDao.java ├── pay ├── PayRequestDao.java ├── RefundRequestDao.java ├── application-openai-sdk ├── build.gradle ├── src ├── main ├── java ├── cn ├── bugstack ├── openai ├── exception ├── OpenAiSdkException.java ├── executor ├── Executor.java ├── interceptor ├── KeyStrategyFunction.java ├── model ├── aliyun ├── AliModelExecutor.java ├── config ├── AliModelConfig.java ├── valobj ├── AliModelCompletionRequest.java ├── AliModelCompletionResponse.java ├── FinishReason.java ├── Message.java ├── Model.java ├── Role.java ├── baidu ├── BaiduModelExecutor.java ├── config ├── BaiduConfig.java ├── utils ├── AccessTokenUtils.java ├── valobj ├── BaiduCompletionRequest.java ├── BaiduCompletionResponse.java ├── BaiduImageRequest.java ├── Message.java ├── Model.java ├── Role.java ├── Usage.java ├── brain360 ├── Brain360ModelExecutor.java ├── config ├── Brain360Config.java ├── valobj ├── Brain360CompletionRequest.java ├── Brain360CompletionResponse.java ├── ChatChoice.java ├── Message.java ├── Model.java ├── Role.java ├── Usage.java ├── chatglm ├── CharGLMModelExecutor.java ├── ChatGLMModelExecutor.java ├── config ├── ChatGLMConfig.java ├── utils ├── BearerTokenUtils.java ├── valobj ├── CharGLMCompletionRequest.java ├── ChatGLMCompletionRequest.java ├── ChatGLMCompletionResponse.java ├── EventType.java ├── Model.java ├── Role.java ├── chatgpt ├── ChatGPTModelExecutor.java ├── config ├── ChatGPTConfig.java ├── valobj ├── ChatChoice.java ├── ChatGPTCompletionRequest.java ├── ChatGPTCompletionResponse.java ├── ChatGPTImageEditRequest.java ├── ChatGPTImageEnum.java ├── ChatGPTImageRequest.java ├── ChatGPTImageResponse.java ├── ChatGPTItem.java ├── Message.java ├── Usage.java ├── claude ├── ClaudeModelExecutor.java ├── config ├── ClaudeConfig.java ├── valobj ├── ClaudeCompletionRequest.java ├── ClaudeCompletionResponse.java ├── gemini ├── GeminiProModelExecutor.java ├── config ├── GeminiProConfig.java ├── valobj ├── Candidate.java ├── Content.java ├── GeminiProCompletionRequest.java ├── GeminiProCompletionResponse.java ├── GenerationConfig.java ├── InlineData.java ├── Model.java ├── Parts.java ├── PromptFeedBack.java ├── Role.java ├── SafetyRating.java ├── SafetySetting.java ├── google ├── GeminiProModelExecutor.java ├── GeminiProTextModelExecutor.java ├── PalmChatModelExecutor.java ├── PalmModelExecutor.java ├── PalmTextModelExecutor.java ├── config ├── Const.java ├── GeminiProConfig.java ├── PalmConfig.java ├── package-info.java ├── valobj ├── GeminiProRole.java ├── Role.java ├── model ├── GeminiProModel.java ├── Model.java ├── PalmModel.java ├── SupportMethod.java ├── request ├── CitationMetadata.java ├── CitationSource.java ├── GeminiProTextRequest.java ├── MessagePrompt.java ├── PalmChatRequest.java ├── PalmMessage.java ├── PalmTextRequest.java ├── TextPrompt.java ├── response ├── Candidate.java ├── GeminiProCompletionResponse.java ├── PalmCompletionResponse.java ├── tencent ├── TencentModelExecutor.java ├── config ├── TencentConfig.java ├── package-info.java ├── utils ├── SecurityUtils.java ├── valobj ├── Action.java ├── CanonicalRequest.java ├── Message.java ├── TencentCompletionRequest.java ├── TencentCompletionResponse.java ├── xunfei ├── XunFeiModelExecutor.java ├── config ├── XunFeiConfig.java ├── utils ├── ImageUtil.java ├── URLAuthUtils.java ├── valobj ├── Chat.java ├── Choices.java ├── Message.java ├── PictureChat.java ├── PictureMessage.java ├── PictureText.java ├── Text.java ├── Usage.java ├── XunFeiCompletionRequest.java ├── XunFeiCompletionResponse.java ├── XunFeiPictureRequest.java ├── parameter ├── ChatChoice.java ├── CompletionRequest.java ├── CompletionResponse.java ├── FunctionCall.java ├── Functions.java ├── ImageEditRequest.java ├── ImageEnum.java ├── ImageRequest.java ├── ImageResponse.java ├── Item.java ├── Message.java ├── ParameterHandler.java ├── PictureContentEnum.java ├── PictureRequest.java ├── RequestChannel.java ├── Usage.java ├── result ├── ResultHandler.java ├── session ├── Configuration.java ├── OpenAiSession.java ├── OpenAiSessionFactory.java ├── defaults ├── DefaultOpenAiSession.java ├── DefaultOpenAiSessionFactory.java ├── SwitchProxySelector.java ├── util ├── JacksonUtil.java ├── test ├── resources ├── 1.png ├── application-service ├── build.gradle ├── src ├── main ├── java ├── com ├── chatplus ├── application ├── aiprocessor ├── constant ├── AIConstants.java ├── function ├── TriggerFunctionService.java ├── impl ├── Dalle3ServiceImpl.java ├── WeiBoHotServiceImpl.java ├── ZaoBaoServiceImpl.java ├── handler ├── ChatWebSocketHandler.java ├── MJWebSocketHandler.java ├── PromptHandler.java ├── SdWebSocketHandler.java ├── interceptor ├── DynamicKeyHandleInterceptor.java ├── KeyRandomStrategy.java ├── listener ├── CommonEventSourceListener.java ├── platform ├── chat ├── ChatProcessorService.java ├── aliyun ├── AliYunQWenProcessor.java ├── baidu ├── BaiDuProcessor.java ├── chatglm ├── ChatGLMProcessor.java ├── chatgpt ├── ChatGPTProcessor.java ├── xunfei ├── XunFeiXhProcessor.java ├── image ├── ImgAiProcessorService.java ├── chatgpt ├── ChatGPTImageProcessor.java ├── mj ├── MjImageProcessor.java ├── sd ├── SdImageProcessor.java ├── SdStabilityImageProcessor.java ├── provider ├── ChatAiProcessorServiceProvider.java ├── ImgAiProcessorServiceProvider.java ├── TriggerFunctionServiceProvider.java ├── util ├── ChatWebSocketUtil.java ├── WebSocketManager.java ├── client ├── pay ├── AliPayClient.java ├── WeChatPayClient.java ├── domain ├── request ├── alipay ├── AlipayOrderPayRequest.java ├── AlipayRefundRequest.java ├── wechat ├── WeChatOrderPayRequest.java ├── WeChatRefundRequest.java ├── response ├── InternalPayQueryResponse.java ├── InternalPayResponse.java ├── alipay ├── AlipayOrderPayResponse.java ├── wechat ├── TurnRightWxPayRefundV3Result.java ├── WechatOrderPayResponse.java ├── config ├── extend ├── ConfigChangeListener.java ├── ExtendConfigContext.java ├── ExtendConfigContextInitializer.java ├── SpringConfigUtil.java ├── runner ├── ConfigAutoRefresher.java ├── pay ├── PayConfig.java ├── properties ├── AliPayProperties.java ├── MailProperties.java ├── WechatMpProperties.java ├── WechatPayProperties.java ├── runner ├── SensitiveWordInitRunner.java ├── SystemApplicationRunner.java ├── ws ├── WebSocketConfig.java ├── interceptor ├── PlusWebSocketInterceptor.java ├── service ├── account ├── InviteCodeService.java ├── InviteLogService.java ├── UserLoginLogService.java ├── UserProductLogService.java ├── UserService.java ├── WechatUserService.java ├── impl ├── InviteCodeServiceImpl.java ├── InviteLogServiceImpl.java ├── UserLoginLogServiceImpl.java ├── UserProductLogServiceImpl.java ├── UserServiceImpl.java ├── WechatUserServiceImpl.java ├── auth ├── authentication ├── AuthenticationProvider.java ├── AuthenticationToken.java ├── PasswordAuthenticationToken.java ├── SmsCaptchaAuthenticationToken.java ├── UserAuthenticationService.java ├── impl ├── LoginFormUserAuthenticationServiceImpl.java ├── PasswordAuthenticationProvider.java ├── SmsCaptchaAuthenticationProvider.java ├── request ├── AccountAuthenticationRequest.java ├── basedata ├── ApiKeyService.java ├── ConfigService.java ├── MenuService.java ├── PowerLogsService.java ├── ProductService.java ├── SensitiveWordService.java ├── impl ├── ApiKeyServiceImpl.java ├── ConfigServiceImpl.java ├── MenuServiceImpl.java ├── PowerLogsServiceImpl.java ├── ProductServiceImpl.java ├── SensitiveWordServiceImpl.java ├── chat ├── ChatHistoryService.java ├── ChatItemService.java ├── ChatModelService.java ├── ChatRoleService.java ├── impl ├── ChatHistoryServiceImpl.java ├── ChatItemServiceImpl.java ├── ChatModelServiceImpl.java ├── ChatRoleServiceImpl.java ├── draw ├── MjJobService.java ├── SdJobService.java ├── impl ├── MjJobServiceImpl.java ├── SdJobServiceImpl.java ├── file ├── FileService.java ├── impl ├── ImgHandler.java ├── LocalFileServiceImpl.java ├── OssFileServiceImpl.java ├── framework ├── PendingNotificationService.java ├── impl ├── PendingNotificationServiceImpl.java ├── functions ├── FunctionService.java ├── impl ├── FunctionServiceImpl.java ├── orders ├── OrderService.java ├── RewardService.java ├── impl ├── OrderServiceImpl.java ├── RewardServiceImpl.java ├── pay ├── IPayRequestService.java ├── IRefundRequestService.java ├── PayChannelServiceProvider.java ├── impl ├── AliPayChannelServiceImpl.java ├── PayChannelService.java ├── PayProcessor.java ├── PayRequestServiceImpl.java ├── RefundProcessor.java ├── RefundRequestServiceImpl.java ├── WeChatChannelServiceImpl.java ├── alipay ├── AliPayApiService.java ├── AliPayWebPayService.java ├── wechat ├── WeChatApiServiceProvider.java ├── WeChatPayApiService.java ├── WeChatPayH5PayService.java ├── WeChatPayMpPayService.java ├── WeChatPayWebPayService.java ├── provider ├── FileServiceProvider.java ├── verification ├── PlusCaptchaService.java ├── domain ├── model ├── CaptchaSendInfo.java ├── VerificationErrorCode.java ├── impl ├── EmailCaptchaServiceImpl.java ├── SmsCaptchaServiceImpl.java ├── wxmp ├── WeChatMpEventKeyHandler.java ├── builder ├── AbstractBuilder.java ├── ImageBuilder.java ├── TextBuilder.java ├── handler ├── AbstractHandler.java ├── MsgHandler.java ├── ScanHandler.java ├── SubscribeHandler.java ├── UnsubscribeHandler.java ├── impl ├── WeChatMpService.java ├── util ├── BaiduTransUtil.java ├── ConfigUtil.java ├── email ├── MailUtils.java ├── resources ├── META-INF ├── spring-devtools.properties ├── spring.factories ├── build.gradle ├── core ├── common ├── build.gradle ├── src ├── main ├── java ├── com ├── chatplus ├── application ├── common ├── annotation ├── RateLimiter.java ├── RepeatSubmit.java ├── config ├── AsyncConfig.java ├── constant ├── GroupCacheNames.java ├── RedisPrefix.java ├── crypto ├── Crypto.java ├── CryptoBody.java ├── CryptoBodyWrapper.java ├── CryptoValue.java ├── PBKDF2PasswordHasher.java ├── RequestMessageDecryptor.java ├── RequestMessageDecryptorRSAImpl.java ├── domain ├── response ├── PayloadOnlyResponse.java ├── SensitiveWordFilterResultResponse.java ├── TurnRightResponse.java ├── enumeration ├── AccountErrorCode.java ├── DeviceTypeEnum.java ├── FileSizeUnit.java ├── LimitType.java ├── PhoneNumberSection.java ├── UserStatusEnum.java ├── UserTypeEnum.java ├── event ├── EventPubSub.java ├── driver ├── AbstractEventPubSub.java ├── exception ├── BadRequestException.java ├── ForbiddenException.java ├── IdempotentException.java ├── InternalErrorException.java ├── NameEnumNotFoundException.java ├── NoContentException.java ├── NotDevelopedException.java ├── ServiceException.java ├── SystemException.java ├── TurnRightException.java ├── UnauthorizedException.java ├── UpgradeRequiredException.java ├── ValueEnumNotFoundException.java ├── status ├── Code.java ├── ErrorCode.java ├── lock ├── TLock.java ├── TurnRightLock.java ├── logging ├── Pair.java ├── SouthernQuietLogFormatter.java ├── SouthernQuietLogger.java ├── SouthernQuietLoggerFactory.java ├── page ├── PageParam.java ├── PageResult.java ├── Paging.java ├── util ├── AddressUtils.java ├── Assert.java ├── CacheGroupUtils.java ├── Casts.java ├── CommonUtils.java ├── CreateCodeUtil.java ├── FileUtils.java ├── IdGenerator.java ├── InMemoryCaches.java ├── MapUtils.java ├── MediaType.java ├── MessageTokenUtil.java ├── ModelCopyUtils.java ├── MoneyUtils.java ├── OkHttpClientUtil.java ├── PlusJsonUtils.java ├── RedisUtils.java ├── ReflectionUtils.java ├── RegexUtils.java ├── RegionUtils.java ├── ResourcesUtils.java ├── StringFilterUtil.java ├── TernaryOperator.java ├── UnitTestUtils.java ├── VoidConsumer.java ├── enumeration ├── NameEnum.java ├── NameEnumUtils.java ├── NameValueEnum.java ├── ValueEnum.java ├── ValueEnumUtils.java ├── reflect ├── ReflectUtils.java ├── spring ├── SpringCtxUtils.java ├── SpringUtils.java ├── validation ├── SensitiveWordCheck.java ├── SensitiveWordCheckValidator.java ├── SensitiveWordValidationService.java ├── resources ├── META-INF ├── spring-devtools.properties ├── spring.factories ├── test ├── java ├── com ├── chatplus ├── application ├── common ├── util ├── InMemoryCachesTest.java ├── resources ├── logback.xml ├── datasource ├── build.gradle ├── src ├── main ├── java ├── com ├── chatplus ├── application ├── datasource ├── DataSourceAutoConfiguration.java ├── annotation ├── JsonCollectionGenericType.java ├── fill ├── CustomMetaObjectHandler.java ├── filter ├── Property.java ├── QueryGenerator.java ├── condition ├── Condition.java ├── ConditionParser.java ├── ConditionType.java ├── support ├── SimpleConditionParser.java ├── generator ├── WildcardParser.java ├── mybatis ├── MybatisPlusQueryGenerator.java ├── wildcard ├── BetweenWildcardParser.java ├── EqWildcardParser.java ├── EqnWildcardParser.java ├── GeWildcardParser.java ├── GtWildcardParser.java ├── InWildcardParser.java ├── JsonInWildcardParser.java ├── LeWildcardParser.java ├── LikeLeftWildcardParser.java ├── LikeRightWildcardParser.java ├── LikeWildcardParser.java ├── LtWildcardParser.java ├── NeWildcardParser.java ├── NenWildcardParser.java ├── NotInWildcardParser.java ├── handler ├── JacksonJsonTypeHandler.java ├── NameValueEnumTypeHandler.java ├── id ├── BasicIdEntity.java ├── IdEntity.java ├── LogicDeleteEntity.java ├── json ├── AbstractJsonCollectionPostInterceptor.java ├── support ├── JacksonJsonCollectionPostInterceptor.java ├── resources ├── META-INF ├── services ├── org.apache.shardingsphere.encrypt.spi.EncryptAlgorithm ├── spring-devtools.properties ├── spring.factories ├── elasticsearch ├── build.gradle ├── src ├── main ├── java ├── com ├── chatplus ├── application ├── elasticsearch ├── ElasticSearchConfiguration.java ├── model ├── vo ├── IndexDataToSave.java ├── service ├── EsService.java ├── util ├── IndexPropertiesUtils.java ├── resources ├── META-INF ├── spring-devtools.properties ├── spring.factories ├── test ├── java ├── com ├── chatplus ├── application ├── elasticsearch ├── service ├── EsServiceExample.java ├── file ├── build.gradle ├── src ├── main ├── java ├── com ├── chatplus ├── application ├── file ├── core ├── OssClient.java ├── dto ├── FileConfigDto.java ├── entity ├── UploadResult.java ├── enumd ├── AccessPolicyType.java ├── PolicyType.java ├── exception ├── OssException.java ├── job ├── build.gradle ├── src ├── main ├── java ├── com ├── chatplus ├── application ├── xxljob ├── XxlJobAutoConfiguration.java ├── resources ├── META-INF ├── spring-devtools.properties ├── spring.factories ├── test ├── resources ├── application.yml ├── json ├── build.gradle ├── src ├── main ├── java ├── com ├── chatplus ├── application ├── json ├── Int64ArrayAsStringArray.java ├── Int64AsString.java ├── JsonAutoConfiguration.java ├── JsonReader.java ├── JsonWriter.java ├── PhoneJsonSerializer.java ├── TurnRightJsonReader.java ├── TurnRightJsonWriter.java ├── resources ├── META-INF ├── spring-devtools.properties ├── spring.factories ├── test ├── java ├── com ├── qbzg ├── turnright ├── application ├── json ├── test ├── Test.java ├── resources ├── logback.xml ├── web ├── build.gradle ├── src ├── main ├── java ├── com ├── chatplus ├── application ├── web ├── AuditLogInterceptorConfiguration.java ├── HttpServletRequestAware.java ├── HttpServletResponseAware.java ├── UndertowConfig.java ├── VerificationConfig.java ├── WebAutoConfiguration.java ├── XSSFilterConfiguration.java ├── advice ├── BaseExceptionAdvice.java ├── DecryptRequestBodyAdvice.java ├── InternalErrorResponseAttributes.java ├── TurnRightResponseAdvice.java ├── aspect ├── RateLimiterAspect.java ├── RepeatSubmitAspect.java ├── auditlogger ├── AuditLogsEntity.java ├── UrlFilterUtil.java ├── properties ├── AuditLoggerProperties.java ├── basecontroller ├── BaseController.java ├── converter ├── EnumConverterFactory.java ├── TimestampStringToInstantConverter.java ├── filter ├── AuditLoggerFilter.java ├── MyXssFilter.java ├── XssHttpServletRequestWrapper.java ├── handler ├── AllUrlHandler.java ├── idempotent ├── LockType.java ├── Time.java ├── annotation ├── Concurrent.java ├── concurrent ├── ConcurrentInterceptor.java ├── ConcurrentPointcutAdvisor.java ├── generator ├── SpelExpressionValueGenerator.java ├── ValueGenerator.java ├── interceptor ├── AuditLoggerInterceptor.java ├── ContentCachingRequestWrapper.java ├── IContentCachingRequestWrapper.java ├── XssContentCachingRequestWrapper.java ├── notification ├── MessageSource.java ├── NotificationListener.java ├── NotificationPublisher.java ├── RedisStreamListener.java ├── redis ├── RedisStreamManager.java ├── resolver ├── CryptoMethodArgumentResolver.java ├── CryptoValueMethodArgumentResolver.java ├── satoken ├── SaTokenConfig.java ├── constant ├── UserConstants.java ├── helper ├── LoginHelper.java ├── model ├── LoginUser.java ├── service ├── SaPermissionImpl.java ├── util ├── IpUtil.java ├── MessageUtils.java ├── ParameterUtils.java ├── ServletUtils.java ├── WebApplicationContextHolder.java ├── io ├── jsonwebtoken ├── impl ├── CompatibleDefaultJwtParser.java ├── CompatibleJwtBuilder.java ├── CompatibleJwtParserBuilder.java ├── resources ├── META-INF ├── spring-devtools.properties ├── spring.factories ├── doc ├── Dockerfile ├── chat_plus.sql ├── config ├── certs ├── docker-compose.yaml ├── fonts ├── AlibabaPuHuiTi-2-105-Heavy.ttf ├── AlibabaPuHuiTi-2-115-Black.ttf ├── AlibabaPuHuiTi-2-35-Thin.ttf ├── AlibabaPuHuiTi-2-45-Light.ttf ├── AlibabaPuHuiTi-2-55-Regular.otf ├── AlibabaPuHuiTi-2-65-Medium.ttf ├── AlibabaPuHuiTi-2-75-SemiBold.ttf ├── AlibabaPuHuiTi-2-85-Bold.otf ├── AlibabaPuHuiTi-2-95-ExtraBold.ttf ├── image ├── img.png ├── img_1.png ├── img_2.png ├── img_3.png ├── wxqun.png ├── nginx.conf ├── update-4.0.0.sql ├── update-4.0.2.sql ├── xxl_job.sql ├── gradle.properties ├── gradle ├── wrapper ├── gradle-wrapper.jar ├── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── readme.txt ├── settings.gradle ├── tools ├── code-generator ├── build.gradle ├── src ├── main ├── java ├── com ├── chatplus ├── application ├── code ├── generator ├── JavaCodeApplication.java ├── JavaCodeProperties.java ├── JavaCodeRunner.java ├── execute ├── TableHandler.java ├── TemplateHandler.java ├── model ├── Column.java ├── JavaType.java ├── Table.java ├── utils ├── StringUtil.java ├── resources ├── application.yml ├── bootstrap.yml ├── templates ├── controller.ftl ├── dao.ftl ├── doc.ftl ├── entity.ftl ├── entityVO.ftl ├── include-mapper.ftl ├── mapper.ftl ├── searchVO.ftl ├── service-impl.ftl ├── service-interface.ftl