76 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			76 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package product
 | |
| 
 | |
| import (
 | |
| 	"context"
 | |
| 	"git.kumo.work/shama/service/client"
 | |
| 	"time"
 | |
| )
 | |
| 
 | |
| type category struct {
 | |
| }
 | |
| type CategoryItem struct {
 | |
| 	Id        int64           `json:"id"`
 | |
| 	Name      string          `json:"name"`
 | |
| 	Sort      int64           `json:"sort"`
 | |
| 	ParentId  int64           `json:"parentId"`
 | |
| 	CreatedAt *time.Time      `json:"createdAt"`
 | |
| 	UpdatedAt *time.Time      `json:"updatedAt"`
 | |
| 	Children  []*CategoryItem `json:"children"`
 | |
| }
 | |
| type ArgsCategoryAll struct {
 | |
| }
 | |
| 
 | |
| // All @TITLE 全部分类
 | |
| func (c *category) All(ctx context.Context, args ArgsCategoryAll) (reply []CategoryItem, err error) {
 | |
| 	xClient, err := client.GetClient(c)
 | |
| 	if err != nil {
 | |
| 		return
 | |
| 	}
 | |
| 	err = xClient.Call(ctx, "All", args, &reply)
 | |
| 	return
 | |
| }
 | |
| 
 | |
| type ArgsCategoryAdd struct {
 | |
| 	Name     string // 分类名称
 | |
| 	Sort     int64  // 排序
 | |
| 	ParentId int64  // 父级分类
 | |
| }
 | |
| 
 | |
| // Add @TITLE 添加分类
 | |
| func (c *category) Add(ctx context.Context, args ArgsCategoryAdd) (err error) {
 | |
| 	xClient, err := client.GetClient(c)
 | |
| 	if err != nil {
 | |
| 		return
 | |
| 	}
 | |
| 	reply := 0
 | |
| 	err = xClient.Call(ctx, "Add", args, &reply)
 | |
| 	return
 | |
| }
 | |
| 
 | |
| type ArgsCategoryEdit struct {
 | |
| 	CategoryId int64 // 分类id
 | |
| 	ArgsCategoryAdd
 | |
| }
 | |
| 
 | |
| // Edit @TITLE 编辑分类
 | |
| func (c *category) Edit(ctx context.Context, args ArgsCategoryEdit) (err error) {
 | |
| 	xClient, err := client.GetClient(c)
 | |
| 	if err != nil {
 | |
| 		return
 | |
| 	}
 | |
| 	reply := 0
 | |
| 	err = xClient.Call(ctx, "Edit", args, &reply)
 | |
| 	return
 | |
| }
 | |
| 
 | |
| // Delete @TITLE 删除分类
 | |
| func (c *category) Delete(ctx context.Context, categoryIds []int64) (err error) {
 | |
| 	xClient, err := client.GetClient(c)
 | |
| 	if err != nil {
 | |
| 		return
 | |
| 	}
 | |
| 	reply := 0
 | |
| 	err = xClient.Call(ctx, "Delete", categoryIds, &reply)
 | |
| 	return
 | |
| }
 |