gpt4 book ai didi

java - 寻找建模模式

转载 作者:行者123 更新时间:2023-12-01 15:54:51 26 4
gpt4 key购买 nike

嗨:我正在使用任务发布系统。

系统中存在一些部门,例如:开发/销售/产品等。

一些任务属于不同的部门。

最重要的模型:用户

使用这个系统的人只是不同部门的老板和他们的老板(最大的老板)。

这些人都在管理页面工作,普通老板只能发布和查看他/她部门的任务。他/她可以添加/删除/修改任务(其中修改意味着他可以设置任务的状态)任务:完成/正在执行/未开始),他/她的所有操作都要经过最大老板的验证。

最大老板可以查看/添加/删除/修改所有部门的所有任务,还可以添加删除用户(普通老板),设置用户权限(用户可以看到哪个部门的任务)。

====================以下是我自己的设计:

Department
String name;//name of this department

List<Task> listAllTasks();// list all tasks belong to this department

Task
String name;
String desc;//description of this task
Date startTime;//when this task will start
Date endTime;
int status; //is this task done? doing? not starting?
String executorName; //the name of the person who will responsible for this task(here the person does not need to be common boss,just a name).
Department depart;//which department does this task belong to ?

Boss
String loginName;
String realName;
String password;
Department depart;//which department does this boss belong to ?

以上都是我的想法,没有想法继续做权限设计。

比如最大的老板怎么样,当然他/她不属于任何部门,但他拥有最大的权力。

谁能帮我一个忙?

顺便说一句,我将使用 hibernate 作为 DAO,使用 struts2 作为 Web Controller 。

最佳答案

更改您的 Boss类(class) Person然后添加 @ManyToOne Person superior (假设每个员工只有一名以上上级)。

@ManyToMany List<Person> superiorList=new ArrayList<Person>()如果每位员工有多名上级;

如果一个人是boos(组织树中的最高权限),superiorsuperiorList将是空的。

对于角色

创建角色类

Role 
@OneToMany List<Task> taskList = new ArrayList<Task>();
role_code

如果一个人只能分配一个角色,则在 Person 类中放置多对一角色

@ManyToOne Role role

@ManyToMany List<Role> roleList

如果一个人可以被分配多个角色。

关于java - 寻找建模模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5280757/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com