|
|
|
package supply
|
|
|
|
|
|
|
|
import (
|
|
|
|
"context"
|
|
|
|
"git.oa00.com/supply-chain/service/client"
|
|
|
|
)
|
|
|
|
|
|
|
|
type category struct {
|
|
|
|
}
|
|
|
|
|
|
|
|
type CategoryItem struct {
|
|
|
|
Id uint `json:"id"`
|
|
|
|
Name string `json:"name"`
|
|
|
|
ParentId uint `json:"parentId"`
|
|
|
|
Children []CategoryItem `json:"children"`
|
|
|
|
}
|
|
|
|
|
|
|
|
// All @Title 获取分类
|
|
|
|
func (c *category) All(ctx context.Context) (result []CategoryItem, err error) {
|
|
|
|
xClient, err := client.GetClient(c)
|
|
|
|
if err != nil {
|
|
|
|
return
|
|
|
|
}
|
|
|
|
err = xClient.Call(ctx, "All", 0, &result)
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
type ArgsCategoryAdd struct {
|
|
|
|
Name string // 分类名称
|
|
|
|
ParentId uint // 上级id
|
|
|
|
}
|
|
|
|
|
|
|
|
// Add @Title 添加分类
|
|
|
|
func (c *category) Add(ctx context.Context, args ArgsCategoryAdd) (err error) {
|
|
|
|
reply := 0
|
|
|
|
xClient, err := client.GetClient(c)
|
|
|
|
if err != nil {
|
|
|
|
return
|
|
|
|
}
|
|
|
|
return xClient.Call(ctx, "Add", args, &reply)
|
|
|
|
}
|
|
|
|
|
|
|
|
type ArgsCategoryEdit struct {
|
|
|
|
CategoryId uint // 分类id
|
|
|
|
Name string // 分类名称
|
|
|
|
ParentId uint // 上级id
|
|
|
|
}
|
|
|
|
|
|
|
|
// Edit @Title 编辑分类
|
|
|
|
func (c *category) Edit(ctx context.Context, args ArgsCategoryEdit) (err error) {
|
|
|
|
reply := 0
|
|
|
|
xClient, err := client.GetClient(c)
|
|
|
|
if err != nil {
|
|
|
|
return
|
|
|
|
}
|
|
|
|
return xClient.Call(ctx, "Edit", args, &reply)
|
|
|
|
}
|
|
|
|
|
|
|
|
type ArgsCategoryFindByIds struct {
|
|
|
|
ThirdCategoryIds []uint // 三级分类id数组
|
|
|
|
}
|
|
|
|
type ThirdCategoryItem struct {
|
|
|
|
Id uint `json:"id"`
|
|
|
|
Name string `json:"name"`
|
|
|
|
ParentId uint `json:"parentId"`
|
|
|
|
Parent *ThirdCategoryItem `json:"parent"`
|
|
|
|
}
|
|
|
|
|
|
|
|
// FindByIds @Title 三级分类获取
|
|
|
|
func (c *category) FindByIds(ctx context.Context, args ArgsCategoryFindByIds) (result []ThirdCategoryItem, err error) {
|
|
|
|
xClient, err := client.GetClient(c)
|
|
|
|
if err != nil {
|
|
|
|
return
|
|
|
|
}
|
|
|
|
err = xClient.Call(ctx, "FindByIds", args, &result)
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// GetThreeLevelAll @Title 获取全部三级分类
|
|
|
|
func (c *category) GetThreeLevelAll(ctx context.Context) (result []ThirdCategoryItem, err error) {
|
|
|
|
xClient, err := client.GetClient(c)
|
|
|
|
if err != nil {
|
|
|
|
return
|
|
|
|
}
|
|
|
|
args := 0
|
|
|
|
err = xClient.Call(ctx, "GetThreeLevelAll", args, &result)
|
|
|
|
return
|
|
|
|
}
|