feat(ik3cloud): 添加部门和员工服务模块

- 新增部门服务,支持获取所有部门信息
- 新增员工服务,支持分页查询员工列表
- 定义部门和员工相关的数据结构
- 实现与远程客户端的调用逻辑
- 集成到主服务入口文件中便于调用
- 添加手机号、状态等员工搜索条件支持
This commit is contained in:
2025-11-19 13:47:11 +08:00
parent f2a5819819
commit 02fcd437e5
3 changed files with 75 additions and 0 deletions

27
ik3cloud/department.go Normal file
View File

@@ -0,0 +1,27 @@
package ik3cloud
import (
"context"
"git.kumo.work/shama/service/client"
)
type department struct {
}
type DepartmentItem struct {
Number *string `json:"number"`
Name *string `json:"name"`
ParentNumber *string `json:"parentNumber"`
ParentName *string `json:"parentName"`
Children []*DepartmentItem `json:"children"`
}
// All @TITLE 获取部门
func (d *department) All(ctx context.Context) (reply []DepartmentItem, err error) {
xClient, err := client.GetClient(d)
if err != nil {
return
}
err = xClient.Call(ctx, "All", 0, &reply)
return
}

6
ik3cloud/ik3cloud.go Normal file
View File

@@ -0,0 +1,6 @@
package ik3cloud
type Ik3cloud struct {
Department department // 部门
Staff staff // 员工
}

42
ik3cloud/staff.go Normal file
View File

@@ -0,0 +1,42 @@
package ik3cloud
import (
"context"
"git.kumo.work/shama/service/client"
"git.kumo.work/shama/service/lib/bean"
)
type staff struct {
}
type ArgsStaffList struct {
Page bean.Page
Search StaffSearch
}
type StaffSearch struct {
Status int64 // 状态 1=启用 2=停用
Name string // 姓名
Phone string // 手机号
}
type ReplyStaffList struct {
List []StaffItem `json:"list"` // 员工列表
Total int64 `json:"total"` // 总数
}
type StaffItem struct {
Number *string `json:"number"` // 工号
Name *string `json:"name"` // 姓名
Position *string `json:"position"` // 职位
Phone *string `json:"phone"` // 账号
Mobile *string `json:"mobile"` // 手机号
Status *string `json:"status"` // 状态
}
// List @TITLE 员工列表
func (s *staff) List(ctx context.Context, args ArgsStaffList) (reply ReplyStaffList, err error) {
xClient, err := client.GetClient(s)
if err != nil {
return
}
err = xClient.Call(ctx, "List", args, &reply)
return
}