4 Commits

Author SHA1 Message Date
mpaster
081f20b6f6 Pre Merge pull request !432 from mpaster/springboot3_dev_PR 2025-08-27 08:02:49 +00:00
RuoYi
8ef3b5490e 优化代码 2025-08-27 16:02:32 +08:00
mpaster
264c868173 docker配置更新。 2025-08-19 18:32:39 +08:00
mpaster
4e0a27d6a5 支持菜单修改时图标可置空。 2025-08-19 17:00:07 +08:00
20 changed files with 86 additions and 34 deletions

View File

@@ -1,12 +1,20 @@
version : '3.8' version : '3.8'
networks:
ruoyi-net:
driver: bridge
services: services:
ruoyi-nacos: ruoyi-nacos:
container_name: ruoyi-nacos container_name: ruoyi-nacos
image: nacos/nacos-server image: nacos/nacos-server:3.0.2
build: build:
context: ./nacos context: ./nacos
environment: environment:
- MODE=standalone - MODE=standalone
- NACOS_AUTH_TOKEN=rO0ABXNyABNqYXZhLnV0aWwuQmFzZTY0dPTZ3QE+Kk1T6mN8X0YpV3kQ7ZbJ5A==
- NACOS_AUTH_IDENTITY_KEY=serverIdentity
- NACOS_AUTH_IDENTITY_VALUE=security
volumes: volumes:
- ./nacos/logs/:/home/nacos/logs - ./nacos/logs/:/home/nacos/logs
- ./nacos/conf/application.properties:/home/nacos/conf/application.properties - ./nacos/conf/application.properties:/home/nacos/conf/application.properties
@@ -14,8 +22,11 @@ services:
- "8848:8848" - "8848:8848"
- "9848:9848" - "9848:9848"
- "9849:9849" - "9849:9849"
- "8888:8080"
depends_on: depends_on:
- ruoyi-mysql - ruoyi-mysql
networks:
- ruoyi-net
ruoyi-mysql: ruoyi-mysql:
container_name: ruoyi-mysql container_name: ruoyi-mysql
image: mysql:5.7 image: mysql:5.7
@@ -38,6 +49,8 @@ services:
environment: environment:
MYSQL_DATABASE: 'ry-cloud' MYSQL_DATABASE: 'ry-cloud'
MYSQL_ROOT_PASSWORD: password MYSQL_ROOT_PASSWORD: password
networks:
- ruoyi-net
ruoyi-redis: ruoyi-redis:
container_name: ruoyi-redis container_name: ruoyi-redis
image: redis image: redis
@@ -49,6 +62,8 @@ services:
- ./redis/conf/redis.conf:/home/ruoyi/redis/redis.conf - ./redis/conf/redis.conf:/home/ruoyi/redis/redis.conf
- ./redis/data:/data - ./redis/data:/data
command: redis-server /home/ruoyi/redis/redis.conf command: redis-server /home/ruoyi/redis/redis.conf
networks:
- ruoyi-net
ruoyi-nginx: ruoyi-nginx:
container_name: ruoyi-nginx container_name: ruoyi-nginx
image: nginx image: nginx
@@ -63,8 +78,8 @@ services:
- ./nginx/conf.d:/etc/nginx/conf.d - ./nginx/conf.d:/etc/nginx/conf.d
depends_on: depends_on:
- ruoyi-gateway - ruoyi-gateway
links: networks:
- ruoyi-gateway - ruoyi-net
ruoyi-gateway: ruoyi-gateway:
container_name: ruoyi-gateway container_name: ruoyi-gateway
build: build:
@@ -74,8 +89,9 @@ services:
- "8080:8080" - "8080:8080"
depends_on: depends_on:
- ruoyi-redis - ruoyi-redis
links: - ruoyi-nacos
- ruoyi-redis networks:
- ruoyi-net
ruoyi-auth: ruoyi-auth:
container_name: ruoyi-auth container_name: ruoyi-auth
build: build:
@@ -85,8 +101,9 @@ services:
- "9200:9200" - "9200:9200"
depends_on: depends_on:
- ruoyi-redis - ruoyi-redis
links: - ruoyi-nacos
- ruoyi-redis networks:
- ruoyi-net
ruoyi-modules-system: ruoyi-modules-system:
container_name: ruoyi-modules-system container_name: ruoyi-modules-system
build: build:
@@ -96,10 +113,10 @@ services:
- "9201:9201" - "9201:9201"
depends_on: depends_on:
- ruoyi-redis - ruoyi-redis
- ruoyi-nacos
- ruoyi-mysql - ruoyi-mysql
links: networks:
- ruoyi-redis - ruoyi-net
- ruoyi-mysql
ruoyi-modules-gen: ruoyi-modules-gen:
container_name: ruoyi-modules-gen container_name: ruoyi-modules-gen
build: build:
@@ -109,8 +126,8 @@ services:
- "9202:9202" - "9202:9202"
depends_on: depends_on:
- ruoyi-mysql - ruoyi-mysql
links: networks:
- ruoyi-mysql - ruoyi-net
ruoyi-modules-job: ruoyi-modules-job:
container_name: ruoyi-modules-job container_name: ruoyi-modules-job
build: build:
@@ -120,8 +137,8 @@ services:
- "9203:9203" - "9203:9203"
depends_on: depends_on:
- ruoyi-mysql - ruoyi-mysql
links: networks:
- ruoyi-mysql - ruoyi-net
ruoyi-modules-file: ruoyi-modules-file:
container_name: ruoyi-modules-file container_name: ruoyi-modules-file
build: build:
@@ -131,6 +148,8 @@ services:
- "9300:9300" - "9300:9300"
volumes: volumes:
- ./ruoyi/uploadPath:/home/ruoyi/uploadPath - ./ruoyi/uploadPath:/home/ruoyi/uploadPath
networks:
- ruoyi-net
ruoyi-visual-monitor: ruoyi-visual-monitor:
container_name: ruoyi-visual-monitor container_name: ruoyi-visual-monitor
build: build:
@@ -138,3 +157,5 @@ services:
dockerfile: dockerfile dockerfile: dockerfile
ports: ports:
- "9100:9100" - "9100:9100"
networks:
- ruoyi-net

