feat(k3cloud): 新增部门与员工管理功能
- 为 DepartmentItem 结构体添加 Id 字段以支持唯一标识 - 新增部门添加、编辑和删除方法,支持基础信息维护 - 为 StaffItem 结构体添加 Id 和 Tel 字段,完善员工信息结构 - 新增员工添加、编辑、启用、禁用及删除方法 - 所有操作均通过 RPC 客户端调用对应服务接口实现 - 方法参数结构体定义明确,便于外部调用与数据传输
This commit is contained in:
@@ -9,6 +9,7 @@ import (
|
|||||||
type department struct {
|
type department struct {
|
||||||
}
|
}
|
||||||
type DepartmentItem struct {
|
type DepartmentItem struct {
|
||||||
|
Id int64 `json:"id"`
|
||||||
Number *string `json:"number"`
|
Number *string `json:"number"`
|
||||||
Name *string `json:"name"`
|
Name *string `json:"name"`
|
||||||
ParentNumber *string `json:"parentNumber"`
|
ParentNumber *string `json:"parentNumber"`
|
||||||
@@ -25,3 +26,45 @@ func (d *department) All(ctx context.Context) (reply []DepartmentItem, err error
|
|||||||
err = xClient.Call(ctx, "All", 0, &reply)
|
err = xClient.Call(ctx, "All", 0, &reply)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type ArgsDepartmentAdd struct {
|
||||||
|
Number string // 部门编码
|
||||||
|
Name string // 部门名称
|
||||||
|
ParentNumber string // 上级部门编码
|
||||||
|
GroupNumber string // 分组编码
|
||||||
|
}
|
||||||
|
|
||||||
|
// Add @TITLE 添加部门
|
||||||
|
func (d *department) Add(ctx context.Context, args ArgsDepartmentAdd) (departmentId int64, err error) {
|
||||||
|
xClient, err := client.GetClient(d)
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
err = xClient.Call(ctx, "Add", args, &departmentId)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
type ArgsDepartmentEdit struct {
|
||||||
|
DepartmentId int64 // 部门id
|
||||||
|
ArgsDepartmentAdd
|
||||||
|
}
|
||||||
|
|
||||||
|
// Edit @TITLE 编辑部门
|
||||||
|
func (d *department) Edit(ctx context.Context, args ArgsDepartmentEdit) (err error) {
|
||||||
|
xClient, err := client.GetClient(d)
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
var reply int
|
||||||
|
return xClient.Call(ctx, "Edit", args, &reply)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Delete @TITLE 删除部门
|
||||||
|
func (d *department) Delete(ctx context.Context, numbers []string) (err error) {
|
||||||
|
xClient, err := client.GetClient(d)
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
var reply int
|
||||||
|
return xClient.Call(ctx, "Delete", numbers, &reply)
|
||||||
|
}
|
||||||
|
|||||||
@@ -23,11 +23,12 @@ type ReplyStaffList struct {
|
|||||||
Total int64 `json:"total"` // 总数
|
Total int64 `json:"total"` // 总数
|
||||||
}
|
}
|
||||||
type StaffItem struct {
|
type StaffItem struct {
|
||||||
|
Id int64 `json:"id"`
|
||||||
Number *string `json:"number"` // 工号
|
Number *string `json:"number"` // 工号
|
||||||
Name *string `json:"name"` // 姓名
|
Name *string `json:"name"` // 姓名
|
||||||
Position *string `json:"position"` // 职位
|
Position *string `json:"position"` // 职位
|
||||||
Phone *string `json:"phone"` // 账号
|
|
||||||
Mobile *string `json:"mobile"` // 手机号
|
Mobile *string `json:"mobile"` // 手机号
|
||||||
|
Tel *string `json:"tel"` // 座机
|
||||||
Status *string `json:"status"` // 状态
|
Status *string `json:"status"` // 状态
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -40,3 +41,66 @@ func (s *staff) List(ctx context.Context, args ArgsStaffList) (reply ReplyStaffL
|
|||||||
err = xClient.Call(ctx, "List", args, &reply)
|
err = xClient.Call(ctx, "List", args, &reply)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type ArgsStaffAdd struct {
|
||||||
|
Name string // 姓名
|
||||||
|
Number string // 编码
|
||||||
|
Mobile any // 手机号
|
||||||
|
Tel string // 座机
|
||||||
|
Email string // 邮箱
|
||||||
|
}
|
||||||
|
|
||||||
|
// Add @TITLE 添加员工
|
||||||
|
func (s *staff) Add(ctx context.Context, args ArgsStaffAdd) (staffId int64, err error) {
|
||||||
|
xClient, err := client.GetClient(s)
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
err = xClient.Call(ctx, "Add", args, &staffId)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
type ArgsStaffEdit struct {
|
||||||
|
StaffId int64 // 员工id
|
||||||
|
ArgsStaffAdd
|
||||||
|
}
|
||||||
|
|
||||||
|
// Edit @TITLE 员工编辑
|
||||||
|
func (s *staff) Edit(ctx context.Context, args ArgsStaffEdit) (err error) {
|
||||||
|
xClient, err := client.GetClient(s)
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
var reply int
|
||||||
|
return xClient.Call(ctx, "Edit", args, &reply)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Disable @TITLE 禁用员工
|
||||||
|
func (s *staff) Disable(ctx context.Context, numbers []string) (err error) {
|
||||||
|
xClient, err := client.GetClient(s)
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
var reply int
|
||||||
|
return xClient.Call(ctx, "Disable", numbers, &reply)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Enable @TITLE 启用员工
|
||||||
|
func (s *staff) Enable(ctx context.Context, numbers []string) (err error) {
|
||||||
|
xClient, err := client.GetClient(s)
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
var reply int
|
||||||
|
return xClient.Call(ctx, "Enable", numbers, &reply)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Delete @TITLE 删除员工
|
||||||
|
func (s *staff) Delete(ctx context.Context, numbers []string) (err error) {
|
||||||
|
xClient, err := client.GetClient(s)
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
var reply int
|
||||||
|
return xClient.Call(ctx, "Delete", numbers, &reply)
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user