Compare commits

..

No commits in common. 'master' and 'finance' have entirely different histories.

@ -2,7 +2,6 @@ package customer
import ( import (
"git.oa00.com/supply-chain/service/customer/batchSku" "git.oa00.com/supply-chain/service/customer/batchSku"
"git.oa00.com/supply-chain/service/customer/data"
"git.oa00.com/supply-chain/service/customer/finance" "git.oa00.com/supply-chain/service/customer/finance"
"git.oa00.com/supply-chain/service/customer/service" "git.oa00.com/supply-chain/service/customer/service"
"git.oa00.com/supply-chain/service/customer/sku" "git.oa00.com/supply-chain/service/customer/sku"
@ -14,5 +13,4 @@ type Customer struct {
Sku sku.Sku Sku sku.Sku
BatchSku batchSku.BatchSku BatchSku batchSku.BatchSku
Finance finance.Finance Finance finance.Finance
Data data.Data
} }

@ -1,5 +0,0 @@
package data
type Data struct {
Wallet wallet
}

@ -1,33 +0,0 @@
package data
import (
"context"
"git.oa00.com/supply-chain/service/client"
"github.com/shopspring/decimal"
)
type wallet struct {
}
type ArgsWalletMonthCount struct {
StartAt string // 年份
EndAt string // 月份
}
type WalletMonthCountItem struct {
UserId uint `json:"userId"`
UserName string `json:"userName"`
BeforePeriod decimal.Decimal `json:"beforePeriod"` // 期初
RechargeAmount decimal.Decimal `json:"rechargeAmount"` // 充值
PlaceAmount decimal.Decimal `json:"placeAmount"` // 下单
RefundAmount decimal.Decimal `json:"refundAmount"` // 退款
AfterPeriod decimal.Decimal `json:"afterPeriod"` // 期末
}
// MonthCount @Title 月消费统计
func (w *wallet) MonthCount(ctx context.Context, args ArgsWalletMonthCount) (reply []WalletMonthCountItem, err error) {
xClient, err := client.GetClient(w)
if err != nil {
return nil, err
}
err = xClient.Call(ctx, "MonthCount", args, &reply)
return
}

@ -1,41 +0,0 @@
package user
import (
"context"
"git.oa00.com/supply-chain/service/client"
)
type message struct {
}
var (
MessageTypeOrder = messageType{
Type: 1,
TypeName: "零售订单",
}
MessageTypeAfterOrder = messageType{
Type: 2,
TypeName: "售后订单",
}
)
type messageType struct {
Type uint
TypeName string
}
type ArgsMessagePublish struct {
CustomerId uint // 客户id
Message string // 消息内容
Type messageType // 消息类型
TypeId uint // 消息来源id
}
// Publish @Title 推送消息
func (m *message) Publish(ctx context.Context, args ArgsMessagePublish) error {
reply := 0
xClient, err := client.GetClient(m)
if err != nil {
return err
}
return xClient.Call(ctx, "Publish", args, &reply)
}

@ -1,102 +0,0 @@
package user
import (
"context"
"git.oa00.com/supply-chain/service/client"
"git.oa00.com/supply-chain/service/lib/bean"
)
type real struct {
}
type ArgsUserRealLists struct {
Search UserRealSearch
Page bean.Page
}
type UserRealSearch struct {
UserName string
AuditStatus uint // 状态 1=待审核 2=审核通过 3=审核驳回
}
type ReplyUserRealLists struct {
Lists []UserRealItem
Total int64
}
type UserRealItem struct {
Id uint `json:"id"`
UserName string `json:"userName"`
Name string `json:"name"`
Code string `json:"code"`
CardImg string `json:"cardImg"`
AuditStatus uint `json:"auditStatus"`
AuditUserId uint `json:"auditUserId"`
AuditAt int64 `json:"auditAt"`
Reason string `json:"reason"`
CreatedAt int64 `json:"createdAt"`
}
// List @Title 实名认证列表
func (r *real) List(ctx context.Context, args ArgsUserRealLists) (reply ReplyUserRealLists, err error) {
xClient, err := client.GetClient(r)
if err != nil {
return ReplyUserRealLists{}, err
}
err = xClient.Call(ctx, "List", args, &reply)
return
}
type ReplyUserRealInfo struct {
Id uint `json:"id"`
UserName string `json:"userName"`
Name string `json:"name"`
Code string `json:"code"`
CardImg string `json:"cardImg"`
AuditStatus uint `json:"auditStatus"`
AuditUserId uint `json:"auditUserId"`
AuditAt int64 `json:"auditAt"`
Reason string `json:"reason"`
CreatedAt int64 `json:"createdAt"`
}
// Info @Title 审核详情
func (r *real) Info(ctx context.Context, RealId uint) (reply ReplyUserRealInfo, err error) {
xClient, err := client.GetClient(r)
if err != nil {
return ReplyUserRealInfo{}, err
}
err = xClient.Call(ctx, "Info", RealId, &reply)
return
}
type ArgsUserRealAdopt struct {
RealId uint
AuditUserId uint // 审核人Id
}
// Adopt @Title 审核通过
func (r *real) Adopt(ctx context.Context, args ArgsUserRealAdopt) error {
xClient, err := client.GetClient(r)
if err != nil {
return err
}
reply := 0
return xClient.Call(ctx, "Adopt", args, &reply)
}
type ArgsUserRealReject struct {
RealId uint
AuditUserId uint // 审核人Id
Reason string // 驳回原因
}
// Reject @Title 审核驳回
func (r *real) Reject(ctx context.Context, args ArgsUserRealReject) error {
xClient, err := client.GetClient(r)
if err != nil {
return err
}
reply := 0
return xClient.Call(ctx, "Reject", args, &reply)
}

@ -1,11 +1,8 @@
package user package user
type User struct { type User struct {
Deposit deposit // 充值 Deposit deposit // 充值
DepositAudit depositAudit // 充值审核 DepositAudit depositAudit // 充值审核
Wallet wallet // 钱包 Wallet wallet // 钱包
Cash cash // 余额提现 Cash cash // 余额提现
Message message // 消息
WalletHistory walletHistory // 消费记录
Real real // 实名认证
} }

@ -13,6 +13,8 @@ type walletType uint // 费用类型
const ( const (
WalletTypeIncome walletType = 1 // 收入 + WalletTypeIncome walletType = 1 // 收入 +
WalletTypeExpend walletType = 2 // 支出 - WalletTypeExpend walletType = 2 // 支出 -
WalletTypeBack walletType = 3 // 退款 +
WalletTypeCash walletType = 4 // 提现 -
WalletStatusHandle = 1 // 处理中 WalletStatusHandle = 1 // 处理中
WalletStatusSuccess = 2 // 成功 WalletStatusSuccess = 2 // 成功
@ -26,7 +28,6 @@ type ArgsWalletDirect struct {
ServiceId uint // 服务id ServiceId uint // 服务id
TradeChannel string // 交易渠道 TradeChannel string // 交易渠道
TradeSerialSn string // 交易渠道流水号 TradeSerialSn string // 交易渠道流水号
Title string // 收支标题
Remark string // 备注信息 Remark string // 备注信息
} }
@ -47,7 +48,6 @@ type ArgsWalletCreate struct {
ServiceId uint // 服务id ServiceId uint // 服务id
TradeChannel string // 交易渠道 TradeChannel string // 交易渠道
TradeSerialSn string // 交易渠道流水号 TradeSerialSn string // 交易渠道流水号
Title string // 收支标题
Remark string // 备注信息 Remark string // 备注信息
CancelSecond int64 // 自动取消秒 CancelSecond int64 // 自动取消秒
} }
@ -91,13 +91,3 @@ func (w *wallet) Fail(ctx context.Context, args ArgsWalletFail) error {
} }
return xClient.Call(ctx, "Fail", args, &reply) return xClient.Call(ctx, "Fail", args, &reply)
} }
// Amount @Title 钱包余额
func (w *wallet) Amount(ctx context.Context, userId int64) (amount decimal.Decimal, err error) {
xClient, err := client.GetClient(w)
if err != nil {
return
}
err = xClient.Call(ctx, "Amount", userId, &amount)
return
}

@ -1,58 +0,0 @@
package user
import (
"context"
"git.oa00.com/supply-chain/service/client"
"git.oa00.com/supply-chain/service/lib/bean"
"github.com/shopspring/decimal"
)
type walletHistory struct {
}
const (
WalletHistoryOrderIdAsc = 1 // 排序 id正序
WalletHistoryOrderIdDesc = 2 // 排序 id 倒序
)
type ArgsWalletHistoryLists struct {
Search WalletHistorySearch
Page bean.Page
Orders []uint
}
type WalletHistorySearch struct {
StartTime string // 格式 2006-01-02 15:04:05 开始时间
EndTime string // 格式 2006-01-02 15:04:05 截止时间
}
type ReplyWalletHistoryList struct {
Lists []WalletHistoryItem `json:"lists"`
Total int64 `json:"total"`
}
type WalletHistoryItem struct {
Id uint `json:"id"`
UserId uint `json:"userId"`
UserName string `json:"userName"`
Type uint `json:"type"`
Title string `json:"title"`
BeforeAmount decimal.Decimal `json:"beforeAmount"`
Amount decimal.Decimal `json:"amount"`
AfterAmount decimal.Decimal `json:"afterAmount"`
TradeChannel string `json:"tradeChannel"`
TradeSerialSn string `json:"tradeSerialSn"`
Remark string `json:"remark"`
ServiceId uint `json:"serviceId"`
CreatedAt int64 `json:"createdAt"`
ServiceName string `json:"serviceName"`
}
// Lists @Title 消费记录
func (w *walletHistory) Lists(ctx context.Context, args ArgsWalletHistoryLists) (reply ReplyWalletHistoryList, err error) {
xClient, err := client.GetClient(w)
if err != nil {
return
}
err = xClient.Call(ctx, "Lists", args, &reply)
return
}

