1. 从资料中找到部门管理的产品原型和需求文档
上传图片, 编写下述的提示词:
请根据提供的页面原型和需求说明, 帮我分析一下部门管理设计到几张表, 具体是什么表, 只需要给出设计到几张表即可, 不需要具体的字段及建表语句。(请严格根据页面原型和需求文档分析)
注意:ai回答后,一定要验证答案的正确性
部门管理模块只有一张表, 部门表
2. 从资料中找到员工管理的产品原型和需求文档
上传图片, 编写下述的提示词:
请根据提供的页面原型和需求说明, 再帮我分析一下员工管理设计到几张表, 具体是什么表, 只需要给出设计到几张表即可, 不需要具体的字段及建表语句。(请严格根据页面原型和需求文档分析)
注意:ai回答后,一定要验证答案的正确性
员工管理模块涉及到两张表, 包含员工表和员工经历表
3. 分析表之间的关系
编写下述的提示词:
好的, 我知道了部门管理及员工管理模块, 共涉及三张表, 分别是:部门表, 员工表, 员工经历表, 请帮我分析一下这三张表之间的关系。(一对一, 一对多, 多对多)
注意:ai回答后,一定要验证答案的正确性
部门表:员工表 = 1:n 员工表:员工经历表 = 1:n
注:在多的一方设置外键,ai的回答一般没啥问题
4. 设置建表语句
编写部门表的建表语句:
编写下述的提示词:
那接下来请根据提供的部门管理的页面和需求文档, 帮我设计一下部门表的表结构 , 注意:目前只考虑部门表, 请参照提供的需求说明,为部门表的每个字段设置 合适的字段类型和约束(严格根据页面原型和需求文档设计)。最终给出mysql数据 库的建表语句
调整建表语句:
编写下述的提示词:
部门表的建表语句, 需要做以下调整: 1. 表名改为 dept; 2. 再添加一个字段 create_time, 记录创建时间 其他信息不变;给出调整好的建表语句
编写员工表的建表语句:
部门表 dept 的表结构已经确定了, 那接下来, 请根据提供的员工模块的页面原型 和需求文档的截图, 帮我生成员工表emp, 已经员工工作经历表 emp_expr 的建表语句。 (注意:一定要结合页面原型和需求文档, 分析具体有那些字段,字段类型,约束)
5. 确定建表语句【同时插入测试数据】
CREATE DATABASE tb_1;
USE tb_1;
-- 创建部门表
CREATE TABLE dept (
id INT PRIMARY KEY AUTO_INCREMENT COMMENT '主键ID',
name VARCHAR(10) NOT NULL UNIQUE COMMENT '部门名称,长度2-10位',
create_time DATETIME NOT NULL COMMENT '创建时间',
update_time DATETIME NOT NULL COMMENT '最后操作时间',
INDEX idx_update_time (update_time DESC) COMMENT '按最后操作时间倒序索引'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='部门表';
-- 插入测试数据
INSERT INTO dept (name, create_time, update_time) VALUES
('财务部门', '2023-01-21 12:06:00', '2023-01-21 12:06:00'),
('技术部门', '2023-01-21 12:06:00', '2023-01-21 12:06:00'),
('人事部门', '2023-01-21 12:06:00', '2023-01-21 12:06:00'),
('市场部门', '2023-01-21 12:06:00', '2023-01-21 12:06:00');
-- 创建员工表
CREATE TABLE emp (
id INT PRIMARY KEY AUTO_INCREMENT COMMENT '主键ID',
username VARCHAR(20) NOT NULL UNIQUE COMMENT '用户名,2-20位字母,必填,唯一',
password VARCHAR(64) DEFAULT '123456' COMMENT '登录密码',
name VARCHAR(10) NOT NULL COMMENT '姓名,2-10位汉字,必填',
gender TINYINT NOT NULL COMMENT '性别:1-男,2-女',
phone CHAR(11) NOT NULL COMMENT '手机号,11位数字,必填',
position TINYINT COMMENT '职位, 1: 班主任, 2:讲师, 3:学工主管, 4:教研主管,5:咨询师',
salary INT COMMENT '薪资,数字,选填',
img VARCHAR(255) COMMENT '头像路径',
hire_date DATE NOT NULL COMMENT '入职日期,必填',
dept_id INT NOT NULL COMMENT '部门ID,关联dept表',
create_time DATETIME NOT NULL COMMENT '创建时间',
update_time DATETIME NOT NULL COMMENT '最后操作时间',
INDEX idx_update_time (update_time DESC) COMMENT '按最后操作时间倒序索引'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='员工表';
-- 创建员工工作经历表
CREATE TABLE emp_expr (
id INT PRIMARY KEY AUTO_INCREMENT COMMENT '主键ID',
emp_id INT NOT NULL COMMENT '员工ID,关联emp表',
company VARCHAR(100) COMMENT '公司名称',
position VARCHAR(50) COMMENT '职位',
start_date DATE COMMENT '开始时间',
end_date DATE COMMENT '结束时间',
create_time DATETIME NOT NULL COMMENT '创建时间',
update_time DATETIME NOT NULL COMMENT '最后操作时间',
FOREIGN KEY (emp_id) REFERENCES emp(id) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='员工工作经历表';
-- 插入测试数据
INSERT INTO emp (username, password, name, gender, phone, position, salary, hire_date, dept_id, create_time, update_time) VALUES
('phaomin', '123456', '赵敏', 2, '15589128904', 1, 4200, '2023-04-05', 1, '2023-04-05 10:00:00', '2023-04-05 10:00:00'),
('zhangsan', '123456', '张三', 1, '13812345678', 2, 5000, '2023-03-01', 2, '2023-03-01 09:00:00', '2023-03-01 09:00:00');
-- 插入工作经历测试数据
INSERT INTO emp_expr (emp_id, company, position, start_date, end_date, create_time, update_time) VALUES
(1, '普通巴巴账号管理公司', '权限及操作流程管理', '2019-02-01', '2023-06-15', '2023-04-05 10:00:00', '2023-04-05 10:00:00'),
(1, '电子科技操作系统公司', '产品经理', '2019-06-01', '2019-01-15', '2023-04-05 10:00:00', '2023-04-05 10:00:00');
SELECT * FROM emp;
SELECT * FROM emp_expr;
-- 为员工表插入10条数据
INSERT INTO emp (username, password, name, gender, phone, position, salary, hire_date, dept_id, create_time, update_time) VALUES
('wangwu', '123456', '王五', 1, '13912345678', 2, 5500, '2023-02-15', 2, '2023-02-15 08:30:00', '2023-02-15 08:30:00'),
('lisi', '123456', '李四', 2, '13612345678', 1, 4500, '2023-01-10', 1, '2023-01-10 09:15:00', '2023-01-10 09:15:00'),
('zhaoliu', '123456', '赵六', 1, '13712345678', 3, 6000, '2022-12-01', 3, '2022-12-01 10:20:00', '2022-12-01 10:20:00'),
('qianqi', '123456', '钱七', 2, '13512345678', 4, 7000, '2022-11-05', 4, '2022-11-05 14:45:00', '2022-11-05 14:45:00'),
('sunba', '123456', '孙八', 1, '13412345678', 5, 4800, '2023-03-20', 5, '2023-03-20 11:10:00', '2023-03-20 11:10:00'),
('zhoujiu', '123456', '周九', 2, '13312345678', 2, 5200, '2023-02-28', 2, '2023-02-28 16:30:00', '2023-02-28 16:30:00'),
('wushi', '123456', '吴十', 1, '13212345678', 1, 4300, '2023-01-25', 1, '2023-01-25 13:25:00', '2023-01-25 13:25:00'),
('zhengshiyi', '123456', '郑十一', 2, '13112345678', 3, 5800, '2022-10-15', 3, '2022-10-15 15:40:00', '2022-10-15 15:40:00'),
('fengshier', '123456', '冯十二', 1, '13012345678', 4, 6500, '2022-09-08', 4, '2022-09-08 09:50:00', '2022-09-08 09:50:00'),
('chenshisan', '123456', '陈十三', 2, '15912345678', 5, 4600, '2023-03-15', 5, '2023-03-15 17:20:00', '2023-03-15 17:20:00');
-- 为工作经历表插入5条数据
INSERT INTO emp_expr (emp_id, company, position, start_date, end_date, create_time, update_time) VALUES
(2, '科技发展有限公司', 'Java开发工程师', '2020-03-01', '2022-12-31', '2023-02-15 08:30:00', '2023-02-15 08:30:00'),
(3, '教育咨询集团', '班主任', '2018-07-01', '2022-11-30', '2023-01-10 09:15:00', '2023-01-10 09:15:00'),
(4, '互联网科技有限公司', '技术主管', '2017-05-01', '2022-10-31', '2022-12-01 10:20:00', '2022-12-01 10:20:00'),
(5, '金融信息服务公司', '咨询顾问', '2019-09-01', '2023-02-28', '2022-11-05 14:45:00', '2022-11-05 14:45:00'),
(6, '软件研发中心', '高级讲师', '2018-03-01', '2023-01-15', '2023-03-20 11:10:00', '2023-03-20 11:10:00');
6. 生成各个模块的接口文档
上传接口文档和产品原型图片,资料中的接口文档模版
请严格根据提供的部门管理的页面原型和需求说明, 以及提供的接口文档的模板, 参照提供的部门表dept的表结构, 基于Restful 风格, 帮我设计部门管理模块涉及到接口文档。dept部门表的表结构如下:
-- 创建部门表
CREATE TABLE dept (
id INT PRIMARY KEY AUTO_INCREMENT COMMENT '主键ID',
name VARCHAR(10) NOT NULL UNIQUE COMMENT '部门名称,长度2-10位',
create_time DATETIME NOT NULL COMMENT '创建时间',
update_time DATETIME NOT NULL COMMENT '最后操作时间',
INDEX idx_update_time (update_time DESC) COMMENT '按最后操作时间倒序索引'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='部门表';验证:
查看接口文档中是否包含,增删改查的接口:
eg: 基于rest, 包含根据id查询单条部门数据,根据id 删除单条数据,查询所有部门,部门信息分页查询,添加部门,修改部门,前面ssm那篇详细讲了
请严格根据提供的员工管理的页面原型和需求说明, 以及提供的接口文档的模板, 参照提供的员工表emp和员工工作经历表emp_expr的表结构, 基于Restful 风格, 帮我设计部门管理模块涉及到接口文档。表结构如下:
.......
特殊的包含上传员工头像的接口,可以用OSS/集成平台【sealos】存储图片数据
7. 编写代码
将数据库表和接口文档,提供给cursor,
编写下述的提示词:
使用Springboot + mybatis ,根据上面的数据库表和接口文档,进行代码的开发,jdk版本设置为17
一般一次提问就能编写完毕【网速好】
注:如果过程中出现报错,根据控制台的报错信息,跟cursor多交互几次就行
感觉cursor写代码, 代码比较老,拓展性没那么好【反正不用自己写】
开发完成后,使用postman进行接口测试
编写下述的提示词:
使用vue3 , 根据提供图片的样式进行,页面的开发
修改页面效果:直接提供原页面截图,然后提供需求即可
8. 登录模块开发
基本思路:输入员工表中的用户名和密码登录,初次登录后端生成JWT令牌,返回给前端,前端存储到本地,后续每次登录携带令牌,进行校验
编写下述的提示词:
接口需求文档
1. 登录接口基本信息
请求路径:/login请求方式:POST
接口描述:该接口用于员工登录留学云帆-教学管理系统,登录完毕后,系统下发JWT令牌。
2. 请求参数样例
json
{
"username": "songjiang",
"password": "123456"
}
3. 响应数据样例
3.1 登录成功
json
{
"code": 1,
"msg": "success",
"data": {
"id": 2,
"username": "songjiang",
"name": "未订",
"token": "eyJhbGciOiJIUzI1NiJ9.eyJpZCI6MiwidXNlcm5hbWUiOiJzb25namlhbmciLCJleHAiOjE2OTg3NDE3NjJ9.
wB6EkRXTep65rvMns3w5Rke79De7fdWhBLK-MKY"
}
}
3.2 登录失败
json
{
"code": 0,
"msg": "用户名或密码错误",
"data": null
}
4. 备注说明
用户登录成功后,系统会自动下发JWT令牌在后续的每次请求中,都需要在请求头header中携带到服务器端
请求头的名称为 token,值为登录时下发的JWT令牌
如果检测到用户未登录,则直接响应401状态码
9. 完整项目链接
https://gitee.com/a-fish-v/zxyf-all/tree/master/
感谢大家的点赞和关注,你们的支持是我创作的动力!
617

被折叠的 条评论
为什么被折叠?



