äœè ïŒðç«åäºæ¿
æ¬é¡¹ç®æ¯åºäºReact+Spring Boot+RabbitMQ+AIGCçæºèœBIæ°æ®åæå¹³å°ã
访é®å°åïŒhttp://bi.kongshier.top
æ¥æºèªçŒçšå¯Œèª
AIGC ïŒArtificial Intelligence Generation Content(AI çæå 容)
åºå«äºäŒ ç»çBIïŒæ°æ®åæè åªéèŠå¯Œå ¥æåå§çæ°æ®éïŒèŸå ¥æ³èŠè¿è¡åæçç®æ ïŒå°±èœå©çšAIèªåšçæäžäžªç¬ŠåèŠæ±çåŸè¡šä»¥ååæç»è®ºãæ€å€ïŒè¿äŒæåŸè¡šç®¡çãåŒæ¥çæãAI对è¯çåèœãåªéèŸå ¥åæç®æ ãåå§æ°æ®ååå§é®é¢ïŒå©çšAIå°±èœäžé®çæå¯è§ååŸè¡šãåæç»è®ºåé®é¢è§£çïŒå€§å¹ éäœäººå·¥æ°æ®åæææ¬ã
- çšæ·ç»åœ
- æºèœåæïŒåæ¥ïŒãè°çšAIæ ¹æ®çšæ·äžäŒ csvæ件çæ对åºç JSON æ°æ®ïŒå¹¶äœ¿çš EChartsåŸè¡š å°åæç»æå¯è§åå±ç€º
- æºèœåæïŒåŒæ¥ïŒã䜿çšäºçº¿çšæ± åŒæ¥çæåŸè¡šïŒæåå°çº¿çšæ± æ¹é æäœ¿çš RabbitMQæ¶æ¯éå ä¿è¯æ¶æ¯çå¯é æ§ïŒå®ç°æ¶æ¯éè¯æºå¶
- çšæ·éæµãæ¬é¡¹ç®äœ¿çšå°ä»€ç桶éæµç®æ³ïŒäœ¿çšRedissonå®ç°ç®åäžé«æååžåŒéæµïŒéå¶çšæ·æ¯ç§åªèœè°çšäžæ¬¡æ°æ®åææ¥å£ïŒé²æ¢çšæ·æ¶æå çšç³»ç»èµæº
- è°çšAIè¿è¡æ°æ®åæïŒå¹¶æ§å¶AIçèŸåº
- ç±äºAIGCçèŸå ¥ Token éå¶ïŒäœ¿çš Easy Excel 解æçšæ·äžäŒ ç XLSX è¡šæ Œæ°æ®æ件并å猩䞺CSVïŒå®æµæé«äº20%çå次èŸå ¥æ°æ®éã并è纊äºææ¬ã
- å端èªå®ä¹ Prompt é¢è®Ÿæš¡æ¿å¹¶å°è£ çšæ·èŸå ¥çæ°æ®ååæè¯æ±ïŒéè¿å¯¹æ¥ AIGC æ¥å£çæå¯è§ååŸè¡š JSON é 眮ååæç»è®ºïŒè¿åç»å端枲æã
- æ°å¢çšæ·æ³šååèœ
- æ°å¢çšæ·è°çšæ¬¡æ°è¡šïŒçšæ·æ³šååæ¶å®ææå ¥æ¬¡æ°è¡šïŒåœäœ¿çšAIçææ¥å£æ¶ååžåŒé对䜿çšæ¬¡æ°éå®ïŒæ¬¡æ°æ£åæéæŸé
- æ°å¢å é€åŸè¡š/对è¯ç»æåèœ
- æ°å¢æ»ä¿¡éåïŒå°å€çåŸè¡šçéåç»å®å°æ»ä¿¡éåäžïŒä¿è¯æ¶æ¯å¯é æ§ïŒè¥åæ倱莥ïŒåè¿å ¥æ»ä¿¡ïŒå°è¡¥å¿çšæ·æ¬¡æ°
- æ·»å æ¯ä»å®æ²ç®±æ¯ä»åèœïŒäžåå åŒAI䜿çšæ¬¡æ°å®æïŒäœ¿çšæ²ç®±è¿è¡æ¯ä»ïŒå®ææ¯ä»åèœïŒæ¯ä»å®æåŸå°å¯¹åºç䜿çšæ¬¡æ°
- æ°å¢å»¶è¿éåïŒåœäžåå®æ10åéïŒè¿æ²¡ææ¯ä»è®¢åïŒåäŒæ è®°äžºè¶ æ¶è®¢å
- æ°å¢çšæ·äžäŒ 倎ååèœïŒäœ¿çšé¿éäºå¯¹è±¡ååšOSSååšåŸç
- ä¿®æ¹å端ç»åœ/泚åçé¢
- äŒåå端æŸç€ºïŒææåŠäžå±ç€º
- çšæ·æ¥çåå§æ°æ®
- æ°å¢AI对è¯ïŒçšæ·æ亀é®é¢ïŒAIåæ解ç
- åºäºAIå¿«éåå±çæ¶ä»£ïŒAI + çšåºå = æ éå¯èœã
- äŒ ç»æ°æ®åææµçšç¹çïŒäŒ ç»çæ°æ®åæè¿çšéèŠç»åç¹ççæ°æ®å€çåå¯è§åæäœïŒèæ¶äžå€æã
- ææ¯èŠæ±é«ïŒäŒ ç»æ°æ®åæéèŠæ°æ®åæè å ·å€äžå®çææ¯åäžäžç¥è¯ïŒéå¶äºéäžäžäººå£«çåäžã
- 人工ææ¬é«ïŒäŒ ç»æ°æ®åæéèŠå€§éç人åæå ¥ïŒææ¬æ莵ã
- AIèªåšçæåŸè¡šååæç»è®ºïŒè¯¥é¡¹ç®å©çšAIææ¯ïŒåªéå¯Œå ¥åå§æ°æ®åèŸå ¥åæç®æ ïŒå³å¯èªåšçæ笊åèŠæ±çåŸè¡šååæç»è®ºã
- æé«æçéäœææ¬ïŒéè¿é¡¹ç®çåºçšïŒèœå€å€§å¹ éäœäººå·¥æ°æ®åæææ¬ïŒæé«æ°æ®åæçæçååç¡®æ§ã
- èªåšååæïŒéè¿AIææ¯ïŒå°äŒ ç»ç¹ççæ°æ®å€çåå¯è§åæäœèªåšåïŒäœ¿åŸæ°æ®åæè¿çšæŽå é«æãå¿«éååç¡®ã
- äžé®çæïŒåªéèŠå¯Œå ¥åå§æ°æ®éåèŸå ¥åæç®æ ïŒç³»ç»å³å¯èªåšçæ笊åèŠæ±çå¯è§ååŸè¡šååæç»è®ºïŒæ éæåšè¿è¡å€æçæäœå计ç®ã
- å¯è§å管çïŒé¡¹ç®æäŸäºåŸè¡šç®¡çåèœïŒå¯ä»¥å¯¹çæçåŸè¡šè¿è¡æŽçãä¿ååå享ïŒæ¹äŸ¿çšæ·è¿è¡åç»çåæåå±ç€ºã
- åŒæ¥çæïŒé¡¹ç®æ¯æåŒæ¥çæïŒå³äœ¿å€ç倧è§æš¡æ°æ®éä¹èœä¿æèŸäœçååºæ¶éŽïŒæé«çšæ·ç䜿çšäœéªåæçã
- AI对è¯åèœïŒé€äºèªåšçæåŸè¡šååæç»æïŒé¡¹ç®è¿æäŸäºAI对è¯åèœïŒå¯ä»¥äžç³»ç»è¿è¡äº€äºïŒè¿äžæ¥è§£çé®é¢åæäŸæŽæ·±å ¥çåææŽå¯ã
- æºèœæ°æ®å€çïŒé¡¹ç®éè¿AIææ¯å®ç°äºæºèœåçæ°æ®å€çåèœïŒèœå€èªåšè¯å«åå€çåç§æ°æ®ç±»åãæ ŒåŒå猺倱åŒïŒæé«æ°æ®çåç¡®æ§åäžèŽæ§ã
- æ²ç®±æ¯ä»ïŒé¡¹ç®éè¿æ²ç®±æ¯ä»æš¡æçå®çæ¯ä»ç¯å¢ïŒå¯¹AI䜿çšæ¬¡æ°è¿è¡å åŒã
- äžèœœ/æåæ¬é¡¹ç®å°æ¬å°
- éè¿ IDEA 代ç çŒèŸåšè¿è¡æåŒé¡¹ç®ïŒçåŸ äŸèµçäžèœœ
- ä¿®æ¹é
眮æ件
application.yaml
çä¿¡æ¯ïŒæ¯åŠæ°æ®åºãRedisãRabbitMQç - ä¿®æ¹ä¿¡æ¯å®æåïŒéè¿
ShierApplication
çšåºè¿è¡è¿è¡é¡¹ç®
- Java VersionïŒ1.8.0_371
- MySQLïŒ8.0.20
- RedisïŒ5.0.14
- ErlangïŒ24.2
- RabbitMQïŒ3.9.11
- RabbitMQ延è¿éåæ件ïŒ3.10.0.ez ( éæ©äžäžªäžRabbitMQçæ¬å Œå®¹çå³å¯)
- é¿éäºå¯¹è±¡ååšOSS
- æ²ç®±æ¯ä»
åºç¡æ¶æïŒå®¢æ·ç«¯èŸå ¥åæè¯æ±ååå§æ°æ®ïŒåäžå¡å端åé请æ±ãäžå¡å端å©çšAIæå¡å€ç客æ·ç«¯æ°æ®ïŒä¿æå°æ°æ®åºïŒå¹¶çæåŸè¡šãå€çåçæ°æ®ç±äžå¡å端åéç»AIæå¡ïŒAIæå¡çæç»æ并è¿åç»å端ïŒæç»å°ç»æè¿åç»å®¢æ·ç«¯å±ç€ºã
äŒåæµçšïŒåŒæ¥åïŒïŒå®¢æ·ç«¯èŸå ¥åæè¯æ±ååå§æ°æ®ïŒåäžå¡å端åé请æ±ãäžå¡å端å°è¯·æ±äºä»¶æŸå ¥æ¶æ¯éåïŒå¹¶äžºå®¢æ·ç«¯çæåé€å·ïŒè®©èŠçæåŸè¡šç客æ·ç«¯å»æéïŒæ¶æ¯éåæ ¹æ®Iæå¡èŽèœœæ åµïŒå®ææ£æ¥è¿åºŠïŒåŠæAIæå¡è¿èœå€çæŽå€çåŸè¡šçæ请æ±ïŒå°±åä»»å¡å€çæš¡ååéæ¶æ¯ã
ä»»å¡å€çæš¡åè°çšAIæå¡å€ç客æ·ç«¯æ°æ®ïŒAI æå¡åŒæ¥çæç»æè¿åç»å端并ä¿åå°æ°æ®åºïŒåœå端çAIå·¥æå¡çæå®æ¯åïŒå¯ä»¥éè¿åå端åééç¥çæ¹åŒïŒæè éè¿äžå¡å端çæ§æ°æ®åºäžåŸè¡šçææå¡çç¶æïŒæ¥ç¡®å®çæç»ææ¯åŠå¯çšãè¥çæç»æå¯çšïŒå端å³å¯è·å并å€ççžåºçæ°æ®ïŒæç»å°ç»æè¿åç»å®¢æ·ç«¯å±ç€ºãåšæ€æéŽïŒçšæ·å¯ä»¥å»åèªå·±çäºæ ã
- Spring Boot 2.7.2
- Spring MVC
- MyBatis + MyBatis Plus æ°æ®è®¿é®ïŒåŒå¯å页ïŒ
- Spring Boot è°è¯å·¥å ·å项ç®å€çåš
- Spring AOP åé¢çŒçš
- Spring Scheduler å®æ¶ä»»å¡
- Spring äºå¡æ³šè§£
- RedisïŒRedissonéæµæ§å¶
- MyBatis-Plus æ°æ®åºè®¿é®ç»æ
- IDEAæ件 MyBatisX ïŒ æ ¹æ®æ°æ®åºè¡šèªåšçæ
- RabbitMQïŒæ¶æ¯éå
- AI SDKïŒé±ŒèªæAIæ¥å£åŒå
- JDK 线çšæ± ååŒæ¥å
- Swagger + Knife4j 项ç®ææ¡£
- Easy ExcelïŒè¡šæ Œæ°æ®å€çãHutoolå·¥å ·åº ãApache Common UtilsãGson 解æåºãLombok 泚解
- React 18
- Umi 4 å端æ¡æ¶
- Ant Design Pro 5.x èææ¶
- Ant Design ç»ä»¶åº
- OpenAPI 代ç çæïŒèªåšçæå端è°çšä»£ç ïŒæ¥èªé±ŒèªæåŒåå¹³å°ïŒ
- EChart åŸè¡šçæ
- MySQL æ°æ®åº
- é¿éäº OSS 对象ååš
- Spring Session Redis ååžåŒç»åœ
- å šå±è¯·æ±ååºæŠæªåšïŒè®°åœæ¥å¿ïŒ
- å šå±åŒåžžå€çåš
- èªå®ä¹é误ç
- å°è£ éçšååºç±»
- Swagger + Knife4j æ¥å£ææ¡£
- èªå®ä¹æé泚解 + å šå±æ ¡éª
- å šå±è·šåå€ç
- é¿æŽæ°äž¢å€±ç²ŸåºŠè§£å³
- å€ç¯å¢é 眮
- çšæ·ç»åœã泚åã泚éãæŽæ°ãæ£çŽ¢ãæé管çã倎åäžäŒ
- åŸè¡šå建ãå é€ãæ¥è¯¢ãæ¥çæ¿æ°æ®
- AI对è¯å建ãå é€ãæ¥è¯¢
- 订åå建ãå é€ãä¿®æ¹ãæ¯ä»ãæ¥è¯¢
- æ²ç®±æ¯ä»å建ãæ¥è¯¢
- 䜿çšæ¬¡æ°ä¿®æ¹ãæ°å¢ãå åŒ
- JUnit5 åå æµè¯ãäžå¡åèœåå æµè¯
ââmain
â ââjava
â â ââcom
â â ââshier
â â ââshierbi
â â â ShierApplication.java // å¯åšç±»
â â â
â â ââannotation // æéæ§å¶ç±»
â â â AuthCheck.java
â â â
â â ââaop
â â â AuthInterceptor.java
â â â LogInterceptor.java
â â â
â â ââbizmq // BI项ç®MQé
眮
â â â â AiAssistantMq.java
â â â â AiMqInit.java
â â â â BiMassageFailConsumer.java
â â â â BiMqInit.java
â â â â BiMqMessageConsumer.java
â â â â BiMqMessageProducer.java
â â â â RabbitMqInitDemo.java
â â â â RabbitMqMessageConsumer.java
â â â â RabbitMqMessageProducer.java
â â â â
â â â ââorder // 订åçžå
³éå
â â â OrderDelayedQueueConfig.java
â â â OrderMessageConsumer.java
â â â OrderMessageProducer.java
â â â
â â ââcommon // éçšç±»
â â â BaseResponse.java
â â â DeleteRequest.java
â â â ErrorCode.java
â â â PageRequest.java
â â â ResultUtils.java
â â â
â â ââconfig // 项ç®é
眮类
â â â AiModelConfig.java
â â â AliPayConfig.java
â â â CorsConfig.java
â â â JsonConfig.java
â â â Knife4jConfig.java
â â â MyBatisPlusConfig.java
â â â RabbitMqConfig.java
â â â RedissonConfig.java
â â â ThreadPoolExecutorConfig.java
â â â
â â ââconstant // 项ç®åžžéç±»
â â â BiMqConstant.java
â â â ChartConstant.java
â â â CommonConstant.java
â â â FileConstant.java
â â â UserConstant.java
â â â
â â ââcontroller // å端请æ±æ¥å£
â â â AiAssistantController.java
â â â AiFrequencyController.java
â â â AiFrequencyOrderController.java
â â â AliPayController.java
â â â AliPayInfoController.java
â â â ChartController.java
â â â FileController.java
â â â QueueController.java
â â â UserController.java
â â â
â â ââexception // å
šå±åŒåžžå€çç±»
â â â BusinessException.java
â â â GlobalExceptionHandler.java
â â â ThrowUtils.java
â â â
â â ââmanager // 项ç®ç®¡çç±»
â â â AiManager.java
â â â RedisLimiterManager.java
â â â
â â ââmapper // æ°æ®è®¿é®å±ïŒæä¹
å±ïŒ
â â â AiAssistantMapper.java
â â â AiFrequencyMapper.java
â â â AiFrequencyOrderMapper.java
â â â AlipayInfoMapper.java
â â â ChartMapper.java
â â â UserCodeMapper.java
â â â UserMapper.java
â â â
â â ââmodel // 项ç®å®äœç±»
â â â ââdto
â â â â ââaiassistant // ai å©æ请æ±å®äœå°è£
ç±»
â â â â â AiAssistantAddRequest.java
â â â â â AiAssistantEditRequest.java
â â â â â AiAssistantQueryRequest.java
â â â â â AiAssistantUpdateRequest.java
â â â â â GenChatByAiRequest.java
â â â â â
â â â â ââalipayinfo // æ¯ä»è¯·æ±å®äœå°è£
ç±»
â â â â â AlipayInfoQueryRequest.java
â â â â â
â â â â ââchart // åŸè¡šè¯·æ±å®äœå°è£
ç±»
â â â â â ChartAddRequest.java
â â â â â ChartEditRequest.java
â â â â â ChartQueryRequest.java
â â â â â ChartUpdateRequest.java
â â â â â GenChartByAiRequest.java
â â â â â
â â â â ââfile // æ件请æ±å®äœå°è£
ç±»
â â â â â UploadFileRequest.java
â â â â â
â â â â ââfrequency // 次æ°è¯·æ±å®äœå°è£
ç±»
â â â â â FrequencyRequest.java
â â â â â
â â â â ââorder // 订å请æ±å®äœå°è£
ç±»
â â â â â AiFrequencyOrderCancelRequest.java
â â â â â AiFrequencyOrderQueryRequest.java
â â â â â AiFrequencyOrderUpdateRequest.java
â â â â â
â â â â ââuser // çšæ·è¯·æ±å®äœå°è£
ç±»
â â â â UserAddRequest.java
â â â â UserLoginRequest.java
â â â â UserQueryRequest.java
â â â â UserRegisterRequest.java
â â â â UserUpdateMyRequest.java
â â â â UserUpdateRequest.java
â â â â
â â â ââentity // å®äœä¿¡æ¯ç±»
â â â â AiAssistant.java
â â â â AiFrequency.java
â â â â AiFrequencyOrder.java
â â â â AlipayInfo.java
â â â â Chart.java
â â â â User.java
â â â â UserCode.java
â â â â
â â â ââenums // æ䞟类
â â â â AiAssistantStatusEnum.java
â â â â ChartStatusEnum.java
â â â â FileUploadBizEnum.java
â â â â PayOrderEnum.java
â â â â UserRoleEnum.java
â â â â UserStatusEnum.java
â â â â
â â â ââvo // è¿åæ°æ®å°è£
ç±»
â â â AiFrequencyOrderVO.java
â â â AiFrequencyVO.java
â â â AlipayInfoVO.java
â â â BiResponse.java
â â â LoginUserVO.java
â â â PayInfoVO.java
â â â UserCodeVO.java
â â â UserVO.java
â â â
â â ââmq // mqæµè¯ç±»
â â â DirectConsumer.java
â â â DirectProducer.java
â â â DlxDirectConsumer.java
â â â DlxDirectProducer.java
â â â FanoutConsumer.java
â â â FanoutProducer.java
â â â MultiConsumer.java
â â â MultiProducer.java
â â â SingleConsumer.java
â â â SingleProducer.java
â â â TopicConsumer.java
â â â TopicProducer.java
â â â TtlConsumer.java
â â â TtlProducer.java
â â â
â â ââservice // æå¡å±
â â â â AiAssistantService.java
â â â â AiFrequencyOrderService.java
â â â â AiFrequencyService.java
â â â â AlipayInfoService.java
â â â â ChartService.java
â â â â FileService.java
â â â â UserCodeService.java
â â â â UserService.java
â â â â
â â â ââimpl // æå¡å®ç°ç±»
â â â AiAssistantServiceImpl.java
â â â AiFrequencyOrderServiceImpl.java
â â â AiFrequencyServiceImpl.java
â â â AlipayInfoServiceImpl.java
â â â ChartServiceImpl.java
â â â FileServiceImpl.java
â â â UserCodeServiceImpl.java
â â â UserServiceImpl.java
â â â
â â ââutils // å·¥å
·ç±»
â â ChartUtils.java
â â EncryptUtil.java
â â ExcelUtils.java
â â FileUtils.java
â â IdWorkerUtils.java
â â NetUtils.java
â â QRCodeUtil.java
â â SpringContextUtils.java
â â SqlUtils.java
â â
â ââresources // èµæºé
眮类
â â application-prod.yml
â â application-test.yml
â â application.yml
â â banner.txt
â â æµè¯æ°æ®.xlsx
â â
â ââmapper
â AiAssistantMapper.xml
â AiFrequencyMapper.xml
â AiFrequencyOrderMapper.xml
â AlipayInfoMapper.xml
â ChartMapper.xml
â UserCodeMapper.xml
â UserMapper.xml
â
ââtest // åå
æµè¯
ââjava
ââcom
ââshier
ââshierbi
â ShierApplicationTests.java
â
ââbizmq
â BiMassageFailConsumerTest.java
â BiMqMessageProducerTest.java
â RabbitMqMessageProducerTest.java
â
ââcontroller
â AliPayControllerTest.java
â
ââmanager
â AiManagerTest.java
â RedisLimiterManagerTest.java
â
ââservice
â ChartServiceTest.java
â UserServiceTest.java
â
ââutils
EasyExcelTest.java
䞪人信æ¯ïŒä¿®æ¹ä¿¡æ¯ïŒç¹å»å€Žåä¿®æ¹å€Žå
订å亀ä»ç»æä¿¡æ¯æ¥è¯¢
åŸè¡šç®¡ç æ¥çææçšæ·çåŸè¡šä¿¡æ¯ïŒæ¥çåŸè¡šæ°æ®ãå é€åŸè¡š
- AIçæçå 容富èŽæ¥è¯¢åŸè¡šåºç°æ¥éïŒç±äºAIGCåŸåºçç»æäžäžå®æ¯JSONæ°æ®ïŒå¯ŒèŽå端JSONæ°æ®æ ŒåŒè§£æ倱莥
- äžåäºæ æ³æ¯ä»ïŒç®åæ¯äœ¿çšæ²ç®±ç¯å¢ïŒåªæææäžçæ²ç®±èŽŠå·æèœæ¯ä»
åŠæåç°æ°çbug æè ååšé®é¢ä»¥äžé®é¢è¯·èç³»äœè ïŒhttps://www.yuque.com/kcsshier
- 䜿çšElasticSearchè¿è¡æ玢å 容ïŒç¬ååŸçãè§é¢ç
- å å ¥å¹¿å
- å°é¡¹ç®æ¹é æ埮æå¡