package supply import ( "context" "database/sql" "git.oa00.com/supply-chain/service/client" "git.oa00.com/supply-chain/service/lib/bean" "github.com/shopspring/decimal" "time" ) type skuAudit struct { } type ArgsSkuAuditLists struct { Search SkuAuditSearch Page bean.Page } type SkuAuditSearch struct { SourceId uint // 供应商id AdjustType uint // 加价类型 Status uint // 状态 1=未审核 2=通过 3=驳回 } type SkuAndAuditItem struct { AuditId uint `json:"auditId"` SkuId uint `json:"skuId"` AfterAdjustType uint `json:"afterAdjustType"` AfterAdjustPrice decimal.Decimal `json:"afterAdjustPrice"` Name string `json:"name"` SupplyPrice decimal.Decimal `json:"supplyPrice"` GuidePrice decimal.Decimal `json:"guidePrice"` AdjustType uint `json:"adjustType"` AdjustPrice decimal.Decimal `json:"adjustPrice"` CustomerPrice decimal.Decimal `json:"customerPrice"` Category string `json:"category"` BrandName string `json:"brandName"` SourceName string `json:"sourceName"` AuditUserId uint `json:"auditUserId"` AuditAt sql.NullTime `json:"auditAt"` ImgUrl string `json:"imgUrl"` Reason string `json:"reason"` FirstCategoryName string `json:"firstCategoryName"` SecondCategoryName string `json:"secondCategoryName"` ThirdCategoryName string `json:"thirdCategoryName"` CreatedAt time.Time `json:"createdAt"` } type ReplySkuAuditLists struct { Lists []SkuAndAuditItem `json:"lists"` Total int64 `json:"total"` } // Lists @Title 审核列表 func (s *skuAudit) Lists(ctx context.Context, args ArgsSkuAuditLists) (reply ReplySkuAuditLists, err error) { xClient, err := client.GetClient(s) if err != nil { return } err = xClient.Call(ctx, "Lists", args, &reply) return } type ArgsSkuAuditAdopt struct { AuditUserId uint // 审核人 AuditIds []uint // 审核单id } // Adopt @Title 通过 func (s *skuAudit) Adopt(ctx context.Context, args ArgsSkuAuditAdopt) error { reply := 0 xClient, err := client.GetClient(s) if err != nil { return err } return xClient.Call(ctx, "Adopt", args, &reply) } type ArgsSkuAuditReject struct { AuditUserId uint // 审核人 AuditIds []uint // 审核单id Reason string // 驳回原因 } // Reject @Title 驳回 func (s *skuAudit) Reject(ctx context.Context, args ArgsSkuAuditReject) error { reply := 0 xClient, err := client.GetClient(s) if err != nil { return err } return xClient.Call(ctx, "Reject", args, &reply) } // Stock @Title 库存查询 func (s *skuAudit) Stock() { } type ArgsApplyHistory struct { Search ApplyHistorySearch Page bean.Page } type ApplyHistorySearch struct { Id uint // 瑞库客id Name string // 商品名称 SourceId uint // 所属供应商 1=京东 SourceSkuId uint // 供应商skuId BrandId uint // 品牌Id ThirdCategoryId uint // 三级分类Id AdjustType uint // 加价规则 MaxSupplyPrice decimal.Decimal // 最大采购价格 MinSupplyPrice decimal.Decimal // 最小采购价格 CustomerProfitRate uint // 折扣 0=全部 1=5折以下 2=6 3=7 4=8 5=9折以下 Handle uint // 处理状态 AuditStatus uint // 审核状态 SourceStatus uint // 供应商下架状态 PlatformStatus uint // 平台下架状态 } type ApplyHistoryItem struct { Id uint `json:"id"` Name string `json:"name"` // 名称 BrandName string `json:"brandName"` // 品牌名称 FirstCategoryId uint `json:"firstCategoryId"` // 一级分类id SecondCategoryId uint `json:"secondCategoryId"` // 二级分类id ThirdCategoryId uint `json:"thirdCategoryId"` // 三级分类id SupplyPrice decimal.Decimal `json:"supplyPrice"` // 采购价 GuidePrice decimal.Decimal `json:"guidePrice"` // 指导价 ImgUrl string `json:"imgUrl"` // 商品主图 PlatformStatus uint `json:"platformStatus"` // 平台状态 1=上架 2=下架 SourceName string `json:"sourceName"` // 供应商名称 SourceSkuId string `json:"sourceSkuId"` // 源skuId SourceStatus uint `json:"sourceStatus"` // 供应商状态 1=上架 2=下架 CustomerPrice decimal.Decimal `json:"customerPrice"` // 供货最高价 CustomerProfitRate decimal.Decimal `json:"customerProfitRate"` // 供货利润率 供货利润/供货最高价% CustomerDiscount decimal.Decimal `json:"customerDiscount"` // 折扣 AdjustType uint `json:"adjustType"` // 加价类型 AdjustPrice decimal.Decimal `json:"adjustPrice"` // 加价金额 AfterAdjustType uint `json:"afterAdjustType"` // 改价后加价类型 AfterAdjustPrice decimal.Decimal `json:"afterAdjustPrice"` // 改价后加价金额 AfterPrice decimal.Decimal `json:"afterPrice"` // 改价记录 Reason string // 改价驳回原因 } type ReplyApplyHistoryLists struct { Lists []ApplyHistoryItem `json:"lists"` Total int64 `json:"total"` } // ApplyHistory @Title 改价申请记录 func (s *skuAudit) ApplyHistory(ctx context.Context, args ArgsApplyHistory) (reply []ReplyApplyHistoryLists, err error) { xClient, err := client.GetClient(s) if err != nil { return nil, err } err = xClient.Call(ctx, "ApplyHistory", args, &reply) return }