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=utf8ROW_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);}
