feat(ik3cloud): 扩展Ik3cloud服务结构并优化员工接口

- 在Ik3cloud结构体中新增Contact和Factory字段
- 定义Entity结构体用于统一返回格式
- 定义Unique结构体用于批量操作参数
- 修改员工添加接口返回值为Entity结构体
- 修改员工禁用、启用和删除接口参数为Unique结构体
This commit is contained in:
2025-11-20 16:47:38 +08:00
parent 3ca0c9a28a
commit a2abdd3b11
3 changed files with 22 additions and 8 deletions

View File

@@ -3,4 +3,16 @@ package ik3cloud
type Ik3cloud struct {
Department department // 部门
Staff staff // 员工
Contact contact // 联系人
Factory factory // 工厂
}
type Entity struct {
Id int64 `json:"Id"`
Number string `json:"Number"`
DIndex int `json:"DIndex"`
}
type Unique struct {
Numbers []string // 编码
Ids []int64 // id
}

View File

@@ -51,12 +51,12 @@ type ArgsStaffAdd struct {
}
// Add @TITLE 添加员工
func (s *staff) Add(ctx context.Context, args ArgsStaffAdd) (staffId int64, err error) {
func (s *staff) Add(ctx context.Context, args ArgsStaffAdd) (entity Entity, err error) {
xClient, err := client.GetClient(s)
if err != nil {
return
}
err = xClient.Call(ctx, "Add", args, &staffId)
err = xClient.Call(ctx, "Add", args, &entity)
return
}
@@ -76,31 +76,31 @@ func (s *staff) Edit(ctx context.Context, args ArgsStaffEdit) (err error) {
}
// Disable @TITLE 禁用员工
func (s *staff) Disable(ctx context.Context, numbers []string) (err error) {
func (s *staff) Disable(ctx context.Context, args Unique) (err error) {
xClient, err := client.GetClient(s)
if err != nil {
return
}
var reply int
return xClient.Call(ctx, "Disable", numbers, &reply)
return xClient.Call(ctx, "Disable", args, &reply)
}
// Enable @TITLE 启用员工
func (s *staff) Enable(ctx context.Context, numbers []string) (err error) {
func (s *staff) Enable(ctx context.Context, args Unique) (err error) {
xClient, err := client.GetClient(s)
if err != nil {
return
}
var reply int
return xClient.Call(ctx, "Enable", numbers, &reply)
return xClient.Call(ctx, "Enable", args, &reply)
}
// Delete @TITLE 删除员工
func (s *staff) Delete(ctx context.Context, numbers []string) (err error) {
func (s *staff) Delete(ctx context.Context, args Unique) (err error) {
xClient, err := client.GetClient(s)
if err != nil {
return
}
var reply int
return xClient.Call(ctx, "Delete", numbers, &reply)
return xClient.Call(ctx, "Delete", args, &reply)
}

View File

@@ -12,6 +12,7 @@ type department struct {
type DepartmentItem struct {
Id int64 `json:"id"`
Name string `json:"name"`
Code string `json:"code"`
ParentId int64 `json:"parentId"`
ManageStaffId int64 `json:"manageStaffId"`
CreatedAt time.Time `json:"createdAt"`
@@ -30,6 +31,7 @@ func (d *department) All(ctx context.Context) (reply []DepartmentItem, err error
type ArgsDepartmentAdd struct {
Name string // 部门名称
Code string // 部门编号
ParentId int64 // 上级部门id
ManageStaffId int64 // 部门负责人
}