package erp import ( "context" client2 "git.kumo.work/shama/service/client" custom2 "git.kumo.work/shama/service/erp/custom" "git.kumo.work/shama/service/lib/bean" "github.com/shopspring/decimal" "time" ) type custom struct { custom2.Custom } type ArgsCustomList struct { Page bean.Page Search CustomSearch } type CustomSearch struct { Name string // 公司名称 ShortName string // 公司简称 Rank string // 客户等级 TradeCountry string // 贸易国别 Origin string // 客户来源 DepartmentIds []int64 // 所属部门 BanFlag int64 // 禁用标记 1=禁用 2=启用 StaffIds []int64 // 业务员 CreatedStaffIds []int64 // 业务员 } type ReplyCustomList struct { List []CustomItem `json:"list"` Total int64 `json:"total"` } type CustomItem struct { Id int64 `json:"id"` Serial string `json:"serial"` BanFlag int64 `json:"banFlag"` Name string `json:"name"` ShortName string `json:"shortName"` Type string `json:"type"` Rank string `json:"rank"` Origin string `json:"origin"` TradeCountry string `json:"tradeCountry"` Country string `json:"country"` City string `json:"city"` TradeScope string `json:"tradeScope"` Intent string `json:"intent"` CompanyPhone string `json:"companyPhone"` CompanyFax string `json:"companyFax"` CompanyWebsite string `json:"companyWebsite"` CompanyZipCode string `json:"companyZipCode"` CompanyAddress string `json:"companyAddress"` CompanyCnAddress string `json:"companyCnAddress"` SalesCurrency string `json:"salesCurrency"` PayWay string `json:"payWay"` PayDown decimal.Decimal `json:"payDown"` PayCycle int64 `json:"payCycle"` PayTerms string `json:"payTerms"` CargoCompany string `json:"cargoCompany"` Info string `json:"info"` MarkText string `json:"markText"` MarkImg string `json:"markImg"` ImgFilePaths []string `json:"imgFilePaths"` Status int64 `json:"status"` CreatedStaffId int64 `json:"createdStaffId"` CreatedAt *time.Time `json:"createdAt"` UpdatedAt *time.Time `json:"updatedAt"` } // List @TITLE 客户列表 func (c *custom) List(ctx context.Context, args ArgsCustomList) (reply ReplyCustomList, err error) { xClient, err := client2.GetClient(c) if err != nil { return } err = xClient.Call(ctx, "List", args, &reply) return } type ArgsCustomAdd struct { StaffId int64 CustomAdd } type CustomAdd struct { Serial string // 客户编号 BanFlag int64 // 禁用标记 1=禁用 2=启用 Name string // 公司名称 ShortName string // 公司简称 Type string // 客户类型 Rank string // 客户等级 Origin string // 客户来源 TradeCountry string // 贸易国别 Country string // 国家区域 City string // 所在城市 TradeScope string // 业务范围 Intent string // 意向产品 CompanyPhone string // 公司电话 CompanyFax string // 公司传真 CompanyWebsite string // 公司网址 CompanyZipCode string // 公司邮编 CompanyAddress string // 公司英文详细地址 CompanyCnAddress string // 公司详细中文地址 SalesCurrency string // 销售币种 PayWay string // 付款方式 PayDown decimal.Decimal // 定金比例 PayCycle int64 // 付款周期 PayTerms string // 价格条款 CargoCompany string // 货运公司 Info string // 备注 MarkText string // 唛头文字 MarkImg string // 唛头图片 ImgFilePaths []string // 图片地址集合 } // Add @TITLE 添加客户 func (c *custom) Add(ctx context.Context, args ArgsCustomAdd) (customId int64, err error) { xClient, err := client2.GetClient(c) if err != nil { return } err = xClient.Call(ctx, "Add", args, &customId) return } type ReplyCustomInfo struct { Id int64 `json:"id"` Serial string `json:"serial"` // 客户编号 BanFlag int64 `json:"banFlag"` // 禁用标记 1=禁用 2=启用 Name string `json:"name"` // 公司名称 ShortName string `json:"shortName"` // 公司简称 Type string `json:"type"` // 客户类型 Rank string `json:"rank"` // 客户等级 Origin string `json:"origin"` // 客户来源 TradeCountry string `json:"tradeCountry"` // 贸易国别 Country string `json:"country"` // 国家区域 City string `json:"city"` // 所在城市 TradeScope string `json:"tradeScope"` // 业务范围 Intent string `json:"intent"` // 意向产品 CompanyPhone string `json:"companyPhone"` // 公司电话 CompanyFax string `json:"companyFax"` // 公司传真 CompanyWebsite string `json:"companyWebsite"` // 公司网址 CompanyZipCode string `json:"companyZipCode"` // 公司邮编 CompanyAddress string `json:"companyAddress"` // 公司英文详细地址 CompanyCnAddress string `json:"companyCnAddress"` // 公司详细中文地址 SalesCurrency string `json:"salesCurrency"` // 销售币种 PayWay string `json:"payWay"` // 付款方式 PayDown decimal.Decimal `json:"payDown"` // 定金比例 PayCycle int64 `json:"payCycle"` // 付款周期 PayTerms string `json:"payTerms"` // 价格条款 CargoCompany string `json:"cargoCompany"` // 货运公司 Info string `json:"info"` // 备注 MarkText string `json:"markText"` // 唛头文字 MarkImg string `json:"markImg"` // 唛头图片 ImgFilePaths []string `json:"imgFilePaths"` // 图片地址集合 Status int64 `json:"status"` CreatedStaffId int64 `json:"createdStaffId"` CreatedAt *time.Time `json:"createdAt"` UpdatedAt *time.Time `json:"updatedAt"` } // Info @TITLE 客户详情 func (c *custom) Info(ctx context.Context, customId int64) (reply ReplyCustomInfo, err error) { xClient, err := client2.GetClient(c) if err != nil { return } err = xClient.Call(ctx, "Info", customId, &reply) return } type ArgsCustomEdit struct { CustomId int64 CustomAdd } // Edit @TITLE 编辑客户 func (c *custom) Edit(ctx context.Context, args ArgsCustomEdit) (err error) { xClient, err := client2.GetClient(c) if err != nil { return } reply := 0 return xClient.Call(ctx, "Edit", args, &reply) }