我们每个月记录智慧豆,应该不用那么精细化,只是为了方便以后查询用,同学也不会“豆豆必较”。
按照现在的理解,每条记录记一个总数,然后附加一个说明,应该就 可以满足现有的需求。 例如:
记录 | 姓名 | 豆豆数 | 原因 | 时间 |
---|---|---|---|---|
1 | 秀秀 | 120 | 金刚村村长 | 202405 |
2 | 秀秀 | 7 | 福田区7天日行一善 | 202405 |
3 | haitao | 80 | data analyze | 202406 |
4 | … | … | … | … |
有两个方案可以考虑,是不同的方向。
或者两者可以组合,对于那些固定的任务角色,我们可以设置 Job_id, 那些比较复杂的逻辑,我们就直接登记一个姓名/豆豆数/人工说明 就好。
我想的是,可以分成两个角色:
类似,公司里,每个员工出差回来要提交报销单,自己填写花了多少钱,每一项花费的明细等,提交后,财务做审批,审批通过了,就把报销款打给员工。
咱们可以在每个板块培养一个专门申报智慧豆的同学,通过工具填写申请,提交。爱豆组进行审核,有问题,需要告诉他如何重新提交等等。
还有自动扣智慧豆和自动增加智慧豆的功能设计。
已经存在的智慧豆,如果录入到系统?
大体思路:
有几个工具需要设计:
涉及到权限管理,
前期设计和开发,可能不用用户权限,安全性方面,不用过多考虑。实现基本功能,功能没问题了,大家都觉得挺好用的,再把用户权限,用户管理加上。
智慧豆查询部分,有多种需求:
智慧豆审核方面,有写细节:
CREATE TABLE Users ( user_id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50) NOT NULL, password_hash VARCHAR(255) NOT NULL, name VARCHAR(50) NOT NULL, ROLE VARCHAR(20) NOT NULL, bean_total INT DEFAULT 0, create_time DATETIME DEFAULT CURRENT_TIMESTAMP, update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ); INSERT INTO Users (username, password_hash, name, ROLE, bean_total) VALUES ('admin', '$5$j0XLA1mfecbiZlcX$wVFoj7F1fbbxoSWOfwnxZkVcTW/.yUj5WZzhyt/SmK0', 'Admin User', 'admin', 0);
CREATE TABLE Jobs ( job_id INT AUTO_INCREMENT PRIMARY KEY, job_name VARCHAR(50) NOT NULL, default_bean INT NOT NULL, description TEXT, create_time DATETIME DEFAULT CURRENT_TIMESTAMP, update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP );
CREATE TABLE WisdomBeanRecords ( record_id INT AUTO_INCREMENT PRIMARY KEY, user_id INT NOT NULL, bean_num INT NOT NULL, description TEXT, STATUS VARCHAR(20) NOT NULL, job_id INT, create_time DATETIME DEFAULT CURRENT_TIMESTAMP, update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, FOREIGN KEY (user_id) REFERENCES Users(user_id), FOREIGN KEY (job_id) REFERENCES Jobs(job_id) );
CREATE TABLE AutoBeanAdjustments ( adjustment_id INT AUTO_INCREMENT PRIMARY KEY, user_id INT NOT NULL, bean_num INT NOT NULL, reason TEXT, create_time DATETIME DEFAULT CURRENT_TIMESTAMP, FOREIGN KEY (user_id) REFERENCES Users(user_id) );