feat(multi-owner): 群/项目/部门支持主+副双负责人体系

This commit is contained in:
kuaifan
2026-05-09 12:29:38 +00:00
parent 24710289e1
commit 64649b514e
15 changed files with 118 additions and 118 deletions

View File

@@ -39,13 +39,13 @@ class ProjectUser extends AbstractModel
{
/** @var int 普通成员编码 */
const OWNER_MEMBER = 0;
/** @var int 负责人编码 */
/** @var int 项目负责人编码 */
const OWNER_PRIMARY = 1;
/** @var int 副负责人编码 */
/** @var int 项目管理员编码 */
const OWNER_DEPUTY = 2;
/**
* 是否负责人owner=1
* 是否项目负责人owner=1
*/
public function isPrimaryOwner(): bool
{
@@ -53,7 +53,7 @@ class ProjectUser extends AbstractModel
}
/**
* 是否副负责人owner=2
* 是否项目管理员owner=2
*/
public function isDeputyOwner(): bool
{
@@ -61,7 +61,7 @@ class ProjectUser extends AbstractModel
}
/**
* 是否负责人(主或副
* 是否负责人(含项目管理员
*/
public function isOwner(): bool
{
@@ -91,8 +91,8 @@ class ProjectUser extends AbstractModel
foreach ($list as $item) {
$row = self::whereProjectId($item->project_id)->whereUserid($newUserid)->first();
if ($row) {
// 已存在:仅当离职用户是owner=1时把接收人升为
// 离职用户是owner=2时不传给接收人spec不替补)
// 已存在:仅当离职用户是项目负责人owner=1时把接收人升为项目负责人
// 离职用户是项目管理员owner=2时不传项目管理员身份给接收人spec项目管理员不替补)
if ((int)$item->owner === self::OWNER_PRIMARY) {
$row->owner = self::OWNER_PRIMARY;
}
@@ -100,7 +100,7 @@ class ProjectUser extends AbstractModel
$row->save();
$item->delete();
} else {
// 不存在:转移时如果离职用户是,降级为普通成员(不带身份过户给接收人)
// 不存在:转移时如果离职用户是项目管理员,降级为普通成员(不带项目管理员身份过户给接收人)
if ((int)$item->owner === self::OWNER_DEPUTY) {
$item->owner = self::OWNER_MEMBER;
}