View File

@@ -22,8 +22,8 @@ nacos.security.ignore.urls=/,/error,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/
nacos.core.auth.system.type=nacos nacos.core.auth.system.type=nacos
nacos.core.auth.enabled=false nacos.core.auth.enabled=false
nacos.core.auth.default.token.expire.seconds=18000 nacos.core.auth.plugin.nacos.token.expire.seconds=18000
nacos.core.auth.default.token.secret.key=SecretKey012345678901234567890123456789012345678901234567890123456789 nacos.core.auth.plugin.nacos.token.secret.key=rO0ABXNyABNqYXZhLnV0aWwuQmFzZTY0dPTZ3QE+Kk1T6mN8X0YpV3kQ7ZbJ5A==
nacos.core.auth.caching.enabled=true nacos.core.auth.caching.enabled=true
nacos.core.auth.enable.userAgentAuthWhite=false nacos.core.auth.enable.userAgentAuthWhite=false
nacos.core.auth.server.identity.key=serverIdentity nacos.core.auth.server.identity.key=serverIdentity

View File

@@ -1,5 +1,5 @@
# 基础镜像 # 基础镜像
FROM openjdk:8-jre FROM openjdk:17-jdk-slim
# author # author
MAINTAINER ruoyi MAINTAINER ruoyi

View File

@@ -1,5 +1,5 @@
# 基础镜像 # 基础镜像openjdk:17-jdk-slim不包含验证码所需的字体
FROM openjdk:8-jre FROM openjdk:17-jdk
# author # author
MAINTAINER ruoyi MAINTAINER ruoyi

View File

@@ -1,5 +1,5 @@
# 基础镜像 # 基础镜像
FROM openjdk:8-jre FROM openjdk:17-jdk-slim
# author # author
MAINTAINER ruoyi MAINTAINER ruoyi

View File

@@ -1,5 +1,5 @@
# 基础镜像 # 基础镜像
FROM openjdk:8-jre FROM openjdk:17-jdk-slim
# author # author
MAINTAINER ruoyi MAINTAINER ruoyi

View File

@@ -1,5 +1,5 @@
# 基础镜像 # 基础镜像
FROM openjdk:8-jre FROM openjdk:17-jdk-slim
# author # author
MAINTAINER ruoyi MAINTAINER ruoyi

View File

@@ -1,5 +1,5 @@
# 基础镜像 # 基础镜像
FROM openjdk:8-jre FROM openjdk:17-jdk-slim
# author # author
MAINTAINER ruoyi MAINTAINER ruoyi

View File

@@ -1,5 +1,5 @@
# 基础镜像 # 基础镜像
FROM openjdk:8-jre FROM openjdk:17-jdk-slim
# author # author
MAINTAINER ruoyi MAINTAINER ruoyi

View File

@@ -14,10 +14,10 @@ spring:
nacos: nacos:
discovery: discovery:
# 服务注册地址 # 服务注册地址
server-addr: 127.0.0.1:8848 server-addr: ruoyi-nacos:8848
config: config:
# 配置中心地址 # 配置中心地址
server-addr: 127.0.0.1:8848 server-addr: ruoyi-nacos:8848
# 配置文件格式 # 配置文件格式
file-extension: yml file-extension: yml
# 共享配置 # 共享配置

View File

