From dea23f13ef2d4918080ce8aeee1ee908188cdb19 Mon Sep 17 00:00:00 2001 From: ageer Date: Mon, 1 Apr 2024 22:21:29 +0800 Subject: [PATCH] v1.0.3 --- README.md | 16 +- image/02.png | Bin 0 -> 33802 bytes pom.xml | 2 + ruoyi-admin/Dockerfile | 7 +- ruoyi-admin/pom.xml | 3 + .../com/xmzs/controller/AuthController.java | 2 - .../xmzs/controller/CaptchaController.java | 1 + .../com/xmzs/controller/ChatController.java | 38 +- .../com/xmzs/controller/PayController.java | 14 +- .../src/main/resources/application-dev.yml | 58 +- .../src/main/resources/application-prod.yml | 2 +- .../src/main/resources/application.yml | 93 +- .../java/com/xmzs/test/AssertUnitTest.java | 45 + .../test/java/com/xmzs/test/DemoUnitTest.java | 70 + .../java/com/xmzs/test/ParamUnitTest.java | 72 + .../test/java/com/xmzs/test/TagUnitTest.java | 54 + ruoyi-common/ruoyi-common-bom/pom.xml | 4 +- .../common/chat/constant/OpenAIConst.java | 23 +- .../chat/domain/request/ChatRequest.java | 6 +- .../chat/domain/request/RoleRequest.java | 34 + .../domain/request/SimpleGenerateRequest.java | 35 + .../domain/response/MetadataResponse.java | 14 + .../domain/response/RoleDataResponse.java | 20 + .../chat/domain/response/RoleResponse.java | 13 + .../response/SimpleGenerateDataResponse.java | 25 + .../response/SimpleGenerateResponse.java | 25 + .../chat/entity/chat/BaseChatCompletion.java | 27 +- .../xmzs/common/chat/entity/files/File.java | 19 +- .../chat/openai/OpenAiStreamClient.java | 18 + .../com/xmzs/common/config/PayConfig.java | 23 +- .../common/service/impl/PayServiceImpl.java | 25 +- ruoyi-modules/pom.xml | 1 - .../demo/controller/TestDemoController.java | 18 +- .../demo/controller/TestExcelController.java | 2 +- .../demo/controller/TestI18nController.java | 5 +- .../controller/TestSensitiveController.java | 6 +- .../demo/controller/TestTreeController.java | 8 +- .../com/xmzs/demo/domain/bo/TestDemoBo.java | 5 +- .../xmzs/demo/domain/bo/TestDemoImportVo.java | 3 +- .../generator/controller/GenController.java | 8 +- .../xmzs/generator/domain/GenTableColumn.java | 3 +- .../service/GenTableServiceImpl.java | 2 +- .../com/xmzs/generator/util/GenUtils.java | 2 +- .../xmzs/generator/util/VelocityUtils.java | 2 +- .../src/main/resources/vm/ts/api.ts.vm | 4 +- .../src/main/resources/vm/vue/index.vue.vm | 17 +- .../live-chat-client-commons-base/pom.xml | 49 - .../commons/base/constant/Constants.java | 32 - .../commons/base/exception/BaseException.java | 51 - .../listener/IBaseConnectionListener.java | 60 - .../base/listener/IBaseMsgListener.java | 149 - .../base/listener/IDanmuMsgListener.java | 46 - .../base/listener/IEnterRoomMsgListener.java | 47 - .../base/listener/IGiftMsgListener.java | 47 - .../base/listener/ILikeMsgListener.java | 46 - .../base/listener/ISuperChatMsgListener.java | 47 - .../client/commons/base/msg/BaseCmdMsg.java | 33 - .../chat/client/commons/base/msg/BaseMsg.java | 74 - .../chat/client/commons/base/msg/ICmdMsg.java | 38 - .../client/commons/base/msg/IDanmuMsg.java | 67 - .../commons/base/msg/IEnterRoomMsg.java | 62 - .../client/commons/base/msg/IGiftMsg.java | 100 - .../client/commons/base/msg/ILikeMsg.java | 71 - .../chat/client/commons/base/msg/IMsg.java | 34 - .../commons/base/msg/ISuperChatMsg.java | 49 - .../live-chat-client-commons-client/pom.xml | 55 - .../commons/client/BaseLiveChatClient.java | 200 - .../commons/client/IBaseLiveChatClient.java | 135 - .../config/BaseLiveChatClientConfig.java | 139 - .../client/enums/ClientStatusEnums.java | 83 - .../live-chat-client-commons-util/pom.xml | 25 - .../commons/util/OrLiveChatCookieUtil.java | 80 - .../commons/util/OrLiveChatNumberUtil.java | 40 - .../commons/util/OrLiveChatReflectUtil.java | 50 - .../commons/util/OrLocalDateTimeUtil.java | 54 - .../live-chat-client-commons/pom.xml | 44 - .../pom.xml | 55 - .../netty/client/base/BaseNettyClient.java | 349 - .../client/config/BaseNettyClientConfig.java | 65 - .../BaseNettyClientBinaryFrameHandler.java | 66 - .../BaseNettyClientConnectionHandler.java | 65 - .../live-chat-client-servers-netty/pom.xml | 59 - .../frame/base/BaseBinaryWebSocketFrame.java | 39 - .../handler/base/BaseBinaryFrameHandler.java | 184 - .../handler/base/BaseConnectionHandler.java | 168 - .../live-chat-client-servers/pom.xml | 47 - .../live-chat-client-bilibili/pom.xml | 71 - .../client/bilibili/api/BilibiliApis.java | 247 - .../request/BilibiliLikeReportV3Request.java | 74 - .../api/request/BilibiliSendMsgRequest.java | 77 - .../client/BilibiliLiveChatClient.java | 184 - .../config/BilibiliLiveChatClientConfig.java | 67 - .../bilibili/constant/BilibiliCmdEnum.java | 143 - .../bilibili/constant/OperationEnum.java | 86 - .../bilibili/constant/ProtoverEnum.java | 67 - .../listener/IBilibiliConnectionListener.java | 38 - .../listener/IBilibiliMsgListener.java | 138 - .../chat/client/bilibili/msg/AuthMsg.java | 92 - .../client/bilibili/msg/AuthReplyMsg.java | 63 - .../chat/client/bilibili/msg/DanmuMsgMsg.java | 102 - .../client/bilibili/msg/HeartbeatMsg.java | 58 - .../bilibili/msg/HeartbeatReplyMsg.java | 60 - .../client/bilibili/msg/InteractWordMsg.java | 396 - .../bilibili/msg/LikeInfoV3ClickMsg.java | 158 - .../chat/client/bilibili/msg/SendGiftMsg.java | 351 - .../client/bilibili/msg/SendSmsReplyMsg.java | 81 - .../bilibili/msg/SuperChatMessageMsg.java | 202 - .../bilibili/msg/base/BaseBilibiliCmdMsg.java | 68 - .../bilibili/msg/base/BaseBilibiliMsg.java | 50 - .../bilibili/msg/base/IBilibiliMsg.java | 44 - .../client/bilibili/msg/dto/MedalInfo.java | 66 - .../netty/frame/AuthWebSocketFrame.java | 40 - .../netty/frame/HeartbeatWebSocketFrame.java | 40 - .../base/BaseBilibiliWebSocketFrame.java | 54 - .../BilibiliWebSocketFrameFactory.java | 113 - .../handler/BilibiliBinaryFrameHandler.java | 153 - .../handler/BilibiliConnectionHandler.java | 154 - .../client/bilibili/protobuf/Dm_v2Proto.java | 78 - .../bilibili/protobuf/Dm_v2_20Proto.java | 74 - .../chat/client/bilibili/protobuf/dm_v2.java | 610 - .../bilibili/protobuf/dm_v2OrBuilder.java | 48 - .../client/bilibili/protobuf/dm_v2_20.java | 565 - .../bilibili/protobuf/dm_v2_20OrBuilder.java | 45 - .../bilibili/util/BilibiliCodecUtil.java | 259 - .../src/main/resources/proto/dm_v2.proto | 14 - .../src/main/resources/proto/dm_v2_20.proto | 12 - .../client/bilibili/api/BilibiliApisTest.java | 16 - .../client/BilibiliLiveChatClientTest.java | 176 - .../live-chat-client-douyin/pom.xml | 42 - .../chat/client/douyin/ClientModeExample.java | 81 - .../chat/client/douyin/api/DouyinApis.java | 108 - .../douyin/client/DouyinLiveChatClient.java | 174 - .../config/DouyinLiveChatClientConfig.java | 93 - .../client/douyin/constant/DouyinCmdEnum.java | 73 - .../listener/IDouyinConnectionListener.java | 35 - .../douyin/listener/IDouyinMsgListener.java | 44 - .../client/douyin/msg/DouyinDanmuMsg.java | 77 - .../client/douyin/msg/DouyinEnterRoomMsg.java | 72 - .../chat/client/douyin/msg/DouyinGiftMsg.java | 107 - .../chat/client/douyin/msg/DouyinLikeMsg.java | 77 - .../client/douyin/msg/base/IDouyinCmdMsg.java | 35 - .../client/douyin/msg/base/IDouyinMsg.java | 34 - .../handler/DouyinBinaryFrameHandler.java | 156 - .../handler/DouyinConnectionHandler.java | 117 - .../douyin/protobuf/Douyin_cmd_msgProto.java | 78 - .../Douyin_webcast_chat_message_msgProto.java | 93 - .../Douyin_webcast_gift_message_msgProto.java | 112 - ...ouyin_webcast_member_message_msgProto.java | 111 - .../protobuf/Douyin_websocket_frameProto.java | 93 - .../douyin/protobuf/douyin_cmd_msg.java | 1122 - .../protobuf/douyin_cmd_msgOrBuilder.java | 93 - .../douyin_webcast_chat_message_msg.java | 2384 -- ...yin_webcast_chat_message_msgOrBuilder.java | 220 - .../douyin_webcast_gift_message_msg.java | 3963 -- ...yin_webcast_gift_message_msgOrBuilder.java | 354 - .../douyin_webcast_like_message_msg.java | 1563 - ...yin_webcast_like_message_msgOrBuilder.java | 140 - .../douyin_webcast_like_message_msgProto.java | 87 - .../douyin_webcast_member_message_msg.java | 2828 -- ...n_webcast_member_message_msgOrBuilder.java | 265 - .../protobuf/douyin_websocket_frame.java | 1315 - .../douyin_websocket_frameOrBuilder.java | 121 - .../protobuf/douyin_websocket_frame_msg.java | 2007 - .../douyin_websocket_frame_msgOrBuilder.java | 175 - .../douyin_websocket_frame_msgProto.java | 100 - .../douyin/protobuf/dto/CommonOuterClass.java | 2558 -- .../dto/DoubleLikeDetailOuterClass.java | 767 - .../dto/GiftIMPriorityOuterClass.java | 816 - .../protobuf/dto/GiftStructOuterClass.java | 6440 --- .../douyin/protobuf/dto/ImageOuterClass.java | 3722 -- .../protobuf/dto/PatternRefOuterClass.java | 773 - .../dto/PublicAreaCommonOuterClass.java | 823 - .../dto/TextEffectDetailOuterClass.java | 1968 - .../protobuf/dto/TextEffectOuterClass.java | 872 - .../protobuf/dto/TextFormatOuterClass.java | 1136 - .../douyin/protobuf/dto/TextOuterClass.java | 1171 - .../protobuf/dto/TextPieceGiftOuterClass.java | 749 - .../dto/TextPieceHeartOuterClass.java | 625 - .../dto/TextPieceImageOuterClass.java | 750 - .../protobuf/dto/TextPieceOuterClass.java | 1895 - .../dto/TextPiecePatternRefOuterClass.java | 773 - .../protobuf/dto/TextPieceUserOuterClass.java | 748 - .../douyin/protobuf/dto/UserOuterClass.java | 33138 ---------------- .../src/main/resources/proto/Common.proto | 30 - .../resources/proto/DoubleLikeDetail.proto | 10 - .../main/resources/proto/GiftIMPriority.proto | 9 - .../src/main/resources/proto/GiftStruct.proto | 66 - .../src/main/resources/proto/Image.proto | 29 - .../src/main/resources/proto/PatternRef.proto | 8 - .../resources/proto/PublicAreaCommon.proto | 10 - .../src/main/resources/proto/Text.proto | 12 - .../src/main/resources/proto/TextEffect.proto | 9 - .../resources/proto/TextEffectDetail.proto | 23 - .../src/main/resources/proto/TextFormat.proto | 14 - .../src/main/resources/proto/TextPiece.proto | 20 - .../main/resources/proto/TextPieceGift.proto | 9 - .../main/resources/proto/TextPieceHeart.proto | 7 - .../main/resources/proto/TextPieceImage.proto | 9 - .../resources/proto/TextPiecePatternRef.proto | 8 - .../main/resources/proto/TextPieceUser.proto | 9 - .../src/main/resources/proto/User.proto | 272 - .../main/resources/proto/douyin_cmd_msg.proto | 19 - .../douyin_webcast_chat_message_msg.proto | 34 - .../douyin_webcast_gift_message_msg.proto | 52 - .../douyin_webcast_like_message_msg.proto | 26 - .../douyin_webcast_member_message_msg.proto | 37 - .../proto/douyin_websocket_frame.proto | 19 - .../proto/douyin_websocket_frame_msg.proto | 25 - .../client/douyin/api/DouyinApisTest.java | 15 - .../client/DouyinLiveChatClientTest.java | 93 - .../live-chat-client-douyu/README.md | 52 - .../live-chat-client-douyu/pom.xml | 61 - .../live/chat/client/douyu/api/DouyuApis.java | 196 - .../client/DouyuDanmuLiveChatClient.java | 117 - .../douyu/client/DouyuLiveChatClient.java | 268 - .../douyu/client/DouyuWsLiveChatClient.java | 116 - .../client/base/BaseDouyuLiveChatClient.java | 139 - .../config/DouyuLiveChatClientConfig.java | 69 - .../douyu/constant/DouyuClientModeEnum.java | 40 - .../client/douyu/constant/DouyuCmdEnum.java | 199 - .../listener/IDouyuConnectionListener.java | 38 - .../douyu/listener/IDouyuMsgListener.java | 45 - .../chat/client/douyu/msg/ChatmessageMsg.java | 86 - .../chat/client/douyu/msg/ChatmsgMsg.java | 125 - .../live/chat/client/douyu/msg/DgbMsg.java | 233 - .../chat/client/douyu/msg/DouyuCmdMsg.java | 51 - .../chat/client/douyu/msg/H5ckreqMsg.java | 51 - .../live/chat/client/douyu/msg/H5csMsg.java | 50 - .../chat/client/douyu/msg/H5gkcreqMsg.java | 51 - .../chat/client/douyu/msg/HeartbeatMsg.java | 45 - .../client/douyu/msg/HeartbeatReplyMsg.java | 45 - .../chat/client/douyu/msg/JoingroupMsg.java | 52 - .../chat/client/douyu/msg/KeepliveMsg.java | 62 - .../chat/client/douyu/msg/LoginreqMsg.java | 107 - .../chat/client/douyu/msg/LoginresMsg.java | 77 - .../live/chat/client/douyu/msg/MapkbMsg.java | 53 - .../douyu/msg/MsgrepeaterproxylistMsg.java | 96 - .../live/chat/client/douyu/msg/SubMsg.java | 51 - .../live/chat/client/douyu/msg/UenterMsg.java | 78 - .../douyu/msg/base/BaseDouyuCmdMsg.java | 62 - .../chat/client/douyu/msg/base/IDouyuMsg.java | 36 - .../client/douyu/msg/dto/GiftListInfo.java | 136 - .../client/douyu/msg/dto/GiftPropInfo.java | 99 - .../client/douyu/msg/dto/GiftPropSingle.java | 97 - .../douyu/netty/frame/AuthWebSocketFrame.java | 40 - .../netty/frame/HeartbeatWebSocketFrame.java | 40 - .../netty/frame/KeepliveWebSocketFrame.java | 40 - .../frame/base/BaseDouyuWebSocketFrame.java | 39 - .../factory/DouyuWebSocketFrameFactory.java | 181 - .../handler/DouyuBinaryFrameHandler.java | 98 - .../netty/handler/DouyuConnectionHandler.java | 173 - .../client/douyu/util/DouyuCodecUtil.java | 329 - .../chat/client/douyu/api/DouyuApisTest.java | 30 - .../chat/client/douyu/client/ChatChoice.java | 31 - .../douyu/client/ChatCompletionResponse.java | 24 - .../douyu/client/DouyuLiveChatClientTest.java | 410 - .../chat/client/douyu/client/Message.java | 104 - .../live/chat/client/douyu/client/Usage.java | 24 - .../client/douyu/util/DouyuCodecUtilTest.java | 102 - .../live-chat-client-huya/pom.xml | 66 - .../live/chat/client/huya/api/HuyaApis.java | 83 - .../huya/client/HuyaLiveChatClient.java | 148 - .../huya/config/HuyaLiveChatClientConfig.java | 84 - .../constant/HuyaClientTemplateTypeEnum.java | 58 - .../client/huya/constant/HuyaCmdEnum.java | 206 - .../constant/HuyaDecorationAppTypeEnum.java | 88 - .../constant/HuyaDecorationViewTypeEnum.java | 54 - .../client/huya/constant/HuyaGenderEnum.java | 51 - .../client/huya/constant/HuyaLiveSource.java | 54 - .../huya/constant/HuyaOperationEnum.java | 97 - .../huya/constant/HuyaStreamLineTypeEnum.java | 62 - .../huya/constant/HuyaWupFunctionEnum.java | 59 - .../listener/IHuyaConnectionListener.java | 38 - .../huya/listener/IHuyaMsgListener.java | 45 - .../live/chat/client/huya/msg/BaseWup.java | 138 - .../chat/client/huya/msg/ConnectParaInfo.java | 105 - .../chat/client/huya/msg/LiveLaunchRsp.java | 78 - .../client/huya/msg/MessageNoticeMsg.java | 197 - .../chat/client/huya/msg/PushMessage.java | 84 - .../chat/client/huya/msg/PushMessage_V2.java | 73 - .../client/huya/msg/RegisterGroupRsp.java | 72 - .../chat/client/huya/msg/RegisterRsp.java | 75 - .../msg/SendItemSubBroadcastPacketMsg.java | 283 - .../live/chat/client/huya/msg/UserInfo.java | 88 - .../chat/client/huya/msg/VerifyCookieRsp.java | 66 - .../client/huya/msg/VipEnterBannerMsg.java | 144 - .../client/huya/msg/WebSocketCommand.java | 84 - .../live/chat/client/huya/msg/WupRsp.java | 45 - .../client/huya/msg/base/BaseHuyaCmdMsg.java | 79 - .../client/huya/msg/base/BaseHuyaMsg.java | 51 - .../client/huya/msg/base/IHuyaCmdMsg.java | 35 - .../chat/client/huya/msg/base/IHuyaMsg.java | 38 - .../client/huya/msg/dto/ACEnterBanner.java | 70 - .../chat/client/huya/msg/dto/BadgeInfo.java | 119 - .../msg/dto/BulletBorderGroundFormat.java | 85 - .../client/huya/msg/dto/BulletFormat.java | 89 - .../chat/client/huya/msg/dto/ChannelPair.java | 67 - .../client/huya/msg/dto/CommEnterBanner.java | 67 - .../client/huya/msg/dto/ContentFormat.java | 76 - .../msg/dto/CustomBadgeDynamicExternal.java | 64 - .../client/huya/msg/dto/DIYBigGiftEffect.java | 70 - .../client/huya/msg/dto/DecorationInfo.java | 67 - .../huya/msg/dto/DecorationInfoRsp.java | 88 - .../chat/client/huya/msg/dto/DeviceInfo.java | 73 - .../chat/client/huya/msg/dto/DisplayInfo.java | 91 - .../chat/client/huya/msg/dto/FaithInfo.java | 67 - .../client/huya/msg/dto/FaithPresenter.java | 64 - .../chat/client/huya/msg/dto/GuardInfo.java | 94 - .../client/huya/msg/dto/ItemEffectInfo.java | 70 - .../chat/client/huya/msg/dto/LiveAppUAEx.java | 73 - .../client/huya/msg/dto/LiveProxyValue.java | 67 - .../client/huya/msg/dto/LiveUserbase.java | 67 - .../huya/msg/dto/MessageContentExpand.java | 67 - .../client/huya/msg/dto/MessageTagInfo.java | 64 - .../chat/client/huya/msg/dto/MsgItem.java | 67 - .../chat/client/huya/msg/dto/MsgStatInfo.java | 70 - .../chat/client/huya/msg/dto/NobleInfo.java | 94 - .../client/huya/msg/dto/NobleLevelAttr.java | 79 - .../client/huya/msg/dto/NobleLevelInfo.java | 64 - .../client/huya/msg/dto/NoblePetAttr.java | 77 - .../huya/msg/dto/PresenterChannelInfo.java | 82 - .../chat/client/huya/msg/dto/PropView.java | 70 - .../client/huya/msg/dto/PropsIdentity.java | 125 - .../chat/client/huya/msg/dto/PropsItem.java | 181 - .../huya/msg/dto/SendMessageFormat.java | 67 - .../chat/client/huya/msg/dto/SenderInfo.java | 85 - .../chat/client/huya/msg/dto/SpecialInfo.java | 91 - .../client/huya/msg/dto/SuperFansInfo.java | 76 - .../chat/client/huya/msg/dto/UidNickName.java | 64 - .../live/chat/client/huya/msg/dto/UserId.java | 80 - .../client/huya/msg/dto/UserIdentityInfo.java | 67 - .../client/huya/msg/dto/UserRidePetInfo.java | 94 - .../client/huya/msg/dto/WeekRankInfo.java | 64 - .../client/huya/msg/req/GetLivingInfoReq.java | 86 - .../client/huya/msg/req/GetPropsListReq.java | 83 - .../client/huya/msg/req/GetPropsListRsp.java | 79 - .../chat/client/huya/msg/req/LaunchReq.java | 74 - .../client/huya/msg/req/LiveLaunchReq.java | 69 - .../client/huya/msg/req/RegisterGroupReq.java | 67 - .../client/huya/msg/req/SendMessageReq.java | 99 - .../huya/msg/req/UpdateUserInfoReq.java | 87 - .../client/huya/msg/req/UserHeartBeatReq.java | 90 - .../client/huya/msg/req/VerifyCookieReq.java | 76 - .../live/chat/client/huya/msg/req/WupReq.java | 42 - .../factory/HuyaWebSocketFrameFactory.java | 271 - .../netty/handler/HuyaBinaryFrameHandler.java | 199 - .../netty/handler/HuyaConnectionHandler.java | 152 - .../chat/client/huya/util/HuyaCodecUtil.java | 167 - .../chat/client/huya/api/HuyaApisTest.java | 20 - .../huya/client/HuyaLiveChatClientTest.java | 150 - .../client/huya/util/HuyaCodecUtilTest.java | 99 - .../live-chat-client-kuaishou/pom.xml | 42 - .../client/kuaishou/ClientModeExample.java | 99 - .../client/kuaishou/api/KuaishouApis.java | 235 - .../client/KuaishouLiveChatClient.java | 201 - .../config/KuaishouLiveChatClientConfig.java | 47 - .../listener/IKuaishouConnectionListener.java | 35 - .../listener/IKuaishouMsgListener.java | 45 - .../client/kuaishou/msg/KuaishouDanmuMsg.java | 100 - .../client/kuaishou/msg/KuaishouGiftMsg.java | 108 - .../client/kuaishou/msg/KuaishouLikeMsg.java | 61 - .../kuaishou/msg/base/IKuaishouCmdMsg.java | 35 - .../kuaishou/msg/base/IKuaishouMsg.java | 34 - .../handler/KuaishouBinaryFrameHandler.java | 127 - .../handler/KuaishouConnectionHandler.java | 158 - .../protobuf/AuditAudienceMaskOuterClass.java | 1155 - .../kuaishou/protobuf/CSErrorOuterClass.java | 548 - .../protobuf/CSHeartbeatOuterClass.java | 549 - .../kuaishou/protobuf/CSPingOuterClass.java | 1029 - .../protobuf/CSWebEnterRoomOuterClass.java | 1363 - .../protobuf/CSWebErrorOuterClass.java | 697 - .../protobuf/CSWebHeartbeatOuterClass.java | 550 - .../protobuf/CSWebUserExitOuterClass.java | 549 - .../protobuf/CSWebUserPauseOuterClass.java | 658 - .../kuaishou/protobuf/ClientIdOuterClass.java | 216 - .../protobuf/ConfigSwitchItemOuterClass.java | 658 - .../protobuf/ConfigSwitchTypeOuterClass.java | 180 - .../protobuf/GzoneNameplateOuterClass.java | 1079 - .../protobuf/LiveAudienceStateOuterClass.java | 1541 - .../protobuf/LiveCdnNodeViewOuterClass.java | 846 - .../LiveFansGroupStateOuterClass.java | 622 - .../protobuf/PSHostInfoOuterClass.java | 697 - .../protobuf/PayloadTypeOuterClass.java | 708 - .../kuaishou/protobuf/PicUrlOuterClass.java | 1069 - .../kuaishou/protobuf/SCEchoOuterClass.java | 624 - .../kuaishou/protobuf/SCErrorOuterClass.java | 769 - .../protobuf/SCHeartbeatAckOuterClass.java | 623 - .../kuaishou/protobuf/SCInfoOuterClass.java | 696 - ...ngMaskStatusChangedAudienceOuterClass.java | 750 - .../protobuf/SCPingAckOuterClass.java | 624 - .../protobuf/SCWebAuthorPauseOuterClass.java | 658 - .../protobuf/SCWebAuthorResumeOuterClass.java | 550 - .../protobuf/SCWebBetChangedOuterClass.java | 550 - .../protobuf/SCWebBetClosedOuterClass.java | 550 - .../SCWebCurrentRedPackFeedOuterClass.java | 858 - .../protobuf/SCWebEnterRoomAckOuterClass.java | 697 - .../protobuf/SCWebErrorOuterClass.java | 769 - .../protobuf/SCWebFeedPushOuterClass.java | 3487 -- .../protobuf/SCWebGuessClosedOuterClass.java | 772 - .../protobuf/SCWebGuessOpenedOuterClass.java | 845 - .../protobuf/SCWebHeartbeatAckOuterClass.java | 623 - ...veSpecialAccountConfigStateOuterClass.java | 932 - .../SCWebLiveWatchingUsersOuterClass.java | 1081 - .../protobuf/SCWebPipEndedOuterClass.java | 549 - .../protobuf/SCWebPipStartedOuterClass.java | 549 - .../SCWebRefreshWalletOuterClass.java | 469 - .../protobuf/SCWebRideChangedOuterClass.java | 697 - .../SCWebSuspectedViolationOuterClass.java | 550 - .../protobuf/SimpleUserInfoOuterClass.java | 921 - .../protobuf/SocketMessageOuterClass.java | 910 - .../kuaishou/protobuf/UserInfoOuterClass.java | 2121 - .../WebComboCommentFeedOuterClass.java | 846 - .../protobuf/WebCommentFeedOuterClass.java | 1651 - .../WebCommentFeedShowTypeOuterClass.java | 180 - .../protobuf/WebGiftFeedOuterClass.java | 2305 -- .../protobuf/WebLikeFeedOuterClass.java | 1046 - .../WebLiveAssistantTypeOuterClass.java | 180 - .../protobuf/WebPauseTypeOuterClass.java | 179 - .../WebRedPackCoverTypeOuterClass.java | 180 - .../protobuf/WebRedPackInfoOuterClass.java | 1522 - .../protobuf/WebShareFeedOuterClass.java | 1301 - .../WebSystemNoticeFeedOuterClass.java | 1427 - .../protobuf/WebUserPauseTypeOuterClass.java | 170 - .../WebWatchingUserInfoOuterClass.java | 1080 - .../resources/proto/AuditAudienceMask.proto | 11 - .../src/main/resources/proto/CSError.proto | 9 - .../main/resources/proto/CSHeartbeat.proto | 9 - .../src/main/resources/proto/CSPing.proto | 12 - .../main/resources/proto/CSWebEnterRoom.proto | 15 - .../src/main/resources/proto/CSWebError.proto | 10 - .../main/resources/proto/CSWebHeartbeat.proto | 9 - .../main/resources/proto/CSWebUserExit.proto | 9 - .../main/resources/proto/CSWebUserPause.proto | 10 - .../src/main/resources/proto/ClientId.proto | 14 - .../resources/proto/ConfigSwitchItem.proto | 10 - .../resources/proto/ConfigSwitchType.proto | 10 - .../main/resources/proto/GzoneNameplate.proto | 11 - .../resources/proto/LiveAudienceState.proto | 22 - .../resources/proto/LiveCdnNodeView.proto | 11 - .../resources/proto/LiveFansGroupState.proto | 10 - .../src/main/resources/proto/PSHostInfo.proto | 10 - .../main/resources/proto/PayloadType.proto | 65 - .../src/main/resources/proto/PicUrl.proto | 12 - .../src/main/resources/proto/SCEcho.proto | 9 - .../src/main/resources/proto/SCError.proto | 11 - .../main/resources/proto/SCHeartbeatAck.proto | 10 - .../src/main/resources/proto/SCInfo.proto | 10 - ...LiveWarningMaskStatusChangedAudience.proto | 10 - .../src/main/resources/proto/SCPingAck.proto | 9 - .../resources/proto/SCWebAuthorPause.proto | 10 - .../resources/proto/SCWebAuthorResume.proto | 9 - .../resources/proto/SCWebBetChanged.proto | 9 - .../main/resources/proto/SCWebBetClosed.proto | 9 - .../proto/SCWebCurrentRedPackFeed.proto | 9 - .../resources/proto/SCWebEnterRoomAck.proto | 11 - .../src/main/resources/proto/SCWebError.proto | 11 - .../main/resources/proto/SCWebFeedPush.proto | 25 - .../resources/proto/SCWebGuessClosed.proto | 11 - .../resources/proto/SCWebGuessOpened.proto | 12 - .../resources/proto/SCWebHeartbeatAck.proto | 10 - .../SCWebLiveSpecialAccountConfigState.proto | 10 - .../proto/SCWebLiveWatchingUsers.proto | 11 - .../main/resources/proto/SCWebPipEnded.proto | 9 - .../resources/proto/SCWebPipStarted.proto | 9 - .../resources/proto/SCWebRefreshWallet.proto | 8 - .../resources/proto/SCWebRideChanged.proto | 10 - .../proto/SCWebSuspectedViolation.proto | 9 - .../main/resources/proto/SimpleUserInfo.proto | 11 - .../main/resources/proto/SocketMessage.proto | 17 - .../src/main/resources/proto/UserInfo.proto | 17 - .../resources/proto/WebComboCommentFeed.proto | 11 - .../main/resources/proto/WebCommentFeed.proto | 18 - .../proto/WebCommentFeedShowType.proto | 10 - .../main/resources/proto/WebGiftFeed.proto | 36 - .../main/resources/proto/WebLikeFeed.proto | 12 - .../proto/WebLiveAssistantType.proto | 10 - .../main/resources/proto/WebPauseType.proto | 10 - .../resources/proto/WebRedPackCoverType.proto | 10 - .../main/resources/proto/WebRedPackInfo.proto | 19 - .../main/resources/proto/WebShareFeed.proto | 16 - .../resources/proto/WebSystemNoticeFeed.proto | 21 - .../resources/proto/WebUserPauseType.proto | 9 - .../resources/proto/WebWatchingUserInfo.proto | 14 - .../client/kuaishou/api/KuaishouApisTest.java | 40 - .../client/KuaishouLiveChatClientTest.java | 206 - .../ruoyi-live/live-chat-clients/pom.xml | 47 - ruoyi-modules/ruoyi-live/pom.xml | 177 - ruoyi-modules/ruoyi-midjourney/pom.xml | 4 + .../controller/AccountController.java | 1 + .../midjourney/controller/FaceController.java | 100 + .../controller/SubmitController.java | 477 +- .../midjourney/controller/TaskController.java | 33 +- .../xmzs/midjourney/domain/InsightFace.java | 23 + .../xmzs/midjourney/dto/SubmitActionDTO.java | 21 + .../support/ApiAuthorizeInterceptor.java | 158 +- .../main/java/spring/config/WebMvcConfig.java | 4 +- .../xmzs/system/cofing/WxMaProperties.java | 6 +- .../monitor/SysOperlogController.java | 12 +- .../system/SysDictDataController.java | 12 +- .../system/SysNoticeController.java | 8 +- .../system/SysOssConfigController.java | 2 +- .../controller/system/SysOssController.java | 2 +- .../system/SysTenantController.java | 19 +- .../controller/system/SysUserController.java | 8 +- .../com/xmzs/system/domain/ChatMessage.java | 2 +- .../com/xmzs/system/domain/PaymentOrders.java | 5 +- .../xmzs/system/domain/SysTenantPackage.java | 8 +- .../java/com/xmzs/system/domain/SysUser.java | 1 - .../com/xmzs/system/domain/VoiceRole.java | 67 + .../xmzs/system/domain/bo/ChatMessageBo.java | 3 +- .../system/domain/bo/PaymentOrdersBo.java | 6 +- .../xmzs/system/domain/bo/SysConfigBo.java | 7 +- .../xmzs/system/domain/bo/SysTenantBo.java | 6 +- .../system/domain/bo/SysTenantPackageBo.java | 6 +- .../xmzs/system/domain/bo/VoiceRoleBo.java | 71 + .../xmzs/system/domain/vo/ChatMessageVo.java | 5 - .../xmzs/system/domain/vo/ChatTokenVo.java | 2 - .../com/xmzs/system/domain/vo/LoginVo.java | 2 +- .../system/domain/vo/PaymentOrdersVo.java | 7 +- .../system/domain/vo/SysLogininforVo.java | 2 +- .../xmzs/system/domain/vo/SysTenantVo.java | 2 +- .../com/xmzs/system/domain/vo/SysUserVo.java | 3 - .../xmzs/system/domain/vo/VoiceRoleVo.java | 77 + .../listener/SSEEventSourceListener.java | 22 +- .../xmzs/system/mapper/ChatMessageMapper.java | 2 +- .../system/mapper/PaymentOrdersMapper.java | 2 +- .../xmzs/system/mapper/SysDictDataMapper.java | 2 +- .../xmzs/system/mapper/SysDictTypeMapper.java | 2 +- .../com/xmzs/system/mapper/SysMenuMapper.java | 2 +- .../xmzs/system/mapper/SysTenantMapper.java | 2 +- .../xmzs/system/mapper/VoiceRoleMapper.java | 15 + .../com/xmzs/system/service/ChatService.java | 27 + .../system/service/IChatMessageService.java | 4 +- .../com/xmzs/system/service/IChatService.java | 6 + .../com/xmzs/system/service/ISseService.java | 10 +- .../service/ISysTenantPackageService.java | 6 +- .../system/service/ISysTenantService.java | 6 +- .../com/xmzs/system/service/SseService.java | 37 + .../service/impl/ChatMessageServiceImpl.java | 14 +- ...tServiceImpl.java => ChatServiceImpl.java} | 59 +- .../impl/PaymentOrdersServiceImpl.java | 18 +- ...seServiceImpl.java => SseServiceImpl.java} | 235 +- .../service/impl/SysDataScopeServiceImpl.java | 4 +- .../service/impl/SysDictDataServiceImpl.java | 8 +- .../impl/SysLogininforServiceImpl.java | 8 +- .../service/impl/SysOperLogServiceImpl.java | 4 +- .../service/impl/SysOssConfigServiceImpl.java | 4 +- .../service/impl/SysOssServiceImpl.java | 5 +- .../impl/SysTenantPackageServiceImpl.java | 18 +- .../service/impl/SysTenantServiceImpl.java | 2 +- .../service/impl/SysUserServiceImpl.java | 7 +- script/sql/ry-vue.sql | 914 +- 552 files changed, 2144 insertions(+), 154437 deletions(-) create mode 100644 image/02.png create mode 100644 ruoyi-admin/src/test/java/com/xmzs/test/AssertUnitTest.java create mode 100644 ruoyi-admin/src/test/java/com/xmzs/test/DemoUnitTest.java create mode 100644 ruoyi-admin/src/test/java/com/xmzs/test/ParamUnitTest.java create mode 100644 ruoyi-admin/src/test/java/com/xmzs/test/TagUnitTest.java create mode 100644 ruoyi-common/ruoyi-common-chat/src/main/java/com/xmzs/common/chat/domain/request/RoleRequest.java create mode 100644 ruoyi-common/ruoyi-common-chat/src/main/java/com/xmzs/common/chat/domain/request/SimpleGenerateRequest.java create mode 100644 ruoyi-common/ruoyi-common-chat/src/main/java/com/xmzs/common/chat/domain/response/MetadataResponse.java create mode 100644 ruoyi-common/ruoyi-common-chat/src/main/java/com/xmzs/common/chat/domain/response/RoleDataResponse.java create mode 100644 ruoyi-common/ruoyi-common-chat/src/main/java/com/xmzs/common/chat/domain/response/RoleResponse.java create mode 100644 ruoyi-common/ruoyi-common-chat/src/main/java/com/xmzs/common/chat/domain/response/SimpleGenerateDataResponse.java create mode 100644 ruoyi-common/ruoyi-common-chat/src/main/java/com/xmzs/common/chat/domain/response/SimpleGenerateResponse.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-client-commons/live-chat-client-commons-base/pom.xml delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-client-commons/live-chat-client-commons-base/src/main/java/tech/ordinaryroad/live/chat/client/commons/base/constant/Constants.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-client-commons/live-chat-client-commons-base/src/main/java/tech/ordinaryroad/live/chat/client/commons/base/exception/BaseException.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-client-commons/live-chat-client-commons-base/src/main/java/tech/ordinaryroad/live/chat/client/commons/base/listener/IBaseConnectionListener.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-client-commons/live-chat-client-commons-base/src/main/java/tech/ordinaryroad/live/chat/client/commons/base/listener/IBaseMsgListener.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-client-commons/live-chat-client-commons-base/src/main/java/tech/ordinaryroad/live/chat/client/commons/base/listener/IDanmuMsgListener.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-client-commons/live-chat-client-commons-base/src/main/java/tech/ordinaryroad/live/chat/client/commons/base/listener/IEnterRoomMsgListener.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-client-commons/live-chat-client-commons-base/src/main/java/tech/ordinaryroad/live/chat/client/commons/base/listener/IGiftMsgListener.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-client-commons/live-chat-client-commons-base/src/main/java/tech/ordinaryroad/live/chat/client/commons/base/listener/ILikeMsgListener.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-client-commons/live-chat-client-commons-base/src/main/java/tech/ordinaryroad/live/chat/client/commons/base/listener/ISuperChatMsgListener.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-client-commons/live-chat-client-commons-base/src/main/java/tech/ordinaryroad/live/chat/client/commons/base/msg/BaseCmdMsg.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-client-commons/live-chat-client-commons-base/src/main/java/tech/ordinaryroad/live/chat/client/commons/base/msg/BaseMsg.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-client-commons/live-chat-client-commons-base/src/main/java/tech/ordinaryroad/live/chat/client/commons/base/msg/ICmdMsg.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-client-commons/live-chat-client-commons-base/src/main/java/tech/ordinaryroad/live/chat/client/commons/base/msg/IDanmuMsg.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-client-commons/live-chat-client-commons-base/src/main/java/tech/ordinaryroad/live/chat/client/commons/base/msg/IEnterRoomMsg.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-client-commons/live-chat-client-commons-base/src/main/java/tech/ordinaryroad/live/chat/client/commons/base/msg/IGiftMsg.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-client-commons/live-chat-client-commons-base/src/main/java/tech/ordinaryroad/live/chat/client/commons/base/msg/ILikeMsg.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-client-commons/live-chat-client-commons-base/src/main/java/tech/ordinaryroad/live/chat/client/commons/base/msg/IMsg.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-client-commons/live-chat-client-commons-base/src/main/java/tech/ordinaryroad/live/chat/client/commons/base/msg/ISuperChatMsg.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-client-commons/live-chat-client-commons-client/pom.xml delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-client-commons/live-chat-client-commons-client/src/main/java/tech/ordinaryroad/live/chat/client/commons/client/BaseLiveChatClient.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-client-commons/live-chat-client-commons-client/src/main/java/tech/ordinaryroad/live/chat/client/commons/client/IBaseLiveChatClient.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-client-commons/live-chat-client-commons-client/src/main/java/tech/ordinaryroad/live/chat/client/commons/client/config/BaseLiveChatClientConfig.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-client-commons/live-chat-client-commons-client/src/main/java/tech/ordinaryroad/live/chat/client/commons/client/enums/ClientStatusEnums.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-client-commons/live-chat-client-commons-util/pom.xml delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-client-commons/live-chat-client-commons-util/src/main/java/tech/ordinaryroad/live/chat/client/commons/util/OrLiveChatCookieUtil.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-client-commons/live-chat-client-commons-util/src/main/java/tech/ordinaryroad/live/chat/client/commons/util/OrLiveChatNumberUtil.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-client-commons/live-chat-client-commons-util/src/main/java/tech/ordinaryroad/live/chat/client/commons/util/OrLiveChatReflectUtil.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-client-commons/live-chat-client-commons-util/src/main/java/tech/ordinaryroad/live/chat/client/commons/util/OrLocalDateTimeUtil.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-client-commons/pom.xml delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-client-servers/live-chat-client-servers-netty-client/pom.xml delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-client-servers/live-chat-client-servers-netty-client/src/main/java/tech/ordinaryroad/live/chat/client/servers/netty/client/base/BaseNettyClient.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-client-servers/live-chat-client-servers-netty-client/src/main/java/tech/ordinaryroad/live/chat/client/servers/netty/client/config/BaseNettyClientConfig.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-client-servers/live-chat-client-servers-netty-client/src/main/java/tech/ordinaryroad/live/chat/client/servers/netty/client/handler/BaseNettyClientBinaryFrameHandler.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-client-servers/live-chat-client-servers-netty-client/src/main/java/tech/ordinaryroad/live/chat/client/servers/netty/client/handler/BaseNettyClientConnectionHandler.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-client-servers/live-chat-client-servers-netty/pom.xml delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-client-servers/live-chat-client-servers-netty/src/main/java/tech/ordinaryroad/live/chat/client/servers/netty/frame/base/BaseBinaryWebSocketFrame.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-client-servers/live-chat-client-servers-netty/src/main/java/tech/ordinaryroad/live/chat/client/servers/netty/handler/base/BaseBinaryFrameHandler.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-client-servers/live-chat-client-servers-netty/src/main/java/tech/ordinaryroad/live/chat/client/servers/netty/handler/base/BaseConnectionHandler.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-client-servers/pom.xml delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-bilibili/pom.xml delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-bilibili/src/main/java/tech/ordinaryroad/live/chat/client/bilibili/api/BilibiliApis.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-bilibili/src/main/java/tech/ordinaryroad/live/chat/client/bilibili/api/request/BilibiliLikeReportV3Request.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-bilibili/src/main/java/tech/ordinaryroad/live/chat/client/bilibili/api/request/BilibiliSendMsgRequest.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-bilibili/src/main/java/tech/ordinaryroad/live/chat/client/bilibili/client/BilibiliLiveChatClient.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-bilibili/src/main/java/tech/ordinaryroad/live/chat/client/bilibili/config/BilibiliLiveChatClientConfig.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-bilibili/src/main/java/tech/ordinaryroad/live/chat/client/bilibili/constant/BilibiliCmdEnum.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-bilibili/src/main/java/tech/ordinaryroad/live/chat/client/bilibili/constant/OperationEnum.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-bilibili/src/main/java/tech/ordinaryroad/live/chat/client/bilibili/constant/ProtoverEnum.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-bilibili/src/main/java/tech/ordinaryroad/live/chat/client/bilibili/listener/IBilibiliConnectionListener.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-bilibili/src/main/java/tech/ordinaryroad/live/chat/client/bilibili/listener/IBilibiliMsgListener.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-bilibili/src/main/java/tech/ordinaryroad/live/chat/client/bilibili/msg/AuthMsg.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-bilibili/src/main/java/tech/ordinaryroad/live/chat/client/bilibili/msg/AuthReplyMsg.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-bilibili/src/main/java/tech/ordinaryroad/live/chat/client/bilibili/msg/DanmuMsgMsg.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-bilibili/src/main/java/tech/ordinaryroad/live/chat/client/bilibili/msg/HeartbeatMsg.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-bilibili/src/main/java/tech/ordinaryroad/live/chat/client/bilibili/msg/HeartbeatReplyMsg.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-bilibili/src/main/java/tech/ordinaryroad/live/chat/client/bilibili/msg/InteractWordMsg.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-bilibili/src/main/java/tech/ordinaryroad/live/chat/client/bilibili/msg/LikeInfoV3ClickMsg.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-bilibili/src/main/java/tech/ordinaryroad/live/chat/client/bilibili/msg/SendGiftMsg.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-bilibili/src/main/java/tech/ordinaryroad/live/chat/client/bilibili/msg/SendSmsReplyMsg.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-bilibili/src/main/java/tech/ordinaryroad/live/chat/client/bilibili/msg/SuperChatMessageMsg.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-bilibili/src/main/java/tech/ordinaryroad/live/chat/client/bilibili/msg/base/BaseBilibiliCmdMsg.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-bilibili/src/main/java/tech/ordinaryroad/live/chat/client/bilibili/msg/base/BaseBilibiliMsg.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-bilibili/src/main/java/tech/ordinaryroad/live/chat/client/bilibili/msg/base/IBilibiliMsg.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-bilibili/src/main/java/tech/ordinaryroad/live/chat/client/bilibili/msg/dto/MedalInfo.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-bilibili/src/main/java/tech/ordinaryroad/live/chat/client/bilibili/netty/frame/AuthWebSocketFrame.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-bilibili/src/main/java/tech/ordinaryroad/live/chat/client/bilibili/netty/frame/HeartbeatWebSocketFrame.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-bilibili/src/main/java/tech/ordinaryroad/live/chat/client/bilibili/netty/frame/base/BaseBilibiliWebSocketFrame.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-bilibili/src/main/java/tech/ordinaryroad/live/chat/client/bilibili/netty/frame/factory/BilibiliWebSocketFrameFactory.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-bilibili/src/main/java/tech/ordinaryroad/live/chat/client/bilibili/netty/handler/BilibiliBinaryFrameHandler.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-bilibili/src/main/java/tech/ordinaryroad/live/chat/client/bilibili/netty/handler/BilibiliConnectionHandler.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-bilibili/src/main/java/tech/ordinaryroad/live/chat/client/bilibili/protobuf/Dm_v2Proto.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-bilibili/src/main/java/tech/ordinaryroad/live/chat/client/bilibili/protobuf/Dm_v2_20Proto.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-bilibili/src/main/java/tech/ordinaryroad/live/chat/client/bilibili/protobuf/dm_v2.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-bilibili/src/main/java/tech/ordinaryroad/live/chat/client/bilibili/protobuf/dm_v2OrBuilder.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-bilibili/src/main/java/tech/ordinaryroad/live/chat/client/bilibili/protobuf/dm_v2_20.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-bilibili/src/main/java/tech/ordinaryroad/live/chat/client/bilibili/protobuf/dm_v2_20OrBuilder.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-bilibili/src/main/java/tech/ordinaryroad/live/chat/client/bilibili/util/BilibiliCodecUtil.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-bilibili/src/main/resources/proto/dm_v2.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-bilibili/src/main/resources/proto/dm_v2_20.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-bilibili/src/test/java/tech/ordinaryroad/live/chat/client/bilibili/api/BilibiliApisTest.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-bilibili/src/test/java/tech/ordinaryroad/live/chat/client/bilibili/client/BilibiliLiveChatClientTest.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/pom.xml delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/java/tech/ordinaryroad/live/chat/client/douyin/ClientModeExample.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/java/tech/ordinaryroad/live/chat/client/douyin/api/DouyinApis.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/java/tech/ordinaryroad/live/chat/client/douyin/client/DouyinLiveChatClient.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/java/tech/ordinaryroad/live/chat/client/douyin/config/DouyinLiveChatClientConfig.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/java/tech/ordinaryroad/live/chat/client/douyin/constant/DouyinCmdEnum.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/java/tech/ordinaryroad/live/chat/client/douyin/listener/IDouyinConnectionListener.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/java/tech/ordinaryroad/live/chat/client/douyin/listener/IDouyinMsgListener.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/java/tech/ordinaryroad/live/chat/client/douyin/msg/DouyinDanmuMsg.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/java/tech/ordinaryroad/live/chat/client/douyin/msg/DouyinEnterRoomMsg.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/java/tech/ordinaryroad/live/chat/client/douyin/msg/DouyinGiftMsg.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/java/tech/ordinaryroad/live/chat/client/douyin/msg/DouyinLikeMsg.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/java/tech/ordinaryroad/live/chat/client/douyin/msg/base/IDouyinCmdMsg.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/java/tech/ordinaryroad/live/chat/client/douyin/msg/base/IDouyinMsg.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/java/tech/ordinaryroad/live/chat/client/douyin/netty/handler/DouyinBinaryFrameHandler.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/java/tech/ordinaryroad/live/chat/client/douyin/netty/handler/DouyinConnectionHandler.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/java/tech/ordinaryroad/live/chat/client/douyin/protobuf/Douyin_cmd_msgProto.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/java/tech/ordinaryroad/live/chat/client/douyin/protobuf/Douyin_webcast_chat_message_msgProto.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/java/tech/ordinaryroad/live/chat/client/douyin/protobuf/Douyin_webcast_gift_message_msgProto.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/java/tech/ordinaryroad/live/chat/client/douyin/protobuf/Douyin_webcast_member_message_msgProto.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/java/tech/ordinaryroad/live/chat/client/douyin/protobuf/Douyin_websocket_frameProto.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/java/tech/ordinaryroad/live/chat/client/douyin/protobuf/douyin_cmd_msg.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/java/tech/ordinaryroad/live/chat/client/douyin/protobuf/douyin_cmd_msgOrBuilder.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/java/tech/ordinaryroad/live/chat/client/douyin/protobuf/douyin_webcast_chat_message_msg.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/java/tech/ordinaryroad/live/chat/client/douyin/protobuf/douyin_webcast_chat_message_msgOrBuilder.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/java/tech/ordinaryroad/live/chat/client/douyin/protobuf/douyin_webcast_gift_message_msg.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/java/tech/ordinaryroad/live/chat/client/douyin/protobuf/douyin_webcast_gift_message_msgOrBuilder.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/java/tech/ordinaryroad/live/chat/client/douyin/protobuf/douyin_webcast_like_message_msg.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/java/tech/ordinaryroad/live/chat/client/douyin/protobuf/douyin_webcast_like_message_msgOrBuilder.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/java/tech/ordinaryroad/live/chat/client/douyin/protobuf/douyin_webcast_like_message_msgProto.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/java/tech/ordinaryroad/live/chat/client/douyin/protobuf/douyin_webcast_member_message_msg.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/java/tech/ordinaryroad/live/chat/client/douyin/protobuf/douyin_webcast_member_message_msgOrBuilder.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/java/tech/ordinaryroad/live/chat/client/douyin/protobuf/douyin_websocket_frame.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/java/tech/ordinaryroad/live/chat/client/douyin/protobuf/douyin_websocket_frameOrBuilder.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/java/tech/ordinaryroad/live/chat/client/douyin/protobuf/douyin_websocket_frame_msg.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/java/tech/ordinaryroad/live/chat/client/douyin/protobuf/douyin_websocket_frame_msgOrBuilder.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/java/tech/ordinaryroad/live/chat/client/douyin/protobuf/douyin_websocket_frame_msgProto.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/java/tech/ordinaryroad/live/chat/client/douyin/protobuf/dto/CommonOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/java/tech/ordinaryroad/live/chat/client/douyin/protobuf/dto/DoubleLikeDetailOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/java/tech/ordinaryroad/live/chat/client/douyin/protobuf/dto/GiftIMPriorityOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/java/tech/ordinaryroad/live/chat/client/douyin/protobuf/dto/GiftStructOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/java/tech/ordinaryroad/live/chat/client/douyin/protobuf/dto/ImageOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/java/tech/ordinaryroad/live/chat/client/douyin/protobuf/dto/PatternRefOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/java/tech/ordinaryroad/live/chat/client/douyin/protobuf/dto/PublicAreaCommonOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/java/tech/ordinaryroad/live/chat/client/douyin/protobuf/dto/TextEffectDetailOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/java/tech/ordinaryroad/live/chat/client/douyin/protobuf/dto/TextEffectOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/java/tech/ordinaryroad/live/chat/client/douyin/protobuf/dto/TextFormatOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/java/tech/ordinaryroad/live/chat/client/douyin/protobuf/dto/TextOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/java/tech/ordinaryroad/live/chat/client/douyin/protobuf/dto/TextPieceGiftOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/java/tech/ordinaryroad/live/chat/client/douyin/protobuf/dto/TextPieceHeartOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/java/tech/ordinaryroad/live/chat/client/douyin/protobuf/dto/TextPieceImageOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/java/tech/ordinaryroad/live/chat/client/douyin/protobuf/dto/TextPieceOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/java/tech/ordinaryroad/live/chat/client/douyin/protobuf/dto/TextPiecePatternRefOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/java/tech/ordinaryroad/live/chat/client/douyin/protobuf/dto/TextPieceUserOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/java/tech/ordinaryroad/live/chat/client/douyin/protobuf/dto/UserOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/resources/proto/Common.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/resources/proto/DoubleLikeDetail.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/resources/proto/GiftIMPriority.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/resources/proto/GiftStruct.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/resources/proto/Image.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/resources/proto/PatternRef.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/resources/proto/PublicAreaCommon.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/resources/proto/Text.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/resources/proto/TextEffect.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/resources/proto/TextEffectDetail.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/resources/proto/TextFormat.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/resources/proto/TextPiece.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/resources/proto/TextPieceGift.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/resources/proto/TextPieceHeart.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/resources/proto/TextPieceImage.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/resources/proto/TextPiecePatternRef.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/resources/proto/TextPieceUser.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/resources/proto/User.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/resources/proto/douyin_cmd_msg.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/resources/proto/douyin_webcast_chat_message_msg.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/resources/proto/douyin_webcast_gift_message_msg.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/resources/proto/douyin_webcast_like_message_msg.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/resources/proto/douyin_webcast_member_message_msg.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/resources/proto/douyin_websocket_frame.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/main/resources/proto/douyin_websocket_frame_msg.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/test/java/tech/ordinaryroad/live/chat/client/douyin/api/DouyinApisTest.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyin/src/test/java/tech/ordinaryroad/live/chat/client/douyin/client/DouyinLiveChatClientTest.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyu/README.md delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyu/pom.xml delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyu/src/main/java/tech/ordinaryroad/live/chat/client/douyu/api/DouyuApis.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyu/src/main/java/tech/ordinaryroad/live/chat/client/douyu/client/DouyuDanmuLiveChatClient.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyu/src/main/java/tech/ordinaryroad/live/chat/client/douyu/client/DouyuLiveChatClient.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyu/src/main/java/tech/ordinaryroad/live/chat/client/douyu/client/DouyuWsLiveChatClient.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyu/src/main/java/tech/ordinaryroad/live/chat/client/douyu/client/base/BaseDouyuLiveChatClient.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyu/src/main/java/tech/ordinaryroad/live/chat/client/douyu/config/DouyuLiveChatClientConfig.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyu/src/main/java/tech/ordinaryroad/live/chat/client/douyu/constant/DouyuClientModeEnum.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyu/src/main/java/tech/ordinaryroad/live/chat/client/douyu/constant/DouyuCmdEnum.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyu/src/main/java/tech/ordinaryroad/live/chat/client/douyu/listener/IDouyuConnectionListener.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyu/src/main/java/tech/ordinaryroad/live/chat/client/douyu/listener/IDouyuMsgListener.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyu/src/main/java/tech/ordinaryroad/live/chat/client/douyu/msg/ChatmessageMsg.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyu/src/main/java/tech/ordinaryroad/live/chat/client/douyu/msg/ChatmsgMsg.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyu/src/main/java/tech/ordinaryroad/live/chat/client/douyu/msg/DgbMsg.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyu/src/main/java/tech/ordinaryroad/live/chat/client/douyu/msg/DouyuCmdMsg.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyu/src/main/java/tech/ordinaryroad/live/chat/client/douyu/msg/H5ckreqMsg.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyu/src/main/java/tech/ordinaryroad/live/chat/client/douyu/msg/H5csMsg.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyu/src/main/java/tech/ordinaryroad/live/chat/client/douyu/msg/H5gkcreqMsg.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyu/src/main/java/tech/ordinaryroad/live/chat/client/douyu/msg/HeartbeatMsg.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyu/src/main/java/tech/ordinaryroad/live/chat/client/douyu/msg/HeartbeatReplyMsg.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyu/src/main/java/tech/ordinaryroad/live/chat/client/douyu/msg/JoingroupMsg.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyu/src/main/java/tech/ordinaryroad/live/chat/client/douyu/msg/KeepliveMsg.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyu/src/main/java/tech/ordinaryroad/live/chat/client/douyu/msg/LoginreqMsg.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyu/src/main/java/tech/ordinaryroad/live/chat/client/douyu/msg/LoginresMsg.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyu/src/main/java/tech/ordinaryroad/live/chat/client/douyu/msg/MapkbMsg.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyu/src/main/java/tech/ordinaryroad/live/chat/client/douyu/msg/MsgrepeaterproxylistMsg.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyu/src/main/java/tech/ordinaryroad/live/chat/client/douyu/msg/SubMsg.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyu/src/main/java/tech/ordinaryroad/live/chat/client/douyu/msg/UenterMsg.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyu/src/main/java/tech/ordinaryroad/live/chat/client/douyu/msg/base/BaseDouyuCmdMsg.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyu/src/main/java/tech/ordinaryroad/live/chat/client/douyu/msg/base/IDouyuMsg.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyu/src/main/java/tech/ordinaryroad/live/chat/client/douyu/msg/dto/GiftListInfo.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyu/src/main/java/tech/ordinaryroad/live/chat/client/douyu/msg/dto/GiftPropInfo.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyu/src/main/java/tech/ordinaryroad/live/chat/client/douyu/msg/dto/GiftPropSingle.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyu/src/main/java/tech/ordinaryroad/live/chat/client/douyu/netty/frame/AuthWebSocketFrame.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyu/src/main/java/tech/ordinaryroad/live/chat/client/douyu/netty/frame/HeartbeatWebSocketFrame.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyu/src/main/java/tech/ordinaryroad/live/chat/client/douyu/netty/frame/KeepliveWebSocketFrame.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyu/src/main/java/tech/ordinaryroad/live/chat/client/douyu/netty/frame/base/BaseDouyuWebSocketFrame.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyu/src/main/java/tech/ordinaryroad/live/chat/client/douyu/netty/frame/factory/DouyuWebSocketFrameFactory.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyu/src/main/java/tech/ordinaryroad/live/chat/client/douyu/netty/handler/DouyuBinaryFrameHandler.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyu/src/main/java/tech/ordinaryroad/live/chat/client/douyu/netty/handler/DouyuConnectionHandler.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyu/src/main/java/tech/ordinaryroad/live/chat/client/douyu/util/DouyuCodecUtil.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyu/src/test/java/tech/ordinaryroad/live/chat/client/douyu/api/DouyuApisTest.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyu/src/test/java/tech/ordinaryroad/live/chat/client/douyu/client/ChatChoice.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyu/src/test/java/tech/ordinaryroad/live/chat/client/douyu/client/ChatCompletionResponse.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyu/src/test/java/tech/ordinaryroad/live/chat/client/douyu/client/DouyuLiveChatClientTest.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyu/src/test/java/tech/ordinaryroad/live/chat/client/douyu/client/Message.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyu/src/test/java/tech/ordinaryroad/live/chat/client/douyu/client/Usage.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-douyu/src/test/java/tech/ordinaryroad/live/chat/client/douyu/util/DouyuCodecUtilTest.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/pom.xml delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/api/HuyaApis.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/client/HuyaLiveChatClient.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/config/HuyaLiveChatClientConfig.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/constant/HuyaClientTemplateTypeEnum.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/constant/HuyaCmdEnum.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/constant/HuyaDecorationAppTypeEnum.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/constant/HuyaDecorationViewTypeEnum.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/constant/HuyaGenderEnum.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/constant/HuyaLiveSource.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/constant/HuyaOperationEnum.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/constant/HuyaStreamLineTypeEnum.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/constant/HuyaWupFunctionEnum.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/listener/IHuyaConnectionListener.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/listener/IHuyaMsgListener.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/BaseWup.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/ConnectParaInfo.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/LiveLaunchRsp.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/MessageNoticeMsg.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/PushMessage.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/PushMessage_V2.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/RegisterGroupRsp.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/RegisterRsp.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/SendItemSubBroadcastPacketMsg.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/UserInfo.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/VerifyCookieRsp.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/VipEnterBannerMsg.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/WebSocketCommand.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/WupRsp.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/base/BaseHuyaCmdMsg.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/base/BaseHuyaMsg.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/base/IHuyaCmdMsg.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/base/IHuyaMsg.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/dto/ACEnterBanner.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/dto/BadgeInfo.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/dto/BulletBorderGroundFormat.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/dto/BulletFormat.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/dto/ChannelPair.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/dto/CommEnterBanner.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/dto/ContentFormat.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/dto/CustomBadgeDynamicExternal.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/dto/DIYBigGiftEffect.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/dto/DecorationInfo.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/dto/DecorationInfoRsp.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/dto/DeviceInfo.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/dto/DisplayInfo.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/dto/FaithInfo.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/dto/FaithPresenter.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/dto/GuardInfo.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/dto/ItemEffectInfo.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/dto/LiveAppUAEx.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/dto/LiveProxyValue.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/dto/LiveUserbase.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/dto/MessageContentExpand.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/dto/MessageTagInfo.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/dto/MsgItem.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/dto/MsgStatInfo.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/dto/NobleInfo.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/dto/NobleLevelAttr.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/dto/NobleLevelInfo.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/dto/NoblePetAttr.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/dto/PresenterChannelInfo.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/dto/PropView.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/dto/PropsIdentity.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/dto/PropsItem.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/dto/SendMessageFormat.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/dto/SenderInfo.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/dto/SpecialInfo.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/dto/SuperFansInfo.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/dto/UidNickName.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/dto/UserId.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/dto/UserIdentityInfo.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/dto/UserRidePetInfo.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/dto/WeekRankInfo.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/req/GetLivingInfoReq.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/req/GetPropsListReq.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/req/GetPropsListRsp.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/req/LaunchReq.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/req/LiveLaunchReq.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/req/RegisterGroupReq.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/req/SendMessageReq.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/req/UpdateUserInfoReq.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/req/UserHeartBeatReq.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/req/VerifyCookieReq.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/msg/req/WupReq.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/netty/frame/factory/HuyaWebSocketFrameFactory.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/netty/handler/HuyaBinaryFrameHandler.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/netty/handler/HuyaConnectionHandler.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/main/java/tech/ordinaryroad/live/chat/client/huya/util/HuyaCodecUtil.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/test/java/tech/ordinaryroad/live/chat/client/huya/api/HuyaApisTest.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/test/java/tech/ordinaryroad/live/chat/client/huya/client/HuyaLiveChatClientTest.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-huya/src/test/java/tech/ordinaryroad/live/chat/client/huya/util/HuyaCodecUtilTest.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/pom.xml delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/ClientModeExample.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/api/KuaishouApis.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/client/KuaishouLiveChatClient.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/config/KuaishouLiveChatClientConfig.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/listener/IKuaishouConnectionListener.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/listener/IKuaishouMsgListener.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/msg/KuaishouDanmuMsg.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/msg/KuaishouGiftMsg.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/msg/KuaishouLikeMsg.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/msg/base/IKuaishouCmdMsg.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/msg/base/IKuaishouMsg.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/netty/handler/KuaishouBinaryFrameHandler.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/netty/handler/KuaishouConnectionHandler.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/protobuf/AuditAudienceMaskOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/protobuf/CSErrorOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/protobuf/CSHeartbeatOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/protobuf/CSPingOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/protobuf/CSWebEnterRoomOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/protobuf/CSWebErrorOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/protobuf/CSWebHeartbeatOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/protobuf/CSWebUserExitOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/protobuf/CSWebUserPauseOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/protobuf/ClientIdOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/protobuf/ConfigSwitchItemOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/protobuf/ConfigSwitchTypeOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/protobuf/GzoneNameplateOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/protobuf/LiveAudienceStateOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/protobuf/LiveCdnNodeViewOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/protobuf/LiveFansGroupStateOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/protobuf/PSHostInfoOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/protobuf/PayloadTypeOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/protobuf/PicUrlOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/protobuf/SCEchoOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/protobuf/SCErrorOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/protobuf/SCHeartbeatAckOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/protobuf/SCInfoOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/protobuf/SCLiveWarningMaskStatusChangedAudienceOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/protobuf/SCPingAckOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/protobuf/SCWebAuthorPauseOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/protobuf/SCWebAuthorResumeOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/protobuf/SCWebBetChangedOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/protobuf/SCWebBetClosedOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/protobuf/SCWebCurrentRedPackFeedOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/protobuf/SCWebEnterRoomAckOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/protobuf/SCWebErrorOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/protobuf/SCWebFeedPushOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/protobuf/SCWebGuessClosedOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/protobuf/SCWebGuessOpenedOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/protobuf/SCWebHeartbeatAckOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/protobuf/SCWebLiveSpecialAccountConfigStateOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/protobuf/SCWebLiveWatchingUsersOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/protobuf/SCWebPipEndedOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/protobuf/SCWebPipStartedOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/protobuf/SCWebRefreshWalletOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/protobuf/SCWebRideChangedOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/protobuf/SCWebSuspectedViolationOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/protobuf/SimpleUserInfoOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/protobuf/SocketMessageOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/protobuf/UserInfoOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/protobuf/WebComboCommentFeedOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/protobuf/WebCommentFeedOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/protobuf/WebCommentFeedShowTypeOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/protobuf/WebGiftFeedOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/protobuf/WebLikeFeedOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/protobuf/WebLiveAssistantTypeOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/protobuf/WebPauseTypeOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/protobuf/WebRedPackCoverTypeOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/protobuf/WebRedPackInfoOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/protobuf/WebShareFeedOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/protobuf/WebSystemNoticeFeedOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/protobuf/WebUserPauseTypeOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/java/tech/ordinaryroad/live/chat/client/kuaishou/protobuf/WebWatchingUserInfoOuterClass.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/resources/proto/AuditAudienceMask.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/resources/proto/CSError.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/resources/proto/CSHeartbeat.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/resources/proto/CSPing.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/resources/proto/CSWebEnterRoom.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/resources/proto/CSWebError.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/resources/proto/CSWebHeartbeat.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/resources/proto/CSWebUserExit.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/resources/proto/CSWebUserPause.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/resources/proto/ClientId.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/resources/proto/ConfigSwitchItem.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/resources/proto/ConfigSwitchType.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/resources/proto/GzoneNameplate.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/resources/proto/LiveAudienceState.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/resources/proto/LiveCdnNodeView.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/resources/proto/LiveFansGroupState.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/resources/proto/PSHostInfo.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/resources/proto/PayloadType.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/resources/proto/PicUrl.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/resources/proto/SCEcho.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/resources/proto/SCError.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/resources/proto/SCHeartbeatAck.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/resources/proto/SCInfo.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/resources/proto/SCLiveWarningMaskStatusChangedAudience.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/resources/proto/SCPingAck.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/resources/proto/SCWebAuthorPause.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/resources/proto/SCWebAuthorResume.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/resources/proto/SCWebBetChanged.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/resources/proto/SCWebBetClosed.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/resources/proto/SCWebCurrentRedPackFeed.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/resources/proto/SCWebEnterRoomAck.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/resources/proto/SCWebError.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/resources/proto/SCWebFeedPush.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/resources/proto/SCWebGuessClosed.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/resources/proto/SCWebGuessOpened.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/resources/proto/SCWebHeartbeatAck.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/resources/proto/SCWebLiveSpecialAccountConfigState.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/resources/proto/SCWebLiveWatchingUsers.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/resources/proto/SCWebPipEnded.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/resources/proto/SCWebPipStarted.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/resources/proto/SCWebRefreshWallet.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/resources/proto/SCWebRideChanged.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/resources/proto/SCWebSuspectedViolation.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/resources/proto/SimpleUserInfo.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/resources/proto/SocketMessage.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/resources/proto/UserInfo.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/resources/proto/WebComboCommentFeed.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/resources/proto/WebCommentFeed.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/resources/proto/WebCommentFeedShowType.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/resources/proto/WebGiftFeed.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/resources/proto/WebLikeFeed.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/resources/proto/WebLiveAssistantType.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/resources/proto/WebPauseType.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/resources/proto/WebRedPackCoverType.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/resources/proto/WebRedPackInfo.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/resources/proto/WebShareFeed.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/resources/proto/WebSystemNoticeFeed.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/resources/proto/WebUserPauseType.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/main/resources/proto/WebWatchingUserInfo.proto delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/test/java/tech/ordinaryroad/live/chat/client/kuaishou/api/KuaishouApisTest.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/live-chat-client-kuaishou/src/test/java/tech/ordinaryroad/live/chat/client/kuaishou/client/KuaishouLiveChatClientTest.java delete mode 100644 ruoyi-modules/ruoyi-live/live-chat-clients/pom.xml delete mode 100644 ruoyi-modules/ruoyi-live/pom.xml create mode 100644 ruoyi-modules/ruoyi-midjourney/src/main/java/com/xmzs/midjourney/controller/FaceController.java create mode 100644 ruoyi-modules/ruoyi-midjourney/src/main/java/com/xmzs/midjourney/domain/InsightFace.java create mode 100644 ruoyi-modules/ruoyi-midjourney/src/main/java/com/xmzs/midjourney/dto/SubmitActionDTO.java create mode 100644 ruoyi-modules/ruoyi-system/src/main/java/com/xmzs/system/domain/VoiceRole.java create mode 100644 ruoyi-modules/ruoyi-system/src/main/java/com/xmzs/system/domain/bo/VoiceRoleBo.java create mode 100644 ruoyi-modules/ruoyi-system/src/main/java/com/xmzs/system/domain/vo/VoiceRoleVo.java create mode 100644 ruoyi-modules/ruoyi-system/src/main/java/com/xmzs/system/mapper/VoiceRoleMapper.java create mode 100644 ruoyi-modules/ruoyi-system/src/main/java/com/xmzs/system/service/ChatService.java create mode 100644 ruoyi-modules/ruoyi-system/src/main/java/com/xmzs/system/service/SseService.java rename ruoyi-modules/ruoyi-system/src/main/java/com/xmzs/system/service/impl/{IChatServiceImpl.java => ChatServiceImpl.java} (64%) rename ruoyi-modules/ruoyi-system/src/main/java/com/xmzs/system/service/impl/{ISseServiceImpl.java => SseServiceImpl.java} (61%) diff --git a/README.md b/README.md index c12faa73..d37ea7ce 100644 --- a/README.md +++ b/README.md @@ -63,7 +63,11 @@ ## 语音克隆 -https://github.com/ageerle/ruoyi-ai/assets/32251822/62c60f2a-add0-421b-8e32-16ed6a3e598b + + +https://github.com/ageerle/ruoyi-ai/assets/32251822/c3dd75eb-c5bd-4ab0-93bf-9221f4888827 + + ## 弹幕助手 @@ -72,10 +76,14 @@ https://github.com/ageerle/ruoyi-ai/assets/32251822/2d809d94-6cfb-41b1-9dc0-a72c -## 私有知识库管理(开发中) +## 私有知识库管理
- drawing - drawing + drawing + drawing + drawing + drawing + drawing + drawing
## 进群学习 diff --git a/image/02.png b/image/02.png new file mode 100644 index 0000000000000000000000000000000000000000..ac033d22ecda966fe2bdc1d5e029542c37ebc013 GIT binary patch literal 33802 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 literal 0 HcmV?d00001 diff --git a/pom.xml b/pom.xml index 0ec370ce..ab2aa174 100644 --- a/pom.xml +++ b/pom.xml @@ -324,6 +324,8 @@ ${revision} + + com.xmzs ruoyi-generator diff --git a/ruoyi-admin/Dockerfile b/ruoyi-admin/Dockerfile index 0996e40c..386e378d 100644 --- a/ruoyi-admin/Dockerfile +++ b/ruoyi-admin/Dockerfile @@ -1,14 +1,17 @@ +#基础镜像 FROM findepi/graalvm:java17-native -MAINTAINER Lion Li +MAINTAINER ageerle RUN mkdir -p /ruoyi/server/logs \ /ruoyi/server/temp \ /ruoyi/skywalking/agent + +#工作空间 WORKDIR /ruoyi/server -ENV SERVER_PORT=8080 +ENV SERVER_PORT=6039 EXPOSE ${SERVER_PORT} diff --git a/ruoyi-admin/pom.xml b/ruoyi-admin/pom.xml index 58864d71..223ff6c4 100644 --- a/ruoyi-admin/pom.xml +++ b/ruoyi-admin/pom.xml @@ -64,6 +64,9 @@ ruoyi-midjourney + + + com.xmzs diff --git a/ruoyi-admin/src/main/java/com/xmzs/controller/AuthController.java b/ruoyi-admin/src/main/java/com/xmzs/controller/AuthController.java index 848f7b46..0405b11d 100644 --- a/ruoyi-admin/src/main/java/com/xmzs/controller/AuthController.java +++ b/ruoyi-admin/src/main/java/com/xmzs/controller/AuthController.java @@ -45,8 +45,6 @@ public class AuthController { private final SysRegisterService registerService; private final ISysTenantService tenantService; - - /** * 登录方法 * diff --git a/ruoyi-admin/src/main/java/com/xmzs/controller/CaptchaController.java b/ruoyi-admin/src/main/java/com/xmzs/controller/CaptchaController.java index 78941eec..de7d90bf 100644 --- a/ruoyi-admin/src/main/java/com/xmzs/controller/CaptchaController.java +++ b/ruoyi-admin/src/main/java/com/xmzs/controller/CaptchaController.java @@ -85,6 +85,7 @@ public class CaptchaController { * * @param emailRequest 用户邮箱 */ + //@PostMapping("/resource/email/code") @PostMapping("/resource/email/code") public R emailCode(@RequestBody @Valid EmailRequest emailRequest) { if (!mailProperties.getEnabled()) { diff --git a/ruoyi-admin/src/main/java/com/xmzs/controller/ChatController.java b/ruoyi-admin/src/main/java/com/xmzs/controller/ChatController.java index 2ee3c470..80b5dde2 100644 --- a/ruoyi-admin/src/main/java/com/xmzs/controller/ChatController.java +++ b/ruoyi-admin/src/main/java/com/xmzs/controller/ChatController.java @@ -3,8 +3,8 @@ package com.xmzs.controller; import com.xmzs.common.chat.domain.request.ChatRequest; import com.xmzs.common.chat.domain.request.Dall3Request; -import com.xmzs.common.chat.domain.request.MjTaskRequest; import com.xmzs.common.chat.entity.Tts.TextToSpeech; +import com.xmzs.common.chat.entity.files.UploadFileResponse; import com.xmzs.common.chat.entity.images.Item; import com.xmzs.common.chat.entity.whisper.WhisperResponse; import com.xmzs.common.core.domain.R; @@ -21,25 +21,15 @@ import jakarta.servlet.http.HttpServletResponse; import jakarta.validation.Valid; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.core.io.InputStreamResource; -import org.springframework.http.MediaType; +import org.springframework.core.io.Resource; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; -import org.springframework.core.io.Resource; - -import java.io.IOException; -import java.io.InputStream; import java.util.List; -import retrofit2.Response; - /** * 描述: * @@ -64,6 +54,16 @@ public class ChatController { return ISseService.sseChat(chatRequest); } + /** + * 上传文件 + */ + @PostMapping("/v1/upload") + @ResponseBody + public UploadFileResponse upload(@RequestPart("file") MultipartFile file) { + return ISseService.upload(file); + } + + /** * 语音转文本 * @@ -94,18 +94,6 @@ public class ChatController { return R.ok(ISseService.dall3(request)); } - /** - * 扣除mj绘图费用 - * - * @return - */ - @PostMapping("/mjTask") - @ResponseBody - public R mjTask(@RequestBody MjTaskRequest mjTaskRequest) { - ISseService.mjTask(mjTaskRequest); - return R.ok(); - } - /** * 聊天记录 */ diff --git a/ruoyi-admin/src/main/java/com/xmzs/controller/PayController.java b/ruoyi-admin/src/main/java/com/xmzs/controller/PayController.java index ac6f96f1..e2c43cb7 100644 --- a/ruoyi-admin/src/main/java/com/xmzs/controller/PayController.java +++ b/ruoyi-admin/src/main/java/com/xmzs/controller/PayController.java @@ -23,7 +23,6 @@ import com.xmzs.system.domain.vo.SysUserVo; import com.xmzs.system.service.IPaymentOrdersService; import com.xmzs.system.service.ISysUserService; import com.xmzs.system.util.OrderNumberGenerator; -import jakarta.servlet.http.HttpServletResponse; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; @@ -43,15 +42,16 @@ public class PayController { private final IPaymentOrdersService paymentOrdersService; + private final PayConfig payConfig; + /** * 获取支付二维码 * * @Date 2023/7/3 - * @param response * @return void **/ @PostMapping("/payUrl") - public R payUrl(HttpServletResponse response, @RequestBody OrderRequest orderRequest) { + public R payUrl(@RequestBody OrderRequest orderRequest) { LoginUser loginUser = LoginHelper.getLoginUser(); // 创建订单 PaymentOrdersBo paymentOrders = new PaymentOrdersBo(); @@ -115,9 +115,9 @@ public class PayController { public String returnUrl(PayResponse payResponse) { // 校验签名 String mdString = "money=" + payResponse.getMoney() + "&name=" + payResponse.getName() + - "&out_trade_no=" + payResponse.getOut_trade_no() + "&pid=" + PayConfig.pid + + "&out_trade_no=" + payResponse.getOut_trade_no() + "&pid=" + payConfig.getPid() + "&trade_no=" + payResponse.getTrade_no() + "&trade_status=" + payResponse.getTrade_status() + - "&type=" + payResponse.getType() + PayConfig.key; + "&type=" + payResponse.getType() + payConfig.getKey(); String sign = MD5Util.GetMD5Code(mdString); if(!sign.equals(payResponse.getSign())){ throw new BaseException("校验签名失败!"); @@ -136,10 +136,8 @@ public class PayController { paymentOrdersVo.setPaymentMethod(payResponse.getType()); BeanUtil.copyProperties(paymentOrdersVo,paymentOrdersBo); paymentOrdersService.updateByBo(paymentOrdersBo); + SysUserVo sysUserVo = userService.selectUserById(paymentOrdersVo.getUserId()); - if(money>9.9){ - money = money*2; - } sysUserVo.setUserBalance(sysUserVo.getUserBalance()+money); SysUserBo sysUserBo = new SysUserBo(); BeanUtil.copyProperties(sysUserVo,sysUserBo); diff --git a/ruoyi-admin/src/main/resources/application-dev.yml b/ruoyi-admin/src/main/resources/application-dev.yml index dff7562e..0b7d2735 100644 --- a/ruoyi-admin/src/main/resources/application-dev.yml +++ b/ruoyi-admin/src/main/resources/application-dev.yml @@ -1,7 +1,7 @@ --- # 监控中心配置 spring.boot.admin.client: # 增加客户端开关 - enabled: true + enabled: false url: http://localhost:9090/admin instance: service-host-type: IP @@ -51,36 +51,36 @@ spring: # rewriteBatchedStatements=true 批处理优化 大幅提升批量插入更新删除性能(对数据库有性能损耗 使用批量操作应考虑性能问题) url: jdbc:mysql://127.0.0.1:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true username: ry-vue - password: xxx + password: ry-vue # 从库数据源 -# slave: -# lazy: true -# type: ${spring.datasource.type} -# driverClassName: com.mysql.cj.jdbc.Driver -# url: jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true -# username: -# password: -# oracle: -# type: ${spring.datasource.type} -# driverClassName: oracle.jdbc.OracleDriver -# url: jdbc:oracle:thin:@//localhost:1521/XE -# username: ROOT -# password: root -# hikari: -# connectionTestQuery: SELECT 1 FROM DUAL -# postgres: -# type: ${spring.datasource.type} -# driverClassName: org.postgresql.Driver -# url: jdbc:postgresql://localhost:5432/postgres?useUnicode=true&characterEncoding=utf8&useSSL=true&autoReconnect=true&reWriteBatchedInserts=true -# username: root -# password: root -# sqlserver: -# type: ${spring.datasource.type} -# driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver -# url: jdbc:sqlserver://localhost:1433;DatabaseName=tempdb;SelectMethod=cursor;encrypt=false;rewriteBatchedStatements=true -# username: SA -# password: root + # slave: + # lazy: true + # type: ${spring.datasource.type} + # driverClassName: com.mysql.cj.jdbc.Driver + # url: jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true + # username: + # password: + # oracle: + # type: ${spring.datasource.type} + # driverClassName: oracle.jdbc.OracleDriver + # url: jdbc:oracle:thin:@//localhost:1521/XE + # username: ROOT + # password: root + # hikari: + # connectionTestQuery: SELECT 1 FROM DUAL + # postgres: + # type: ${spring.datasource.type} + # driverClassName: org.postgresql.Driver + # url: jdbc:postgresql://localhost:5432/postgres?useUnicode=true&characterEncoding=utf8&useSSL=true&autoReconnect=true&reWriteBatchedInserts=true + # username: root + # password: root + # sqlserver: + # type: ${spring.datasource.type} + # driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver + # url: jdbc:sqlserver://localhost:1433;DatabaseName=tempdb;SelectMethod=cursor;encrypt=false;rewriteBatchedStatements=true + # username: SA + # password: root hikari: # 最大连接池数量 maxPoolSize: 20 diff --git a/ruoyi-admin/src/main/resources/application-prod.yml b/ruoyi-admin/src/main/resources/application-prod.yml index fdf6c238..cd52c0f7 100644 --- a/ruoyi-admin/src/main/resources/application-prod.yml +++ b/ruoyi-admin/src/main/resources/application-prod.yml @@ -4,7 +4,7 @@ spring.servlet.multipart.location: /ruoyi/server/temp --- # 监控中心配置 spring.boot.admin.client: # 增加客户端开关 - enabled: true + enabled: false url: http://localhost:9090/admin instance: service-host-type: IP diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml index 949ee58f..12d9becd 100644 --- a/ruoyi-admin/src/main/resources/application.yml +++ b/ruoyi-admin/src/main/resources/application.yml @@ -212,27 +212,6 @@ mybatis-encryptor: # 公私钥 非对称算法的公私钥 如:SM2,RSA publicKey: privateKey: ---- # mail 邮件发送 -mail: - enabled: true - host: smtp.163.com - port: 465 - # 是否需要用户名密码验证 - auth: true - # 发送方,遵循RFC-822标准 - from: ageerle@163.com - # 用户名(注意:如果使用foxmail邮箱,此处user为qq号) - user: ageerle@163.com - # 密码(填写授权码) - pass: xxxx - # 使用 STARTTLS安全连接,STARTTLS是对纯文本通信协议的扩展。 - starttlsEnable: true - # 使用SSL安全连接 - sslEnable: true - # SMTP超时时长,单位毫秒,缺省值不超时 - timeout: 0 - # Socket连接超时值,单位毫秒,缺省值不超时 - connectionTimeout: 0 # Swagger配置 swagger: @@ -313,15 +292,12 @@ management: --- # websocket websocket: - enabled: true + enabled: false # 路径 path: '' # 设置访问源地址 allowedOrigins: '*' -# chatgpt配置信息 -chat: - apiKey: 'sk-xxx' - apiHost: 'https://api.pandarobot.chat/' + # 微信小程序配置信息 wx: miniapp: @@ -338,6 +314,8 @@ baidu: textReview: apiKey: '' # apiKey secretKey: '' # secretKey + appKey: xxxxxxxxxxxxxxxxx + secretKey: xxxxxxxxxxxxxxxxxxxxxxx wechat: # 是否使用微信 true/false @@ -353,23 +331,62 @@ keyword: image: "ai画图" # ai语音指令(TTS模型 https://platform.openai.com/docs/api-reference/audio) audio: "ai语音" + mj: - api-secret: + api-secret: 'sk-xx' task-store: type: in_memory timeout: 30d translate-way: gpt -# proxy: -# host: 127.0.0.1 -# port: 10809 + # proxy: + # host: 127.0.0.1 + # port: 10809 ng-discord: - server: https://discord.pandarobot.chat/ - cdn: https://app.pandarobot.chat/ - wss: https://gateway.pandarobot.chat/ + server: 'https://xxx.pandarobot.chat/' + cdn: 'https://xxx.pandarobot.chat/' + wss: 'https://xxx.pandarobot.chat/' openai: - gpt-api-url: 'https://api.gptgod.online/' - gpt-api-key: 'xxxxxxx' + gpt-api-url: 'https://api.pandarobot.chat/' + gpt-api-key: 'sk-xx' accounts: - - guild-id: 'xxxxxx' - channel-id: 'xxxxx' - user-token: 'xxxxxxx' + - guild-id: 'xx' + channel-id: 'xx' + user-token: 'xx' + +--- # mail 邮件发送 +mail: + enabled: true + host: smtp.163.com + port: 465 + # 是否需要用户名密码验证 + auth: true + # 发送方,遵循RFC-822标准 + from: ageerle@163.com + # 用户名(注意:如果使用foxmail邮箱,此处user为qq号) + user: ageerle@163.com + # 密码(填写授权码) + pass: TOGXBVPYFVPFRQMQ + # 使用 STARTTLS安全连接,STARTTLS是对纯文本通信协议的扩展。 + starttlsEnable: true + # 使用SSL安全连接 + sslEnable: true + # SMTP超时时长,单位毫秒,缺省值不超时 + timeout: 0 + # Socket连接超时值,单位毫秒,缺省值不超时 + connectionTimeout: 0 + +# chatgpt配置信息 +chat: + apiKey: 'sk-xxx' + apiHost: 'https://api.pandarobot.chat/' + +# 支付配置信息 +pay: + pid: 'xxx' + key: 'xxx' + payUrl: 'https://pay.pandarobot.chat/mapi.php' + notify_url: 'https://www.pandarobot.chat/pay/returnUrl' + return_url: 'https://www.pandarobot.chat/pay/notifyUrl' + type: 'wxpay' + device: 'pc' + sign_type: 'MD5' diff --git a/ruoyi-admin/src/test/java/com/xmzs/test/AssertUnitTest.java b/ruoyi-admin/src/test/java/com/xmzs/test/AssertUnitTest.java new file mode 100644 index 00000000..6d1f14ab --- /dev/null +++ b/ruoyi-admin/src/test/java/com/xmzs/test/AssertUnitTest.java @@ -0,0 +1,45 @@ +package com.xmzs.test; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +/** + * 断言单元测试案例 + * + * @author Lion Li + */ +@DisplayName("断言单元测试案例") +public class AssertUnitTest { + + @DisplayName("测试 assertEquals 方法") + @Test + public void testAssertEquals() { + Assertions.assertEquals("666", new String("666")); + Assertions.assertNotEquals("666", new String("666")); + } + + @DisplayName("测试 assertSame 方法") + @Test + public void testAssertSame() { + Object obj = new Object(); + Object obj1 = obj; + Assertions.assertSame(obj, obj1); + Assertions.assertNotSame(obj, obj1); + } + + @DisplayName("测试 assertTrue 方法") + @Test + public void testAssertTrue() { + Assertions.assertTrue(true); + Assertions.assertFalse(true); + } + + @DisplayName("测试 assertNull 方法") + @Test + public void testAssertNull() { + Assertions.assertNull(null); + Assertions.assertNotNull(null); + } + +} diff --git a/ruoyi-admin/src/test/java/com/xmzs/test/DemoUnitTest.java b/ruoyi-admin/src/test/java/com/xmzs/test/DemoUnitTest.java new file mode 100644 index 00000000..6981eb8a --- /dev/null +++ b/ruoyi-admin/src/test/java/com/xmzs/test/DemoUnitTest.java @@ -0,0 +1,70 @@ +package com.xmzs.test; + +import com.xmzs.common.core.config.RuoYiConfig; +import org.junit.jupiter.api.*; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; + +import java.util.concurrent.TimeUnit; + +/** + * 单元测试案例 + * + * @author Lion Li + */ +@SpringBootTest // 此注解只能在 springboot 主包下使用 需包含 main 方法与 yml 配置文件 +@DisplayName("单元测试案例") +public class DemoUnitTest { + + @Autowired + private RuoYiConfig ruoYiConfig; + + @DisplayName("测试 @SpringBootTest @Test @DisplayName 注解") + @Test + public void testTest() { + System.out.println(ruoYiConfig); + } + + @Disabled + @DisplayName("测试 @Disabled 注解") + @Test + public void testDisabled() { + System.out.println(ruoYiConfig); + } + + @Timeout(value = 2L, unit = TimeUnit.SECONDS) + @DisplayName("测试 @Timeout 注解") + @Test + public void testTimeout() throws InterruptedException { + Thread.sleep(3000); + System.out.println(ruoYiConfig); + } + + + @DisplayName("测试 @RepeatedTest 注解") + @RepeatedTest(3) + public void testRepeatedTest() { + System.out.println(666); + } + + @BeforeAll + public static void testBeforeAll() { + System.out.println("@BeforeAll =================="); + } + + @BeforeEach + public void testBeforeEach() { + System.out.println("@BeforeEach =================="); + } + + @AfterEach + public void testAfterEach() { + System.out.println("@AfterEach =================="); + } + + @AfterAll + public static void testAfterAll() { + System.out.println("@AfterAll =================="); + } + +} diff --git a/ruoyi-admin/src/test/java/com/xmzs/test/ParamUnitTest.java b/ruoyi-admin/src/test/java/com/xmzs/test/ParamUnitTest.java new file mode 100644 index 00000000..82b9f55c --- /dev/null +++ b/ruoyi-admin/src/test/java/com/xmzs/test/ParamUnitTest.java @@ -0,0 +1,72 @@ +package com.xmzs.test; + +import com.xmzs.common.core.enums.UserType; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.EnumSource; +import org.junit.jupiter.params.provider.MethodSource; +import org.junit.jupiter.params.provider.NullSource; +import org.junit.jupiter.params.provider.ValueSource; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Stream; + +/** + * 带参数单元测试案例 + * + * @author Lion Li + */ +@DisplayName("带参数单元测试案例") +public class ParamUnitTest { + + @DisplayName("测试 @ValueSource 注解") + @ParameterizedTest + @ValueSource(strings = {"t1", "t2", "t3"}) + public void testValueSource(String str) { + System.out.println(str); + } + + @DisplayName("测试 @NullSource 注解") + @ParameterizedTest + @NullSource + public void testNullSource(String str) { + System.out.println(str); + } + + @DisplayName("测试 @EnumSource 注解") + @ParameterizedTest + @EnumSource(UserType.class) + public void testEnumSource(UserType type) { + System.out.println(type.getUserType()); + } + + @DisplayName("测试 @MethodSource 注解") + @ParameterizedTest + @MethodSource("getParam") + public void testMethodSource(String str) { + System.out.println(str); + } + + public static Stream getParam() { + List list = new ArrayList<>(); + list.add("t1"); + list.add("t2"); + list.add("t3"); + return list.stream(); + } + + @BeforeEach + public void testBeforeEach() { + System.out.println("@BeforeEach =================="); + } + + @AfterEach + public void testAfterEach() { + System.out.println("@AfterEach =================="); + } + + +} diff --git a/ruoyi-admin/src/test/java/com/xmzs/test/TagUnitTest.java b/ruoyi-admin/src/test/java/com/xmzs/test/TagUnitTest.java new file mode 100644 index 00000000..e4513873 --- /dev/null +++ b/ruoyi-admin/src/test/java/com/xmzs/test/TagUnitTest.java @@ -0,0 +1,54 @@ +package com.xmzs.test; + +import org.junit.jupiter.api.*; +import org.springframework.boot.test.context.SpringBootTest; + +/** + * 标签单元测试案例 + * + * @author Lion Li + */ +@SpringBootTest +@DisplayName("标签单元测试案例") +public class TagUnitTest { + + @Tag("dev") + @DisplayName("测试 @Tag dev") + @Test + public void testTagDev() { + System.out.println("dev"); + } + + @Tag("prod") + @DisplayName("测试 @Tag prod") + @Test + public void testTagProd() { + System.out.println("prod"); + } + + @Tag("local") + @DisplayName("测试 @Tag local") + @Test + public void testTagLocal() { + System.out.println("local"); + } + + @Tag("exclude") + @DisplayName("测试 @Tag exclude") + @Test + public void testTagExclude() { + System.out.println("exclude"); + } + + @BeforeEach + public void testBeforeEach() { + System.out.println("@BeforeEach =================="); + } + + @AfterEach + public void testAfterEach() { + System.out.println("@AfterEach =================="); + } + + +} diff --git a/ruoyi-common/ruoyi-common-bom/pom.xml b/ruoyi-common/ruoyi-common-bom/pom.xml index ac928505..3f069fb4 100644 --- a/ruoyi-common/ruoyi-common-bom/pom.xml +++ b/ruoyi-common/ruoyi-common-bom/pom.xml @@ -173,13 +173,15 @@ ${revision} - + com.xmzs ruoyi-midjourney ${revision} + + com.xmzs diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/com/xmzs/common/chat/constant/OpenAIConst.java b/ruoyi-common/ruoyi-common-chat/src/main/java/com/xmzs/common/chat/constant/OpenAIConst.java index 8393623e..34d9fc83 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/com/xmzs/common/chat/constant/OpenAIConst.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/com/xmzs/common/chat/constant/OpenAIConst.java @@ -12,22 +12,27 @@ public class OpenAIConst { public final static int SUCCEED_CODE = 200; + /** GPT3扣除费用 */ public final static double GPT3_COST = 0.05; - public final static double GPT4_COST = 0.3; + /** GPT4扣除费用 */ + public final static double GPT4_COST = 0.2; - public final static double GPT4_ALL_COST = 0.3; + /** DALL普通绘图扣除费用 */ + public final static double DALL3_COST = 0.3; - /** 绘图费用 */ - public final static double DALL3_COST = 0.4; + /** DALL高清绘图扣除费用 */ + public final static double DALL3_HD_COST = 0.5; - /** 绘图费用-高清 */ - public final static double DALL3_HD_COST = 0.8; + /** MJ操作类型1(变化、变焦、文生图、图生图、局部重绘、混图)扣除费用 */ + public final static double MJ_COST_TYPE1 = 0.3; - /** mdjourney绘图费用 */ - public final static double MJ_COST = 0.3; + /** MJ操作类型2(换脸、放大、图生文、prompt分析)扣除费用 */ + public final static double MJ_COST_TYPE2 = 0.1; + + /** MJ操作类型3(查询任务进度、获取seed)扣除费用 */ + public final static double MJ_COST_TYPE3 = 0.0; /** 默认账户余额 */ public final static double USER_BALANCE = 5; - } diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/com/xmzs/common/chat/domain/request/ChatRequest.java b/ruoyi-common/ruoyi-common-chat/src/main/java/com/xmzs/common/chat/domain/request/ChatRequest.java index 802118c2..a7584a5e 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/com/xmzs/common/chat/domain/request/ChatRequest.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/com/xmzs/common/chat/domain/request/ChatRequest.java @@ -22,16 +22,16 @@ public class ChatRequest { @NotEmpty(message = "对话消息不能为空") List messages; - List content; + List imageContent; private String prompt; private String userId; /** - * 需要识别的图片地址 + * 知识库id */ - private String imgurl; + private String kid; /** * gpt的默认设置 diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/com/xmzs/common/chat/domain/request/RoleRequest.java b/ruoyi-common/ruoyi-common-chat/src/main/java/com/xmzs/common/chat/domain/request/RoleRequest.java new file mode 100644 index 00000000..61844713 --- /dev/null +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/com/xmzs/common/chat/domain/request/RoleRequest.java @@ -0,0 +1,34 @@ +package com.xmzs.common.chat.domain.request; + +import lombok.Data; + +/** + * @author WangLe + */ +@Data +public class RoleRequest { + + /** + * 角色名称 + */ + private String name; + + /** + * 角色描述 + */ + private String description; + + /** + * 音频地址 + */ + private String prompt; + + /** + * 头像 + */ + private String avatar; + + + private String preProcess; + +} diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/com/xmzs/common/chat/domain/request/SimpleGenerateRequest.java b/ruoyi-common/ruoyi-common-chat/src/main/java/com/xmzs/common/chat/domain/request/SimpleGenerateRequest.java new file mode 100644 index 00000000..d4beb1e0 --- /dev/null +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/com/xmzs/common/chat/domain/request/SimpleGenerateRequest.java @@ -0,0 +1,35 @@ +package com.xmzs.common.chat.domain.request; + +import lombok.Data; + +/** + * @author WangLe + */ +@Data +public class SimpleGenerateRequest { + + /** + * 要使用的模型ID (目前统一为reecho-neural-voice-001) + */ + private String model = "reecho-neural-voice-001"; + + /** + * 多样性 (0-100,默认为97) + */ + private Integer randomness; + + /** + * 稳定性过滤 (0-100,默认为0) + */ + private Integer stability_boost; + + /** + * 角色ID + */ + private String voiceId; + + /** + * 要生成的文本内容 + */ + private String text; +} diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/com/xmzs/common/chat/domain/response/MetadataResponse.java b/ruoyi-common/ruoyi-common-chat/src/main/java/com/xmzs/common/chat/domain/response/MetadataResponse.java new file mode 100644 index 00000000..2773a334 --- /dev/null +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/com/xmzs/common/chat/domain/response/MetadataResponse.java @@ -0,0 +1,14 @@ +package com.xmzs.common.chat.domain.response; + +import lombok.Data; + +/** + * @author WangLe + */ +@Data +public class MetadataResponse { + private String promptMP3StorageUrl; + private String promptOriginAudioStorageUrl; + private String description; + private boolean preProcess; +} diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/com/xmzs/common/chat/domain/response/RoleDataResponse.java b/ruoyi-common/ruoyi-common-chat/src/main/java/com/xmzs/common/chat/domain/response/RoleDataResponse.java new file mode 100644 index 00000000..9470f1a6 --- /dev/null +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/com/xmzs/common/chat/domain/response/RoleDataResponse.java @@ -0,0 +1,20 @@ +package com.xmzs.common.chat.domain.response; + +import lombok.Data; + +/** + * @author WangLe + */ +@Data +public class RoleDataResponse { + private String id; + private String name; + private String status; + private String from; + private String originId; + private MetadataResponse metadata; + private String createdAt; + private String updatedAt; + private String deletedAt; + private String userId; +} diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/com/xmzs/common/chat/domain/response/RoleResponse.java b/ruoyi-common/ruoyi-common-chat/src/main/java/com/xmzs/common/chat/domain/response/RoleResponse.java new file mode 100644 index 00000000..58cc4c14 --- /dev/null +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/com/xmzs/common/chat/domain/response/RoleResponse.java @@ -0,0 +1,13 @@ +package com.xmzs.common.chat.domain.response; + +import lombok.Data; + +/** + * @author WangLe + */ +@Data +public class RoleResponse { + private String status; + private String message; + private RoleDataResponse data; +} diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/com/xmzs/common/chat/domain/response/SimpleGenerateDataResponse.java b/ruoyi-common/ruoyi-common-chat/src/main/java/com/xmzs/common/chat/domain/response/SimpleGenerateDataResponse.java new file mode 100644 index 00000000..b8a37a96 --- /dev/null +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/com/xmzs/common/chat/domain/response/SimpleGenerateDataResponse.java @@ -0,0 +1,25 @@ +package com.xmzs.common.chat.domain.response; + +import lombok.Data; + +/** + * @author WangLe + */ +@Data +public class SimpleGenerateDataResponse { + + /** + * 本次生成的ID + */ + private String id; + + /** + * 本次生成结果的音频文件地址 + */ + private String audio; + + /** + * 本次生成所消耗的点数 + */ + private Integer credit_used; +} diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/com/xmzs/common/chat/domain/response/SimpleGenerateResponse.java b/ruoyi-common/ruoyi-common-chat/src/main/java/com/xmzs/common/chat/domain/response/SimpleGenerateResponse.java new file mode 100644 index 00000000..0b0266c5 --- /dev/null +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/com/xmzs/common/chat/domain/response/SimpleGenerateResponse.java @@ -0,0 +1,25 @@ +package com.xmzs.common.chat.domain.response; + +import lombok.Data; + +/** + * @author WangLe + */ +@Data +public class SimpleGenerateResponse { + + /** + * 状态码,失败时则为500 + */ + private String status; + + /** + * 状态消息 + */ + private String message; + + /** + * 生成详情 + */ + private SimpleGenerateDataResponse data; +} diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/com/xmzs/common/chat/entity/chat/BaseChatCompletion.java b/ruoyi-common/ruoyi-common-chat/src/main/java/com/xmzs/common/chat/entity/chat/BaseChatCompletion.java index c14571e6..9e6f5b8f 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/com/xmzs/common/chat/entity/chat/BaseChatCompletion.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/com/xmzs/common/chat/entity/chat/BaseChatCompletion.java @@ -2,7 +2,6 @@ package com.xmzs.common.chat.entity.chat; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; - import com.xmzs.common.chat.constant.OpenAIConst; import com.xmzs.common.chat.entity.chat.tool.Tools; import lombok.*; @@ -217,6 +216,23 @@ public class BaseChatCompletion implements Serializable { * gpt-4-0613,支持函数 */ GPT_4_0125_PREVIEW("gpt-4-0125-preview"), + + /** + * GPT_4_ALL + */ + GPT_4_ALL("gpt-4-all"), + + GPT_4_GIZMO("gpt-4-gizmo"), + + NET("net"), + + CLAUDE_3_SONNET("claude-3-sonnet-20240229"), + + GEMINI_PRO("gemini-pro"), + + STABLE_DIFFUSION("stable-diffusion"), + + SUNO_V3("suno-v3"), ; private final String name; } @@ -238,9 +254,10 @@ public class BaseChatCompletion implements Serializable { } public static double getModelCost(String modelName) { - return switch (modelName) { - case "gpt-3.5-turbo-0613" -> OpenAIConst.GPT3_COST; - default -> OpenAIConst.GPT4_COST; - }; + if(modelName.startsWith("gpt-3.5")){ + return OpenAIConst.GPT3_COST; + }else { + return OpenAIConst.GPT4_COST; + } } } diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/com/xmzs/common/chat/entity/files/File.java b/ruoyi-common/ruoyi-common-chat/src/main/java/com/xmzs/common/chat/entity/files/File.java index 581cd297..1dc00522 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/com/xmzs/common/chat/entity/files/File.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/com/xmzs/common/chat/entity/files/File.java @@ -16,13 +16,20 @@ import java.io.Serializable; @JsonIgnoreProperties(ignoreUnknown = true) public class File implements Serializable { - private String id; - private String object; +// private String id; +// private String object; +// private long bytes; +// private long created_at; +// private String filename; +// private String purpose; +// private String status; +// @JsonProperty("status_details") +// private String statusDetails; + private long bytes; private long created_at; private String filename; - private String purpose; - private String status; - @JsonProperty("status_details") - private String statusDetails; + private String id; + private String object; + private String url; } diff --git a/ruoyi-common/ruoyi-common-chat/src/main/java/com/xmzs/common/chat/openai/OpenAiStreamClient.java b/ruoyi-common/ruoyi-common-chat/src/main/java/com/xmzs/common/chat/openai/OpenAiStreamClient.java index a979a0f5..5c56ecff 100644 --- a/ruoyi-common/ruoyi-common-chat/src/main/java/com/xmzs/common/chat/openai/OpenAiStreamClient.java +++ b/ruoyi-common/ruoyi-common-chat/src/main/java/com/xmzs/common/chat/openai/OpenAiStreamClient.java @@ -12,6 +12,7 @@ import com.xmzs.common.chat.entity.billing.Subscription; import com.xmzs.common.chat.entity.chat.BaseChatCompletion; import com.xmzs.common.chat.entity.chat.ChatCompletionResponse; import com.xmzs.common.chat.entity.chat.ChatCompletionWithPicture; +import com.xmzs.common.chat.entity.files.UploadFileResponse; import com.xmzs.common.chat.entity.images.Image; import com.xmzs.common.chat.entity.images.ImageResponse; import com.xmzs.common.chat.entity.models.Model; @@ -231,6 +232,23 @@ public class OpenAiStreamClient { return chatCompletionResponse.blockingGet(); } + /** + * 上传文件 + * + * @param purpose purpose + * @param file 文件对象 + * @return UploadFileResponse + */ + public UploadFileResponse uploadFile(String purpose, java.io.File file) { + // 创建 RequestBody,用于封装构建RequestBody + RequestBody fileBody = RequestBody.create(MediaType.parse("multipart/form-data"), file); + MultipartBody.Part multipartBody = MultipartBody.Part.createFormData("file", file.getName(), fileBody); + + RequestBody purposeBody = RequestBody.create(MediaType.parse("multipart/form-data"), purpose); + Single uploadFileResponse = this.openAiApi.uploadFile(multipartBody, purposeBody); + return uploadFileResponse.blockingGet(); + } + /** * 获取openKey账户信息(近90天) * diff --git a/ruoyi-common/ruoyi-common-pay/src/main/java/com/xmzs/common/config/PayConfig.java b/ruoyi-common/ruoyi-common-pay/src/main/java/com/xmzs/common/config/PayConfig.java index 6c2ff906..97436ac6 100644 --- a/ruoyi-common/ruoyi-common-pay/src/main/java/com/xmzs/common/config/PayConfig.java +++ b/ruoyi-common/ruoyi-common-pay/src/main/java/com/xmzs/common/config/PayConfig.java @@ -1,50 +1,57 @@ package com.xmzs.common.config; +import lombok.Data; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.stereotype.Component; + /** * 支付配置信息 * * @author Admin */ +@Data +@Component +@ConfigurationProperties(prefix = "pay") public class PayConfig { /** * 商户ID */ - public static String pid = "xxx"; + private String pid; /** * 接口地址 */ - public static String payUrl = "https://pay-cloud.vip/mapi.php"; + private String payUrl; /** * 私钥 */ - public static String key = "xxx"; + private String key ; /** * 服务器异步通知地址 */ - public static String notify_url = "https://www.pandarobot.chat/pay/returnUrl"; + private String notify_url; /** * 页面跳转通知地址 */ - public static String return_url = "https://www.pandarobot.chat/pay/notifyUrl"; + private String return_url; /** * 支付方式 */ - public static String type = "wxpay"; + private String type; /** * 设备类型 */ - public static String device = "pc"; + private String device; /** * 加密方式默认MD5 */ - public static String sign_type = "MD5"; + private String sign_type; } diff --git a/ruoyi-common/ruoyi-common-pay/src/main/java/com/xmzs/common/service/impl/PayServiceImpl.java b/ruoyi-common/ruoyi-common-pay/src/main/java/com/xmzs/common/service/impl/PayServiceImpl.java index 25edd3a6..eb2a90d6 100644 --- a/ruoyi-common/ruoyi-common-pay/src/main/java/com/xmzs/common/service/impl/PayServiceImpl.java +++ b/ruoyi-common/ruoyi-common-pay/src/main/java/com/xmzs/common/service/impl/PayServiceImpl.java @@ -2,9 +2,11 @@ package com.xmzs.common.service.impl; import cn.hutool.http.HttpUtil; import cn.hutool.json.JSONObject; + import com.xmzs.common.config.PayConfig; import com.xmzs.common.service.PayService; import com.xmzs.common.utils.MD5Util; +import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import java.util.HashMap; @@ -15,28 +17,31 @@ import java.util.Map; * @author Admin */ @Service +@RequiredArgsConstructor public class PayServiceImpl implements PayService { + + private final PayConfig payConfig; @Override public String getPayUrl(String orderNo, String name, double money, String clientIp) { String out_trade_no = orderNo, sign = ""; //封装请求参数 - String mdString = "clientip=" + clientIp + "&device=" + PayConfig.device + "&money=" + money + "&name=" + name + "&" + - "notify_url=" + PayConfig.notify_url + "&out_trade_no=" + out_trade_no + "&pid=" + PayConfig.pid + "&return_url=" + PayConfig.return_url + - "&type=" + PayConfig.type + PayConfig.key; + String mdString = "clientip=" + clientIp + "&device=" + payConfig.getDevice() + "&money=" + money + "&name=" + name + "&" + + "notify_url=" + payConfig.getNotify_url() + "&out_trade_no=" + out_trade_no + "&pid=" + payConfig.getPid() + "&return_url=" + payConfig.getReturn_url() + + "&type=" + payConfig.getType() + payConfig.getKey(); sign = MD5Util.GetMD5Code(mdString); Map map = new HashMap<>(10); map.put("clientip", clientIp); - map.put("device", PayConfig.device); + map.put("device", payConfig.getDevice()); map.put("money", money); map.put("name", name); - map.put("notify_url", PayConfig.notify_url); + map.put("notify_url", payConfig.getNotify_url()); map.put("out_trade_no", out_trade_no); - map.put("pid", PayConfig.pid); - map.put("return_url", PayConfig.return_url); - map.put("sign_type", PayConfig.sign_type); - map.put("type", PayConfig.type); + map.put("pid", payConfig.getPid()); + map.put("return_url", payConfig.getReturn_url()); + map.put("sign_type", payConfig.getSign_type()); + map.put("type", payConfig.getType()); map.put("sign", sign); - String body = HttpUtil.post(PayConfig.payUrl, map); + String body = HttpUtil.post(payConfig.getPayUrl(), map); JSONObject jsonObject = new JSONObject(body); return (String) jsonObject.get("qrcode"); } diff --git a/ruoyi-modules/pom.xml b/ruoyi-modules/pom.xml index 5f37684f..a6d07b22 100644 --- a/ruoyi-modules/pom.xml +++ b/ruoyi-modules/pom.xml @@ -22,7 +22,6 @@ ruoyi-job ruoyi-midjourney ruoyi-system - ruoyi-live diff --git a/ruoyi-modules/ruoyi-demo/src/main/java/com/xmzs/demo/controller/TestDemoController.java b/ruoyi-modules/ruoyi-demo/src/main/java/com/xmzs/demo/controller/TestDemoController.java index 50532dbd..788afe05 100644 --- a/ruoyi-modules/ruoyi-demo/src/main/java/com/xmzs/demo/controller/TestDemoController.java +++ b/ruoyi-modules/ruoyi-demo/src/main/java/com/xmzs/demo/controller/TestDemoController.java @@ -7,30 +7,30 @@ import com.xmzs.common.core.utils.ValidatorUtils; import com.xmzs.common.core.validate.AddGroup; import com.xmzs.common.core.validate.EditGroup; import com.xmzs.common.core.validate.QueryGroup; -import com.xmzs.common.web.core.BaseController; -import com.xmzs.common.idempotent.annotation.RepeatSubmit; -import com.xmzs.common.mybatis.core.page.PageQuery; -import com.xmzs.common.mybatis.core.page.TableDataInfo; import com.xmzs.common.excel.core.ExcelResult; import com.xmzs.common.excel.utils.ExcelUtil; +import com.xmzs.common.idempotent.annotation.RepeatSubmit; import com.xmzs.common.log.annotation.Log; import com.xmzs.common.log.enums.BusinessType; +import com.xmzs.common.mybatis.core.page.PageQuery; +import com.xmzs.common.mybatis.core.page.TableDataInfo; +import com.xmzs.common.web.core.BaseController; import com.xmzs.demo.domain.TestDemo; import com.xmzs.demo.domain.bo.TestDemoBo; import com.xmzs.demo.domain.bo.TestDemoImportVo; import com.xmzs.demo.domain.vo.TestDemoVo; import com.xmzs.demo.service.ITestDemoService; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; import lombok.RequiredArgsConstructor; import org.springframework.http.MediaType; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; -import jakarta.servlet.http.HttpServletResponse; -import jakarta.validation.constraints.NotEmpty; -import jakarta.validation.constraints.NotNull; - -import java.util.*; +import java.util.Arrays; +import java.util.List; import java.util.concurrent.TimeUnit; /** diff --git a/ruoyi-modules/ruoyi-demo/src/main/java/com/xmzs/demo/controller/TestExcelController.java b/ruoyi-modules/ruoyi-demo/src/main/java/com/xmzs/demo/controller/TestExcelController.java index fa18cf0b..8209f300 100644 --- a/ruoyi-modules/ruoyi-demo/src/main/java/com/xmzs/demo/controller/TestExcelController.java +++ b/ruoyi-modules/ruoyi-demo/src/main/java/com/xmzs/demo/controller/TestExcelController.java @@ -2,13 +2,13 @@ package com.xmzs.demo.controller; import cn.hutool.core.collection.CollUtil; import com.xmzs.common.excel.utils.ExcelUtil; +import jakarta.servlet.http.HttpServletResponse; import lombok.AllArgsConstructor; import lombok.Data; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import jakarta.servlet.http.HttpServletResponse; import java.util.ArrayList; import java.util.HashMap; import java.util.List; diff --git a/ruoyi-modules/ruoyi-demo/src/main/java/com/xmzs/demo/controller/TestI18nController.java b/ruoyi-modules/ruoyi-demo/src/main/java/com/xmzs/demo/controller/TestI18nController.java index 3df8c1f5..6cd52aa4 100644 --- a/ruoyi-modules/ruoyi-demo/src/main/java/com/xmzs/demo/controller/TestI18nController.java +++ b/ruoyi-modules/ruoyi-demo/src/main/java/com/xmzs/demo/controller/TestI18nController.java @@ -2,6 +2,8 @@ package com.xmzs.demo.controller; import com.xmzs.common.core.domain.R; import com.xmzs.common.core.utils.MessageUtils; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; import lombok.Data; import org.hibernate.validator.constraints.Range; import org.springframework.validation.annotation.Validated; @@ -9,9 +11,6 @@ import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; - /** * 测试国际化 diff --git a/ruoyi-modules/ruoyi-demo/src/main/java/com/xmzs/demo/controller/TestSensitiveController.java b/ruoyi-modules/ruoyi-demo/src/main/java/com/xmzs/demo/controller/TestSensitiveController.java index 5385030c..2c5f1a71 100644 --- a/ruoyi-modules/ruoyi-demo/src/main/java/com/xmzs/demo/controller/TestSensitiveController.java +++ b/ruoyi-modules/ruoyi-demo/src/main/java/com/xmzs/demo/controller/TestSensitiveController.java @@ -1,11 +1,11 @@ package com.xmzs.demo.controller; import com.xmzs.common.core.domain.R; -import com.xmzs.common.web.core.BaseController; import com.xmzs.common.sensitive.annotation.Sensitive; -import com.xmzs.common.sensitive.core.SensitiveStrategy; -import lombok.Data; import com.xmzs.common.sensitive.core.SensitiveService; +import com.xmzs.common.sensitive.core.SensitiveStrategy; +import com.xmzs.common.web.core.BaseController; +import lombok.Data; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; diff --git a/ruoyi-modules/ruoyi-demo/src/main/java/com/xmzs/demo/controller/TestTreeController.java b/ruoyi-modules/ruoyi-demo/src/main/java/com/xmzs/demo/controller/TestTreeController.java index 8eaa420e..2d1873b5 100644 --- a/ruoyi-modules/ruoyi-demo/src/main/java/com/xmzs/demo/controller/TestTreeController.java +++ b/ruoyi-modules/ruoyi-demo/src/main/java/com/xmzs/demo/controller/TestTreeController.java @@ -5,21 +5,21 @@ import com.xmzs.common.core.domain.R; import com.xmzs.common.core.validate.AddGroup; import com.xmzs.common.core.validate.EditGroup; import com.xmzs.common.core.validate.QueryGroup; -import com.xmzs.common.web.core.BaseController; import com.xmzs.common.excel.utils.ExcelUtil; import com.xmzs.common.idempotent.annotation.RepeatSubmit; import com.xmzs.common.log.annotation.Log; import com.xmzs.common.log.enums.BusinessType; +import com.xmzs.common.web.core.BaseController; import com.xmzs.demo.domain.bo.TestTreeBo; import com.xmzs.demo.domain.vo.TestTreeVo; import com.xmzs.demo.service.ITestTreeService; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; import lombok.RequiredArgsConstructor; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; -import jakarta.servlet.http.HttpServletResponse; -import jakarta.validation.constraints.NotEmpty; -import jakarta.validation.constraints.NotNull; import java.util.Arrays; import java.util.List; diff --git a/ruoyi-modules/ruoyi-demo/src/main/java/com/xmzs/demo/domain/bo/TestDemoBo.java b/ruoyi-modules/ruoyi-demo/src/main/java/com/xmzs/demo/domain/bo/TestDemoBo.java index 89df0b18..716b0336 100644 --- a/ruoyi-modules/ruoyi-demo/src/main/java/com/xmzs/demo/domain/bo/TestDemoBo.java +++ b/ruoyi-modules/ruoyi-demo/src/main/java/com/xmzs/demo/domain/bo/TestDemoBo.java @@ -5,11 +5,10 @@ import com.xmzs.common.core.validate.EditGroup; import com.xmzs.common.mybatis.core.domain.BaseEntity; import com.xmzs.demo.domain.TestDemo; import io.github.linpeilie.annotations.AutoMapper; -import lombok.Data; -import lombok.EqualsAndHashCode; - import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; +import lombok.Data; +import lombok.EqualsAndHashCode; /** * 测试单表业务对象 test_demo diff --git a/ruoyi-modules/ruoyi-demo/src/main/java/com/xmzs/demo/domain/bo/TestDemoImportVo.java b/ruoyi-modules/ruoyi-demo/src/main/java/com/xmzs/demo/domain/bo/TestDemoImportVo.java index 077af6fc..695971a7 100644 --- a/ruoyi-modules/ruoyi-demo/src/main/java/com/xmzs/demo/domain/bo/TestDemoImportVo.java +++ b/ruoyi-modules/ruoyi-demo/src/main/java/com/xmzs/demo/domain/bo/TestDemoImportVo.java @@ -1,10 +1,9 @@ package com.xmzs.demo.domain.bo; import com.alibaba.excel.annotation.ExcelProperty; -import lombok.Data; - import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; +import lombok.Data; /** * 测试单表业务对象 test_demo diff --git a/ruoyi-modules/ruoyi-generator/src/main/java/com/xmzs/generator/controller/GenController.java b/ruoyi-modules/ruoyi-generator/src/main/java/com/xmzs/generator/controller/GenController.java index 0a017f73..74d37f0b 100644 --- a/ruoyi-modules/ruoyi-generator/src/main/java/com/xmzs/generator/controller/GenController.java +++ b/ruoyi-modules/ruoyi-generator/src/main/java/com/xmzs/generator/controller/GenController.java @@ -4,19 +4,19 @@ import cn.dev33.satoken.annotation.SaCheckPermission; import cn.hutool.core.convert.Convert; import cn.hutool.core.io.IoUtil; import com.xmzs.common.core.domain.R; -import com.xmzs.common.web.core.BaseController; -import com.xmzs.common.mybatis.core.page.PageQuery; -import com.xmzs.common.mybatis.core.page.TableDataInfo; import com.xmzs.common.log.annotation.Log; import com.xmzs.common.log.enums.BusinessType; +import com.xmzs.common.mybatis.core.page.PageQuery; +import com.xmzs.common.mybatis.core.page.TableDataInfo; +import com.xmzs.common.web.core.BaseController; import com.xmzs.generator.domain.GenTable; import com.xmzs.generator.domain.GenTableColumn; import com.xmzs.generator.service.IGenTableService; +import jakarta.servlet.http.HttpServletResponse; import lombok.RequiredArgsConstructor; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; -import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.HashMap; import java.util.List; diff --git a/ruoyi-modules/ruoyi-generator/src/main/java/com/xmzs/generator/domain/GenTableColumn.java b/ruoyi-modules/ruoyi-generator/src/main/java/com/xmzs/generator/domain/GenTableColumn.java index d675af7e..f107b0e9 100644 --- a/ruoyi-modules/ruoyi-generator/src/main/java/com/xmzs/generator/domain/GenTableColumn.java +++ b/ruoyi-modules/ruoyi-generator/src/main/java/com/xmzs/generator/domain/GenTableColumn.java @@ -6,12 +6,11 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.xmzs.common.core.utils.StringUtils; import com.xmzs.common.mybatis.core.domain.BaseEntity; +import jakarta.validation.constraints.NotBlank; import lombok.Data; import lombok.EqualsAndHashCode; import org.apache.ibatis.type.JdbcType; -import jakarta.validation.constraints.NotBlank; - /** * 代码生成业务字段表 gen_table_column * diff --git a/ruoyi-modules/ruoyi-generator/src/main/java/com/xmzs/generator/service/GenTableServiceImpl.java b/ruoyi-modules/ruoyi-generator/src/main/java/com/xmzs/generator/service/GenTableServiceImpl.java index 3436b7f1..f2c6c64c 100644 --- a/ruoyi-modules/ruoyi-generator/src/main/java/com/xmzs/generator/service/GenTableServiceImpl.java +++ b/ruoyi-modules/ruoyi-generator/src/main/java/com/xmzs/generator/service/GenTableServiceImpl.java @@ -11,7 +11,6 @@ import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.xmzs.common.core.constant.Constants; -import com.xmzs.generator.constant.GenConstants; import com.xmzs.common.core.exception.ServiceException; import com.xmzs.common.core.utils.StreamUtils; import com.xmzs.common.core.utils.StringUtils; @@ -20,6 +19,7 @@ import com.xmzs.common.json.utils.JsonUtils; import com.xmzs.common.mybatis.core.page.PageQuery; import com.xmzs.common.mybatis.core.page.TableDataInfo; import com.xmzs.common.satoken.utils.LoginHelper; +import com.xmzs.generator.constant.GenConstants; import com.xmzs.generator.domain.GenTable; import com.xmzs.generator.domain.GenTableColumn; import com.xmzs.generator.mapper.GenTableColumnMapper; diff --git a/ruoyi-modules/ruoyi-generator/src/main/java/com/xmzs/generator/util/GenUtils.java b/ruoyi-modules/ruoyi-generator/src/main/java/com/xmzs/generator/util/GenUtils.java index 78d8265c..46da7844 100644 --- a/ruoyi-modules/ruoyi-generator/src/main/java/com/xmzs/generator/util/GenUtils.java +++ b/ruoyi-modules/ruoyi-generator/src/main/java/com/xmzs/generator/util/GenUtils.java @@ -1,9 +1,9 @@ package com.xmzs.generator.util; -import com.xmzs.generator.constant.GenConstants; import com.xmzs.common.core.utils.StringUtils; import com.xmzs.common.satoken.utils.LoginHelper; import com.xmzs.generator.config.GenConfig; +import com.xmzs.generator.constant.GenConstants; import com.xmzs.generator.domain.GenTable; import com.xmzs.generator.domain.GenTableColumn; import lombok.AccessLevel; diff --git a/ruoyi-modules/ruoyi-generator/src/main/java/com/xmzs/generator/util/VelocityUtils.java b/ruoyi-modules/ruoyi-generator/src/main/java/com/xmzs/generator/util/VelocityUtils.java index 3e34edea..47ca1841 100644 --- a/ruoyi-modules/ruoyi-generator/src/main/java/com/xmzs/generator/util/VelocityUtils.java +++ b/ruoyi-modules/ruoyi-generator/src/main/java/com/xmzs/generator/util/VelocityUtils.java @@ -3,11 +3,11 @@ package com.xmzs.generator.util; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.convert.Convert; import cn.hutool.core.lang.Dict; -import com.xmzs.generator.constant.GenConstants; import com.xmzs.common.core.utils.DateUtils; import com.xmzs.common.core.utils.StringUtils; import com.xmzs.common.json.utils.JsonUtils; import com.xmzs.common.mybatis.helper.DataBaseHelper; +import com.xmzs.generator.constant.GenConstants; import com.xmzs.generator.domain.GenTable; import com.xmzs.generator.domain.GenTableColumn; import lombok.AccessLevel; diff --git a/ruoyi-modules/ruoyi-generator/src/main/resources/vm/ts/api.ts.vm b/ruoyi-modules/ruoyi-generator/src/main/resources/vm/ts/api.ts.vm index 3aa4a5f6..9ef9ff4a 100644 --- a/ruoyi-modules/ruoyi-generator/src/main/resources/vm/ts/api.ts.vm +++ b/ruoyi-modules/ruoyi-generator/src/main/resources/vm/ts/api.ts.vm @@ -1,6 +1,6 @@ import request from '@/utils/request'; -import { AxiosPromise } from 'axios'; -import { ${BusinessName}VO, ${BusinessName}Form, ${BusinessName}Query } from '@/api/${moduleName}/${businessName}/types'; +import {AxiosPromise} from 'axios'; +import {${BusinessName}Form, ${BusinessName}Query, ${BusinessName}VO} from '@/api/'; /** * 查询${functionName}列表 diff --git a/ruoyi-modules/ruoyi-generator/src/main/resources/vm/vue/index.vue.vm b/ruoyi-modules/ruoyi-generator/src/main/resources/vm/vue/index.vue.vm index 84432ac8..6847f3b0 100644 --- a/ruoyi-modules/ruoyi-generator/src/main/resources/vm/vue/index.vue.vm +++ b/ruoyi-modules/ruoyi-generator/src/main/resources/vm/vue/index.vue.vm @@ -258,12 +258,19 @@