@ -1,5 +0,0 @@
package data
type Data struct {
Order order
}

@ -1,46 +0,0 @@
package data
import (
"context"
"git.oa00.com/supply-chain/service/client"
"git.oa00.com/supply-chain/service/lib/bean"
"github.com/shopspring/decimal"
)
type order struct {
}
type ArgsOrderLists struct {
StartCreatedAt string
EndCreatedAt string
Page bean.Page
}
type ReplyOrderLists struct {
Lists []OrderItem `json:"lists"`
Total int64 `json:"total"`
}
type OrderItem struct {
OrderSubSn string `json:"orderSubSn"` // 订单号
SourceOrderSn string `json:"sourceOrderSn"` // 供应商订单号(云交易外部订单号)
Status uint `json:"status"` // 订单状态
CreatedAt int64 `json:"createdAt"` // 创建时间
LadingBillAt int64 `json:"ladingBillAt"` // 支付时间
StockOutAt int64 `json:"stockOutAt"` // 发货时间
FinishAt int64 `json:"finishAt"` // 确认收获时间
ProcureTotalPrice decimal.Decimal `json:"procureTotalPrice"` // 采购商品金额
ProcureFreightPrice decimal.Decimal `json:"procureFreightPrice"` // 应付运费
ProcurePrice decimal.Decimal `json:"procurePrice"` // 采购合计金额
ServiceFee decimal.Decimal `json:"serviceFee"` // 技术服务费 采购合金金额*1%
}
// Lists @Title 订单列表
func (o *order) Lists(ctx context.Context, args ArgsOrderLists) (reply ReplyOrderLists, err error) {
xClient, err := client.GetClient(o)
if err != nil {
return
}
err = xClient.Call(ctx, "PayOrderList", args, &reply)
return
}

@ -1,9 +1,6 @@
package jd package jd
import ( import "git.oa00.com/supply-chain/service/jd/jdsdk"
"git.oa00.com/supply-chain/service/jd/data"
"git.oa00.com/supply-chain/service/jd/jdsdk"
)
type Jd struct { type Jd struct {
Task task Task task
@ -11,5 +8,4 @@ type Jd struct {
Category category Category category
Sku sku Sku sku
Jdsdk jdsdk.Jdsdk Jdsdk jdsdk.Jdsdk
Data data.Data
} }

@ -248,19 +248,3 @@ func (s *sku) ReHandle(ctx context.Context, skuId uint) error {
} }
return xClient.Call(ctx, "ReHandle", skuId, &reply) return xClient.Call(ctx, "ReHandle", skuId, &reply)
} }
type PriceItem struct {
SkuId uint64
Price decimal.Decimal
JdPrice decimal.Decimal
}
// Prices @TITLE 批量更新价格
func (s *sku) Prices(ctx context.Context, prices []PriceItem) error {
reply := 0
xClient, err := client.GetClient(s)
if err != nil {
return err
}
return xClient.Call(ctx, "Prices", prices, &reply)
}

