1 引言
1.1 版本更新记录
编号 | 内容 | 作者 | 更新时间 |
---|---|---|---|
1 | 迭代目标 | 汪天沛 | 2022.5.1 |
1.2 迭代目标
1.3 数据库建立
建立三个关联的数据表, 用于权限管理
DROP TABLE IF EXISTS `hot_staff`;
CREATE TABLE `hot_staff`(
`staff_id` int NOT NULL AUTO_INCREMENT COMMENT '唯一主键',
`staff_name` varchar(10) DEFAULT NULL COMMENT '员工姓名',
`staff_sex` varchar(1) DEFAULT NULL COMMENT '员工性别',
`id_card` varchar(20) DEFAULT NULL COMMENT '员工身份证',
`staff_phone` varchar(20) DEFAULT NULL COMMENT '手机号码',
`staff_username` varchar(20) DEFAULT NULL COMMENT '系统用户名',
`staff_password` varchar(100) DEFAULT NULL COMMENT '系统密码',
PRIMARY KEY (`staff_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
ROW_FORMAT = Dynamic;
INSERT INTO `hot_staff` (staff_name,staff_sex,id_card,staff_phone,staff_username,staff_password)
VALUES
("宙斯","男","440182200111110033","18565340000","root","$2a$10$MCwVAmljwbdKmLtDWNHw3.6BvWPw6KUEMYMNJEXf4N0o6taIZm3Zi"),
("温兆奇","男","440182200111116666","18565341111","zhaoqi","$2a$10$MCwVAmljwbdKmLtDWNHw3.6BvWPw6KUEMYMNJEXf4N0o6taIZm3Zi"),
("王绍威","男","440182200111118888","18565342222","shaowei","$2a$10$MCwVAmljwbdKmLtDWNHw3.6BvWPw6KUEMYMNJEXf4N0o6taIZm3Zi"),
("王子健","男","440182200111117777","18565343333","zijian","$2a$10$MCwVAmljwbdKmLtDWNHw3.6BvWPw6KUEMYMNJEXf4N0o6taIZm3Zi")
;
-- ----------------------------
-- Table structure for sys_role
-- ----------------------------
DROP TABLE IF EXISTS `sys_role`;
CREATE TABLE `sys_role` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '角色ID',
`name` varchar(64) NOT NULL COMMENT '角色名称',
`code` varchar(64) NOT NULL COMMENT '角色编码',
`remark` varchar(64) NULL DEFAULT NULL COMMENT '角色说明',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `name`(`name`) USING BTREE,
UNIQUE INDEX `code`(`code`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 3 ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of sys_role
-- ----------------------------
INSERT INTO `sys_role` VALUES (1, '超级管理员', 'admin', '最高权限,不可编辑');
INSERT INTO `sys_role` VALUES (2, '普通用户', 'normal', '只有基本查看功能');
-- ----------------------------
-- Table structure for sys_user_role
-- ----------------------------
DROP TABLE IF EXISTS `sys_user_role`;
CREATE TABLE `sys_user_role` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '用户角色ID',
`user_id` bigint(20) NOT NULL COMMENT '员工ID',
`role_id` bigint(20) NOT NULL COMMENT '角色ID:1管理员,2普通用户',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 4 ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of sys_user_role
-- ----------------------------
INSERT INTO `sys_user_role` VALUES (1, 1, 1);
INSERT INTO `sys_user_role` VALUES (2, 2, 2);
INSERT INTO `sys_user_role` VALUES (3, 3, 2);
INSERT INTO `sys_user_role` VALUES (4, 4, 2);
2 统计接口设计
外部通过countAll()方法获取前端统计页面所需的所有数据
package edu.scau.hot.service;
import edu.scau.hot.vo.CountVO;
import java.util.Date;
import java.util.List;
/**
* IHotCountService统计页面接口类
*
* @author:paper
* @since:2022/5/11-23:55
*/
public interface IHotCountService{
/**
* 返回指定日期的CountVO对象
* @return CountVO对象
*/
CountVO getCountVO(Date date);
/**
* 更新Redis中数据
* @param countVO
* @return countVO
*/
CountVO updateTurnover(CountVO countVO);
/**
* 返回当周所有数据的接口
* @return CountVO对象
*/
List<CountVO> countAll();
/**
* 返回当日所有数据的接口
* @return CountVO对象
*/
CountVO countAll(CountVO countVO);
/**
* 返回今日总入住率
* @param countVO
* @return CountVO对象
*/
CountVO countOccupancyRate(CountVO countVO);
/**
* 当日预办理入住数
* @param countVO
* @return CountVO对象
*/
CountVO countPreCheckIn(CountVO countVO);
/**
* 当日办理入住数+1
* @return CountVO对象
*/
CountVO addCheckIn();
/**
* 当日预办理退房数
* @param countVO
* @return CountVO对象
*/
CountVO countPreCheckOut(CountVO countVO);
/**
* 当日办理退房数+1
* @return CountVO对象
*/
CountVO addCheckOut();
/**
* 计算日营业额
*/
CountVO countTurnover(CountVO countVO);
}