feat(ik3cloud): 新增工厂与联系人管理功能
- 添加常量定义文件,包含部门、员工、工厂和联系人相关操作类型 - 实现联系人保存与删除接口,支持联系人信息的完整字段 - 实现工厂信息保存接口,包含工厂基本信息及联系人列表 - 定义工厂联系人结构体,支持多个联系人关联工厂信息 - 集成客户端调用逻辑,通过RPC方式与外部服务通信
This commit is contained in:
10
ik3cloud/constant/constant.go
Normal file
10
ik3cloud/constant/constant.go
Normal file
@@ -0,0 +1,10 @@
|
||||
package constant
|
||||
|
||||
type Action = string // 方法
|
||||
|
||||
const (
|
||||
ActionDepartment Action = "BD_Department" // 部门
|
||||
ActionStaff Action = "BD_Empinfo" // 员工
|
||||
ActionFactory Action = "BD_Supplier" // 工厂
|
||||
ActionContact Action = "BD_CommonContact" // 工厂联系人
|
||||
)
|
||||
49
ik3cloud/contact.go
Normal file
49
ik3cloud/contact.go
Normal file
@@ -0,0 +1,49 @@
|
||||
package ik3cloud
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"git.kumo.work/shama/service/client"
|
||||
"git.kumo.work/shama/service/ik3cloud/constant"
|
||||
)
|
||||
|
||||
type contact struct {
|
||||
}
|
||||
|
||||
type ArgsContactSave struct {
|
||||
CompanyType constant.Action
|
||||
Contacts []ContactItem
|
||||
}
|
||||
type ContactItem struct {
|
||||
ContactId int64 // 部门id
|
||||
Number string // 部门编码
|
||||
Name string // 部门名称
|
||||
Sex string // 性别
|
||||
Job string // 职位
|
||||
Tel string // 电话
|
||||
Phone string // 手机
|
||||
Fax string // 传真
|
||||
Email string // 邮箱
|
||||
IsDefault bool // 是否默认/主联系人
|
||||
CompanyNumber string // 关联订单编码
|
||||
}
|
||||
|
||||
// Save @TITLE 保存联系人
|
||||
func (c *contact) Save(ctx context.Context, args ArgsContactSave) (entities []Entity, err error) {
|
||||
xClient, err := client.GetClient(c)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
err = xClient.Call(ctx, "Save", args, &entities)
|
||||
return
|
||||
}
|
||||
|
||||
// Delete @TITLE 删除联系人
|
||||
func (c *contact) Delete(ctx context.Context, args Unique) (err error) {
|
||||
xClient, err := client.GetClient(c)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
var reply int
|
||||
return xClient.Call(ctx, "Delete", args, &reply)
|
||||
}
|
||||
46
ik3cloud/factory.go
Normal file
46
ik3cloud/factory.go
Normal file
@@ -0,0 +1,46 @@
|
||||
package ik3cloud
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"git.kumo.work/shama/service/client"
|
||||
)
|
||||
|
||||
type factory struct {
|
||||
}
|
||||
type ArgsFactorySave struct {
|
||||
FactoryId int64 // 工厂id
|
||||
Number string // 工厂编码
|
||||
Name string // 工厂名称
|
||||
ShortName string // 简称
|
||||
Address string // 地址
|
||||
ZipCode string
|
||||
LegalPerson string
|
||||
TaxNumber string
|
||||
RegAddress string
|
||||
Bank string
|
||||
BankAccount string
|
||||
Contacts []FactoryContactItem
|
||||
}
|
||||
|
||||
type FactoryContactItem struct {
|
||||
ContactNumber string // 联系人编号
|
||||
Name string // 部门名称
|
||||
Sex string // 性别
|
||||
Job string // 职位
|
||||
Tel string // 电话
|
||||
Phone string // 手机
|
||||
Fax string // 传真
|
||||
Email string // 邮箱
|
||||
IsDefault bool // 是否默认/主联系人
|
||||
}
|
||||
|
||||
// Save @TITLE 保存工厂
|
||||
func (f *factory) Save(ctx context.Context, args ArgsFactorySave) (entity Entity, err error) {
|
||||
xClient, err := client.GetClient(f)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
err = xClient.Call(ctx, "Save", args, &entity)
|
||||
return
|
||||
}
|
||||
Reference in New Issue
Block a user