93 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			93 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package product
 | ||
| 
 | ||
| import (
 | ||
| 	"context"
 | ||
| 	"git.kumo.work/shama/service/client"
 | ||
| 	"github.com/shopspring/decimal"
 | ||
| 	"time"
 | ||
| )
 | ||
| 
 | ||
| type quote struct {
 | ||
| }
 | ||
| type QuoteItem struct {
 | ||
| 	Id             int64            `json:"id"`
 | ||
| 	ProductId      int64            `json:"productId"`
 | ||
| 	FactoryId      int64            `json:"factoryId"`
 | ||
| 	FactoryName    string           `json:"factoryName"`
 | ||
| 	FactorySerial  string           `json:"factorySerial"`
 | ||
| 	Price          *decimal.Decimal `json:"price"`
 | ||
| 	StartNum       *int64           `json:"startNum"`
 | ||
| 	MeasureUnit    string           `json:"measureUnit"`
 | ||
| 	Currency       string           `json:"currency"`
 | ||
| 	CurrencyName   string           `json:"currencyName"`
 | ||
| 	CurrencySymbol string           `json:"currencySymbol"`
 | ||
| 	CurrencyRate   *decimal.Decimal `json:"currencyRate"`
 | ||
| 	CreatedAt      *time.Time       `json:"createdAt"`
 | ||
| 	UpdatedAt      *time.Time       `json:"updatedAt"`
 | ||
| }
 | ||
| type ArgsQuoteAll struct {
 | ||
| }
 | ||
| 
 | ||
| // All @TITLE 全部工厂报价
 | ||
| func (c *quote) All(ctx context.Context, args ArgsQuoteAll) (reply []QuoteItem, err error) {
 | ||
| 	xClient, err := client.GetClient(c)
 | ||
| 	if err != nil {
 | ||
| 		return
 | ||
| 	}
 | ||
| 	err = xClient.Call(ctx, "All", args, &reply)
 | ||
| 	return
 | ||
| }
 | ||
| 
 | ||
| type ArgsQuoteAdd struct {
 | ||
| 	Id             int64            // 工厂报价id
 | ||
| 	ProductId      int64            // 产品id
 | ||
| 	FactorySerial  string           // 工厂货号
 | ||
| 	FactoryId      int64            // 工厂id
 | ||
| 	Price          *decimal.Decimal // 采购单价
 | ||
| 	StartNum       *int64           // 起订量
 | ||
| 	MeasureUnit    string           // 数量单位
 | ||
| 	Currency       string           // 币种
 | ||
| 	CurrencyName   string           // 币种名称
 | ||
| 	CurrencySymbol string           // 币种符号
 | ||
| 	CurrencyRate   *decimal.Decimal // 币种汇率
 | ||
| 	MainFlag       int64            // 主联系人标记(1=是,2=不是)
 | ||
| }
 | ||
| 
 | ||
| // Add @TITLE 添加工厂报价
 | ||
| func (c *quote) Add(ctx context.Context, args ArgsQuoteAdd) (err error) {
 | ||
| 	xClient, err := client.GetClient(c)
 | ||
| 	if err != nil {
 | ||
| 		return
 | ||
| 	}
 | ||
| 	reply := 0
 | ||
| 	err = xClient.Call(ctx, "Add", args, &reply)
 | ||
| 	return
 | ||
| }
 | ||
| 
 | ||
| type ArgsQuoteEdit struct {
 | ||
| 	QuoteId int64 // 工厂报价id
 | ||
| 	ArgsQuoteAdd
 | ||
| }
 | ||
| 
 | ||
| // Edit @TITLE 编辑工厂报价
 | ||
| func (c *quote) Edit(ctx context.Context, args ArgsQuoteEdit) (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 *quote) Delete(ctx context.Context, quoteIds []int64) (err error) {
 | ||
| 	xClient, err := client.GetClient(c)
 | ||
| 	if err != nil {
 | ||
| 		return
 | ||
| 	}
 | ||
| 	reply := 0
 | ||
| 	err = xClient.Call(ctx, "Delete", quoteIds, &reply)
 | ||
| 	return
 | ||
| }
 |