Skip to content

Latest commit

 

History

History
632 lines (497 loc) · 25.3 KB

健身房管理系统.md

File metadata and controls

632 lines (497 loc) · 25.3 KB

健身房管理系统

系统编写流程

准备工作

  • 业务分工
  • 需求分析,建立数据库表
  • 统一各开发软件版本

前端

  • 明确controller层映射路径,传入参数,返回值类型
  • 明确所有前端页面名、使用前端框架文件路径
  • 编写页面详细代码

后端

  • 明确所有service层接口
  • 明确所有dao层接口
  • 编写dao层实现
  • 编写service层实现
  • 编写controller业务逻辑

==注意==:

  1. 所有“明确”需要统一通知到所有人。
  2. 每次完成小模块功能,及时更新

时间安排

时间 任务 实际完成情况
2019.8.29 分工,建表,业务逻辑分析(具体想怎么实现某功能,从前端到后端,主要步骤罗列)
2019.8.30 完成前端1、2步骤
2019.8.31 前端编写
2019.9.1 前端编写
2019.9.2 后端1、2、3步骤
2019.9.3 后端
2019.9.4 后端
2019.9.5 后端
2019.9.6 整合

==注意==:

收工时间最晚2019.9.8,最少留一天整合。10号提交。

具体时间结合编码速度微调。

重点放在后端。

信息记录

人员分工

人员 分工说明
黄真亮 人事管理
梁伟国 衣柜管理
颜志安 商品管理
曾胜哲 课程管理
夏宇星 会员管理
统计分析
系统功能

==注意:==共7个模块

软件版本

软件 版本
Mysql
Tomcat
mybatis
springboot
log
vue
jquery
Thymeleaf
Java
Dbcp2
Redis

数据表信息

部门表dept

说明
dept_id int(2) primary key AUTO_INCREMENT not null
dept_name varchar(20) not null 名字

员工信息表emp