@ -203,7 +203,7 @@ func (d *ConsulDiscovery) watch() {
continue continue
} }
for _, p := range ps { for _, p := range ps {
if path.Dir(p.Key) != d.basePath { if !strings.HasPrefix(p.Key, prefix) { // avoid prefix issue of consul List
continue continue
} }
k := strings.TrimPrefix(p.Key, prefix) k := strings.TrimPrefix(p.Key, prefix)

@ -4,7 +4,6 @@ import (
"git.oa00.com/supply-chain/service/customer" "git.oa00.com/supply-chain/service/customer"
"git.oa00.com/supply-chain/service/jd" "git.oa00.com/supply-chain/service/jd"
"git.oa00.com/supply-chain/service/otosaas" "git.oa00.com/supply-chain/service/otosaas"
"git.oa00.com/supply-chain/service/skycrane"
"git.oa00.com/supply-chain/service/supplier" "git.oa00.com/supply-chain/service/supplier"
"git.oa00.com/supply-chain/service/supply" "git.oa00.com/supply-chain/service/supply"
"git.oa00.com/supply-chain/service/wholesale" "git.oa00.com/supply-chain/service/wholesale"
@ -19,5 +18,4 @@ type rpc struct {
Supplier supplier.Supplier Supplier supplier.Supplier
Wholesale wholesale.Wholesale Wholesale wholesale.Wholesale
OtoSaas otosaas.OtoSaas OtoSaas otosaas.OtoSaas
Skycrane skycrane.Skycrane
} }

@ -1,85 +0,0 @@
package skycrane
import (
"context"
"git.oa00.com/supply-chain/service/client"
"git.oa00.com/supply-chain/service/lib/bean"
)
type address struct {
}
type AddressSearch struct {
AddressId int64
Mate int // 1=已匹配 2=未匹配
}
type ArgsAddressList struct {
Search AddressSearch
Page bean.Page
}
type AddressItem struct {
Id int64 `json:"id"`
ProvinceName string `json:"provinceName"`
CityName string `json:"cityName"`
CountyName string `json:"countyName"`
MateAddressId int64 `json:"mateAddressId"`
MateProvinceName string `json:"mateProvinceName"`
MateCityName string `json:"mateCityName"`
MateCountyName string `json:"mateCountyName"`
}
type ReplyAddressList struct {
Lists []AddressItem `json:"lists"`
Total int64 `json:"total"`
}
// List @Title 地址列表
func (c *address) List(ctx context.Context, args ArgsAddressList) (reply ReplyAddressList, err error) {
xClient, err := client.GetClient(c)
if err != nil {
return
}
xClient.Call(ctx, "List", args, &reply)
return
}
type ArgsAddressMate struct {
AddressId int64 // 地址id
MateAddressID int64 // 修改匹配地址id
}
// Mate @Title 地址匹配
func (c *address) Mate(ctx context.Context, args ArgsAddressMate) error {
reply := 0
xClient, err := client.GetClient(c)
if err != nil {
return err
}
return xClient.Call(ctx, "Mate", args, &reply)
}
// All @Title 地址
func (c *address) All(ctx context.Context, args AddressSearch) (reply []AddressItem, err error) {
xClient, err := client.GetClient(c)
if err != nil {
return
}
xClient.Call(ctx, "All", args, &reply)
return
}
type MateAddressItem struct {
Id int64 `json:"id"`
ProvinceName string `json:"provinceName"`
CityName string `json:"cityName"`
CountyName string `json:"countyName"`
}
// MateAll @Title 匹配地址
func (c *address) MateAll(ctx context.Context) (reply []MateAddressItem, err error) {
xClient, err := client.GetClient(c)
if err != nil {
return
}
xClient.Call(ctx, "MateAll", 0, &reply)
return
}

@ -1,62 +0,0 @@
package skycrane
import (
"context"
"git.oa00.com/supply-chain/service/client"
"git.oa00.com/supply-chain/service/lib/bean"
)
type brand struct {
}
type BrandSearch struct {
Name string // 商品名称
}
type ArgsBrandList struct {
Search BrandSearch
Page bean.Page
}
type BrandItem struct {
Id int64 `json:"id"`
Name string `json:"name"`
MateBrandID int64 `json:"mateBrandID"`
}
type ReplyBrandList struct {
Lists []BrandItem `json:"lists"`
Total int64 `json:"total"`
}
// List @Title 品牌列表
func (b *brand) List(ctx context.Context, args ArgsBrandList) (reply ReplyBrandList, err error) {
xClient, err := client.GetClient(b)
if err != nil {
return
}
xClient.Call(ctx, "List", args, &reply)
return
}
type ArgsBrandMate struct {
BrandId int64 // 品牌id
SupplyBrandId int64 // 修改匹配品牌id
}
// Mate @Title 品牌匹配
func (b *brand) Mate(ctx context.Context, args ArgsBrandMate) error {
reply := 0
xClient, err := client.GetClient(b)
if err != nil {
return err
}
return xClient.Call(ctx, "Mate", args, &reply)
}
// All @Title 品牌
func (b *brand) All(ctx context.Context, args BrandSearch) (reply []BrandItem, err error) {
xClient, err := client.GetClient(b)
if err != nil {
return
}
xClient.Call(ctx, "All", args, &reply)
return
}

@ -1,74 +0,0 @@
package skycrane
import (
"context"
"git.oa00.com/supply-chain/service/client"
)
type callback struct {
}
// Cancel @TITLE 取消订单
func (c *callback) Cancel(ctx context.Context, sourceOrderSn string) error {
xClient, err := client.GetClient(c)
if err != nil {
return err
}
reply := 0
return xClient.Call(ctx, "Cancel", sourceOrderSn, &reply)
}
// StockOut @Title 出库
func (c *callback) StockOut(ctx context.Context, sourceOrderSn string) error {
xClient, err := client.GetClient(c)
if err != nil {
return err
}
reply := 0
return xClient.Call(ctx, "StockOut", sourceOrderSn, &reply)
}
// Delivered @Title 订单妥投
func (c *callback) Delivered(ctx context.Context, sourceOrderSn string) error {
xClient, err := client.GetClient(c)
if err != nil {
return err
}
reply := 0
return xClient.Call(ctx, "Delivered", sourceOrderSn, &reply)
}
// Finish @Title 订单完成
func (c *callback) Finish(ctx context.Context, sourceOrderSn string) error {
xClient, err := client.GetClient(c)
if err != nil {
return err
}
reply := 0
return xClient.Call(ctx, "Finish", sourceOrderSn, &reply)
}
// Logistics @Title 更新包裹信息
func (c *callback) Logistics(ctx context.Context, sourceOrderSn string) error {
xClient, err := client.GetClient(c)
if err != nil {
return err
}
reply := 0
return xClient.Call(ctx, "Logistics", sourceOrderSn, &reply)
}
type ArgsCallbackAfsStepResult struct {
ReturnOrderCode string
ReturnOrderStatus int64
}
// AfsStepResult @Title 售后处理
func (c *callback) AfsStepResult(ctx context.Context, args ArgsCallbackAfsStepResult) error {
xClient, err := client.GetClient(c)
if err != nil {
return err
}
reply := 0
return xClient.Call(ctx, "AfsStepResult", args, &reply)
}

@ -1,65 +0,0 @@
package skycrane
import (
"context"
"git.oa00.com/supply-chain/service/client"
"git.oa00.com/supply-chain/service/lib/bean"
)
type category struct {
}
type CategorySearch struct {
CategoryId int64
Mate int // 1=已匹配 2=未匹配
}
type ArgsCategoryList struct {
Search CategorySearch
Page bean.Page
}
type CategoryItem struct {
Id int64 `json:"id"`
FirstCategoryName string `json:"firstCategoryName"`
SecondCategoryName string `json:"secondCategoryName"`
ThirdCategoryName string `json:"thirdCategoryName"`
MateCategoryID int64 `json:"mateCategoryID"`
}
type ReplyCategoryList struct {
Lists []CategoryItem `json:"lists"`
Total int64 `json:"total"`
}
// List @Title 类目列表
func (c *category) List(ctx context.Context, args ArgsCategoryList) (reply ReplyCategoryList, err error) {
xClient, err := client.GetClient(c)
if err != nil {
return
}
xClient.Call(ctx, "List", args, &reply)
return
}
type ArgsCategoryMate struct {
CategoryId int64 // 类目id
SupplyCategoryId int64 // 修改匹配类目id
}
// Mate @Title 类目匹配
func (c *category) Mate(ctx context.Context, args ArgsCategoryMate) error {
reply := 0
xClient, err := client.GetClient(c)
if err != nil {
return err
}
return xClient.Call(ctx, "Mate", args, &reply)
}
// All @Title 类目
func (c *category) All(ctx context.Context, args CategorySearch) (reply []CategoryItem, err error) {
xClient, err := client.GetClient(c)
if err != nil {
return
}
xClient.Call(ctx, "All", args, &reply)
return
}

@ -1,191 +0,0 @@
package skycrane
import (
"context"
"git.oa00.com/supply-chain/service/client"
"git.oa00.com/supply-chain/service/lib/bean"
"github.com/shopspring/decimal"
)
const (
SkuStatusNone = 1 // 待处理
SkuStatusAdopt = 2 // 同步入库
SkuStatusReject = 3 // 废弃商品
)
type sku struct {
}
type SkuSearch struct {
Status int // 状态
Name string // 商品名称
Code string // sku编码
CategoryId int64 // 类目id
BrandName string // 品牌
MinSupplyPrice decimal.Decimal // 采购价最小
MaxSupplyPrice decimal.Decimal // 采购价最大
}
type ArgsSkuList struct {
Search SkuSearch
Page bean.Page
}
type SkuItem struct {
Id int64 `json:"id"`
Name string `json:"name"`
Code string `json:"code"`
MainPhoto string `json:"mainPhoto"`
BrandName string `json:"brandName"`
FirstCategoryName string `json:"firstCategoryName"`
SecondCategoryName string `json:"secondCategoryName"`
ThirdCategoryName string `json:"thirdCategoryName"`
SupplyPrice decimal.Decimal `json:"supplyPrice"`
GuidePrice decimal.Decimal `json:"guidePrice"`
ShelvesStatus int64 `json:"shelvesStatus"`
Status int64 `json:"status"`
CreatedAt int64 `json:"createdAt"`
UpdatedAt int64 `json:"updatedAt"`
MateBrandId int64 `json:"mateBrandId"`
MateCategoryId int64 `json:"mateCategoryId"`
}
type ReplySkuList struct {
Lists []SkuItem `json:"lists"`
Total int64 `json:"total"`
}
// List @Title 商品列表
func (s *sku) List(ctx context.Context, args ArgsSkuList) (reply ReplySkuList, err error) {
xClient, err := client.GetClient(s)
if err != nil {
return
}
xClient.Call(ctx, "List", args, &reply)
return
}
type SkuImg struct {
Id int64 `json:"id"`
Path string `json:"path"`
ReplacePath string `json:"replacePath"`
}
// Imgs @Title 获取预览图
func (s *sku) Imgs(ctx context.Context, skuId int64) (reply []SkuImg, err error) {
xClient, err := client.GetClient(s)
if err != nil {
return
}
err = xClient.Call(ctx, "Imgs", skuId, &reply)
return
}
type ReplySkuInfo struct {
Id int64 `json:"id"`
GoodsCode string `json:"goodsCode"`
GoodsName string `json:"goodsName"`
Code string `json:"code"`
Name string `json:"name"`
Title string `json:"title"`
SellPrice decimal.Decimal `json:"sellPrice"`
MarketPrice decimal.Decimal `json:"marketPrice"`
StartQty int64 `json:"startQty"`
ShelvesStatus int64 `json:"shelvesStatus"`
TaxCode string `json:"taxCode"`
TaxRate decimal.Decimal `json:"taxRate"`
BarCode string `json:"barCode"`
IsDeleted int64 `json:"isDeleted"`
BrandId int64 `json:"brandId"`
BrandCode string `json:"brandCode"`
BrandName string `json:"brandName"`
CategoryId int64 `json:"categoryId"`
FirstCategoryCode string `json:"firstCategoryCode"`
FirstCategoryName string `json:"firstCategoryName"`
SecondCategoryCode string `json:"secondCategoryCode"`
SecondCategoryName string `json:"secondCategoryName"`
ThirdCategoryCode string `json:"thirdCategoryCode"`
ThirdCategoryName string `json:"thirdCategoryName"`
ReturnGoodsRules int64 `json:"returnGoodsRules"`
GoodsCharacteristic string `json:"goodsCharacteristic"`
GoodsUnit string `json:"goodsUnit"`
ModelNumber string `json:"modelNumber"`
ProductPlace string `json:"productPlace"`
HaveShelfLife int64 `json:"haveShelfLife"`
ShelfLife string `json:"shelfLife"`
FragileGoods int64 `json:"fragileGoods"`
GrossWeight decimal.Decimal `json:"grossWeight"`
GrossWeightUnit string `json:"grossWeightUnit"`
Density decimal.Decimal `json:"density"`
Extent decimal.Decimal `json:"extent"`
Width decimal.Decimal `json:"width"`
Height decimal.Decimal `json:"height"`
CreatedAt int64 `json:"createdAt"`
UpdatedAt int64 `json:"updatedAt"`
MateBrandId int64 `json:"mateBrandId"`
MateCategoryId int64 `json:"mateCategoryId"`
Content string `json:"content"`
Imgs []SkuImg `json:"imgs"`
Attributes []SkuAttribute `json:"attributes"`
Specs []SkuSpec `json:"specs"`
}
type SkuAttribute struct {
Id int64 `json:"id"`
Name string `json:"name"`
Value string `json:"value"`
}
type SkuSpec struct {
Id int64 `json:"id"`
Name string `json:"name"`
Value string `json:"value"`
}
// Info @Title 获取详情
func (s *sku) Info(ctx context.Context, skuId int64) (reply ReplySkuInfo, err error) {
xClient, err := client.GetClient(s)
if err != nil {
return
}
err = xClient.Call(ctx, "Info", skuId, &reply)
return
}
type ArgsSkuReplaceImg struct {
SkuId int64 // 商品id
ImgId int64 // 图片id
ImgPath string // 图片路径
}
// ReplaceImg @Title 替换图片
func (s *sku) ReplaceImg(ctx context.Context, args ArgsSkuReplaceImg) error {
reply := 0
xClient, err := client.GetClient(s)
if err != nil {
return err
}
return xClient.Call(ctx, "ReplaceImg", args, &reply)
}
type AdoptItem struct {
Id int64 `json:"id"`
Code string `json:"code"`
Name string `json:"name"`
Error string `json:"error"`
}
// Adopt @Title 入库
func (s *sku) Adopt(ctx context.Context, skuIds []int64) (reply []AdoptItem, err error) {
xClient, err := client.GetClient(s)
if err != nil {
return
}
err = xClient.Call(ctx, "Adopt", skuIds, &reply)
return
}
// Discard @Title 废弃
func (s *sku) Discard(ctx context.Context, skuIds []int64) error {
reply := 0
xClient, err := client.GetClient(s)
if err != nil {
return err
}
return xClient.Call(ctx, "Discard", skuIds, &reply)
}

@ -1,10 +0,0 @@
package skycrane
type Skycrane struct {
Task task
Sku sku
Brand brand
Category category
Address address
Callback callback
}

@ -1,65 +0,0 @@
package skycrane
import (
"context"
"git.oa00.com/supply-chain/service/client"
"time"
)
const (
TaskStatusIng = 1 // 进行中
TaskStatusFinish = 2 // 结束
)
type task struct {
}
// Pull @Title 拉取商品
func (t *task) Pull(ctx context.Context) error {
a := 0
xClient, err := client.GetClient(t)
if err != nil {
return err
}
return xClient.Call(ctx, "Pull", 0, &a)
}
type TaskStatus struct {
ScrollId string `json:"scrollId"`
Total int64 `json:"total"`
Count int64 `json:"count"`
Status int `json:"status"` // 1=运行中 2=已完成
Msg string `json:"msg"`
StartTime time.Time `json:"startTime"`
LastTime time.Time `json:"lastTime"`
}
// GetPullStatus @Title 获取拉取状态
func (t *task) GetPullStatus(ctx context.Context) (reply TaskStatus, err error) {
xClient, err := client.GetClient(t)
if err != nil {
return
}
err = xClient.Call(ctx, "GetPullStatus", 0, &reply)
return
}
// Prices @Title 商品更新
func (t *task) Prices(ctx context.Context) error {
a := 0
xClient, err := client.GetClient(t)
if err != nil {
return err
}
return xClient.Call(ctx, "Prices", 0, &a)
}
// GetPricesStatus @Title 获取拉取状态
func (t *task) GetPricesStatus(ctx context.Context) (reply TaskStatus, err error) {
xClient, err := client.GetClient(t)
if err != nil {
return
}
err = xClient.Call(ctx, "GetPricesStatus", 0, &reply)
return
}

@ -20,7 +20,6 @@ type Supplier struct {
AfsAudit afsAudit AfsAudit afsAudit
BatchGoods batch.Goods BatchGoods batch.Goods
Enterprise enterprise Enterprise enterprise
Real supplierReal
} }
type supplier struct { type supplier struct {
@ -103,32 +102,12 @@ func (s *supplier) Disabled(ctx context.Context, supplierId uint) error {
} }
type ReplySupplierInfo struct { type ReplySupplierInfo struct {
Name string `json:"name"`
CreditCode string `json:"creditCode"`
BusinessAddress string `json:"businessAddress"`
LegalPersonName string `json:"legalPersonName"`
PayTaxes uint `json:"payTaxes"`
TaxNumber string `json:"taxNumber"`
BankName string `json:"bankName"`
BankCode string `json:"bankCode"`
BankAddress string `json:"bankAddress"`
Phone string `json:"phone"`
CreatedAt int64 `json:"createdAt"`
BusinessLicense string `json:"businessLicense"`
IdPhotoFront string `json:"idPhotoFront"`
IdPhotoBack string `json:"idPhotoBack"`
AccountPhoto string `json:"accountPhoto"`
ContactName string `json:"contactName"`
ContactEmail string `json:"contactEmail"`
ContactPhone string `json:"contactPhone"`
Position string `json:"position"`
PaytaxesPhoto string `json:"paytaxesPhoto"`
SupplierId uint SupplierId uint
SupplierName string // 供应商名称 SupplierName string // 供应商名称
Account string // 账户名 Account string // 账户名
PayType uint // 结算方式 PayType uint // 结算方式
Liaison string // 联系人 Liaison string // 联系人
Phone string // 手机号
Annex string // 附件 Annex string // 附件
WarnStatus uint // 预警状态 WarnStatus uint // 预警状态
WarnValue decimal.Decimal // 预警值 WarnValue decimal.Decimal // 预警值
@ -164,22 +143,6 @@ func (s *supplier) InfoByRetailOrderSn(ctx context.Context, retailOrderSn string
return return
} }
type ReplyFindInfoByRetailOrderSn struct {
SupplierId uint
SupplierName string // 供应商名称
OrderSn string // 订单号
}
// FindInfoByRetailOrderSn @Title 根据零售订单查询供应商信息
func (s *supplier) FindInfoByRetailOrderSn(ctx context.Context, retailOrderSns []string) (reply []ReplyFindInfoByRetailOrderSn, err error) {
xClient, err := client.GetClient(s)
if err != nil {
return nil, err
}
err = xClient.Call(ctx, "FindInfoByRetailOrderSn", retailOrderSns, &reply)
return
}
type ArgsSupplierEdit struct { type ArgsSupplierEdit struct {
SupplierId uint SupplierId uint
SupplierName string // 供应商名称 SupplierName string // 供应商名称

@ -1,105 +0,0 @@
package supplier
import (
"context"
"git.oa00.com/supply-chain/service/client"
"git.oa00.com/supply-chain/service/lib/bean"
)
type supplierReal struct {
}
type ArgsSupplierRealLists struct {
Search SupplierRealSearch
Page bean.Page
}
type SupplierRealSearch struct {
SupplierName string
ApplyUserName string
AuditStatus uint // 状态 1=待审核 2=审核通过 3=审核驳回
}
type ReplySupplierRealLists struct {
Lists []SupplierRealItem
Total int64
}
type SupplierRealItem struct {
Id uint `json:"id"`
SupplierName string `json:"supplierName"`
ApplyUserName string `json:"applyUserName"`
Name string `json:"name"`
Code string `json:"code"`
CardImg string `json:"cardImg"`
AuditStatus uint `json:"auditStatus"`
AuditUserId uint `json:"auditUserId"`
AuditAt int64 `json:"auditAt"`
Reason string `json:"reason"`
CreatedAt int64 `json:"createdAt"`
}
// List @Title 实名认证列表
func (s *supplierReal) List(ctx context.Context, args ArgsSupplierRealLists) (reply ReplySupplierRealLists, err error) {
xClient, err := client.GetClient(s)
if err != nil {
return ReplySupplierRealLists{}, err
}
err = xClient.Call(ctx, "List", args, &reply)
return
}
type ReplySupplierRealInfo struct {
Id uint `json:"id"`
SupplierName string `json:"supplierName"`
ApplyUserName string `json:"applyUserName"`
Name string `json:"name"`
Code string `json:"code"`
CardImg string `json:"cardImg"`
AuditStatus uint `json:"auditStatus"`
AuditUserId uint `json:"auditUserId"`
AuditAt int64 `json:"auditAt"`
Reason string `json:"reason"`
CreatedAt int64 `json:"createdAt"`
}
// Info @Title 审核详情
func (s *supplierReal) Info(ctx context.Context, RealId uint) (reply ReplySupplierRealInfo, err error) {
xClient, err := client.GetClient(s)
if err != nil {
return ReplySupplierRealInfo{}, err
}
err = xClient.Call(ctx, "Info", RealId, &reply)
return
}
type ArgsSupplierRealAdopt struct {
RealId uint
AuditUserId uint // 审核人Id
}
// Adopt @Title 审核通过
func (s *supplierReal) Adopt(ctx context.Context, args ArgsSupplierRealAdopt) error {
xClient, err := client.GetClient(s)
if err != nil {
return err
}
reply := 0
return xClient.Call(ctx, "Adopt", args, &reply)
}
type ArgsSupplierRealReject struct {
RealId uint
AuditUserId uint // 审核人Id
Reason string // 驳回原因
}
// Reject @Title 审核驳回
func (s *supplierReal) Reject(ctx context.Context, args ArgsSupplierRealReject) error {
xClient, err := client.GetClient(s)
if err != nil {
return err
}
reply := 0
return xClient.Call(ctx, "Reject", args, &reply)
}

@ -119,39 +119,3 @@ func (s *supplierWalletApply) Apply(ctx context.Context, args ArgsSupplierWallet
reply := 0 reply := 0
return xClient.Call(ctx, "Apply", args, &reply) return xClient.Call(ctx, "Apply", args, &reply)
} }
type ArgsSupplierWalletHistory struct {
Search SupplierWalletHistorySearch
Page bean.Page
}
type SupplierWalletHistorySearch struct {
SupplierName string // 供应商名称
Type int // 类型
Date string // 日期
}
type SupplierWalletHistoryItem struct {
Id uint `json:"id"`
SupplierName string `json:"supplierName"`
Type uint `json:"type"`
Amount decimal.Decimal `json:"amount"`
AfterAmount decimal.Decimal `json:"afterAmount"`
ApplyUserId uint `json:"applyUserId"`
CreatedAt int64 `json:"createdAt"`
}
type ReplySupplierWalletHistoryLists struct {
Lists []SupplierWalletHistoryItem
Total int64
}
// History @Title 余额变更记录
func (s *supplierWalletApply) History(ctx context.Context, args ArgsSupplierWalletHistory) (reply ReplySupplierWalletHistoryLists, err error) {
xClient, err := client.GetClient(s)
if err != nil {
return
}
err = xClient.Call(ctx, "History", args, &reply)
return
}

@ -74,7 +74,6 @@ type ArgsAfterServiceApply struct {
TypeName string // 售后名称 TypeName string // 售后名称
ReasonCode string // 售后原因编码 ReasonCode string // 售后原因编码
ReasonName string // 售后原因描述 ReasonName string // 售后原因描述
Describe string // 售后描述
ChannelAfterServiceSn string // 渠道售后单号 ChannelAfterServiceSn string // 渠道售后单号
OrderSn string // 订单编号 OrderSn string // 订单编号
SkuId uint // skuId SkuId uint // skuId

@ -11,7 +11,6 @@ const (
MqSubscribeNameSkuChange = "sku_change" // sku信息变动 MqSubscribeNameSkuChange = "sku_change" // sku信息变动
MqSubscribeNameOrderSplit = "order_split" // 订单拆单 MqSubscribeNameOrderSplit = "order_split" // 订单拆单
MqSubscribeNameOrderStockOut = "order_stock_out" // 订单出库 MqSubscribeNameOrderStockOut = "order_stock_out" // 订单出库
MqSubscribeNameOrderDelivered = "order_delivered" // 订单签收
MqSubscribeNameOrderFinish = "order_finish" // 订单完成 MqSubscribeNameOrderFinish = "order_finish" // 订单完成
MqSubscribeNameOrderCancel = "order_cancel" // 订单取消 MqSubscribeNameOrderCancel = "order_cancel" // 订单取消
MqSubscribeNameAfsDeliver = "afs_deliver" // 需要客户发货 MqSubscribeNameAfsDeliver = "afs_deliver" // 需要客户发货

@ -196,16 +196,14 @@ type ArgsOrderLists struct {
} }
type OrderItem struct { type OrderItem struct {
OrderId uint `json:"orderId"`
OrderSn string `json:"orderSn"` OrderSn string `json:"orderSn"`
RootOrderSn string `json:"rootOrderSn"`
ChannelOrderSn string `json:"channelOrderSn"`
ReceiverName string `json:"receiverName"` ReceiverName string `json:"receiverName"`
ReceiverMobile string `json:"receiverMobile"` ReceiverMobile string `json:"receiverMobile"`
Address string `json:"address"` Address string `json:"address"`
FreightFee decimal.Decimal `json:"freightFee"` FreightFee decimal.Decimal `json:"freightFee"`
OrderFee decimal.Decimal `json:"orderFee"` OrderFee decimal.Decimal `json:"orderFee"`
LadingBillAt int64 `json:"ladingBillAt"` LadingBillAt int64 `json:"ladingBillAt"`
DeliveredAt int64 `json:"deliveredAt"`
FinishAt int64 `json:"finishAt"` FinishAt int64 `json:"finishAt"`
Status uint `json:"status"` Status uint `json:"status"`
CancelStatus uint `json:"cancelStatus"` CancelStatus uint `json:"cancelStatus"`
@ -214,10 +212,10 @@ type OrderItem struct {
Skus []OrderSku `json:"skus"` Skus []OrderSku `json:"skus"`
Packages []OrderPackage `json:"packages"` Packages []OrderPackage `json:"packages"`
StockOutAt int64 `json:"stockOutAt"` StockOutAt int64 `json:"stockOutAt"`
IsSplit uint `json:"isSplit"`
} }
type OrderSku struct { type OrderSku struct {
Id uint `json:"id"`
SkuId uint `json:"skuId"` SkuId uint `json:"skuId"`
Name string `json:"name"` Name string `json:"name"`
Price decimal.Decimal `json:"price"` Price decimal.Decimal `json:"price"`
@ -252,59 +250,42 @@ type ArgsOrderDetail struct {
ChannelOrderSn string ChannelOrderSn string
} }
type ReplyOrderDetail struct { type ReplyOrderDetail struct {
ChannelOrderSn string `json:"channelOrderSn"` ChannelOrderSn string
OrderSn string `json:"orderSn"` OrderSn string
Status uint `json:"status"` OrderFee decimal.Decimal
OrderFee decimal.Decimal `json:"orderFee"` FreightFee decimal.Decimal
FreightFee decimal.Decimal `json:"freightFee"` Receiver OrderReceiver
Receiver OrderReceiver `json:"receiver"` CreatedAt int64
CreatedAt int64 `json:"createdAt"` LadingBillAt int64
LadingBillAt int64 `json:"ladingBillAt"` CloseAt int64
CloseAt int64 `json:"closeAt"`
Skus []OrderDetailSku `json:"skus"`
OrderSubs []OrderDetailOrderSub `json:"orderSubs"`
} }
type OrderReceiver struct { type OrderReceiver struct {
ReceiverName string `json:"receiverName"` ReceiverName string
ReceiverMobile string `json:"receiverMobile"` ReceiverMobile string
ReceiverEmail string `json:"receiverEmail"` ReceiverEmail string
ReceiverZipCode string `json:"receiverZipCode"` ReceiverZipCode string
Address string `json:"address"` Address string
UserIp string `json:"userIp"` UserIp string
}
type OrderDetailSku struct {
Quantity uint `json:"quantity"`
SkuId uint `json:"skuId"`
Price decimal.Decimal `json:"price"`
Name string `json:"name"`
ImgUrl string `json:"imgUrl"`
Size string `json:"size"`
Color string `json:"color"`
}
type OrderDetailOrderSub struct {
OrderSn string `json:"orderSn"`
Children []OrderDetailOrderSub `json:"children"`
} }
// Detail @Title 订单详情 // Detail @Title 订单详情
func (o *order) Detail(ctx context.Context, channelId string, args ArgsOrderDetail) (reply ReplyOrderDetail, err error) { func (o *order) Detail(ctx context.Context, channelId string, orderSn string) (reply ReplyOrderDetail, err error) {
xClient, err := client.GetClient(o) xClient, err := client.GetClient(o)
if err != nil { if err != nil {
return return
} }
err = xClient.Call(context.WithValue(ctx, share.ReqMetaDataKey, map[string]string{"channelId": channelId}), "Detail", args, &reply) err = xClient.Call(context.WithValue(ctx, share.ReqMetaDataKey, map[string]string{"channelId": channelId}), "Detail", orderSn, &reply)
return return
} }
// SubDetail @Title 子订单详情 // SubDetail @Title 子订单详情
func (o *order) SubDetail(ctx context.Context, channelId, orderSubSn string) (reply OrderItem, err error) { func (o *order) SubDetail(ctx context.Context, channelId, orderSn string) (reply OrderItem, err error) {
xClient, err := client.GetClient(o) xClient, err := client.GetClient(o)
if err != nil { if err != nil {
return return
} }
err = xClient.Call(context.WithValue(ctx, share.ReqMetaDataKey, map[string]string{"channelId": channelId}), "SubDetail", orderSubSn, &reply) err = xClient.Call(context.WithValue(ctx, share.ReqMetaDataKey, map[string]string{"channelId": channelId}), "SubDetail", orderSn, &reply)
return return
} }

@ -6,7 +6,6 @@ import (
"git.oa00.com/supply-chain/service/lib/bean" "git.oa00.com/supply-chain/service/lib/bean"
"github.com/shopspring/decimal" "github.com/shopspring/decimal"
"github.com/smallnest/rpcx/share" "github.com/smallnest/rpcx/share"
"time"
) )
type sku struct { type sku struct {
@ -59,13 +58,11 @@ type SkuItem struct {
CreatedAt int64 `json:"createdAt"` CreatedAt int64 `json:"createdAt"`
UpdatedAt int64 `json:"updatedAt"` UpdatedAt int64 `json:"updatedAt"`
Highlight SkuItemHighlight `json:"highlight"` Highlight SkuItemHighlight `json:"highlight"`
Tag []string `json:"tag"`
} }
type ReplySkuList struct { type ReplySkuList struct {
Lists []SkuItem `json:"lists"` Lists []SkuItem `json:"lists"`
Total int64 `json:"total"` Total int64 `json:"total"`
ScrollId string `json:"scrollId"`
} }
// Lists @Title 商品列表 // Lists @Title 商品列表
@ -101,14 +98,12 @@ type SkuEsSearch struct {
Source uint // 所属供应商 Source uint // 所属供应商
ThirdCategoryIds []uint // 三级分类Ids ThirdCategoryIds []uint // 三级分类Ids
TagIds []uint // 标签Ids TagIds []uint // 标签Ids
Tag []string // 标签
OrderType uint // 排序类型 OrderType uint // 排序类型
OrderSort uint // 排序顺序 OrderSort uint // 排序顺序
} }
type SkuEsConfig struct { type SkuEsConfig struct {
Highlight bool Highlight bool
Scroll time.Duration
} }
type ArgsSkuListsEs struct { type ArgsSkuListsEs struct {
Search SkuEsSearch Search SkuEsSearch
@ -126,21 +121,6 @@ func (s *sku) ListsEs(ctx context.Context, channelId string, args ArgsSkuListsEs
return return
} }
type ArgsSkuListsEsScroll struct {
Scroll time.Duration // 缓存时间
ScrollId string // 滚动标记id
}
// ListsEsScroll @Title es商品列表 目前最大10000条数据超出不显示
func (s *sku) ListsEsScroll(ctx context.Context, channelId string, args ArgsSkuListsEsScroll) (reply ReplySkuList, err error) {
xClient, err := client.GetClient(s)
if err != nil {
return
}
err = xClient.Call(context.WithValue(ctx, share.ReqMetaDataKey, map[string]string{"channelId": channelId}), "ListsEsScroll", args, &reply)
return
}
type ArgsSkuDetails struct { type ArgsSkuDetails struct {
SkuIds []uint // sku数组 SkuIds []uint // sku数组
} }
@ -174,7 +154,6 @@ type SkuDetailItem struct {
Imgs []SkuImg `json:"imgs"` Imgs []SkuImg `json:"imgs"`
Specifications []SkuSpecification `json:"specifications"` Specifications []SkuSpecification `json:"specifications"`
GroupSkuIds []uint `json:"groupSkuIds"` GroupSkuIds []uint `json:"groupSkuIds"`
Tag []string `json:"tag"`
} }
type SkuImg struct { type SkuImg struct {
Path string `json:"path"` Path string `json:"path"`

@ -1,52 +0,0 @@
package data
import (
"context"
"git.oa00.com/supply-chain/service/client"
"git.oa00.com/supply-chain/service/lib/bean"
"github.com/shopspring/decimal"
)
type afs struct {
}
type ArgsAfsLists struct {
StartFinishAt string
EndFinishAt string
Page bean.Page
}
type ReplyAfsLists struct {
Lists []AfsItem `json:"lists"`
Total int64 `json:"total"`
}
type AfsItem struct {
SourceName string `json:"sourceName"` // 供应渠道
SourceSonName string `json:"sourceSonName"` // 供应商
CustomerName string `json:"customerName"` // 客户名
AfsSn string `json:"afsSn"` // 售后单号
AfsResult string `json:"afsResult"` // 售后处理结果
AfsFinishAt int64 `json:"afsFinishAt"` // 售后完成时间
OrderSn string `json:"orderSn"` // 原始订单号
OrderSunSn string `json:"orderSunSn"` // 订单号
LadingBillAt int64 `json:"ladingBillAt"` // 订单支付时间
FinishAt int64 `json:"finishAt"` // 确认收货时间
SkuName string `json:"skuName"` // 商品名称
SkuUpcCode string `json:"skuUpcCode"` // 商品条码
Unit string `json:"unit"` // 单位
AfsQuality uint `json:"afsQuality"` // 售后数量
NewOrderSn string `json:"newOrderSn"` // 新订单号
PlatformRefund decimal.Decimal `json:"platformRefund"` // 平台退款金额
SupplierRefund decimal.Decimal `json:"supplierRefund"` // 供应商退款金额
}
// AfsLists @Title 售后明细列表
func (a *afs) AfsLists(ctx context.Context, args ArgsAfsLists) (reply ReplyAfsLists, err error) {
xClient, err := client.GetClient(a)
if err != nil {
return
}
err = xClient.Call(ctx, "AfsLists", args, &reply)
return
}

@ -1,37 +0,0 @@
package data
import (
"context"
"git.oa00.com/supply-chain/service/client"
"github.com/shopspring/decimal"
)
type count struct {
}
type ArgsCountSource struct {
StartAt string
EndAt string
}
type ReplySourceItem struct {
SourceName string `json:"sourceName"` // 供应渠道
ProduceTotalPrice decimal.Decimal `json:"produceTotalPrice"` // 采购总金额
ProduceFreightFee decimal.Decimal `json:"produceFreightFee"` // 采购应付运费
ProducePrice decimal.Decimal `json:"producePrice"` // 采购合计金额
SaleTotalPrice decimal.Decimal `json:"saleTotalPrice"` // 销售总金额
SaleFreightFee decimal.Decimal `json:"saleFreightFee"` // 销售应收运费
SalePrice decimal.Decimal `json:"salePrice"` // 销售合计金额
PlatformRefund decimal.Decimal `json:"platformRefund"` // 平台退款金额
SupplierRefund decimal.Decimal `json:"supplierRefund"` // 供应商退款金额
}
// Source @Title 供应商对账表
func (c *count) Source(ctx context.Context, args ArgsCountSource) (reply []ReplySourceItem, err error) {
xClient, err := client.GetClient(c)
if err != nil {
return
}
err = xClient.Call(ctx, "Source", args, &reply)
return
}

@ -1,7 +0,0 @@
package data
type Data struct {
Order order
Afs afs
Count count
}

@ -1,201 +0,0 @@
package data
import (
"context"
"git.oa00.com/supply-chain/service/client"
"git.oa00.com/supply-chain/service/lib/bean"
"github.com/shopspring/decimal"
)
type order struct {
}
type ArgsPayOrderLists struct {
StartLadingBillAt string
EndLadingBillAt string
Page bean.Page
}
type ReplyPayOrderLists struct {
Lists []PayOrderItem `json:"lists"`
Total int64 `json:"total"`
}
type PayOrderItem struct {
SourceName string `json:"sourceName"` // 供应渠道
SourceSonName string `json:"sourceSonName"` // 供应商
CustomerName string `json:"customerName"` // 客户名
OrderSn string `json:"orderSn"` // 原始订单号
OrderSubSn string `json:"orderSubSn"` // 订单号
SupplierOrderSn string `json:"supplierOrderSn"` // 供应商订单号
OrderStatus uint `json:"orderStatus"` // 订单状态
LadingBillAt int64 `json:"ladingBillAt"` // 支付时间
StockOutAt int64 `json:"stockOutAt"` // 发货时间
FinishAt int64 `json:"finishAt"` // 确认收货时间
SkuName string `json:"skuName"` // 商品名称
SkuUpcCode string `json:"skuUpcCode"` // 商品条码
Specification string `json:"specification"` // 规格
Quality uint `json:"quality"` // 数量
ProduceSupplyPrice decimal.Decimal `json:"produceSupplyPrice"` // 采购单价
ProduceTotalPrice decimal.Decimal `json:"produceTotalPrice"` // 采购总金额
ProduceFreightFee decimal.Decimal `json:"ProduceFreightFee"` // 采购应付运费
ProducePrice decimal.Decimal `json:"producePrice"` // 采购合计金额
SaleSupplyPrice decimal.Decimal `json:"saleSupplyPrice"` // 销售单价
SaleTotalPrice decimal.Decimal `json:"saleTotalPrice"` // 销售总金额
SaleFreightFee decimal.Decimal `json:"saleFreightFee"` // 销售应收运费
SalePrice decimal.Decimal `json:"salePrice"` // 销售合计金额
Unit string `json:"unit"` // 单位
Tax string `json:"tax"` // 税率
ReceiverName string `json:"receiverName"` // 收件人
ReceiverPhone string `json:"receiverPhone"` // 收件人手机号
ReceiverAddress string `json:"receiverAddress"` // 收件人地址
}
// PayOrderList @Title 支付订单统计
func (o *order) PayOrderList(ctx context.Context, args ArgsPayOrderLists) (result ReplyPayOrderLists, err error) {
xClient, err := client.GetClient(o)
if err != nil {
return
}
err = xClient.Call(ctx, "PayOrderList", args, &result)
return
}
type ArgsCancelOrderLists struct {
StartCancelAt string
EndCancelAt string
Page bean.Page
}
type ReplyCancelOrderLists struct {
Lists []CancelOrderItem `json:"lists"`
Total int64 `json:"total"`
}
type CancelOrderItem struct {
SourceName string `json:"sourceName"` // 供应渠道
SourceSonName string `json:"sourceSonName"` // 供应商
CustomerName string `json:"customerName"` // 客户名
OrderSn string `json:"orderSn"` // 原始订单号
OrderSubSn string `json:"orderSubSn"` // 订单号
SupplierOrderSn string `json:"supplierOrderSn"` // 供应商订单号
OrderStatus uint `json:"orderStatus"` // 订单状态
LadingBillAt int64 `json:"ladingBillAt"` // 支付时间
StockOutAt int64 `json:"stockOutAt"` // 发货时间
CancelAt int64 `json:"cancelAt"` // 取消时间
TotalPrice decimal.Decimal `json:"totalPrice"` // 商品金额
FreightFee decimal.Decimal `json:"freightFee"` // 运费
Price decimal.Decimal `json:"price"` // 销售合计金额
RefundPrice decimal.Decimal `json:"refundPrice"` // 退款金额
}
// CancelOrderLists @Title 取消订单统计
func (o *order) CancelOrderLists(ctx context.Context, args ArgsCancelOrderLists) (result ReplyCancelOrderLists, err error) {
xClient, err := client.GetClient(o)
if err != nil {
return
}
err = xClient.Call(ctx, "CancelOrderLists", args, &result)
return
}
type ArgsStockOutOrderList struct {
StartStockOutAt string
EndStockOutAt string
Page bean.Page
}
type ReplyStockOutOrderList struct {
Lists []StockOutOrderItem `json:"lists"`
Total int64 `json:"total"`
}
type StockOutOrderItem struct {
SourceName string `json:"sourceName"` // 供应渠道
SourceSonName string `json:"sourceSonName"` // 供应商
CustomerName string `json:"customerName"` // 客户名
OrderSn string `json:"orderSn"` // 原始订单号
OrderSubSn string `json:"orderSubSn"` // 订单号
SupplierOrderSn string `json:"supplierOrderSn"` // 供应商订单号
OrderStatus uint `json:"orderStatus"` // 订单状态
LadingBillAt int64 `json:"ladingBillAt"` // 支付时间
StockOutAt int64 `json:"stockOutAt"` // 发货时间
FinishAt int64 `json:"finishAt"` // 确认收货时间
SkuName string `json:"skuName"` // 商品名称
SkuUpcCode string `json:"skuUpcCode"` // 商品条码
Specification string `json:"specification"` // 规格
Quality uint `json:"quality"` // 数量
ProduceSupplyPrice decimal.Decimal `json:"produceSupplyPrice"` // 采购单价
ProduceTotalPrice decimal.Decimal `json:"produceTotalPrice"` // 采购总金额
ProduceFreightFee decimal.Decimal `json:"ProduceFreightFee"` // 采购应付运费
ProducePrice decimal.Decimal `json:"producePrice"` // 采购合计金额
SaleSupplyPrice decimal.Decimal `json:"saleSupplyPrice"` // 销售单价
SaleTotalPrice decimal.Decimal `json:"saleTotalPrice"` // 销售总金额
SaleFreightFee decimal.Decimal `json:"saleFreightFee"` // 销售应收运费
SalePrice decimal.Decimal `json:"salePrice"` // 销售合计金额
Unit string `json:"unit"` // 单位
Tax string `json:"tax"` // 税率
ReceiverName string `json:"receiverName"` // 收件人
ReceiverPhone string `json:"receiverPhone"` // 收件人手机号
ReceiverAddress string `json:"receiverAddress"` // 收件人地址
}
// StockOutOrderList @Title 发货订单统计
func (o *order) StockOutOrderList(ctx context.Context, args ArgsStockOutOrderList) (result ReplyStockOutOrderList, err error) {
xClient, err := client.GetClient(o)
if err != nil {
return
}
err = xClient.Call(ctx, "StockOutOrderList", args, &result)
return
}
type JdOrderItem struct {
CustomerName string `json:"customerName"`
OrderSn string `json:"orderSn"`
OrderSubSn string `json:"orderSubSn"`
SupplierOrderSn string `json:"supplierOrderSn"`
OrderStatus uint `json:"orderStatus"`
CreatedAt int64 `json:"createdAt"`
LadingBillAt int64 `json:"ladingBillAt"`
StockOutAt int64 `json:"stockOutAt"`
FinishAt int64 `json:"finishAt"`
SkuName string `json:"skuName"`
SkuUpcCode string `json:"skuUpcCode"`
Specification string `json:"specification"`
Quality uint `json:"quality"`
ProduceSupplyPrice decimal.Decimal `json:"produceSupplyPrice"`
ProduceTotalPrice decimal.Decimal `json:"produceTotalPrice"`
ProduceFreightFee decimal.Decimal `json:"produceFreightFee"`
ProducePrice decimal.Decimal `json:"producePrice"`
SaleSupplyPrice decimal.Decimal `json:"saleSupplyPrice"`
SaleTotalPrice decimal.Decimal `json:"saleTotalPrice"`
SaleFreightFee decimal.Decimal `json:"saleFreightFee"`
SalePrice decimal.Decimal `json:"salePrice"`
Unit string `json:"unit"`
Tax string `json:"tax"`
ReceiverName string `json:"receiverName"`
ReceiverPhone string `json:"receiverPhone"`
ReceiverAddress string `json:"receiverAddress"`
}
type ArgsJdOrderList struct {
StartAt string
EndAt string
Page bean.Page
}
type ReplyJdOrderList struct {
Lists []JdOrderItem `json:"lists"`
Total int64 `json:"total"`
}
// JdList @Title 京东订单
func (o *order) JdList(ctx context.Context, args ArgsJdOrderList) (result ReplyJdOrderList, err error) {
xClient, err := client.GetClient(o)
if err != nil {
return
}
err = xClient.Call(ctx, "JdList", args, &result)
return
}

@ -60,7 +60,6 @@ type ArgsAfterServiceApply struct {
TypeName string // 售后名称 TypeName string // 售后名称
ReasonCode string // 售后原因编码 ReasonCode string // 售后原因编码
ReasonName string // 售后原因描述 ReasonName string // 售后原因描述
Describe string // 售后描述
AfsSn string // 渠道售后单号 AfsSn string // 渠道售后单号
OrderSn string // 订单编号 OrderSn string // 订单编号
SkuId string // skuId SkuId string // skuId

@ -20,8 +20,6 @@ type OrderInterface interface {
Trajectory(ctx context.Context, orderSn string, reply *[]ReplyTrajectory) error Trajectory(ctx context.Context, orderSn string, reply *[]ReplyTrajectory) error
// Finish @Title 确认收货 // Finish @Title 确认收货
Finish(ctx context.Context, orderSn string, reply *int) error Finish(ctx context.Context, orderSn string, reply *int) error
// SubmitData @Title 订单下单数据
SubmitData(ctx context.Context, supplyOrderSn string, reply *ReplySubmitData) error
} }
type ArgsOrderCancel struct { type ArgsOrderCancel struct {
OrderSn string // 订单编号 OrderSn string // 订单编号
@ -49,7 +47,6 @@ type ArgsOrderSubmit struct {
FreightFee decimal.Decimal // 运费 FreightFee decimal.Decimal // 运费
Receiver OrderReceiver // 收件信息 Receiver OrderReceiver // 收件信息
UserIp string // 用户ip UserIp string // 用户ip
BuyerMsg string // 用户备注
} }
type OrderReceiver struct { type OrderReceiver struct {
@ -69,20 +66,3 @@ type PackageStep struct {
Content string `json:"content"` Content string `json:"content"`
OperatorAt int64 `json:"operatorAt"` OperatorAt int64 `json:"operatorAt"`
} }
type ReplySubmitData struct {
OrderSn string `json:"orderSn"`
Status int64 `json:"status"`
OrderFee decimal.Decimal `json:"orderFee"`
FreightFee decimal.Decimal `json:"freightFee"`
LadingBillAt int64 `json:"ladingBillAt"`
Skus []ReplySubmitDataSku `json:"skus"`
}
type ReplySubmitDataSku struct {
SkuId string `json:"skuId"`
Name string `json:"name"`
Quantity int64 `json:"quantity"`
SupplyPrice decimal.Decimal `json:"supplyPrice"`
GuidePrice decimal.Decimal `json:"guidePrice"`
Amount decimal.Decimal `json:"amount"`
}

@ -104,22 +104,6 @@ func (o *order) StockOut(ctx context.Context, args ArgsOrderStockOut) (err error
// return // return
//} //}
type ArgsOrderDelivered struct {
Source source // 商品来源
SourceOrderSn string // 供应商订单号
}
// Delivered @Title 订单签收/妥投
func (o *order) Delivered(ctx context.Context, args ArgsOrderDelivered) (err error) {
xClient, err := client.GetClient(o)
if err != nil {
return
}
reply := 0
err = xClient.Call(ctx, "Delivered", args, &reply)
return
}
type ArgsOrderFinish struct { type ArgsOrderFinish struct {
Source source // 商品来源 Source source // 商品来源
SourceOrderSn string // 供应商订单号 SourceOrderSn string // 供应商订单号
@ -156,18 +140,18 @@ type RetailOrderSearch struct {
type RetailOrderItem struct { type RetailOrderItem struct {
Id uint `json:"id"` Id uint `json:"id"`
OrderSubSn string `json:"orderSubSn"` // 订单号 OrderSubSn string `json:"orderSubSn"`
SourceOrderSn string `json:"sourceOrderSn"` // 供应商订单号 SourceOrderSn string `json:"sourceOrderSn"`
SourceName string `json:"sourceName"` // 供应商名称 SourceName string `json:"sourceName"`
CustomerName string `json:"customerName"` // 客户名称 CustomerName string `json:"customerName"`
OrderStatus uint `json:"orderStatus"` // 订单状态 OrderStatus uint `json:"orderStatus"`
OrderFee decimal.Decimal `json:"orderFee"` // 订单金额 OrderFee decimal.Decimal `json:"orderFee"`
FreightFee decimal.Decimal `json:"freightFee"` // 运费 FreightFee decimal.Decimal `json:"freightFee"`
SupplyOrderFee decimal.Decimal `json:"supplyOrderFee"` // 供应商订单金额 SupplyOrderFee decimal.Decimal `json:"supplyOrderFee"`
PayTime int64 `json:"payTime"` // 支付时间 PayTime int64 `json:"payTime"`
FinishAt int64 `json:"finishAt"` // 完成时间 FinishAt int64 `json:"finishAt"`
CloseAt int64 `json:"closeAt"` // 关闭时间 CloseAt int64 `json:"closeAt"`
StockOutAt int64 `json:"stockOutAt"` // 发货时间 StockOutAt int64 `json:"stockOutAt"`
} }
type ReplyRetailOrderLists struct { type ReplyRetailOrderLists struct {
@ -232,75 +216,3 @@ func (o *order) Info(ctx context.Context, orderSn string) (reply OrderInfo, err
err = xClient.Call(ctx, "Info", orderSn, &reply) err = xClient.Call(ctx, "Info", orderSn, &reply)
return return
} }
type InfoByOrderId struct {
Id uint
ChannelOrderSn string // 渠道订单编号
OrderSn uint64 // 订单编号
ChannelId uint // 渠道id
Type uint // 下单方式 1=api接口下单 2=客户商城下单
Status uint // 状态
OrderFee decimal.Decimal // 订单总金额-不含运费
SupplyOrderFee decimal.Decimal // 供应商订单总金额-不含运费
PayTime int64 // 确认时间
Rate decimal.Decimal // 商品费率
FreightFee decimal.Decimal // 运费
ReceiverName string // 收件人
ReceiverMobile string // 手机号
ReceiverEmail string // 邮箱
ReceiverZipCode string // 邮编
Address string // 配送地址
UserIp string // 用户ip
ExpireAt int64 // 订单提单超时时效时间
LadingBillAt int64 // 提单时间
CloseAt int64 // 订单关闭时间
}
// InfoByOrderId @Title 根据订单id查询详情
func (o *order) InfoByOrderId(ctx context.Context, orderId uint) (reply InfoByOrderId, err error) {
xClient, err := client.GetClient(o)
if err != nil {
return
}
err = xClient.Call(ctx, "InfoByOrderId", orderId, &reply)
return
}
type ReplySubmitData struct {
OrderSn string `json:"orderSn"`
Status int64 `json:"status"`
OrderFee decimal.Decimal `json:"orderFee"`
SupplyOrderFee decimal.Decimal `json:"supplyOrderFee"`
FreightFee decimal.Decimal `json:"freightFee"`
LadingBillAt int64 `json:"ladingBillAt"`
Skus []ReplySubmitDataSku `json:"skus"`
OrderSubs []ReplySubmitDataOrderSub `json:"orderSubs"`
}
type ReplySubmitDataOrderSub struct {
OrderSubSn uint64 `json:"orderSubSn"`
SourceId uint `json:"sourceId"`
OrderFee decimal.Decimal `json:"orderFee"`
SupplyOrderFee decimal.Decimal `json:"supplyOrderFee"`
SourceName string `json:"sourceName"`
SourceBase string `json:"sourceBase"`
SourceOrderName string `json:"sourceOrderName"`
}
type ReplySubmitDataSku struct {
SkuId string `json:"skuId"`
Name string `json:"name"`
Quantity int64 `json:"quantity"`
SupplyPrice decimal.Decimal `json:"supplyPrice"`
GuidePrice decimal.Decimal `json:"guidePrice"`
Amount decimal.Decimal `json:"amount"`
SourceSkuId string `json:"sourceSkuId"`
}
// SubmitData @Title 订单下单数据
func (o *order) SubmitData(ctx context.Context, orderId int64) (reply ReplySubmitData, err error) {
xClient, err := client.GetClient(o)
if err != nil {
return
}
err = xClient.Call(ctx, "SubmitData", orderId, &reply)
return
}

@ -38,33 +38,3 @@ func (o *opensearch) IndicesRefresh(ctx context.Context) error {
reply := 0 reply := 0
return xClient.Call(ctx, "IndicesRefresh", 0, &reply) return xClient.Call(ctx, "IndicesRefresh", 0, &reply)
} }
// Refresh @Title 刷新
func (o *opensearch) Refresh(ctx context.Context) error {
xClient, err := client.GetClient(o)
if err != nil {
return err
}
reply := 0
return xClient.Call(ctx, "Refresh", 0, &reply)
}
type ReplyOpensearchRefreshProgress struct {
Completed bool `json:"completed"`
Total int `json:"total"`
Updated int `json:"updated"`
StartTimeInMillis int64 `json:"startTimeInMillis"`
RunningTimeInNanos int64 `json:"runningTimeInNanos"`
}
// RefreshProgress @Title 刷新进度
func (o *opensearch) RefreshProgress(ctx context.Context) (reply ReplyOpensearchRefreshProgress, err error) {
xClient, err := client.GetClient(o)
if err != nil {
return
}
if err = xClient.Call(ctx, "RefreshProgress", 0, &reply); err != nil {
return
}
return
}

@ -16,7 +16,6 @@ const (
SkuSourceJd source = 1 // 京东开普勒渠道 SkuSourceJd source = 1 // 京东开普勒渠道
SkuSourceSupplier source = 2 // 供应链供应商渠道 SkuSourceSupplier source = 2 // 供应链供应商渠道
SkuSourceOtoSaas source = 3 // 海旅供应商渠道 SkuSourceOtoSaas source = 3 // 海旅供应商渠道
SkuSourceSkycrane source = 4 // 云中鹤渠道
) )
const ( const (
@ -62,7 +61,6 @@ type ArgsSkuAdd struct {
Content string // 商品详情 Content string // 商品详情
Imgs []SkuImg // 商品图片 第一张主图 Imgs []SkuImg // 商品图片 第一张主图
Specifications []SkuSpecification // 商品参数信息 Specifications []SkuSpecification // 商品参数信息
Tag []string // 标签
} }
type SkuImg struct { type SkuImg struct {
@ -200,7 +198,6 @@ type SkuEsSearch struct {
SkuId uint // Sku编码 SkuId uint // Sku编码
SupplySkuId uint // 供应商Sku编码 SupplySkuId uint // 供应商Sku编码
SkuName string // 商品名称 SkuName string // 商品名称
SkuNameVague string // 商品名称-模糊查询
UpcCode string // 商品条码 UpcCode string // 商品条码
BrandId uint // 品牌id BrandId uint // 品牌id
BrandName string // 品牌名称 全词匹配 BrandName string // 品牌名称 全词匹配
@ -369,7 +366,6 @@ type ArgsSkuChangeData struct {
Source source // 商品来源 Source source // 商品来源
Imgs []string // 商品图片 第一张主图 Imgs []string // 商品图片 第一张主图
Specifications []SkuSpecification // 商品参数信息 Specifications []SkuSpecification // 商品参数信息
Tag []string // 标签
} }
// ChangeData @Title 更新商品信息 // ChangeData @Title 更新商品信息

@ -28,22 +28,3 @@ func (s *sourceRpc) Select(ctx context.Context) (reply []SourceItem, err error)
err = xClient.Call(ctx, "Select", args, &reply) err = xClient.Call(ctx, "Select", args, &reply)
return return
} }
type SourceInfo struct {
Id uint `json:"id"`
Name string `json:"name"`
Base string `json:"base"`
SkuName string `json:"skuName"`
OrderName string `json:"orderName"`
AfterService string `json:"afterService"`
}
// Info @Title 获取供货商
func (s *sourceRpc) Info(ctx context.Context, sourceId uint) (reply SourceInfo, err error) {
xClient, err := client.GetClient(s)
if err != nil {
return
}
err = xClient.Call(ctx, "Info", sourceId, &reply)
return
}

@ -2,7 +2,6 @@ package supply
import ( import (
"git.oa00.com/supply-chain/service/supply/channel" "git.oa00.com/supply-chain/service/supply/channel"
"git.oa00.com/supply-chain/service/supply/data"
"git.oa00.com/supply-chain/service/supply/setting" "git.oa00.com/supply-chain/service/supply/setting"
) )
@ -17,5 +16,4 @@ type Supply struct {
Source sourceRpc Source sourceRpc
AfterService afterService AfterService afterService
SkuTag skuTag SkuTag skuTag
Data data.Data
} }

@ -7,13 +7,8 @@ import (
) )
const ( const (
MqSubscribeNameSkuPriceChange = "sku_price_change" // sku价格变动 MqSubscribeNameSkuPriceChange = "sku_price_change" // sku价格变动
MqSubscribeNameSkuChange = "sku_change" // sku信息变动 MqSubscribeNameSkuChange = "sku_change" // sku信息变动
MqSubscribeNameOrderFreightFee = "order_freight_fee" // 运费处理完成
MqSubscribeNameOrderSplit = "order_split" // 拆单
MqSubscribeNameOrderStockOut = "order_stock_out" // 订单出库
MqSubscribeNameOrderFinish = "order_finish" // 订单完成
MqSubscribeNameOrderCancel = "order_cancel" // 订单取消
) )
type mq struct { type mq struct {

@ -121,7 +121,6 @@ type OrderSearch struct {
Status []uint // 订单状态 Status []uint // 订单状态
CancelStatus uint // 取消状态 CancelStatus uint // 取消状态
OrderSubSn string // 订单号 OrderSubSn string // 订单号
OrderSn string // 主订单号
CreatedStartDate string // 创建开始日期 CreatedStartDate string // 创建开始日期
CreatedEndDate string // 创建结束日期 CreatedEndDate string // 创建结束日期
PayStartDate string // 支付开始日期 PayStartDate string // 支付开始日期

@ -128,7 +128,6 @@ type ArgsOrderLists struct {
type OrderSearch struct { type OrderSearch struct {
OrderSubSn string OrderSubSn string
OrderSn string
Status []uint Status []uint
CancelStatus uint CancelStatus uint
CreatedStartDate string CreatedStartDate string
@ -146,7 +145,6 @@ type OrderItem struct {
Id uint Id uint
ChannelId uint ChannelId uint
OrderSubSn string OrderSubSn string
OrderSn string
SourceOrderSn string SourceOrderSn string
Status uint Status uint
CancelStatus uint CancelStatus uint

Loading…
Cancel
Save