现在给一个学校的垃圾回收运营平台设计一个模块，即分拣人员管理模块。

人员以身份证号码为唯一标识，以手机号码为登录账号，密码单独设置。



业务功能包括：

登录 打卡工作，打卡下班；

gps位置附带健康数据，每间隔5分钟； 健康数据包括体温，血压，血氧... 等。

实时消息，类似于告警数据，比如体温异常，血压异常，血氧异常等，这个是即时的，不受到5分钟的限制。



所有相关的表格，都包含身份证号码和departmentId(departmentId 从 sorter基本信息表中获取)。



还有一类用户是学校师生，以工号/学号为唯一标识，另外其归属于一个学校院系，专业，班级。



每个师生有一个碳积分balance表，把可回收物送到收集点或者是预约上门后，把兑换成碳积分， 从碳积分商城购买，转增给其他人，或者无偿捐赠，这些是碳积分的消耗行为。



后期会行成按照班级，专业，院系，总数和人均的碳积分排名等。



预约上门回收可回收物类似于一个订单的管理，从预约开始，到最终结束。





垃圾的大类，包括：

有毒有害  \x6709\x6BD2\x6709\x5BB3

湿垃圾   \x6E7F\x5783\x573E

可回收-废纸张     \x53EF\x56DE\x6536\x002D\x5E9F\x7EB8\x5F20

可回收-废塑料   \x53EF\x56DE\x6536\x002D\x5E9F\x5851\x6599

可回收-废金属   \x53EF\x56DE\x6536\x002D\x5E9F\x91D1\x5C5E

可回收-废玻璃   \x53EF\x56DE\x6536\x002D\x5E9F\x73BB\x7483

可回收-废织物   \x53EF\x56DE\x6536\x002D\x5E9F\x7EC7\x7269\x0020

可回收-废旧电子产品   \x53EF\x56DE\x6536\x002D\x5E9F\x65E7\x7535\x5B50\x4EA7\x54C1

可回收-废旧电源电池   \x53EF\x56DE\x6536\x002D\x5E9F\x65E7\x7535\x6E90\x7535\x6C60

大件垃圾   \x5927\x4EF6\x5783\x573E

干垃圾   \x5E72\x5783\x573E



但是从师生的学校场景出发，把日常能见到的一些可回收物-物品 对应到这些大类，从而转换成一套基础信息表/配置表，即每种类的可回收物的售价，方便师生和分拣人员相互了解。



无论是回收可回收物-为师生发放碳积分，还是购买碳积分的学校文创小商品，都是由分拣人员来扫码(师生的唯一二维码/学校一码通)，这样确认流程是ok。



最终还能按照分拣点，分拣人员来统计各类重量，价值等，上门回收订单数量，销售文创商品数量等。



垃圾分拣点还要放一个立柱式的屏幕，让学生自己打卡-就是只投递了非常少的价值的干垃圾或者可回收物，就固定发放5个碳积分，就不用分拣人员的android app 来操作，，就由大屏上的扫码机器扫面，之后弹出一个恭喜或者感谢之类的。





你先帮我分析一些这些实体关系，设计一下数据结构。