说明
emp_id int(4) primary key AUTO_INCREMENT not null id
emp_name varchar(20) not null 名字
job_id int(2) not null foreign key(job_id) references job(job_id) 职位
emp_hiredate date not null 受雇日期
emp_sal int(5) not null 月工资
dept_id int(2) not null foreign key(dept_id) references dept(dept_id) 所属部门
emp_phone varchar(13) 电话号码
CREATE TABLE `emp` (
`emp_id` int(4) NOT NULL AUTO_INCREMENT,
`emp_name` varchar(20) NOT NULL,
`job_id` int(2) NOT NULL,
`emp_hiredate` date NOT NULL,
`emp_sal` int(5) NOT NULL,
`dept_id` int(2) NOT NULL,
`emp_phone` varchar(13) DEFAULT NULL,
PRIMARY KEY (`emp_id`),
KEY `job_id` (`job_id`),
KEY `dept_id` (`dept_id`),
CONSTRAINT `emp_ibfk_1` FOREIGN KEY (`job_id`) REFERENCES `job` (`job_id`),
CONSTRAINT `emp_ibfk_2` FOREIGN KEY (`dept_id`) REFERENCES `dept` (`dept_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

职位表job

说明
job_id int(2) primary key AUTO_INCREMENT not null id
job_name varchar(20) not null 名字
job_sal int(5) not null 底薪
CREATE TABLE `job` (
`job_id` int(2) NOT NULL AUTO_INCREMENT,
`job_name` varchar(20) NOT NULL,
`job_sal` int(5) NOT NULL,
PRIMARY KEY (`job_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

yza

商品表goods

说明
goods_id int(4) primary key AUTO_INCREMENT not null id
goods_name varchar(20) not null 名字
goods_desc varchar(400) 描述
goods_price int(8) 商品价格
goods_num int(10) 商品数量
goods_status tinyint(1) not null 商品状态
goods_img varchar(50) 商品图片
ptype_id int(4) NOT NULL 类型
pctype_id int(4) NOT NULL 二级类型
DROP TABLE IF EXISTS `goods`;
CREATE TABLE `goods`  (
  `goods_id` int(4) NOT NULL AUTO_INCREMENT,
  `goods_name` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `goods_desc` varchar(400) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `goods_img` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `goods_price` int(8) NOT NULL,
  `goods_num` int(10) NOT NULL,
  `goods_status` tinyint(1) NOT NULL,
  `ptype_id` int(4) NOT NULL,
  `pctype_id` int(4) NOT NULL,
  PRIMARY KEY (`goods_id`) USING BTREE,
  INDEX `fkpro_id_1`(`ptype_id`) USING BTREE,
  CONSTRAINT `fkpro_id_1` FOREIGN KEY (`ptype_id`) REFERENCES `ptype` (`ptype_id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;

商品类型表ptype

说明
ptype_id int(4) primary key AUTO_INCREMENT not null 类型id
ptype_name varchar(20) not null 名字
DROP TABLE IF EXISTS `ptype`;
CREATE TABLE `ptype`  (
  `ptype_id` int(4) NOT NULL AUTO_INCREMENT,
  `ptype_name` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  PRIMARY KEY (`ptype_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;

商品二级类型表pctype

说明
pctype_id int(4) primary key AUTO_INCREMENT not null 二级类型id
pctype_name varchar(20) not null 二级类型名
ptype_name int(4) not null; 类型名
DROP TABLE IF EXISTS `records`;
CREATE TABLE `records`  (
  `records_id` int(4) NOT NULL AUTO_INCREMENT,
  `start_time` timestamp NULL DEFAULT NULL,
  `end_time` timestamp NULL DEFAULT NULL,
  `records_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `goods_id` int(4) NOT NULL,
  `mid` int(4) NULL DEFAULT NULL,
  PRIMARY KEY (`records_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;

商品出售记录表records

说明
records_id int(4) primary key AUTO_INCREMENT not null id
records_uuid varchar(30) not null 随机生成的uuid
records_time timestamp not null 记录时间
pro_id int(4) not null 商品信息(与商品表关联)
cid int(4) not null 会员信息(与会员表关联)
DROP TABLE IF EXISTS `records`;
CREATE TABLE `records`  (
  `records_id` int(4) NOT NULL AUTO_INCREMENT,
  `start_time` timestamp NULL DEFAULT NULL,
  `end_time` timestamp NULL DEFAULT NULL,
  `records_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `pro_id` int(4) NOT NULL,
  `cid` int(4) NULL DEFAULT NULL,
  PRIMARY KEY (`records_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;

会员表member

说明
mid int(4) primary key AUTO_INCREMENT not null 会员ID
mname varchar(20) NOT NULL 会员姓名
mtelephone char(11) NOT NULL 联系方式
mdate date NOT NULL 会员生日
msfz char(15) NOT NULL 身份证号码
maddress varchar(50) NOT NULL 会员地址
msex char(1) NOT NULL 会员性别
coach_id int(4) DEFAULT '0' 教练ID
wardrobe_id int(4) DEFAULT '0' 衣柜ID
consultant_id int(4) DEFAULT '0' 顾问ID
needs varchar(20) NOT NULL 健身需求
icon varchar(50) NOT NULL 照片
CREATE TABLE `member` (
  `mid` int(4) NOT NULL AUTO_INCREMENT,
  `mname` varchar(20) NOT NULL,
  `mtelephone` char(11) NOT NULL,
  `mdate` date NOT NULL,
  `msfz` char(15) NOT NULL,
  `maddress` varchar(50) NOT NULL,
  `msex` char(1) NOT NULL,
  `coach_id` int(4) DEFAULT '0',
  `wardrobe_id` int(4) DEFAULT '0',
  `consultant_id` int(4) DEFAULT '0',
  `needs` varchar(20) NOT NULL,
  `icon` varchar(50) NOT NULL,
  PRIMARY KEY (`mid`),
  KEY `fri_coach` (`coach_id`),
  KEY `fri_con` (`consultant_id`),
  CONSTRAINT `fri_coach` FOREIGN KEY (`coach_id`) REFERENCES `emp` (`emp_id`),
  CONSTRAINT `fri_con` FOREIGN KEY (`consultant_id`) REFERENCES `emp` (`emp_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

会员卡表card

说明
cid int(6) primary key AUTO_INCREMENT not null 会员卡卡号
ctype varchar(10) NOT NULL 会员卡类型(月卡,季卡。。)
cprice int(5) NOT NULL 会员卡价格
cmoney int(6) NOT NULL 会员卡余额
cpoints int(4) NOT NULL 会员积分
mid int(4) NOT NULL 会员ID
sdate date NOT NULL 开始时间
edate date NOT NULL 到期时间
CREATE TABLE card (
  cid int(6) NOT NULL AUTO_INCREMENT,
  ctype varchar(10) NOT NULL,
  cprice int(5) NOT NULL,
  cmoney int(6) NOT NULL,
  cpoints int(4) NOT NULL,
  mid int(4) NOT NULL,
  sdate date NOT NULL,
  edate date NOT NULL,
  PRIMARY KEY (cid),
  KEY fri_member (mid),
  CONSTRAINT fri_member FOREIGN KEY (mid) REFERENCES member (mid)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

会员登记记录表m_record

说明
mrid int(8) primary key AUTO_INCREMENT not null 记录ID
``mid` int(4) NOT NULL 会员ID
``sdate` date NOT NULL 开始时间
``edate` date NOT NULL 退卡时间
remarks varchar(50) DEFAULT NULL 备注
CREATE TABLE `m_record` (
  `mrid` int(8) NOT NULL AUTO_INCREMENT,
  `mid` int(4) NOT NULL,
  `sdate` date NOT NULL,
  `edate` date NOT NULL,
  `remarks` varchar(50) DEFAULT NULL,
  PRIMARY KEY (`mrid`),
  KEY `fri_mem` (`mid`),
  CONSTRAINT `fri_mem` FOREIGN KEY (`mid`) REFERENCES `member` (`mid`)
)

游客表unmember

说明
``umid` int(4) primary key AUTO_INCREMENT not null 游客ID
umname varchar(20) NOT NULL 游客姓名
umtelephone char(11) NOT NULL 游客联系方式
CREATE TABLE `unmember` (
  `umid` int(4) NOT NULL AUTO_INCREMENT,
  `umname` varchar(20) NOT NULL,
  `umtelephone` char(11) NOT NULL,
  PRIMARY KEY (`umid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

游客登记记录表um_record

说明
umrid int(8) primary key AUTO_INCREMENT not null 登记记录ID
``umid` int(4) NOT NULL 会员ID
``sdate` date NOT NULL 开始时间
``edate` date NOT NULL 退卡时间
remarks varchar(50) DEFAULT NULL 备注
CREATE TABLE `um_record` (
  `umrid` int(8) NOT NULL AUTO_INCREMENT,
  `umid` int(4) NOT NULL,
  `sdate` date NOT NULL,
  `edate` date NOT NULL,
  `remarks` varchar(50) DEFAULT NULL,
  PRIMARY KEY (`umrid`),
  KEY `fr_um` (`umid`),
  CONSTRAINT `fr_um` FOREIGN KEY (`umid`) REFERENCES `unmember` (`umid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

衣柜表wardrobe

说明
wardrobe_id int(11) primary key AUTO_INCREMENT not null 衣柜ID
wardrobe_name varchar(255) NOT NULL 衣柜名称
wardrobe_status int(11) NOT NULL 衣柜状态(0空闲、1已租、2故障)
-- ----------------------------
-- Table structure for `wardrobe`
-- ----------------------------
DROP TABLE IF EXISTS `wardrobe`;
CREATE TABLE `wardrobe` (
  `wardrobe_id` int(11) NOT NULL,
  `wardrobe_name` varchar(255) NOT NULL,
  `wardrobe_status` int(11) NOT NULL,
  PRIMARY KEY (`wardrobe_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of wardrobe
-- ----------------------------
INSERT INTO `wardrobe` VALUES ('1', 'NO01', '0');
INSERT INTO `wardrobe` VALUES ('2', 'NO02', '0');
INSERT INTO `wardrobe` VALUES ('3', 'NO03', '0');
INSERT INTO `wardrobe` VALUES ('4', 'NO04', '1');
INSERT INTO `wardrobe` VALUES ('5', 'NO05', '1');
INSERT INTO `wardrobe` VALUES ('6', 'NO06', '1');
INSERT INTO `wardrobe` VALUES ('7', 'NO07', '2');
INSERT INTO `wardrobe` VALUES ('8', 'NO08', '2');
INSERT INTO `wardrobe` VALUES ('9', 'NO09', '2');

衣柜出租记录表w_records

说明
wr_id int(11) primary key AUTO_INCREMENT not null 衣柜出租记录ID
cid int(6) NOT NULL, 会员卡号
mname varchar(20) DEFAULT NULL, 会员姓名
wardrobe_name varchar(255) NOT NULL, 衣柜名称
wr_regtime varchar(255) DEFAULT NULL, 登记日期
wr_status varchar(255) DEFAULT NULL, 出租状态
wr_starttime varchar(255) DEFAULT NULL, 起始日期
wr_endtime varchar(255) DEFAULT NULL, 截止日期
wr_deposit int(11) DEFAULT NULL, 押金
wr_desc varchar(255) DEFAULT NULL, 备注
-- ----------------------------
-- Table structure for `wardroberecords`
-- ----------------------------
DROP TABLE IF EXISTS `wardroberecords`;
CREATE TABLE `wardroberecords` (
  `wr_id` int(11) NOT NULL,
  `cid` int(6) NOT NULL,
  `mname` varchar(20) DEFAULT NULL,
  `wardrobe_name` varchar(255) NOT NULL,
  `wr_regtime` varchar(255) DEFAULT NULL,
  `wr_status` varchar(255) DEFAULT NULL,
  `wr_starttime` varchar(255) DEFAULT NULL,
  `wr_endtime` varchar(255) DEFAULT NULL,
  `wr_deposit` int(11) DEFAULT NULL,
  `wr_desc` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`wr_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of wardroberecords
-- ----------------------------
INSERT INTO `wardroberecords` VALUES ('1', '1', 'zhangsan', 'NO01', null, null, null, null, null, null);

zsz

课程信息(course)

字段 说明
c_id int(4) primary key auto_increment 课程id
c_name varchar(20) not null 课程名
c_type varchar(20) not null 课程类别
c_coach varchar(20) not null 课程教练
c_num int(2) not null 课程节数
c_price int(5) not null 课程价格
CREATE TABLE `course` (
  `c_id` int(4) NOT NULL AUTO_INCREMENT,
  `c_name` varchar(20) NOT NULL,
  `c_type` varchar(20) NOT NULL,
  `c_coach` varchar(20) NOT NULL,
  `c_num` int(2) NOT NULL,
  `c_price` int(5) NOT NULL,
  PRIMARY KEY (`c_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

课程类别course_type

字段 说明
ct_id int(4) primary key auto_increment 类别id
ct_name varchar(20) 分类名称
CREATE TABLE `course_type` (
  `ct_id` int(4) NOT NULL AUTO_INCREMENT,
  `ct_name` varchar(20) NOT NULL,
  PRIMARY KEY (`ct_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

购课信息表(bcourse)

字段 说明
bc_id int(4) primary key auto_incremnet 购课id
bc_mid int(4) NOT NULL 会员id
bc_coachid int(4) NOT NULL 教练id
bc_time varchar(255) NOT NULL, 购课时间
bc_courseid int(4) NOT NULL, 课程id
Create Table: CREATE TABLE `bcourse` (
  `bc_id` int(4) NOT NULL AUTO_INCREMENT,
  `bc_mid` int(4) NOT NULL,
  `bc_coachid` int(4) NOT NULL,
  `bc_courseid` int(4) NOT NULL,
  `bc_time` varchar(255) NOT NULL,
  PRIMARY KEY (`bc_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

页面信息

页面 描述
personnel.html 人事管理页
wardrobe.html 衣柜管理页
product.html 商品展示和操作页
records.html 商品记录页

controller层Mapping信息

personnelController.java

Mapping路径 返回值 参数 业务说明
/addDept.do String`"ok" Dept dept 添加部门
/addEmp.do String"ok" Emp emp 添加员工
/delEmpById.do String "ok" int id 删除员工
/delDeptById.do String "ok" int id 删除部门
/changeEmp.do String "ok" Emp newemp 修改员工信息
/changeDept.do String "ok" Dept newdept 修改员工信息
/getAllDept.do List<dept> 获取部门信息
/getAllEmp.do List<emp> 获取员工信息
/searchDept.do List<dept> String key 搜索部门
/searchEmp.do List<Emp> String key 搜索员工

WardrobeController.java

Mapping路径 返回值 参数 业务说明
/selectAllWardrobe.do List<Wardrobe> 获取所有衣柜信息
/selectWRinfo.do List<WardrobeRecords> 获取所有衣柜出租记录信息
/updataWardrobe.do String "ok" Wardrobe对象 修改衣柜信息(修改为故障、或者空闲)
/rentWardrobe.do String ok 会员名字、卡号、柜子编号、押金、备注 租柜
/cancelWardrobe String ok 柜子编号 退柜
/selectAllUser List 获取会员名字及卡号

productController.java

Mapping路径 返回值 参数 业务说明
/selectAllType List<type> 获取所有商品类型并分页展示
/selectAllProduct List<Product> 获取所有商品信息
/selectProductByType List<Product> ptype_id(类型id) 通过类型获取对应的商品信息
/addProduct List<Product> String key 根据搜索查商品
/insertWR.do String "ok" Product product 添加商品
/soldOudProduct String "ok" pro_id 下架或上架商品,在业务层判断
/deleteProduct String "ok" pro_id 彻底删除该商品,删除前要给与确认
/ 出售商品有点没搞清楚逻辑先缓缓
/selectRecords List<Records> 查询所有记录并展示
/addReords pro_id,mid 在用户购买商品是获取用户信息商品信息
按姓名过滤(没想清楚)
按会员卡号过滤(没想清楚)

MemberController.java

Mapping路径 返回值 参数 业务说明
/getAllMember.do List 查询所有会员
/addMember.do String"ok" Member member 添加会员
/delMemberById.do String "ok" int mid 根据ID删除会员
/addCard.do List<Card> Card card 绑定会员卡
/updateMember.do String "ok" Member newmember 修改会员信息

CardController.java

Mapping路径 返回值 参数 业务说明
/getCardsByType.do `List String Ctype 根据类型查询卡
/getCardMoney.do `int money int cid 根据卡ID查询余额
/deposit.do String "ok" int money,int cid 给指定卡号充值
/updateMember.do String "ok" Member newmember 修改会员信息
/delCard.do String "ok" int cid 会员卡到期删除卡

M_recordController.java

Mapping路径 返回值 参数 业务说明
/getAllM_records.do List<M_record> 查询所有 会员到访记录
/getM_recordsByTimeLimit.do List<M_record> int firstParm,int pageSize 分页查询由近及远记录
/addRecord.do String "ok" M_record mr 会员到店登记记录