This commit is contained in:
2025-09-07 17:29:59 +08:00
parent 0cb1c34755
commit f080c0c4a7
7 changed files with 293 additions and 234 deletions

View File

@@ -6,7 +6,7 @@ spring:
druid:
# 主库数据源
master:
url: jdbc:mysql://101.35.140.199:13306/managersystem?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
url: jdbc:mysql://127.0.0.1:3306/managersystem?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root
password: Wxit11335577
# 从库数据源

View File

@@ -35,6 +35,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="assignee != null and assignee != ''"> and m.assignee = #{assignee}</if>
<if test="assignTime != null "> and m.assign_time = #{assignTime}</if>
<if test="finishTime != null "> and m.finish_time = #{finishTime}</if>
and m.del_flag = '0'
<!-- 权限控制:普通用户只能查看自己项目下的模块或被指派的模块;平台管理员可查看所有 -->
<if test="params != null and params.currentUserId != null and params.isAdmin != true">
and (
@@ -56,6 +57,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<include refid="selectBizModuleVo"/>
<where>
<if test="_parameter != null "> and m.project_id = #{_parameter}</if>
and m.del_flag = '0'
</where>
</select>

View File

@@ -73,8 +73,8 @@ export default {
title: '项目管理系统',
codeUrl: "",
loginForm: {
username: "admin",
password: "admin123",
username: "jsl",
password: "123456",
rememberMe: false,
code: "",
uuid: ""

View File

@@ -161,9 +161,19 @@ import { listModulesByProject, getMyModules } from '@/api/project/module'
export default {
name: "Doc",
computed: {
// 是否项目管理员/平台管理员
isProjectAdmin() {
const roles = this.$store.state.user.roles || []
return roles.some(r => {
const key = typeof r === 'string' ? r : r.roleKey
return key === 'project_admin' || key === 'platform_admin'
})
},
// 是否普通用户(且不是管理员)
isNormalUser() {
const roles = this.$store.state.user.roles || []
return roles.some(r => (typeof r === 'string' ? r : r.roleKey) === 'normal_user')
const hasNormal = roles.some(r => (typeof r === 'string' ? r : r.roleKey) === 'normal_user')
return hasNormal && !this.isProjectAdmin
}
},
data() {
@@ -238,7 +248,11 @@ export default {
methods: {
async initProjects() {
try {
if (this.isNormalUser) {
if (this.isProjectAdmin) {
// 管理员/项目管理员:读取全部可管理项目
const { rows } = await listProject({ pageNum: 1, pageSize: 9999 })
this.projectOptions = rows || []
} else if (this.isNormalUser) {
// 普通用户:从“我的模块”汇总所属项目
const { rows } = await getMyModules({ pageNum: 1, pageSize: 9999 })
const map = new Map()
@@ -248,10 +262,6 @@ export default {
}
})
this.projectOptions = Array.from(map.values())
} else {
// 管理员/项目管理员:读取全部可管理项目
const { rows } = await listProject({ pageNum: 1, pageSize: 9999 })
this.projectOptions = rows || []
}
} catch (e) {
this.projectOptions = []
@@ -297,7 +307,7 @@ export default {
this.upload.meta.moduleId = null;
if (!projectId) { this.moduleOptions = []; return; }
try {
if (this.isNormalUser) {
if (!this.isProjectAdmin && this.isNormalUser) {
// 从“我的模块”中过滤出所选项目的可见模块
const { rows } = await getMyModules({ pageNum: 1, pageSize: 9999 })
this.moduleOptions = (rows || []).filter(m => String(m.projectId) === String(projectId))

View File

@@ -43,52 +43,6 @@
</div>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['project:module:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['project:module:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['project:module:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['project:module:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="moduleList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="模块ID" align="center" prop="moduleId" />
@@ -101,7 +55,7 @@
</el-table-column>
<el-table-column label="接取人" align="center" prop="assignee">
<template slot-scope="scope">
{{ userMap[String(scope.row.assignee)] || scope.row.assignee || '未指派' }}
{{ scope.row.assignee || '未指派' }}
</template>
</el-table-column>
<el-table-column label="接取时间" align="center" prop="assignTime" width="180">
@@ -188,20 +142,11 @@
<script>
import { getMyModules, claimModule, giveupModule, completeModule } from "@/api/project/module"
import { listUser } from "@/api/system/user"
export default {
name: "MyModules",
dicts: ['module_status'],
computed: {
// 判断是否为项目管理员
isProjectAdmin() {
return this.$store.state.user.roles &&
this.$store.state.user.roles.some(role =>
(typeof role === 'string' && (role === 'platform_admin' || role === 'project_admin')) ||
(typeof role === 'object' && (role.roleKey === 'platform_admin' || role.roleKey === 'project_admin'))
);
},
// 判断是否为普通用户
isNormalUser() {
return this.$store.state.user.roles &&
@@ -231,7 +176,6 @@ export default {
userName: this.$store.state.user.name,
userId: this.$store.state.user.id,
userRoles: '无角色信息',
userMap: {},
// 查询参数
queryParams: {
pageNum: 1,
@@ -244,10 +188,6 @@ export default {
},
created() {
this.buildUserRolesText();
// 仅管理员加载全量用户映射,普通用户避免触发无权限接口
if (this.isProjectAdmin) {
this.loadUserMap();
}
this.getList();
},
methods: {
@@ -272,16 +212,6 @@ export default {
});
this.userRoles = names.join('') || '无角色信息';
},
/** 载入用户映射userId -> 中文名 */
loadUserMap() {
listUser({ pageNum: 1, pageSize: 9999 }).then(res => {
const rows = (res && res.rows) ? res.rows : [];
this.userMap = rows.reduce((acc, u) => {
acc[String(u.userId)] = u.nickName || u.userName || String(u.userId);
return acc;
}, {});
});
},
/** 查询我的模块列表 */
getList() {
this.loading = true;

View File

@@ -34,12 +34,11 @@
</el-date-picker>
</el-form-item>
<el-form-item label="项目标签" prop="projectLabel">
<el-input
v-model="queryParams.projectLabel"
placeholder="请输入项目标签"
clearable
@keyup.enter.native="handleQuery"
/>
<el-select v-model="queryParams.projectLabel" placeholder="请选择项目标签" clearable>
<el-option label="项目任务" value="项目任务"/>
<el-option label="项目研究" value="项目研究"/>
<el-option label="项目学习" value="项目学习"/>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
@@ -129,7 +128,7 @@
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
@click.stop="handleUpdate(scope.row)"
v-hasPermi="['project:project:edit']"
>修改
</el-button>
@@ -137,7 +136,7 @@
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
@click.stop="handleDelete(scope.row)"
v-hasPermi="['project:project:remove']"
>删除
</el-button>
@@ -167,6 +166,18 @@
>新增
</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="moduleMultiple"
@click="handleModelsDelete"
v-hasPermi="['project:module:remove']"
>批量删除
</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table :data="moduleList"
@@ -186,7 +197,7 @@
<el-table-column label="操作">
<template #default="{ row }">
<el-button size="mini" type="text" icon="el-icon-edit" @click="editModule(row)" v-hasPermi="['project:module:edit']">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="deleteModule(row)" v-hasPermi="['project:module:remove']">删除</el-button>
<el-button v-if="row.status === '0'" size="mini" type="text" icon="el-icon-delete" @click="deleteModule(row)" v-hasPermi="['project:module:remove']">删除</el-button>
<el-button v-if="row.status === '0'" size="mini" type="text" icon="el-icon-position" @click="openAssign(row)" v-hasPermi="['project:module:assign']">指派</el-button>
</template>
</el-table-column>
@@ -226,7 +237,11 @@
</el-date-picker>
</el-form-item>
<el-form-item label="项目标签" prop="projectLabel">
<el-input v-model="form.projectLabel" placeholder="请输入项目标签"/>
<el-select v-model="form.projectLabel" placeholder="请选择项目标签">
<el-option label="项目任务" value="项目任务"/>
<el-option label="项目研究" value="项目研究"/>
<el-option label="项目学习" value="项目学习"/>
</el-select>
</el-form-item>
<el-form-item label="起始日期" prop="startTime">
<el-date-picker clearable
@@ -246,8 +261,6 @@
<el-option label="已完成" value="1"/>
</el-select>
</el-form-item>
<br>
<el-button type="primary" icon="el-icon-search" size="mini" @click="openProjectUpload">上传文件</el-button>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
@@ -279,17 +292,20 @@
<!-- 完成模块 + 上传文件弹窗 -->
<el-dialog title="完成模块并上传附件" :visible.sync="finishDialog" width="500px">
<el-upload
ref="uploader"
class="upload-demo"
action=""
:limit="5"
:file-list="fileList"
:on-change="handleFileChange"
:action="upload.url"
:headers="upload.headers"
:file-list="upload.fileList"
:data="upload.data"
:before-upload="beforeUpload"
multiple
:on-progress="handleFileUploadProgress"
:on-success="handleFileSuccess"
:auto-upload="false"
accept=".pdf,.doc,.docx,.txt,.md"
>
<el-button size="small" type="primary">点击上传</el-button>
<div slot="tip" class="el-upload__tip">支持多文件上传文件大小不超过 20MB</div>
<el-button size="small" type="primary">选择文件</el-button>
<div slot="tip" class="el-upload__tip">支持 PDFDOCDOCXTXTMD文件20MB</div>
</el-upload>
<div slot="footer">
<el-button @click="finishDialog=false"> </el-button>
@@ -308,7 +324,8 @@ import Cookies from "js-cookie";
import {getUserRole} from "@/api/system/role";
import {getSysUser} from "@/api/system/user";
import moment from "moment";
import {addDoc, downloadDoc} from "@/api/doc/doc";
import { downloadDoc } from "@/api/doc/doc";
import { getToken } from "@/utils/auth";
export default {
name: "Project",
@@ -354,10 +371,13 @@ export default {
status:0,
finishTime: null,
},
fileList: [], // 文件列表
//上传文件信息
uploadFiles: [],
// 统一上传配置
upload: {
url: process.env.VUE_APP_BASE_API + "/project/doc/upload",
headers: { Authorization: "Bearer " + getToken() },
fileList: [],
data: {}
},
//模块校验
modelsForm: {
@@ -396,6 +416,8 @@ export default {
//模块抽屉
drawer: false,
moduleList: [],
// 多选保存行数据,用于批量删除时判断状态
selectedModules: [],
uploadTarget: '', // 'project' | 'module'
@@ -423,99 +445,77 @@ export default {
},
watch: {
'form.startTime'(nv) {
if (!this.form.projectId) {
const today = moment().startOf('day')
if (nv) {
const st = moment(nv, 'YYYY-MM-DD')
if (this.form.status !== '1') {
this.form.status = st.isAfter(today) ? '2' : '0'
}
} else {
if (this.form.status !== '1') {
this.form.status = '0'
}
}
}
},
methods: {
//批量删除模块
//批量删除模块仅删除待接取status === '0'
handleModelsDelete() {
if (this.moduleIds.length === 0) return
this.$modal.confirm(`确定删除选中的 ${this.moduleIds.length} 条模块?`)
const deletableIds = this.selectedModules
.filter(item => String(item.status) === '0')
.map(item => item.moduleId)
const notDeletableCount = this.selectedModules.length - deletableIds.length
if (deletableIds.length === 0) {
this.$modal.msgError('请选择状态为“待接取”的模块进行删除')
return
}
const tip = notDeletableCount > 0
? `确定删除选中的 ${deletableIds.length} 条未接取模块?(其中 ${notDeletableCount} 条进行中或已完成,无法删除)`
: `确定删除选中的 ${deletableIds.length} 条模块?`
this.$modal.confirm(tip)
.then(() => {
// 后端若支持批量return delModules(this.moduleIds.join(','))
// 后端只支持单条:循环 Promise
const promises = this.moduleIds.map(id => delModels(id))
const promises = deletableIds.map(id => delModels(id))
return Promise.all(promises)
})
.then(() => {
this.$message.success('删除成功')
// 前端数组剔除已删记录,实现无刷新
this.moduleList = this.moduleList.filter(
m => !this.moduleIds.includes(m.moduleId)
)
this.moduleIds = [] // 清空选中
this.moduleMultiple = true // 重置按钮状态
})
.catch(() => {
this.moduleList = this.moduleList.filter(m => !deletableIds.includes(m.moduleId))
this.moduleIds = []
this.selectedModules = []
this.moduleMultiple = true
})
.catch(() => {})
},
// 1. 勾选回调
handleModuleSelectionChange(selection) {
this.selectedModules = selection
this.moduleIds = selection.map(item => item.moduleId)
this.kindType = 1;
console.log(this.moduleIds[0])
this.moduleMultiple = selection.length === 0 // 没勾选就禁用按钮
},
//上传单个文件
uploadSingleFile(fileObj) {
addDoc(fileObj).then(res => {
// console.log(res);
if (res.code === 200) {
console.log(`文件 ${fileObj.fileName} 上传成功`);
// 上传回调
handleFileUploadProgress() {},
handleFileSuccess() {
this.$message.success(this.uploadTarget === 'project' ? '项目文档上传成功' : '模块文档上传成功')
this.finishDialog = false
if (this.uploadTarget === 'module') {
this.getModuleList()
}
})
},
// 文件选择后触发:异步读取所有文件,并构建数组
handleFileChange(file, fileList) {
this.fileList = fileList
this.uploadFiles = []
const targetId = this.uploadTarget === 'project'
? this.form.projectId
: this.modelsForm.moduleId
const kindType = (this.uploadTarget === 'project' ? '0' : '1');
const promises = fileList.map(item => {
return new Promise((resolve, reject) => {
const reader = new FileReader()
const rawFile = item.raw
reader.readAsDataURL(rawFile)
reader.onload = e => {
const base64Str = e.target.result.split(',')[1]
resolve({
pmoduleId: targetId,
fileName: rawFile.name,
fileContent: base64Str,
uploadBy: Cookies.get('username'),
kindType: kindType,
uploadTime: moment().format('YYYY-MM-DD HH:mm:ss')
})
}
reader.onerror = reject
})
})
Promise.all(promises)
.then(res => {
this.uploadFiles = res
// console.log("文件:",this.uploadFiles)
})
.catch(err => {
this.$message.error('文件读取失败:' + err)
})
// 触发上传
triggerUpload() {
if (this.$refs.uploader) this.$refs.uploader.submit()
},
// 上传前校验
@@ -529,27 +529,7 @@ export default {
/* 点击弹窗“确定”时调用 */
submitUploadFiles() {
if (this.uploadFiles.length === 0) {
this.getModuleList();
this.finishDialog = false
return
}
const promises = this.uploadFiles.map(file => this.uploadSingleFile(file))
Promise.all(promises)
.then(() => {
this.$message.success(
this.uploadTarget === 'project' ? '项目文档上传成功' : '模块文档上传成功'
)
this.finishDialog = false
if (this.uploadTarget === 'module') {
this.getModuleList()
}
})
.catch(err => {
this.$message.error('部分文件上传失败')
console.error(err)
})
this.triggerUpload()
},
//上传文件并完成模块
@@ -570,8 +550,8 @@ export default {
//项目上传文件
openProjectUpload() {
this.uploadTarget = 'project'
this.fileList = []
this.uploadFiles = []
this.upload.fileList = []
this.upload.data = { kindType: 0, projectId: this.form.projectId }
this.finishDialog = true
},
//完成模块
@@ -581,8 +561,8 @@ export default {
this.finishDialog = true;
this.modelsForm.moduleId = row.moduleId
this.modelsForm.status = 2;
this.fileList = []
this.uploadFiles = []
this.upload.fileList = []
this.upload.data = { kindType: 1, projectId: this.projectId, moduleId: row.moduleId }
this.modelsForm.finishTime = moment().format('YYYY-MM-DD HH:mm:ss');
},
@@ -850,6 +830,10 @@ export default {
},
// 删除模块
deleteModule(row) {
if (String(row.status) !== '0') {
this.$modal.msgError('进行中或已完成的模块无法删除')
return
}
const id = row.moduleId
this.$modal.confirm('是否确认删除模块编号为"' + id + '"的数据项?').then(() => {
return delModels(id)

View File

@@ -11,7 +11,7 @@
Target Server Version : 80405 (8.4.5)
File Encoding : 65001
Date: 03/09/2025 19:29:22
Date: 07/09/2025 16:15:30
*/
SET NAMES utf8mb4;
@@ -31,12 +31,15 @@ CREATE TABLE `biz_doc` (
`upload_time` datetime NULL DEFAULT NULL COMMENT '上传时间',
`kind_type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '文档类型 0项目文档 1模块文档',
`del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '0' COMMENT '删除标志0=正常,2=软删除',
`doc_content` longblob NULL,
PRIMARY KEY (`doc_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '文档表' ROW_FORMAT = DYNAMIC;
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '文档表' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of biz_doc
-- ----------------------------
INSERT INTO `biz_doc` VALUES (2, 7, 9, 'Qt蓝牙.txt', '/profile/upload/inline', 'jsl2', '2025-09-04 16:08:53', '1', '0', 0xE585B3E997ADE5B9B6E9878DE590AFE8939DE789992CE8AEBEE7BDAEE8939DE78999E58FAFE8A7810D0A7375646F20686369636F6E666967206863693020646F776E0D0A7375646F20686369636F6E66696720686369302072657365740D0A7375646F20686369636F6E66696720686369302075700D0A7375646F20686369636F6E66696720686369302070697363616E200D0A2F2FE6B7BBE58AA0737070E69C8DE58AA12CE698BEE7A4BAE5BD93E5898DE79A84E69C8DE58AA10D0A7375646F20736470746F6F6C206164642053500D0A7375646F20736470746F6F6C2062726F777365206C6F63616C20);
INSERT INTO `biz_doc` VALUES (3, 7, 8, 'Qt蓝牙.txt', '/profile/upload/inline', 'jsl', '2025-09-04 16:41:08', '1', '0', 0xE585B3E997ADE5B9B6E9878DE590AFE8939DE789992CE8AEBEE7BDAEE8939DE78999E58FAFE8A7810D0A7375646F20686369636F6E666967206863693020646F776E0D0A7375646F20686369636F6E66696720686369302072657365740D0A7375646F20686369636F6E66696720686369302075700D0A7375646F20686369636F6E66696720686369302070697363616E200D0A2F2FE6B7BBE58AA0737070E69C8DE58AA12CE698BEE7A4BAE5BD93E5898DE79A84E69C8DE58AA10D0A7375646F20736470746F6F6C206164642053500D0A7375646F20736470746F6F6C2062726F777365206C6F63616C20);
-- ----------------------------
-- Table structure for biz_module
@@ -57,7 +60,7 @@ CREATE TABLE `biz_module` (
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`module_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 9 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '模块表' ROW_FORMAT = DYNAMIC;
) ENGINE = InnoDB AUTO_INCREMENT = 11 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '模块表' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of biz_module
@@ -69,7 +72,9 @@ INSERT INTO `biz_module` VALUES (4, 3, '模块3-1', '0', NULL, NULL, NULL, NULL,
INSERT INTO `biz_module` VALUES (5, 4, '机械臂', '2', '102', '2025-09-03 11:03:40', '2025-09-03 11:03:43', 102, '0', NULL, '2025-09-02 20:25:07', NULL, NULL);
INSERT INTO `biz_module` VALUES (6, 4, '图传', '0', NULL, NULL, NULL, NULL, '0', NULL, '2025-09-03 14:42:04', NULL, NULL);
INSERT INTO `biz_module` VALUES (7, 6, 'wifi', '2', '102', '2025-09-03 15:04:55', '2025-09-03 15:05:00', 102, '0', NULL, '2025-09-03 15:04:30', NULL, NULL);
INSERT INTO `biz_module` VALUES (8, 7, '图像惯导', '0', NULL, NULL, NULL, NULL, '0', NULL, '2025-09-03 17:07:03', NULL, NULL);
INSERT INTO `biz_module` VALUES (8, 7, '图像惯导', '1', '104', '2025-09-04 14:36:51', NULL, 104, '0', NULL, '2025-09-03 17:07:03', NULL, NULL);
INSERT INTO `biz_module` VALUES (9, 7, '测试模块', '1', '106', '2025-09-04 15:35:56', NULL, 106, '0', NULL, '2025-09-04 14:28:06', NULL, NULL);
INSERT INTO `biz_module` VALUES (10, 10, 'SLAM导航', '1', '107', '2025-09-07 14:23:58', NULL, 107, '0', NULL, '2025-09-07 14:20:18', NULL, NULL);
-- ----------------------------
-- Table structure for biz_project
@@ -87,20 +92,25 @@ CREATE TABLE `biz_project` (
`update_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间',
`finish_time` datetime NULL DEFAULT NULL COMMENT '当项目下所有模块完成时,写入此时时间',
`deadline` datetime NULL DEFAULT NULL COMMENT '项目截止日期',
`start_time` date NULL DEFAULT NULL,
`project_label` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '项目标签',
PRIMARY KEY (`project_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 8 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '项目表' ROW_FORMAT = DYNAMIC;
PRIMARY KEY (`project_id`) USING BTREE,
INDEX `idx_biz_project_start_time`(`start_time` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 11 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '项目表' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of biz_project
-- ----------------------------
INSERT INTO `biz_project` VALUES (1, '机械狗', 1, '1', '0', NULL, '2025-09-02 20:19:50', NULL, '2025-09-03 11:03:43', '2025-09-03 11:03:43', '2025-09-30 00:00:00', '项目');
INSERT INTO `biz_project` VALUES (2, '测试项目2', 2, '0', '0', 'admin', '2025-09-02 20:13:45', NULL, NULL, NULL, NULL, NULL);
INSERT INTO `biz_project` VALUES (3, '测试项目3', 3, '0', '0', 'admin', '2025-09-02 20:13:45', NULL, NULL, NULL, NULL, NULL);
INSERT INTO `biz_project` VALUES (4, '机械狗', 100, '1', '0', NULL, '2025-09-02 20:19:50', NULL, '2025-09-03 11:03:43', '2025-09-03 11:03:43', '2025-09-30 00:00:00', '项目');
INSERT INTO `biz_project` VALUES (5, '机械狗2', 1, '1', '0', NULL, '2025-09-02 20:19:50', NULL, '2025-09-03 11:03:43', '2025-09-03 11:03:43', '2025-09-30 00:00:00', '项目');
INSERT INTO `biz_project` VALUES (6, 'bsd', 100, '1', '0', NULL, '2025-09-03 15:04:04', NULL, '2025-09-03 15:05:00', '2025-09-03 15:05:00', '2025-09-02 00:00:00', '项目');
INSERT INTO `biz_project` VALUES (7, '机器狗送餐', 104, '0', '0', NULL, '2025-09-03 17:04:33', NULL, NULL, NULL, '2025-09-30 00:00:00', '任务项目');
INSERT INTO `biz_project` VALUES (1, '机械狗', 1, '1', '0', NULL, '2025-09-02 20:19:50', NULL, '2025-09-03 11:03:43', '2025-09-03 11:03:43', '2025-09-30 00:00:00', '2025-09-02', '项目');
INSERT INTO `biz_project` VALUES (2, '测试项目2', 2, '0', '0', 'admin', '2025-09-02 20:13:45', NULL, NULL, NULL, NULL, '2025-09-02', NULL);
INSERT INTO `biz_project` VALUES (3, '测试项目3', 3, '0', '0', 'admin', '2025-09-02 20:13:45', NULL, NULL, NULL, NULL, '2025-09-02', NULL);
INSERT INTO `biz_project` VALUES (4, '机械狗', 100, '0', '0', NULL, '2025-09-02 20:19:50', NULL, '2025-09-07 14:19:28', '2025-09-03 00:00:00', '2025-09-30 00:00:00', '2025-09-02', '项目');
INSERT INTO `biz_project` VALUES (5, '机械狗2', 1, '1', '0', NULL, '2025-09-02 20:19:50', NULL, '2025-09-07 14:19:05', '2025-09-03 00:00:00', '2025-09-30 00:00:00', '2025-09-02', '项目');
INSERT INTO `biz_project` VALUES (6, 'bsd', 100, '1', '0', NULL, '2025-09-03 15:04:04', NULL, '2025-09-07 14:16:19', '2025-09-03 00:00:00', '2025-09-02 00:00:00', '2025-09-03', '项目');
INSERT INTO `biz_project` VALUES (7, '机器狗送餐', 104, '0', '2', NULL, '2025-09-03 17:04:33', NULL, NULL, NULL, '2025-09-30 00:00:00', '2025-09-03', '任务项目');
INSERT INTO `biz_project` VALUES (8, '机器狗送餐', 104, '0', '2', NULL, '2025-09-07 14:10:04', NULL, '2025-09-07 14:10:26', NULL, '2025-12-01 00:00:00', '2025-09-10', '项目研究');
INSERT INTO `biz_project` VALUES (9, '机器狗送餐项目', 104, '2', '2', NULL, '2025-09-07 14:12:11', NULL, '2025-09-07 14:13:30', NULL, '2025-12-01 00:00:00', '2025-09-08', '项目研究');
INSERT INTO `biz_project` VALUES (10, '机械狗送餐项目', 104, '0', '0', NULL, '2025-09-07 14:20:07', NULL, NULL, NULL, '2025-09-20 00:00:00', '2025-09-01', '项目研究');
-- ----------------------------
-- Table structure for biz_project_user
@@ -113,7 +123,7 @@ CREATE TABLE `biz_project_user` (
`role_type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '角色类型 1创建者 2被指派人',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `uniq_project_user`(`project_id` ASC, `user_id` ASC, `role_type` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '项目用户关联表' ROW_FORMAT = DYNAMIC;
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '项目用户关联表' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of biz_project_user
@@ -427,7 +437,7 @@ CREATE TABLE `sys_config` (
INSERT INTO `sys_config` VALUES (1, '主框架页-默认皮肤样式名称', 'sys.index.skinName', 'skin-blue', 'Y', 'admin', '2025-09-02 20:12:56', '', NULL, '蓝色 skin-blue、绿色 skin-green、紫色 skin-purple、红色 skin-red、黄色 skin-yellow');
INSERT INTO `sys_config` VALUES (2, '用户管理-账号初始密码', 'sys.user.initPassword', '123456', 'Y', 'admin', '2025-09-02 20:12:56', '', NULL, '初始化密码 123456');
INSERT INTO `sys_config` VALUES (3, '主框架页-侧边栏主题', 'sys.index.sideTheme', 'theme-dark', 'Y', 'admin', '2025-09-02 20:12:56', '', NULL, '深色主题theme-dark浅色主题theme-light');
INSERT INTO `sys_config` VALUES (4, '账号自助-验证码开关', 'sys.account.captchaEnabled', 'true', 'Y', 'admin', '2025-09-02 20:12:56', '', NULL, '是否开启验证码功能true开启false关闭');
INSERT INTO `sys_config` VALUES (4, '账号自助-验证码开关', 'sys.account.captchaEnabled', 'false', 'Y', 'admin', '2025-09-02 20:12:56', '', NULL, '是否开启验证码功能true开启false关闭');
INSERT INTO `sys_config` VALUES (5, '账号自助-是否开启用户注册功能', 'sys.account.registerUser', 'false', 'Y', 'admin', '2025-09-02 20:12:56', '', NULL, '是否开启注册用户功能true开启false关闭');
INSERT INTO `sys_config` VALUES (6, '用户登录-黑名单列表', 'sys.login.blackIPList', '', 'Y', 'admin', '2025-09-02 20:12:56', '', NULL, '设置登录IP黑名单限制多个匹配项以;分隔,支持匹配(*通配、网段)');
INSERT INTO `sys_config` VALUES (7, '用户管理-初始密码修改策略', 'sys.account.initPasswordModify', '1', 'Y', 'admin', '2025-09-02 20:12:56', '', NULL, '0初始密码修改策略关闭没有任何提示1提醒用户如果未修改初始密码则在登录时就会提醒修改密码对话框');
@@ -604,7 +614,7 @@ CREATE TABLE `sys_job_log` (
`exception_info` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '异常信息',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`job_log_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '定时任务调度日志表' ROW_FORMAT = DYNAMIC;
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '定时任务调度日志表' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of sys_job_log
@@ -627,7 +637,7 @@ CREATE TABLE `sys_logininfor` (
PRIMARY KEY (`info_id`) USING BTREE,
INDEX `idx_sys_logininfor_s`(`status` ASC) USING BTREE,
INDEX `idx_sys_logininfor_lt`(`login_time` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 271 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统访问记录' ROW_FORMAT = DYNAMIC;
) ENGINE = InnoDB AUTO_INCREMENT = 340 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统访问记录' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of sys_logininfor
@@ -803,6 +813,75 @@ INSERT INTO `sys_logininfor` VALUES (267, 'jsl', '221.130.62.200', 'XX XX', 'Chr
INSERT INTO `sys_logininfor` VALUES (268, 'jsl', '221.130.62.200', 'XX XX', 'Chrome 13', 'Windows 10', '1', '用户不存在/密码错误', '2025-09-03 16:59:50');
INSERT INTO `sys_logininfor` VALUES (269, 'jsl', '221.130.62.200', 'XX XX', 'Chrome 13', 'Windows 10', '1', '用户不存在/密码错误', '2025-09-03 16:59:58');
INSERT INTO `sys_logininfor` VALUES (270, 'jsl', '221.130.62.200', 'XX XX', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-09-03 17:00:07');
INSERT INTO `sys_logininfor` VALUES (271, 'admin', '127.0.0.1', '内网IP', 'Chrome 12', 'Windows 10', '0', '登录成功', '2025-09-03 21:10:23');
INSERT INTO `sys_logininfor` VALUES (272, 'admin', '127.0.0.1', '内网IP', 'Chrome 12', 'Windows 10', '0', '退出成功', '2025-09-03 21:11:00');
INSERT INTO `sys_logininfor` VALUES (273, 'jsl', '127.0.0.1', '内网IP', 'Chrome 12', 'Windows 10', '1', '用户不存在/密码错误', '2025-09-03 21:11:06');
INSERT INTO `sys_logininfor` VALUES (274, 'jsl', '127.0.0.1', '内网IP', 'Chrome 12', 'Windows 10', '0', '登录成功', '2025-09-03 21:11:10');
INSERT INTO `sys_logininfor` VALUES (275, 'jsl', '127.0.0.1', '内网IP', 'Chrome 12', 'Windows 10', '0', '退出成功', '2025-09-03 21:46:42');
INSERT INTO `sys_logininfor` VALUES (276, 'jsl', '127.0.0.1', '内网IP', 'Chrome 12', 'Windows 10', '1', '用户不存在/密码错误', '2025-09-03 21:46:46');
INSERT INTO `sys_logininfor` VALUES (277, 'jsl', '127.0.0.1', '内网IP', 'Chrome 12', 'Windows 10', '1', '用户不存在/密码错误', '2025-09-03 21:46:49');
INSERT INTO `sys_logininfor` VALUES (278, 'jsl', '127.0.0.1', '内网IP', 'Chrome 12', 'Windows 10', '0', '登录成功', '2025-09-03 21:46:50');
INSERT INTO `sys_logininfor` VALUES (279, 'jsl', '127.0.0.1', '内网IP', 'Chrome 12', 'Windows 10', '1', '用户不存在/密码错误', '2025-09-03 21:59:56');
INSERT INTO `sys_logininfor` VALUES (280, 'jsl', '127.0.0.1', '内网IP', 'Chrome 12', 'Windows 10', '0', '登录成功', '2025-09-03 21:59:58');
INSERT INTO `sys_logininfor` VALUES (281, 'jsl', '127.0.0.1', '内网IP', 'Chrome 12', 'Windows 10', '0', '登录成功', '2025-09-03 22:55:50');
INSERT INTO `sys_logininfor` VALUES (282, 'jsl', '127.0.0.1', '内网IP', 'Chrome 12', 'Windows 10', '1', '用户不存在/密码错误', '2025-09-03 23:40:21');
INSERT INTO `sys_logininfor` VALUES (283, 'jsl', '127.0.0.1', '内网IP', 'Chrome 12', 'Windows 10', '1', '用户不存在/密码错误', '2025-09-03 23:40:25');
INSERT INTO `sys_logininfor` VALUES (284, 'jsl', '127.0.0.1', '内网IP', 'Chrome 12', 'Windows 10', '0', '登录成功', '2025-09-03 23:40:29');
INSERT INTO `sys_logininfor` VALUES (285, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-09-04 00:02:52');
INSERT INTO `sys_logininfor` VALUES (286, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-09-04 09:01:36');
INSERT INTO `sys_logininfor` VALUES (287, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-09-04 09:54:46');
INSERT INTO `sys_logininfor` VALUES (288, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '0', '退出成功', '2025-09-04 10:18:35');
INSERT INTO `sys_logininfor` VALUES (289, 'zm', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-09-04 10:18:43');
INSERT INTO `sys_logininfor` VALUES (290, 'zm', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '0', '退出成功', '2025-09-04 10:19:22');
INSERT INTO `sys_logininfor` VALUES (291, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-09-04 10:19:49');
INSERT INTO `sys_logininfor` VALUES (292, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '0', '退出成功', '2025-09-04 10:21:01');
INSERT INTO `sys_logininfor` VALUES (293, 'zm', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '1', '用户不存在/密码错误', '2025-09-04 10:21:07');
INSERT INTO `sys_logininfor` VALUES (294, 'zm', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '1', '用户不存在/密码错误', '2025-09-04 10:21:09');
INSERT INTO `sys_logininfor` VALUES (295, 'zm', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-09-04 10:21:14');
INSERT INTO `sys_logininfor` VALUES (296, 'zm', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '0', '退出成功', '2025-09-04 10:28:59');
INSERT INTO `sys_logininfor` VALUES (297, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-09-04 10:29:06');
INSERT INTO `sys_logininfor` VALUES (298, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-09-04 11:24:11');
INSERT INTO `sys_logininfor` VALUES (299, 'jsl', '127.0.0.1', '内网IP', 'Chrome 12', 'Windows 10', '0', '登录成功', '2025-09-04 14:27:02');
INSERT INTO `sys_logininfor` VALUES (300, 'jsl', '127.0.0.1', '内网IP', 'Chrome 12', 'Windows 10', '0', '退出成功', '2025-09-04 14:28:26');
INSERT INTO `sys_logininfor` VALUES (301, 'jsl2', '127.0.0.1', '内网IP', 'Chrome 12', 'Windows 10', '1', '用户不存在/密码错误', '2025-09-04 14:28:30');
INSERT INTO `sys_logininfor` VALUES (302, 'jsl2', '127.0.0.1', '内网IP', 'Chrome 12', 'Windows 10', '0', '登录成功', '2025-09-04 14:28:34');
INSERT INTO `sys_logininfor` VALUES (303, 'jsl2', '127.0.0.1', '内网IP', 'Chrome 12', 'Windows 10', '0', '退出成功', '2025-09-04 14:34:48');
INSERT INTO `sys_logininfor` VALUES (304, 'jsl', '127.0.0.1', '内网IP', 'Chrome 12', 'Windows 10', '1', '用户不存在/密码错误', '2025-09-04 14:34:53');
INSERT INTO `sys_logininfor` VALUES (305, 'jsl', '127.0.0.1', '内网IP', 'Chrome 12', 'Windows 10', '0', '登录成功', '2025-09-04 14:34:57');
INSERT INTO `sys_logininfor` VALUES (306, 'jsl', '127.0.0.1', '内网IP', 'Chrome 12', 'Windows 10', '0', '退出成功', '2025-09-04 14:41:04');
INSERT INTO `sys_logininfor` VALUES (307, 'jsl2', '127.0.0.1', '内网IP', 'Chrome 12', 'Windows 10', '0', '登录成功', '2025-09-04 14:41:08');
INSERT INTO `sys_logininfor` VALUES (308, 'jsl2', '127.0.0.1', '内网IP', 'Chrome 12', 'Windows 10', '1', '用户不存在/密码错误', '2025-09-04 15:32:08');
INSERT INTO `sys_logininfor` VALUES (309, 'jsl2', '127.0.0.1', '内网IP', 'Chrome 12', 'Windows 10', '0', '登录成功', '2025-09-04 15:32:11');
INSERT INTO `sys_logininfor` VALUES (310, 'zm', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '1', '用户不存在/密码错误', '2025-09-04 15:53:42');
INSERT INTO `sys_logininfor` VALUES (311, 'zm', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-09-04 15:53:50');
INSERT INTO `sys_logininfor` VALUES (312, 'admin', '127.0.0.1', '内网IP', 'Chrome 12', 'Windows 10', '0', '登录成功', '2025-09-04 16:31:29');
INSERT INTO `sys_logininfor` VALUES (313, 'admin', '127.0.0.1', '内网IP', 'Chrome 12', 'Windows 10', '0', '退出成功', '2025-09-04 16:31:56');
INSERT INTO `sys_logininfor` VALUES (314, 'jsl', '127.0.0.1', '内网IP', 'Chrome 12', 'Windows 10', '0', '登录成功', '2025-09-04 16:32:00');
INSERT INTO `sys_logininfor` VALUES (315, 'zm', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '0', '退出成功', '2025-09-04 16:32:26');
INSERT INTO `sys_logininfor` VALUES (316, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-09-04 16:33:29');
INSERT INTO `sys_logininfor` VALUES (317, 'jsl', '221.130.62.200', 'XX XX', 'Chrome 12', 'Windows 10', '0', '登录成功', '2025-09-04 17:02:32');
INSERT INTO `sys_logininfor` VALUES (318, 'jsl', '127.0.0.1', '内网IP', 'Chrome 12', 'Windows 10', '0', '登录成功', '2025-09-04 17:13:15');
INSERT INTO `sys_logininfor` VALUES (319, 'jsl', '221.130.62.200', 'XX XX', 'Chrome 12', 'Windows 10', '0', '登录成功', '2025-09-04 17:22:44');
INSERT INTO `sys_logininfor` VALUES (320, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-09-06 10:07:59');
INSERT INTO `sys_logininfor` VALUES (321, 'admin', '127.0.0.1', '内网IP', 'Chrome 12', 'Windows 10', '0', '登录成功', '2025-09-07 11:32:24');
INSERT INTO `sys_logininfor` VALUES (322, 'admin', '127.0.0.1', '内网IP', 'Chrome 12', 'Windows 10', '0', '登录成功', '2025-09-07 12:59:04');
INSERT INTO `sys_logininfor` VALUES (323, 'admin', '127.0.0.1', '内网IP', 'Chrome 14', 'Windows 10', '0', '登录成功', '2025-09-07 14:05:16');
INSERT INTO `sys_logininfor` VALUES (324, 'jsl', '221.130.62.200', 'XX XX', 'Chrome 13', 'Windows 10', '1', '用户不存在/密码错误', '2025-09-07 14:05:23');
INSERT INTO `sys_logininfor` VALUES (325, 'jsl', '221.130.62.200', 'XX XX', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-09-07 14:05:38');
INSERT INTO `sys_logininfor` VALUES (326, 'admin', '221.130.62.200', 'XX XX', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-09-07 14:06:48');
INSERT INTO `sys_logininfor` VALUES (327, 'admin', '127.0.0.1', '内网IP', 'Chrome 14', 'Windows 10', '0', '退出成功', '2025-09-07 14:12:42');
INSERT INTO `sys_logininfor` VALUES (328, 'zm', '127.0.0.1', '内网IP', 'Chrome 14', 'Windows 10', '1', '用户不存在/密码错误', '2025-09-07 14:12:49');
INSERT INTO `sys_logininfor` VALUES (329, 'zm', '127.0.0.1', '内网IP', 'Chrome 14', 'Windows 10', '0', '登录成功', '2025-09-07 14:12:57');
INSERT INTO `sys_logininfor` VALUES (330, 'zm', '127.0.0.1', '内网IP', 'Chrome 14', 'Windows 10', '0', '退出成功', '2025-09-07 14:15:14');
INSERT INTO `sys_logininfor` VALUES (331, 'admin', '127.0.0.1', '内网IP', 'Chrome 14', 'Windows 10', '0', '登录成功', '2025-09-07 14:15:22');
INSERT INTO `sys_logininfor` VALUES (332, 'admin', '221.130.62.200', 'XX XX', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-09-07 14:22:54');
INSERT INTO `sys_logininfor` VALUES (333, 'admin', '221.130.62.200', 'XX XX', 'Chrome 13', 'Windows 10', '0', '退出成功', '2025-09-07 14:23:25');
INSERT INTO `sys_logininfor` VALUES (334, 'chj', '221.130.62.200', 'XX XX', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-09-07 14:23:37');
INSERT INTO `sys_logininfor` VALUES (335, 'admin', '221.130.62.200', 'XX XX', 'Chrome 13', 'Windows 10', '0', '退出成功', '2025-09-07 14:29:04');
INSERT INTO `sys_logininfor` VALUES (336, 'zz', '221.130.62.200', 'XX XX', 'Chrome 13', 'Windows 10', '1', '用户不存在/密码错误', '2025-09-07 14:29:09');
INSERT INTO `sys_logininfor` VALUES (337, 'zz', '221.130.62.200', 'XX XX', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-09-07 14:29:16');
INSERT INTO `sys_logininfor` VALUES (338, 'zz', '221.130.62.200', 'XX XX', 'Chrome 13', 'Windows 10', '0', '退出成功', '2025-09-07 14:30:19');
INSERT INTO `sys_logininfor` VALUES (339, 'zz', '221.130.62.200', 'XX XX', 'Chrome 13', 'Windows 10', '0', '登录成功', '2025-09-07 14:30:24');
-- ----------------------------
-- Table structure for sys_menu
@@ -1000,7 +1079,7 @@ CREATE TABLE `sys_oper_log` (
INDEX `idx_sys_oper_log_bt`(`business_type` ASC) USING BTREE,
INDEX `idx_sys_oper_log_s`(`status` ASC) USING BTREE,
INDEX `idx_sys_oper_log_ot`(`oper_time` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 172 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '操作日志记录' ROW_FORMAT = DYNAMIC;
) ENGINE = InnoDB AUTO_INCREMENT = 224 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '操作日志记录' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of sys_oper_log
@@ -1077,6 +1156,58 @@ INSERT INTO `sys_oper_log` VALUES (168, '用户管理', 3, 'com.ruoyi.web.contro
INSERT INTO `sys_oper_log` VALUES (169, '用户管理', 1, 'com.ruoyi.web.controller.system.SysUserController.add()', 'POST', 1, 'plantManager', NULL, '/system/user', '221.130.62.200', 'XX XX', '{\"admin\":false,\"createBy\":\"plantManager\",\"nickName\":\"jsl\",\"params\":{},\"postIds\":[],\"roleIds\":[3,4,5],\"sex\":\"0\",\"status\":\"0\",\"userId\":104,\"userName\":\"jsl\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-09-03 16:57:44', 126);
INSERT INTO `sys_oper_log` VALUES (170, '项目', 1, 'com.ruoyi.project.controller.BizProjectController.add()', 'POST', 1, 'jsl', NULL, '/project/project', '221.130.62.200', 'XX XX', '{\"createTime\":\"2025-09-03 17:04:33\",\"deadline\":\"2025-09-30\",\"ownerId\":104,\"params\":{},\"projectId\":7,\"projectLabel\":\"任务项目\",\"projectName\":\"机器狗送餐\",\"status\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-09-03 17:04:33', 21);
INSERT INTO `sys_oper_log` VALUES (171, '模块', 1, 'com.ruoyi.models.controller.BizModuleController.add()', 'POST', 1, 'jsl', NULL, '/project/module', '221.130.62.200', 'XX XX', '{\"createTime\":\"2025-09-03 17:07:02\",\"moduleId\":8,\"moduleName\":\"图像惯导\",\"params\":{},\"projectId\":7,\"status\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-09-03 17:07:02', 18);
INSERT INTO `sys_oper_log` VALUES (172, '用户管理', 2, 'com.ruoyi.web.controller.system.SysUserController.edit()', 'PUT', 1, 'admin', NULL, '/system/user', '127.0.0.1', '内网IP', '{\"admin\":false,\"avatar\":\"\",\"createBy\":\"plantManager\",\"createTime\":\"2025-09-03 16:57:44\",\"delFlag\":\"0\",\"email\":\"\",\"loginDate\":\"2025-09-03 17:00:07\",\"loginIp\":\"221.130.62.200\",\"nickName\":\"jsl\",\"params\":{},\"phonenumber\":\"\",\"postIds\":[],\"roleIds\":[3,4,5],\"roles\":[{\"admin\":false,\"dataScope\":\"1\",\"deptCheckStrictly\":false,\"flag\":false,\"menuCheckStrictly\":false,\"params\":{},\"roleId\":3,\"roleKey\":\"platform_admin\",\"roleName\":\"平台管理员\",\"roleSort\":3,\"status\":\"0\"},{\"admin\":false,\"dataScope\":\"4\",\"deptCheckStrictly\":false,\"flag\":false,\"menuCheckStrictly\":false,\"params\":{},\"roleId\":4,\"roleKey\":\"project_admin\",\"roleName\":\"项目管理员\",\"roleSort\":4,\"status\":\"0\"},{\"admin\":false,\"dataScope\":\"2\",\"deptCheckStrictly\":false,\"flag\":false,\"menuCheckStrictly\":false,\"params\":{},\"roleId\":5,\"roleKey\":\"normal_user\",\"roleName\":\"普通用户\",\"roleSort\":5,\"status\":\"0\"}],\"sex\":\"0\",\"status\":\"0\",\"updateBy\":\"admin\",\"userId\":104,\"userName\":\"jsl\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-09-03 21:10:53', 233);
INSERT INTO `sys_oper_log` VALUES (173, '模块指派', 2, 'com.ruoyi.models.controller.BizModuleController.assignModule()', 'POST', 1, 'jsl', NULL, '/project/module/assign', '127.0.0.1', '内网IP', '{\"assignee\":\"jsl\",\"moduleId\":8,\"moduleName\":\"图像惯导\",\"params\":{}}', '{\"msg\":\"缺少必要的项目或模块信息\",\"code\":500}', 0, NULL, '2025-09-03 23:40:41', 5);
INSERT INTO `sys_oper_log` VALUES (174, '模块指派', 2, 'com.ruoyi.models.controller.BizModuleController.assignModule()', 'POST', 1, 'jsl', NULL, '/project/module/assign', '127.0.0.1', '内网IP', '{\"assignee\":\"jsl\",\"moduleId\":8,\"moduleName\":\"图像惯导\",\"params\":{}}', '{\"msg\":\"缺少必要的项目或模块信息\",\"code\":500}', 0, NULL, '2025-09-03 23:40:44', 1);
INSERT INTO `sys_oper_log` VALUES (175, '模块指派', 2, 'com.ruoyi.models.controller.BizModuleController.assignModule()', 'POST', 1, 'jsl', NULL, '/project/module/assign', '127.0.0.1', '内网IP', '{\"assignee\":\"jsl\",\"moduleId\":8,\"moduleName\":\"图像惯导\",\"params\":{}}', '{\"msg\":\"缺少必要的项目或模块信息\",\"code\":500}', 0, NULL, '2025-09-03 23:41:06', 0);
INSERT INTO `sys_oper_log` VALUES (176, '模块指派', 2, 'com.ruoyi.models.controller.BizModuleController.assignModule()', 'POST', 1, 'jsl', NULL, '/project/module/assign', '127.0.0.1', '内网IP', '{\"assignee\":\"jsl\",\"moduleId\":8,\"moduleName\":\"图像惯导\",\"params\":{}}', '{\"msg\":\"缺少必要的项目或模块信息\",\"code\":500}', 0, NULL, '2025-09-03 23:43:15', 0);
INSERT INTO `sys_oper_log` VALUES (177, '模块指派', 2, 'com.ruoyi.models.controller.BizModuleController.assignModule()', 'POST', 1, 'jsl', NULL, '/project/module/assign', '127.0.0.1', '内网IP', '{\"assignee\":\"jsl\",\"designatedUser\":104,\"moduleId\":8,\"moduleName\":\"图像惯导\",\"params\":{},\"projectId\":7}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-09-03 23:50:36', 121);
INSERT INTO `sys_oper_log` VALUES (178, '模块接取', 2, 'com.ruoyi.models.controller.BizModuleController.receiveModule()', 'POST', 1, 'jsl', NULL, '/project/module/receive/8', '127.0.0.1', '内网IP', '8', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-09-03 23:58:34', 74);
INSERT INTO `sys_oper_log` VALUES (179, '模块放弃', 2, 'com.ruoyi.models.controller.BizModuleController.abandonModule()', 'POST', 1, 'jsl', NULL, '/project/module/abandon/8', '127.0.0.1', '内网IP', '8', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-09-03 23:58:38', 63);
INSERT INTO `sys_oper_log` VALUES (180, '用户管理', 1, 'com.ruoyi.web.controller.system.SysUserController.add()', 'POST', 1, 'admin', NULL, '/system/user', '127.0.0.1', '内网IP', '{\"admin\":false,\"createBy\":\"admin\",\"nickName\":\"zm\",\"params\":{},\"postIds\":[],\"roleIds\":[3],\"status\":\"0\",\"userId\":105,\"userName\":\"zm\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-09-04 10:18:30', 695);
INSERT INTO `sys_oper_log` VALUES (181, '角色管理', 2, 'com.ruoyi.web.controller.system.SysRoleController.edit()', 'PUT', 1, 'admin', NULL, '/system/role', '127.0.0.1', '内网IP', '{\"admin\":false,\"createTime\":\"2025-09-02 20:12:56\",\"dataScope\":\"1\",\"delFlag\":\"0\",\"deptCheckStrictly\":true,\"flag\":false,\"menuCheckStrictly\":true,\"menuIds\":[1,100,2000,2002,1000,1001,1002,1003,1004,2001,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2020,2003,2016,2017,2018,2019,2036],\"params\":{},\"remark\":\"平台管理员\",\"roleId\":3,\"roleKey\":\"platform_admin\",\"roleName\":\"平台管理员\",\"roleSort\":3,\"status\":\"0\",\"updateBy\":\"admin\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-09-04 10:20:30', 372);
INSERT INTO `sys_oper_log` VALUES (182, '用户管理', 1, 'com.ruoyi.web.controller.system.SysUserController.add()', 'POST', 1, 'jsl', NULL, '/system/user', '127.0.0.1', '内网IP', '{\"admin\":false,\"createBy\":\"jsl\",\"nickName\":\"jsl2\",\"params\":{},\"postIds\":[],\"roleIds\":[5],\"sex\":\"0\",\"status\":\"0\",\"userId\":106,\"userName\":\"jsl2\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-09-04 14:27:40', 224);
INSERT INTO `sys_oper_log` VALUES (183, '模块', 1, 'com.ruoyi.models.controller.BizModuleController.add()', 'POST', 1, 'jsl', NULL, '/project/module', '127.0.0.1', '内网IP', '{\"createTime\":\"2025-09-04 14:28:06\",\"moduleId\":9,\"moduleName\":\"测试模块\",\"params\":{},\"projectId\":7,\"status\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-09-04 14:28:05', 52);
INSERT INTO `sys_oper_log` VALUES (184, '模块指派', 2, 'com.ruoyi.models.controller.BizModuleController.assignModule()', 'POST', 1, 'jsl', NULL, '/project/module/assign', '127.0.0.1', '内网IP', '{\"assignee\":\"jsl2\",\"designatedUser\":106,\"moduleId\":9,\"moduleName\":\"测试模块\",\"params\":{},\"projectId\":7}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-09-04 14:28:15', 76);
INSERT INTO `sys_oper_log` VALUES (185, '模块接取', 2, 'com.ruoyi.models.controller.BizModuleController.receiveModule()', 'POST', 1, 'jsl2', NULL, '/project/module/receive/9', '127.0.0.1', '内网IP', '9', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-09-04 14:28:55', 54);
INSERT INTO `sys_oper_log` VALUES (186, '模块放弃', 2, 'com.ruoyi.models.controller.BizModuleController.abandonModule()', 'POST', 1, 'jsl2', NULL, '/project/module/abandon/9', '127.0.0.1', '内网IP', '9', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-09-04 14:28:59', 50);
INSERT INTO `sys_oper_log` VALUES (187, '模块接取', 2, 'com.ruoyi.models.controller.BizModuleController.receiveModule()', 'POST', 1, 'jsl', NULL, '/project/module/receive/8', '127.0.0.1', '内网IP', '8', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-09-04 14:36:50', 49);
INSERT INTO `sys_oper_log` VALUES (188, '模块接取', 2, 'com.ruoyi.models.controller.BizModuleController.receiveModule()', 'POST', 1, 'jsl2', NULL, '/project/module/receive/9', '127.0.0.1', '内网IP', '9', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-09-04 15:35:55', 53);
INSERT INTO `sys_oper_log` VALUES (189, '文档', 1, 'com.ruoyi.project.controller.BizDocController.uploadDoc()', 'POST', 1, 'jsl2', NULL, '/project/doc/upload', '127.0.0.1', '内网IP', '{\"kindType\":\"1\",\"pmodel_id\":\"9\",\"kind_type\":\"1\",\"moduleId\":\"9\",\"projectId\":\"7\"}', '{\"msg\":\"\\r\\n### Error updating database. Cause: java.sql.SQLSyntaxErrorException: Unknown column \'doc_name\' in \'field list\'\\r\\n### The error may exist in file [D:\\\\SpringBoot_Projects\\\\RuoYi-Vue\\\\ruoyi-admin\\\\target\\\\classes\\\\mapper\\\\project\\\\BizDocMapper.xml]\\r\\n### The error may involve com.ruoyi.project.mapper.BizDocMapper.insertBizDoc-Inline\\r\\n### The error occurred while setting parameters\\r\\n### SQL: insert into biz_doc ( project_id, module_id, kind_type, doc_name, doc_path, create_by, create_time ) values ( ?, ?, ?, ?, ?, ?, ? )\\r\\n### Cause: java.sql.SQLSyntaxErrorException: Unknown column \'doc_name\' in \'field list\'\\n; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: Unknown column \'doc_name\' in \'field list\'\",\"code\":500}', 0, NULL, '2025-09-04 15:47:40', 273);
INSERT INTO `sys_oper_log` VALUES (190, '文档', 1, 'com.ruoyi.project.controller.BizDocController.uploadDoc()', 'POST', 1, 'jsl2', NULL, '/project/doc/upload', '127.0.0.1', '内网IP', '{\"kindType\":\"1\",\"pmodel_id\":\"9\",\"kind_type\":\"1\",\"moduleId\":\"9\",\"projectId\":\"7\"}', '{\"msg\":\"上传成功\",\"fileName\":\"/profile/upload/2025/09/04/vue界面第二版_20250904155208A001.txt\",\"code\":200,\"url\":\"http://localhost:8080/profile/upload/2025/09/04/vue界面第二版_20250904155208A001.txt\",\"originalFilename\":\"vue界面第二版.txt\"}', 0, NULL, '2025-09-04 15:52:08', 198);
INSERT INTO `sys_oper_log` VALUES (191, '文档', 5, 'com.ruoyi.project.controller.BizDocController.download()', 'GET', 1, 'jsl2', NULL, '/project/doc/download/1', '127.0.0.1', '内网IP', '{}', NULL, 0, NULL, '2025-09-04 16:00:44', 20);
INSERT INTO `sys_oper_log` VALUES (192, '文档', 5, 'com.ruoyi.project.controller.BizDocController.download()', 'GET', 1, 'jsl2', NULL, '/project/doc/download/1', '127.0.0.1', '内网IP', '{}', NULL, 0, NULL, '2025-09-04 16:04:32', 61);
INSERT INTO `sys_oper_log` VALUES (193, '文档', 1, 'com.ruoyi.project.controller.BizDocController.uploadDoc()', 'POST', 1, 'jsl2', NULL, '/project/doc/upload', '127.0.0.1', '内网IP', '{\"kindType\":\"1\",\"pmodel_id\":\"9\",\"kind_type\":\"1\",\"moduleId\":\"9\",\"projectId\":\"7\"}', '{\"msg\":\"上传成功\",\"code\":200}', 0, NULL, '2025-09-04 16:08:53', 128);
INSERT INTO `sys_oper_log` VALUES (194, '文档', 5, 'com.ruoyi.project.controller.BizDocController.download()', 'GET', 1, 'jsl2', NULL, '/project/doc/download/2', '127.0.0.1', '内网IP', '{}', NULL, 0, NULL, '2025-09-04 16:09:00', 17);
INSERT INTO `sys_oper_log` VALUES (195, '文档', 1, 'com.ruoyi.project.controller.BizDocController.uploadDoc()', 'POST', 1, 'jsl', NULL, '/project/doc/upload', '127.0.0.1', '内网IP', '{\"kindType\":\"1\",\"pmodel_id\":\"8\",\"kind_type\":\"1\",\"moduleId\":\"8\",\"projectId\":\"7\"}', '{\"msg\":\"上传成功\",\"code\":200}', 0, NULL, '2025-09-04 16:41:06', 152);
INSERT INTO `sys_oper_log` VALUES (196, '文档', 5, 'com.ruoyi.project.controller.BizDocController.download()', 'GET', 1, 'jsl', NULL, '/project/doc/download/3', '127.0.0.1', '内网IP', '{}', NULL, 0, NULL, '2025-09-04 16:41:10', 17);
INSERT INTO `sys_oper_log` VALUES (197, '用户管理', 3, 'com.ruoyi.web.controller.system.SysUserController.remove()', 'DELETE', 1, 'jsl', NULL, '/system/user/100,101,102,103,106', '221.130.62.200', 'XX XX', '[100,101,102,103,106]', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-09-07 14:06:39', 96);
INSERT INTO `sys_oper_log` VALUES (198, '项目', 3, 'com.ruoyi.project.controller.BizProjectController.remove()', 'DELETE', 1, 'jsl', NULL, '/project/project/7', '221.130.62.200', 'XX XX', '[7]', NULL, 1, '项目下存在已接取或已完成的模块,无法删除', '2025-09-07 14:08:30', 9);
INSERT INTO `sys_oper_log` VALUES (199, '项目', 1, 'com.ruoyi.project.controller.BizProjectController.add()', 'POST', 1, 'jsl', NULL, '/project/project', '221.130.62.200', 'XX XX', '{\"createTime\":\"2025-09-07 14:10:04\",\"deadline\":\"2025-12-01\",\"ownerId\":104,\"params\":{},\"projectId\":8,\"projectLabel\":\"项目研究\",\"projectName\":\"机器狗送餐\",\"startTime\":\"2025-09-07\",\"status\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-09-07 14:10:04', 27);
INSERT INTO `sys_oper_log` VALUES (200, '项目', 2, 'com.ruoyi.project.controller.BizProjectController.edit()', 'PUT', 1, 'jsl', NULL, '/project/project', '221.130.62.200', 'XX XX', '{\"createTime\":\"2025-09-07 14:10:04\",\"deadline\":\"2025-12-01\",\"delFlag\":\"0\",\"ownerId\":104,\"params\":{},\"projectId\":8,\"projectLabel\":\"项目研究\",\"projectName\":\"机器狗送餐\",\"startTime\":\"2025-09-10\",\"status\":\"0\",\"updateTime\":\"2025-09-07 14:10:26\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-09-07 14:10:26', 12);
INSERT INTO `sys_oper_log` VALUES (201, '项目', 3, 'com.ruoyi.project.controller.BizProjectController.remove()', 'DELETE', 1, 'jsl', NULL, '/project/project/8', '221.130.62.200', 'XX XX', '[8]', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-09-07 14:10:37', 18);
INSERT INTO `sys_oper_log` VALUES (202, '项目', 1, 'com.ruoyi.project.controller.BizProjectController.add()', 'POST', 1, 'jsl', NULL, '/project/project', '221.130.62.200', 'XX XX', '{\"createTime\":\"2025-09-07 14:12:10\",\"deadline\":\"2025-12-01\",\"ownerId\":104,\"params\":{},\"projectId\":9,\"projectLabel\":\"项目研究\",\"projectName\":\"机器狗送餐项目\",\"startTime\":\"2025-09-08\",\"status\":\"2\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-09-07 14:12:10', 14);
INSERT INTO `sys_oper_log` VALUES (203, '项目', 2, 'com.ruoyi.project.controller.BizProjectController.edit()', 'PUT', 1, 'jsl', NULL, '/project/project', '221.130.62.200', 'XX XX', '{\"createTime\":\"2025-09-07 14:12:11\",\"deadline\":\"2025-12-01\",\"delFlag\":\"0\",\"ownerId\":104,\"params\":{},\"projectId\":9,\"projectLabel\":\"项目研究\",\"projectName\":\"机器狗送餐项目\",\"startTime\":\"2025-09-08\",\"status\":\"2\",\"updateTime\":\"2025-09-07 14:13:30\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-09-07 14:13:30', 11);
INSERT INTO `sys_oper_log` VALUES (204, '用户管理', 2, 'com.ruoyi.web.controller.system.SysUserController.edit()', 'PUT', 1, 'zm', NULL, '/system/user', '127.0.0.1', '内网IP', '{\"admin\":false,\"avatar\":\"\",\"createBy\":\"admin\",\"createTime\":\"2025-09-04 10:18:30\",\"delFlag\":\"0\",\"email\":\"\",\"loginDate\":\"2025-09-07 14:12:57\",\"loginIp\":\"127.0.0.1\",\"nickName\":\"zm\",\"params\":{},\"phonenumber\":\"\",\"postIds\":[],\"roleIds\":[3,4,5],\"roles\":[{\"admin\":false,\"dataScope\":\"1\",\"deptCheckStrictly\":false,\"flag\":false,\"menuCheckStrictly\":false,\"params\":{},\"roleId\":3,\"roleKey\":\"platform_admin\",\"roleName\":\"平台管理员\",\"roleSort\":3,\"status\":\"0\"}],\"sex\":\"0\",\"status\":\"0\",\"updateBy\":\"zm\",\"userId\":105,\"userName\":\"zm\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-09-07 14:14:16', 260);
INSERT INTO `sys_oper_log` VALUES (205, '模块', 1, 'com.ruoyi.models.controller.BizModuleController.add()', 'POST', 1, 'jsl', NULL, '/project/module', '221.130.62.200', 'XX XX', '{\"moduleName\":\"SLAM导航\",\"params\":{},\"projectId\":9,\"status\":\"0\"}', '{\"msg\":\"项目状态不允许新增模块\",\"code\":500}', 0, NULL, '2025-09-07 14:15:10', 9);
INSERT INTO `sys_oper_log` VALUES (206, '模块', 1, 'com.ruoyi.models.controller.BizModuleController.add()', 'POST', 1, 'jsl', NULL, '/project/module', '221.130.62.200', 'XX XX', '{\"moduleName\":\"SLAM导航\",\"params\":{},\"projectId\":9,\"status\":\"0\"}', '{\"msg\":\"项目状态不允许新增模块\",\"code\":500}', 0, NULL, '2025-09-07 14:15:14', 5);
INSERT INTO `sys_oper_log` VALUES (207, '模块', 1, 'com.ruoyi.models.controller.BizModuleController.add()', 'POST', 1, 'jsl', NULL, '/project/module', '221.130.62.200', 'XX XX', '{\"moduleName\":\"SLAM导航\",\"params\":{},\"projectId\":9,\"status\":\"0\"}', '{\"msg\":\"项目状态不允许新增模块\",\"code\":500}', 0, NULL, '2025-09-07 14:15:19', 4);
INSERT INTO `sys_oper_log` VALUES (208, '模块', 1, 'com.ruoyi.models.controller.BizModuleController.add()', 'POST', 1, 'jsl', NULL, '/project/module', '221.130.62.200', 'XX XX', '{\"moduleName\":\"SLAM导航\",\"params\":{},\"projectId\":9,\"status\":\"0\"}', '{\"msg\":\"项目状态不允许新增模块\",\"code\":500}', 0, NULL, '2025-09-07 14:15:21', 4);
INSERT INTO `sys_oper_log` VALUES (209, '模块', 1, 'com.ruoyi.models.controller.BizModuleController.add()', 'POST', 1, 'jsl', NULL, '/project/module', '221.130.62.200', 'XX XX', '{\"moduleName\":\"SLAM导航\",\"params\":{},\"projectId\":9,\"status\":\"0\"}', '{\"msg\":\"项目状态不允许新增模块\",\"code\":500}', 0, NULL, '2025-09-07 14:15:28', 5);
INSERT INTO `sys_oper_log` VALUES (210, '模块', 1, 'com.ruoyi.models.controller.BizModuleController.add()', 'POST', 1, 'jsl', NULL, '/project/module', '221.130.62.200', 'XX XX', '{\"moduleName\":\"SLAM导航\",\"params\":{},\"projectId\":9,\"status\":\"0\"}', '{\"msg\":\"项目状态不允许新增模块\",\"code\":500}', 0, NULL, '2025-09-07 14:15:52', 5);
INSERT INTO `sys_oper_log` VALUES (211, '项目', 2, 'com.ruoyi.project.controller.BizProjectController.edit()', 'PUT', 1, 'admin', NULL, '/project/project', '127.0.0.1', '内网IP', '{\"createTime\":\"2025-09-03 15:04:04\",\"deadline\":\"2025-09-02\",\"delFlag\":\"0\",\"finishTime\":\"2025-09-03\",\"ownerId\":100,\"params\":{},\"projectId\":6,\"projectLabel\":\"项目\",\"projectName\":\"bsd\",\"startTime\":\"2025-09-03\",\"status\":\"1\",\"updateTime\":\"2025-09-07 14:16:19\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-09-07 14:16:20', 67);
INSERT INTO `sys_oper_log` VALUES (212, '模块指派', 2, 'com.ruoyi.models.controller.BizModuleController.assignModule()', 'POST', 1, 'admin', NULL, '/project/module/assign', '127.0.0.1', '内网IP', '{\"assignee\":\"zm\",\"moduleId\":4,\"moduleName\":\"模块3-1\",\"params\":{},\"projectId\":3}', '{\"msg\":\"无权指派该项目的模块\",\"code\":500}', 0, NULL, '2025-09-07 14:18:21', 42);
INSERT INTO `sys_oper_log` VALUES (213, '模块指派', 2, 'com.ruoyi.models.controller.BizModuleController.assignModule()', 'POST', 1, 'admin', NULL, '/project/module/assign', '127.0.0.1', '内网IP', '{\"assignee\":\"zm\",\"moduleId\":4,\"moduleName\":\"模块3-1\",\"params\":{},\"projectId\":3}', '{\"msg\":\"无权指派该项目的模块\",\"code\":500}', 0, NULL, '2025-09-07 14:18:23', 24);
INSERT INTO `sys_oper_log` VALUES (214, '项目', 3, 'com.ruoyi.project.controller.BizProjectController.remove()', 'DELETE', 1, 'jsl', NULL, '/project/project/9', '221.130.62.200', 'XX XX', '[9]', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-09-07 14:18:46', 19);
INSERT INTO `sys_oper_log` VALUES (215, '项目', 2, 'com.ruoyi.project.controller.BizProjectController.edit()', 'PUT', 1, 'admin', NULL, '/project/project', '127.0.0.1', '内网IP', '{\"createTime\":\"2025-09-02 20:19:50\",\"deadline\":\"2025-09-30\",\"delFlag\":\"0\",\"finishTime\":\"2025-09-03\",\"ownerId\":1,\"params\":{},\"projectId\":5,\"projectLabel\":\"项目\",\"projectName\":\"机械狗2\",\"startTime\":\"2025-09-02\",\"status\":\"1\",\"updateTime\":\"2025-09-07 14:19:05\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-09-07 14:19:06', 42);
INSERT INTO `sys_oper_log` VALUES (216, '项目', 2, 'com.ruoyi.project.controller.BizProjectController.edit()', 'PUT', 1, 'admin', NULL, '/project/project', '127.0.0.1', '内网IP', '{\"createTime\":\"2025-09-02 20:19:50\",\"deadline\":\"2025-09-30\",\"delFlag\":\"0\",\"finishTime\":\"2025-09-03\",\"ownerId\":100,\"params\":{},\"projectId\":4,\"projectLabel\":\"项目\",\"projectName\":\"机械狗\",\"startTime\":\"2025-09-02\",\"status\":\"0\",\"updateTime\":\"2025-09-07 14:19:27\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-09-07 14:19:28', 40);
INSERT INTO `sys_oper_log` VALUES (217, '项目', 1, 'com.ruoyi.project.controller.BizProjectController.add()', 'POST', 1, 'jsl', NULL, '/project/project', '221.130.62.200', 'XX XX', '{\"createTime\":\"2025-09-07 14:20:07\",\"deadline\":\"2025-09-20\",\"ownerId\":104,\"params\":{},\"projectId\":10,\"projectLabel\":\"项目研究\",\"projectName\":\"机械狗送餐项目\",\"startTime\":\"2025-09-01\",\"status\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-09-07 14:20:07', 14);
INSERT INTO `sys_oper_log` VALUES (218, '模块', 1, 'com.ruoyi.models.controller.BizModuleController.add()', 'POST', 1, 'jsl', NULL, '/project/module', '221.130.62.200', 'XX XX', '{\"createTime\":\"2025-09-07 14:20:18\",\"moduleId\":10,\"moduleName\":\"SLAM导航\",\"params\":{},\"projectId\":10,\"status\":\"0\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-09-07 14:20:18', 18);
INSERT INTO `sys_oper_log` VALUES (219, '用户管理', 1, 'com.ruoyi.web.controller.system.SysUserController.add()', 'POST', 1, 'jsl', NULL, '/system/user', '221.130.62.200', 'XX XX', '{\"admin\":false,\"createBy\":\"jsl\",\"nickName\":\"chj\",\"params\":{},\"postIds\":[],\"roleIds\":[4,5],\"sex\":\"0\",\"status\":\"0\",\"userId\":107,\"userName\":\"chj\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-09-07 14:21:05', 105);
INSERT INTO `sys_oper_log` VALUES (220, '模块指派', 2, 'com.ruoyi.models.controller.BizModuleController.assignModule()', 'POST', 1, 'jsl', NULL, '/project/module/assign', '221.130.62.200', 'XX XX', '{\"assignee\":\"chj\",\"designatedUser\":107,\"moduleId\":10,\"moduleName\":\"SLAM导航\",\"params\":{},\"projectId\":10}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-09-07 14:22:21', 23);
INSERT INTO `sys_oper_log` VALUES (221, '用户管理', 1, 'com.ruoyi.web.controller.system.SysUserController.add()', 'POST', 1, 'admin', NULL, '/system/user', '221.130.62.200', 'XX XX', '{\"admin\":false,\"createBy\":\"admin\",\"nickName\":\"zz\",\"params\":{},\"postIds\":[],\"roleIds\":[4,5],\"status\":\"0\",\"userId\":108,\"userName\":\"zz\"}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-09-07 14:23:18', 101);
INSERT INTO `sys_oper_log` VALUES (222, '模块接取', 2, 'com.ruoyi.models.controller.BizModuleController.receiveModule()', 'POST', 1, 'chj', NULL, '/project/module/receive/10', '221.130.62.200', 'XX XX', '10', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-09-07 14:23:58', 19);
INSERT INTO `sys_oper_log` VALUES (223, '个人信息', 2, 'com.ruoyi.web.controller.system.SysProfileController.updatePwd()', 'PUT', 1, 'zz', NULL, '/system/user/profile/updatePwd', '221.130.62.200', 'XX XX', '{}', '{\"msg\":\"操作成功\",\"code\":200}', 0, NULL, '2025-09-07 14:30:10', 233);
-- ----------------------------
-- Table structure for sys_post
@@ -1130,9 +1261,8 @@ CREATE TABLE `sys_role` (
-- Records of sys_role
-- ----------------------------
INSERT INTO `sys_role` VALUES (1, '超级管理员', 'admin', 1, '1', 1, 1, '0', '0', 'admin', '2025-09-02 20:12:56', '', NULL, '超级管理员');
INSERT INTO `sys_role` VALUES (2, '普通角色', 'common', 2, '4', 1, 1, '0', '2', 'admin', '2025-09-02 20:12:56', '', NULL, '普通角色');
INSERT INTO `sys_role` VALUES (3, '平台管理员', 'platform_admin', 3, '1', 1, 1, '0', '0', 'admin', '2025-09-02 20:12:56', 'admin', '2025-09-02 21:33:49', '平台管理员');
INSERT INTO `sys_role` VALUES (4, '项目管理员', 'project_admin', 4, '4', 1, 1, '0', '0', 'admin', '2025-09-02 20:12:56', 'admin', '2025-09-03 16:40:47', '项目管理员');
INSERT INTO `sys_role` VALUES (3, '平台管理员', 'platform_admin', 3, '1', 1, 1, '0', '0', 'admin', '2025-09-02 20:12:56', 'admin', '2025-09-04 10:20:29', '平台管理员');
INSERT INTO `sys_role` VALUES (4, '项目管理员', 'project_admin', 4, '1', 1, 1, '0', '0', 'admin', '2025-09-02 20:12:56', 'admin', '2025-09-03 16:40:47', '项目管理员');
INSERT INTO `sys_role` VALUES (5, '普通用户', 'normal_user', 5, '2', 1, 1, '0', '0', 'admin', '2025-09-02 20:12:56', 'admin', '2025-09-03 16:40:35', '普通用户');
-- ----------------------------
@@ -1198,14 +1328,7 @@ INSERT INTO `sys_role_menu` VALUES (3, 2017);
INSERT INTO `sys_role_menu` VALUES (3, 2018);
INSERT INTO `sys_role_menu` VALUES (3, 2019);
INSERT INTO `sys_role_menu` VALUES (3, 2020);
INSERT INTO `sys_role_menu` VALUES (3, 2021);
INSERT INTO `sys_role_menu` VALUES (3, 2022);
INSERT INTO `sys_role_menu` VALUES (3, 2023);
INSERT INTO `sys_role_menu` VALUES (3, 2024);
INSERT INTO `sys_role_menu` VALUES (3, 2025);
INSERT INTO `sys_role_menu` VALUES (3, 2026);
INSERT INTO `sys_role_menu` VALUES (3, 2027);
INSERT INTO `sys_role_menu` VALUES (3, 2028);
INSERT INTO `sys_role_menu` VALUES (3, 2036);
INSERT INTO `sys_role_menu` VALUES (4, 2000);
INSERT INTO `sys_role_menu` VALUES (4, 2001);
INSERT INTO `sys_role_menu` VALUES (4, 2002);
@@ -1265,18 +1388,22 @@ CREATE TABLE `sys_user` (
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`user_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 105 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户信息表' ROW_FORMAT = DYNAMIC;
) ENGINE = InnoDB AUTO_INCREMENT = 109 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户信息表' ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of sys_user
-- ----------------------------
INSERT INTO `sys_user` VALUES (1, NULL, 'admin', '若依', '00', 'ry@163.com', '15888888888', '1', '', '$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', '0', '0', '221.130.62.200', '2025-09-03 16:38:26', '2025-09-02 20:12:55', 'admin', '2025-09-02 20:12:55', '', '2025-09-03 16:38:26', '管理员');
INSERT INTO `sys_user` VALUES (1, NULL, 'admin', '若依', '00', 'ry@163.com', '15888888888', '1', '', '$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', '0', '0', '221.130.62.200', '2025-09-07 14:22:54', '2025-09-02 20:12:55', 'admin', '2025-09-02 20:12:55', '', '2025-09-07 14:22:54', '管理员');
INSERT INTO `sys_user` VALUES (2, 105, 'ry', '若依', '00', 'ry@qq.com', '15666666666', '1', '', '$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', '0', '2', '127.0.0.1', '2025-09-02 20:12:55', '2025-09-02 20:12:55', 'admin', '2025-09-02 20:12:55', 'admin', '2025-09-02 21:36:23', '测试员');
INSERT INTO `sys_user` VALUES (100, NULL, 'plantManager', 'tzt', '00', '', '', '0', '', '$2a$10$6oVb/0Md4pl2lBOHAI8E7ez80d9yzVEVxaVVjvXIM7de9aVOfOZTe', '0', '0', '221.130.62.200', '2025-09-03 16:55:44', NULL, 'admin', '2025-09-02 20:14:24', 'admin', '2025-09-03 16:55:44', NULL);
INSERT INTO `sys_user` VALUES (100, NULL, 'plantManager', 'tzt', '00', '', '', '0', '', '$2a$10$6oVb/0Md4pl2lBOHAI8E7ez80d9yzVEVxaVVjvXIM7de9aVOfOZTe', '0', '2', '221.130.62.200', '2025-09-03 16:55:44', NULL, 'admin', '2025-09-02 20:14:24', 'admin', '2025-09-03 16:55:44', NULL);
INSERT INTO `sys_user` VALUES (101, NULL, 'commonUser', '普通用户', '00', '', '', '0', '', '$2a$10$3vqOOnkmIckg0pKOX0KttuMiHrPZhjIfxt.uiyckmj1A6kf7xz326', '0', '2', '127.0.0.1', '2025-09-03 00:00:21', NULL, 'plantManager', '2025-09-02 21:34:34', 'admin', '2025-09-03 00:00:23', NULL);
INSERT INTO `sys_user` VALUES (102, NULL, 'CommonUser', '普通用户', '00', '', '', '0', '', '$2a$10$hulZDUPxrReiW6gOrZ.DfOEvanoDATqt6zZQFzjzTC5F5ZzCjUAQu', '0', '2', '127.0.0.1', '2025-09-03 15:04:49', NULL, 'plantManager', '2025-09-03 00:01:20', '', '2025-09-03 15:04:48', NULL);
INSERT INTO `sys_user` VALUES (103, NULL, 'ProjectManager', '项目管理员', '00', '', '', '0', '', '$2a$10$O23Cavz0t6eDwL6/G08rF.mupXVBzNTRkX8W6OBEtYYR6.erkKbpu', '0', '2', '221.130.62.200', '2025-09-03 16:01:54', NULL, 'plantManager', '2025-09-03 16:01:36', '', '2025-09-03 16:01:53', NULL);
INSERT INTO `sys_user` VALUES (104, NULL, 'jsl', 'jsl', '00', '', '', '0', '', '$2a$10$gC1HmgyVeuD57ofxtQZgYOqFSwN8y.rJRgrClCtUeBWZTC/bw0uiy', '0', '0', '221.130.62.200', '2025-09-03 17:00:07', NULL, 'plantManager', '2025-09-03 16:57:44', '', '2025-09-03 17:00:07', NULL);
INSERT INTO `sys_user` VALUES (104, NULL, 'jsl', 'jsl', '00', '', '', '0', '', '$2a$10$gC1HmgyVeuD57ofxtQZgYOqFSwN8y.rJRgrClCtUeBWZTC/bw0uiy', '0', '0', '221.130.62.200', '2025-09-07 14:05:38', NULL, 'plantManager', '2025-09-03 16:57:44', 'admin', '2025-09-07 14:05:38', NULL);
INSERT INTO `sys_user` VALUES (105, NULL, 'zm', 'zm', '00', '', '', '0', '', '$2a$10$PiC/8BeAAsgqSA/aQoVt3e0ogoSEsd80KCuI0GH8oEqkZajaOfB62', '0', '0', '127.0.0.1', '2025-09-07 14:12:57', NULL, 'admin', '2025-09-04 10:18:30', 'zm', '2025-09-07 14:14:16', NULL);
INSERT INTO `sys_user` VALUES (106, NULL, 'jsl2', 'jsl2', '00', '', '', '0', '', '$2a$10$0RN8JWDIH1Nr4xKdwCA1POFGF5SsGL6SGIfsV2d73z6H8dm3xIwQ6', '0', '2', '127.0.0.1', '2025-09-04 15:32:12', NULL, 'jsl', '2025-09-04 14:27:40', '', '2025-09-04 15:32:11', NULL);
INSERT INTO `sys_user` VALUES (107, NULL, 'chj', 'chj', '00', '', '', '0', '', '$2a$10$MPj8YeTyG3tsiz03dx0Lz.N4AhzL6aDBtUR3ra/UTv2NZr4YsQklC', '0', '0', '221.130.62.200', '2025-09-07 14:23:38', NULL, 'jsl', '2025-09-07 14:21:05', '', '2025-09-07 14:23:37', NULL);
INSERT INTO `sys_user` VALUES (108, NULL, 'zz', 'zz', '00', '', '', '0', '', '$2a$10$QQRnlU4zkTNfsNiDvcDIZeiYq8rAqyaWc9DlHfRr63ug8TdIHjdde', '0', '0', '221.130.62.200', '2025-09-07 14:30:24', '2025-09-07 14:30:10', 'admin', '2025-09-07 14:23:18', '', '2025-09-07 14:30:24', NULL);
-- ----------------------------
-- Table structure for sys_user_post
@@ -1307,9 +1434,15 @@ CREATE TABLE `sys_user_role` (
-- Records of sys_user_role
-- ----------------------------
INSERT INTO `sys_user_role` VALUES (1, 1);
INSERT INTO `sys_user_role` VALUES (100, 3);
INSERT INTO `sys_user_role` VALUES (104, 3);
INSERT INTO `sys_user_role` VALUES (104, 4);
INSERT INTO `sys_user_role` VALUES (104, 5);
INSERT INTO `sys_user_role` VALUES (105, 3);
INSERT INTO `sys_user_role` VALUES (105, 4);
INSERT INTO `sys_user_role` VALUES (105, 5);
INSERT INTO `sys_user_role` VALUES (107, 4);
INSERT INTO `sys_user_role` VALUES (107, 5);
INSERT INTO `sys_user_role` VALUES (108, 4);
INSERT INTO `sys_user_role` VALUES (108, 5);
SET FOREIGN_KEY_CHECKS = 1;