AI融合好了,包括分页
This commit is contained in:
@@ -1,3 +1,4 @@
|
|||||||
1.把ruoyi-piao ruoyi-uia 拿过来
|
1.把ruoyi-piao ruoyi-uia 拿过来
|
||||||
2.把数据库按结构、数据建好
|
2.把数据库按结构、数据建好
|
||||||
3.因新版本,在IConfigService里加了 public SysConfig selectConfigByConfigKey(String configKey);
|
3.因新版本,在IConfigService里加了 public SysConfig selectConfigByConfigKey(String configKey);
|
||||||
|
4.把mybatis 换成 mybatisplus
|
||||||
|
|||||||
+2
-1
@@ -17,7 +17,7 @@ mkdir -p $BACKUP_DIR
|
|||||||
|
|
||||||
# 在MySQL容器内部执行 mysqldump 命令
|
# 在MySQL容器内部执行 mysqldump 命令
|
||||||
docker exec $CONTAINER_NAME \
|
docker exec $CONTAINER_NAME \
|
||||||
sh -c "exec mysqldump -u$MYSQL_USER -p'$MYSQL_PASSWORD' $DATABASE_NAME" > "$BACKUP_DIR/piaoruo_bak_$DATE.sql"
|
sh -c "exec mysqldump -u$MYSQL_USER -p'$MYSQL_PASSWORD' $DATABASE_NAME" > "$BACKUP_DIR/piaowu_bak_$DATE.sql"
|
||||||
|
|
||||||
# 检查是否成功导出
|
# 检查是否成功导出
|
||||||
if [ $? -eq 0 ]; then
|
if [ $? -eq 0 ]; then
|
||||||
@@ -33,3 +33,4 @@ find $BACKUP_DIR -type f -name "*.sql" -mtime +30 -exec rm {} \;
|
|||||||
|
|
||||||
#定时执行备份任务 cron
|
#定时执行备份任务 cron
|
||||||
#0 1 * * * /mydata/docker/piaowu/mysql/piaowudbbak.sh >> /mydata/docker/piaowu/mysql/bak.log 2>&1
|
#0 1 * * * /mydata/docker/piaowu/mysql/piaowudbbak.sh >> /mydata/docker/piaowu/mysql/bak.log 2>&1
|
||||||
|
#查看:crontab -l 编辑:crontab -e
|
||||||
@@ -145,6 +145,12 @@
|
|||||||
<artifactId>mybatis-plus-spring-boot4-starter</artifactId>
|
<artifactId>mybatis-plus-spring-boot4-starter</artifactId>
|
||||||
<version>3.5.16</version>
|
<version>3.5.16</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<!-- MyBatis-Plus 分页插件 (3.5.9+ 已从核心模块拆分) -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.baomidou</groupId>
|
||||||
|
<artifactId>mybatis-plus-jsqlparser</artifactId>
|
||||||
|
<version>3.5.16</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
<!-- JUnit5单元测试框架 -->
|
<!-- JUnit5单元测试框架 -->
|
||||||
<dependency>
|
<dependency>
|
||||||
|
|||||||
@@ -0,0 +1,15 @@
|
|||||||
|
package com.ruoyi.piao.config;
|
||||||
|
|
||||||
|
import org.springframework.ai.chat.client.ChatClient;
|
||||||
|
import org.springframework.ai.chat.model.ChatModel;
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
|
||||||
|
@Configuration
|
||||||
|
public class AIConfig {
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
public ChatClient chatClient(ChatModel chatModel) {
|
||||||
|
return ChatClient.create(chatModel);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -2,9 +2,8 @@ package com.ruoyi.piao.config;
|
|||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.DbType;
|
import com.baomidou.mybatisplus.annotation.DbType;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
|
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
|
||||||
import org.mybatis.spring.annotation.MapperScan;
|
import org.mybatis.spring.annotation.MapperScan;
|
||||||
import org.springframework.ai.chat.client.ChatClient;
|
|
||||||
import org.springframework.ai.chat.model.ChatModel;
|
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
|
||||||
@@ -12,15 +11,10 @@ import org.springframework.context.annotation.Configuration;
|
|||||||
@MapperScan("com.ruoyi.piao.dao")
|
@MapperScan("com.ruoyi.piao.dao")
|
||||||
public class MybatisPlusConfig {
|
public class MybatisPlusConfig {
|
||||||
|
|
||||||
@Bean
|
|
||||||
public ChatClient chatClient(ChatModel chatModel) {
|
|
||||||
return ChatClient.create(chatModel);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
public MybatisPlusInterceptor mybatisPlusInterceptor() {
|
public MybatisPlusInterceptor mybatisPlusInterceptor() {
|
||||||
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
|
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
|
||||||
// interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
|
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
|
||||||
return interceptor;
|
return interceptor;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -73,7 +73,8 @@
|
|||||||
<logger name="com.ruoyi" level="info" />
|
<logger name="com.ruoyi" level="info" />
|
||||||
<!-- Spring日志级别控制 -->
|
<!-- Spring日志级别控制 -->
|
||||||
<logger name="org.springframework" level="warn" />
|
<logger name="org.springframework" level="warn" />
|
||||||
|
<!-- Yauaa User-Agent 解析器日志级别控制 -->
|
||||||
|
<logger name="nl.basjes.parse.useragentutils" level="warn" />
|
||||||
<!--系统操作日志-->
|
<!--系统操作日志-->
|
||||||
<root level="info">
|
<root level="info">
|
||||||
<appender-ref ref="console" />
|
<appender-ref ref="console" />
|
||||||
|
|||||||
@@ -130,11 +130,12 @@
|
|||||||
|
|
||||||
<a-col class="navbar-col-user">
|
<a-col class="navbar-col-user">
|
||||||
<!-- 用户名称 -->
|
<!-- 用户名称 -->
|
||||||
<a-dropdown placement="bottomRight" class="user-dropdown">
|
<a-dropdown v-model:visible="userDropdownVisible" placement="bottomRight" class="user-dropdown">
|
||||||
<a style="color: #fffeee" class="user-dropdown-link">
|
<a style="color: #fffeee" class="user-dropdown-link">
|
||||||
<img :src="avatarSrc" class="avatarIcon" @error="onAvatarError" />
|
<img :src="avatarSrc" class="avatarIcon" @error="onAvatarError" />
|
||||||
<span class="user-name">{{ vueStore.getters.nickName }}</span>
|
<span class="user-name">{{ vueStore.getters.nickName }}</span>
|
||||||
<ZhihuiIcon icon="DownOutlined" />
|
<ZhihuiIcon icon= "UpOutlined" v-if="userDropdownVisible"/>
|
||||||
|
<ZhihuiIcon icon= "DownOutlined" v-else/>
|
||||||
</a>
|
</a>
|
||||||
<template #overlay>
|
<template #overlay>
|
||||||
<a-menu>
|
<a-menu>
|
||||||
@@ -219,6 +220,7 @@ import zhihuiAudio from '@/utils/zhihuiAudio'; // 引入音频播放器
|
|||||||
|
|
||||||
dayjs.locale('zh-cn');
|
dayjs.locale('zh-cn');
|
||||||
|
|
||||||
|
const userDropdownVisible = ref(false);
|
||||||
const avatarError = ref(false);
|
const avatarError = ref(false);
|
||||||
const avatarSrc = computed(() => {
|
const avatarSrc = computed(() => {
|
||||||
if (avatarError.value) return "/images/defaultavatar.png";
|
if (avatarError.value) return "/images/defaultavatar.png";
|
||||||
|
|||||||
Reference in New Issue
Block a user