@@ -14,10 +14,10 @@ spring:
nacos: nacos:
discovery: discovery:
# 服务注册地址 # 服务注册地址
server-addr: 127.0.0.1:8848 server-addr: ruoyi-nacos:8848
config: config:
# 配置中心地址 # 配置中心地址
server-addr: 127.0.0.1:8848 server-addr: ruoyi-nacos:8848
# 配置文件格式 # 配置文件格式
file-extension: yml file-extension: yml
# 共享配置 # 共享配置
@@ -33,7 +33,7 @@ spring:
datasource: datasource:
ds1: ds1:
nacos: nacos:
server-addr: 127.0.0.1:8848 server-addr: ruoyi-nacos:8848
dataId: sentinel-ruoyi-gateway dataId: sentinel-ruoyi-gateway
groupId: DEFAULT_GROUP groupId: DEFAULT_GROUP
data-type: json data-type: json

View File

@@ -163,7 +163,7 @@ public class SysUserController extends BaseController
@PutMapping("/recordlogin") @PutMapping("/recordlogin")
public R<Boolean> recordlogin(@RequestBody SysUser sysUser) public R<Boolean> recordlogin(@RequestBody SysUser sysUser)
{ {
return R.ok(userService.updateUserProfile(sysUser)); return R.ok(userService.updateLoginInfo(sysUser));
} }
/** /**

View File

@@ -76,6 +76,14 @@ public interface SysUserMapper
*/ */
public int updateUserAvatar(@Param("userId") Long userId, @Param("avatar") String avatar); public int updateUserAvatar(@Param("userId") Long userId, @Param("avatar") String avatar);
/**
* 更新用户登录信息IP和登录时间
*
* @param user 用户信息
* @return 结果
*/
public int updateLoginInfo(SysUser user);
/** /**
* 重置用户密码 * 重置用户密码
* *

View File

@@ -161,6 +161,14 @@ public interface ISysUserService
*/ */
public boolean updateUserAvatar(Long userId, String avatar); public boolean updateUserAvatar(Long userId, String avatar);
/**
* 更新用户登录信息IP和登录时间
*
* @param user 用户信息
* @return 结果
*/
public boolean updateLoginInfo(SysUser user);
/** /**
* 重置用户密码 * 重置用户密码
* *

View File

@@ -354,6 +354,17 @@ public class SysUserServiceImpl implements ISysUserService
return userMapper.updateUserAvatar(userId, avatar) > 0; return userMapper.updateUserAvatar(userId, avatar) > 0;
} }
/**
* 更新用户登录信息IP和登录时间
*
* @param user 用户信息
* @return 结果
*/
public boolean updateLoginInfo(SysUser user)
{
return userMapper.updateLoginInfo(user) > 0;
}
/** /**
* 重置用户密码 * 重置用户密码
* *

View File

@@ -14,10 +14,10 @@ spring:
nacos: nacos:
discovery: discovery:
# 服务注册地址 # 服务注册地址
server-addr: 127.0.0.1:8848 server-addr: ruoyi-nacos:8848
config: config:
# 配置中心地址 # 配置中心地址
server-addr: 127.0.0.1:8848 server-addr: ruoyi-nacos:8848
# 配置文件格式 # 配置文件格式
file-extension: yml file-extension: yml
# 共享配置 # 共享配置

View File

@@ -149,7 +149,7 @@
<if test="visible != null">visible = #{visible},</if> <if test="visible != null">visible = #{visible},</if>
<if test="status != null">status = #{status},</if> <if test="status != null">status = #{status},</if>
<if test="perms !=null">perms = #{perms},</if> <if test="perms !=null">perms = #{perms},</if>
<if test="icon !=null and icon != ''">icon = #{icon},</if> icon = #{icon},
<if test="remark != null and remark != ''">remark = #{remark},</if> <if test="remark != null and remark != ''">remark = #{remark},</if>
<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if> <if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
update_time = sysdate() update_time = sysdate()

View File

@@ -205,6 +205,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
update sys_user set avatar = #{avatar} where user_id = #{userId} update sys_user set avatar = #{avatar} where user_id = #{userId}
</update> </update>
<update id="updateLoginInfo" parameterType="SysUser">
update sys_user set login_ip = #{loginIp}, login_date = #{loginDate} where user_id = #{userId}
</update>
<update id="resetUserPwd" parameterType="SysUser"> <update id="resetUserPwd" parameterType="SysUser">
update sys_user set pwd_update_date = sysdate(), password = #{password} where user_id = #{userId} update sys_user set pwd_update_date = sysdate(), password = #{password} where user_id = #{userId}
</update> </update>

View File

@@ -139,7 +139,7 @@
@show="$refs['iconSelect'].reset()" @show="$refs['iconSelect'].reset()"
> >
<IconSelect ref="iconSelect" @selected="selected" :active-icon="form.icon" /> <IconSelect ref="iconSelect" @selected="selected" :active-icon="form.icon" />
<el-input slot="reference" v-model="form.icon" placeholder="点击选择图标" readonly> <el-input slot="reference" v-model="form.icon" placeholder="点击选择图标" clearable>
<svg-icon <svg-icon
v-if="form.icon" v-if="form.icon"
slot="prefix" slot="prefix"