mirror of
https://github.com/capricornxl/ad-password-self-service.git
synced 2025-08-31 01:59:04 +08:00
BUG FIX: ops_account返回必须使用渲染
This commit is contained in:
119
utils/feishu/dt_approval.py
Normal file
119
utils/feishu/dt_approval.py
Normal file
@@ -0,0 +1,119 @@
|
||||
# coding: utf-8
|
||||
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
|
||||
from typing import Any, List
|
||||
|
||||
import attr
|
||||
|
||||
from utils.feishu.dt_enum import ApprovalInstanceStatus, ApprovalTaskStatus, ApprovalTaskTypeStatus, ApprovalTimelineType
|
||||
from utils.feishu.dt_help import to_json_decorator
|
||||
|
||||
|
||||
@to_json_decorator
|
||||
@attr.s
|
||||
class ApprovalNode(object):
|
||||
"""审批节点对象
|
||||
"""
|
||||
name = attr.ib(type=str, default='') # 节点名称
|
||||
need_approver = attr.ib(type=bool, default=None) # 是否发起人自选节点,true - 发起审批时需要提交审批人
|
||||
node_id = attr.ib(type=str, default=None) # 节点 ID
|
||||
custom_id = attr.ib(type=str, default=None) # 节点自定义 ID,如果没有设置则不返回
|
||||
node_type = attr.ib(type=str, default=None) # 审批方式,AND -会签,OR - 或签
|
||||
|
||||
|
||||
@to_json_decorator
|
||||
@attr.s
|
||||
class ApprovalForm(object):
|
||||
"""审批表单字段对象
|
||||
"""
|
||||
id = attr.ib(type=str, default=None) # 控件 ID
|
||||
custom_id = attr.ib(type=str, default=None) # 控件自定义 ID
|
||||
type = attr.ib(type=str, default=None) # 控件类型
|
||||
name = attr.ib(type=str, default=None) # 控件名称
|
||||
|
||||
# 获取审批定义的时候不会返回,获取实例的时候会返回
|
||||
value = attr.ib(type=Any, default=None) # 表单值
|
||||
|
||||
|
||||
@to_json_decorator
|
||||
@attr.s
|
||||
class ApprovalDefinition(object):
|
||||
"""审批定义对象
|
||||
"""
|
||||
approval_name = attr.ib(type=str, default=None)
|
||||
forms = attr.ib(type=List[ApprovalForm], default=attr.Factory(list)) # type: List[ApprovalForm]
|
||||
nodes = attr.ib(type=List[ApprovalNode], default=attr.Factory(list)) # type: List[ApprovalNode]
|
||||
|
||||
|
||||
@to_json_decorator
|
||||
@attr.s
|
||||
class ApprovalTask(object):
|
||||
"""审批任务对象
|
||||
"""
|
||||
id = attr.ib(type=str, default=None) # 任务 ID
|
||||
user_id = attr.ib(type=str, default=None) # 审批人,自动通过、自动拒绝 task user_id 为空
|
||||
status = attr.ib(type=ApprovalTaskStatus, default=None) # 任务状态
|
||||
node_id = attr.ib(type=str, default=None) # task 所属节点 id
|
||||
custom_node_id = attr.ib(type=str, default=None) # task 所属节点自定义 id, 如果没设置自定义 id, 则不返回该字段
|
||||
type = attr.ib(type=ApprovalTaskTypeStatus, default=None) # 任务类型
|
||||
start_time = attr.ib(type=int, default=None) # 创建时间
|
||||
end_time = attr.ib(type=int, default=0) # 结束时间,未完成为 0
|
||||
|
||||
|
||||
@to_json_decorator
|
||||
@attr.s
|
||||
class ApprovalComment(object):
|
||||
"""审批中的评论对象
|
||||
"""
|
||||
id = attr.ib(type=str, default=None) # 评论 ID
|
||||
user_id = attr.ib(type=str, default=None) # 发表评论用户
|
||||
comment = attr.ib(type=str, default=None) # 评论详情
|
||||
create_time = attr.ib(type=int, default=None) # 创建时间
|
||||
|
||||
|
||||
@to_json_decorator
|
||||
@attr.s
|
||||
class ApprovalTimeline(object):
|
||||
"""审批动态
|
||||
"""
|
||||
type = attr.ib(type=ApprovalTimelineType, default=None) # 发生时间
|
||||
create_time = attr.ib(type=int, default=0) # 发生时间
|
||||
user_id = attr.ib(type=str, default=None) # 动态产生用户
|
||||
# 被抄送人列表
|
||||
user_id_list = attr.ib(type=List[str], default=None) # type: List[str]
|
||||
task_id = attr.ib(type=str, default='') # 产生动态关联的task_id
|
||||
comment = attr.ib(type=str, default='') # 评论详情
|
||||
|
||||
# type类型 - user_id_list 含义
|
||||
# TRANSFER - 被转交人
|
||||
# ADD_APPROVER_BEFORE - 被加签人
|
||||
# ADD_APPROVER - 被加签人
|
||||
# ADD_APPROVER_AFTER - 被加签人
|
||||
# DELETE_APPROVER - 被减签人
|
||||
|
||||
# type类型 - user_id 含义
|
||||
# CC - 抄送人
|
||||
ext = attr.ib(type=dict, default=None) # 动态其他信息,目前包括 user_id_list, user_id
|
||||
|
||||
|
||||
@to_json_decorator
|
||||
@attr.s
|
||||
class ApprovalInstance(object):
|
||||
"""审批实例对象
|
||||
"""
|
||||
approval_code = attr.ib(type=str, default='') # 审批定义唯一标识
|
||||
approval_name = attr.ib(type=str, default='') # 审批定义名称
|
||||
start_time = attr.ib(type=int, default=0) # 创建时间(毫秒)
|
||||
end_time = attr.ib(type=int, default=0) # 结束时间(毫秒)(未结束为0)
|
||||
user_id = attr.ib(type=str, default='') # 用户ID
|
||||
department_id = attr.ib(type=str, default='') # 部门ID
|
||||
status = attr.ib(type=ApprovalInstanceStatus, default=None) # 实例状态
|
||||
form = attr.ib(type=List[ApprovalForm], default=attr.Factory(list)) # type: List[ApprovalForm]
|
||||
# 任务列表
|
||||
task_list = attr.ib(type=List[ApprovalTask], default=attr.Factory(list)) # type: List[ApprovalTask]
|
||||
# 评论列表
|
||||
comment_list = attr.ib(type=List[ApprovalComment], default=attr.Factory(list)) # type: List[ApprovalComment]
|
||||
# 审批动态
|
||||
timeline = attr.ib(type=List[ApprovalTimeline], default=attr.Factory(list)) # type: List[ApprovalTimeline]
|
||||
serial_number = attr.ib(type=str, default='') # 审批编号
|
Reference in New Issue
Block a user