bill

package
v0.0.0-...-7aae7b9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 12, 2023 License: MIT Imports: 15 Imported by: 0

README

账单管理

账单数据分类:

原始账单: 云商同步过来的账单

问题:

  • 存在 一个实例多个账单
  • 账单维度过粗的问题, 比如oss 是以Region出的账单

针对一个实例多个账单的情况需要合并处理 针对粗的问题, 需要进行一次分摊处理

实例账单: 聚合后生成以实例维度的账单, 供上层业务使用

Documentation

Index

Constants

View Source
const (
	AppName = "bill"
)

Variables

View Source
var File_apps_bill_pb_bill_proto protoreflect.FileDescriptor
View Source
var File_apps_bill_pb_rpc_proto protoreflect.FileDescriptor
View Source
var Service_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "infraboard.cmdb.bill.Service",
	HandlerType: (*ServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "SyncBill",
			Handler:    _Service_SyncBill_Handler,
		},
		{
			MethodName: "QueryBill",
			Handler:    _Service_QueryBill_Handler,
		},
		{
			MethodName: "ConfirmBill",
			Handler:    _Service_ConfirmBill_Handler,
		},
		{
			MethodName: "DeleteBill",
			Handler:    _Service_DeleteBill_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "apps/bill/pb/rpc.proto",
}

Service_ServiceDesc is the grpc.ServiceDesc for Service service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)

Functions

func RegisterServiceServer

func RegisterServiceServer(s grpc.ServiceRegistrar, srv ServiceServer)

Types

type Bill

type Bill struct {

	// 账单项目Id
	// @gotags: json:"id"
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id"`
	// 本次账单同步关联的任务Id
	// @gotags: json:"task_id"
	TaskId string `protobuf:"bytes,2,opt,name=task_id,json=taskId,proto3" json:"task_id"`
	// 厂商
	// @gotags: json:"vendor"
	Vendor resource.VENDOR `protobuf:"varint,3,opt,name=vendor,proto3,enum=infraboard.cmdb.resource.VENDOR" json:"vendor"`
	// 资源类型
	// @gotags: json:"resource_type"
	ResourceType resource.TYPE `protobuf:"varint,4,opt,name=resource_type,json=resourceType,proto3,enum=infraboard.cmdb.resource.TYPE" json:"resource_type"`
	// 账单的年份
	// @gotags: json:"year"
	Year string `protobuf:"bytes,20,opt,name=year,proto3" json:"year"`
	// 账单的月份
	// @gotags: json:"month"
	Month string `protobuf:"bytes,5,opt,name=month,proto3" json:"month"`
	// 账单日
	// @gotags: json:"day"
	Day string `protobuf:"bytes,19,opt,name=day,proto3" json:"day"`
	// 账号Id
	// @gotags: json:"owner_id"
	OwnerId string `protobuf:"bytes,6,opt,name=owner_id,json=ownerId,proto3" json:"owner_id"`
	// 账号名称
	// @gotags: json:"owner_name"
	OwnerName string `protobuf:"bytes,7,opt,name=owner_name,json=ownerName,proto3" json:"owner_name"`
	// 产品类型
	// @gotags: json:"product_type"
	ProductType string `protobuf:"bytes,8,opt,name=product_type,json=productType,proto3" json:"product_type"`
	// 产品编码
	// @gotags: json:"product_code"
	ProductCode string `protobuf:"bytes,9,opt,name=product_code,json=productCode,proto3" json:"product_code"`
	// 产品明细
	// @gotags: json:"product_detail"
	ProductDetail string `protobuf:"bytes,10,opt,name=product_detail,json=productDetail,proto3" json:"product_detail"`
	// 计费方式,比如:月95,日均峰值
	// @gotags: json:"pay_mode"
	PayMode resource.PAY_MODE `protobuf:"varint,11,opt,name=pay_mode,json=payMode,proto3,enum=infraboard.cmdb.resource.PAY_MODE" json:"pay_mode"`
	// 计费方式详情  云服务器ECS-按量付费
	// @gotags: json:"pay_mode_detail"
	PayModeDetail string `protobuf:"bytes,12,opt,name=pay_mode_detail,json=payModeDetail,proto3" json:"pay_mode_detail"`
	// 订单/账单ID
	// @gotags: json:"order_id"
	OrderId string `protobuf:"bytes,13,opt,name=order_id,json=orderId,proto3" json:"order_id"`
	// 实例ID
	// @gotags: json:"instance_id"
	InstanceId string `protobuf:"bytes,14,opt,name=instance_id,json=instanceId,proto3" json:"instance_id"`
	// 实例名称
	// @gotags: json:"instance_name"
	InstanceName string `protobuf:"bytes,15,opt,name=instance_name,json=instanceName,proto3" json:"instance_name"`
	// 实例配置信息
	// @gotags: json:"instance_config"
	InstanceConfig string `protobuf:"bytes,16,opt,name=instance_config,json=instanceConfig,proto3" json:"instance_config"`
	// 地域Id
	// @gotags: json:"region_code"
	RegionCode string `protobuf:"bytes,17,opt,name=region_code,json=regionCode,proto3" json:"region_code"`
	// 地域名称
	// @gotags: json:"region_name"
	RegionName string `protobuf:"bytes,18,opt,name=region_name,json=regionName,proto3" json:"region_name"`
	// 实例所属域
	// @gotags: json:"domain"
	Domain string `protobuf:"bytes,21,opt,name=domain,proto3" json:"domain"`
	// 实例所属空间
	// @gotags: json:"namespace"
	Namespace string `protobuf:"bytes,22,opt,name=namespace,proto3" json:"namespace"`
	// 资源所属环境
	// @gotags: json:"env"
	Env string `protobuf:"bytes,23,opt,name=env,proto3" json:"env"`
	// 该资产的基于Tag的分摊
	// @gotags: json:"share_units"
	ShareUnits []*ShareUnit `protobuf:"bytes,24,rep,name=share_units,json=shareUnits,proto3" json:"share_units"`
	// 具体费用
	// @gotags: json:"cost"
	Cost *Cost `protobuf:"bytes,25,opt,name=cost,proto3" json:"cost"`
	// 是否已经按照实例聚合
	// @gotags: json:"is_merged"
	IsMerged bool `protobuf:"varint,26,opt,name=is_merged,json=isMerged,proto3" json:"is_merged"`
	// 额外的无法通用的一些属性, 比如只有腾讯云独有的一些属性
	// @gotags: json:"extra"
	Extra map[string]string `` /* 142-byte string literal not displayed */
	// contains filtered or unexported fields
}

账单数据结构参数: 阿里云参考: https://www.alibabacloud.com/help/zh/doc-detail/100400.htm?spm=a2c63.p38356.b99.39.22b56c48uGGnNz 腾讯云参考: https://cloud.tencent.com/document/api/555/19182 华为云参考:

func NewDefaultBill

func NewDefaultBill() *Bill

func (*Bill) Descriptor deprecated

func (*Bill) Descriptor() ([]byte, []int)

Deprecated: Use Bill.ProtoReflect.Descriptor instead.

func (*Bill) GetCost

func (x *Bill) GetCost() *Cost

func (*Bill) GetDay

func (x *Bill) GetDay() string

func (*Bill) GetDomain

func (x *Bill) GetDomain() string

func (*Bill) GetEnv

func (x *Bill) GetEnv() string

func (*Bill) GetExtra

func (x *Bill) GetExtra() map[string]string

func (*Bill) GetId

func (x *Bill) GetId() string

func (*Bill) GetInstanceConfig

func (x *Bill) GetInstanceConfig() string

func (*Bill) GetInstanceId

func (x *Bill) GetInstanceId() string

func (*Bill) GetInstanceName

func (x *Bill) GetInstanceName() string

func (*Bill) GetIsMerged

func (x *Bill) GetIsMerged() bool

func (*Bill) GetMonth

func (x *Bill) GetMonth() string

func (*Bill) GetNamespace

func (x *Bill) GetNamespace() string

func (*Bill) GetOrderId

func (x *Bill) GetOrderId() string

func (*Bill) GetOwnerId

func (x *Bill) GetOwnerId() string

func (*Bill) GetOwnerName

func (x *Bill) GetOwnerName() string

func (*Bill) GetPayMode

func (x *Bill) GetPayMode() resource.PAY_MODE

func (*Bill) GetPayModeDetail

func (x *Bill) GetPayModeDetail() string

func (*Bill) GetProductCode

func (x *Bill) GetProductCode() string

func (*Bill) GetProductDetail

func (x *Bill) GetProductDetail() string

func (*Bill) GetProductType

func (x *Bill) GetProductType() string

func (*Bill) GetRegionCode

func (x *Bill) GetRegionCode() string

func (*Bill) GetRegionName

func (x *Bill) GetRegionName() string

func (*Bill) GetResourceType

func (x *Bill) GetResourceType() resource.TYPE

func (*Bill) GetShareUnits

func (x *Bill) GetShareUnits() []*ShareUnit

func (*Bill) GetTaskId

func (x *Bill) GetTaskId() string

func (*Bill) GetVendor

func (x *Bill) GetVendor() resource.VENDOR

func (*Bill) GetYear

func (x *Bill) GetYear() string

func (*Bill) ProtoMessage

func (*Bill) ProtoMessage()

func (*Bill) ProtoReflect

func (x *Bill) ProtoReflect() protoreflect.Message

func (*Bill) Reset

func (x *Bill) Reset()

func (*Bill) ShortDesc

func (b *Bill) ShortDesc() string

func (*Bill) String

func (x *Bill) String() string

func (*Bill) ToJsonString

func (b *Bill) ToJsonString() string

func (*Bill) YearMonth

func (b *Bill) YearMonth() (int, int)

type BillSet

type BillSet struct {

	// 总条数
	// @gotags: json:"total"
	Total int64 `protobuf:"varint,1,opt,name=total,proto3" json:"total"`
	// 费用统计
	// @gotags: json:"sum"
	Sum *Cost `protobuf:"bytes,2,opt,name=sum,proto3" json:"sum"`
	// 具体条目
	// @gotags: json:"items"
	Items []*Bill `protobuf:"bytes,3,rep,name=items,proto3" json:"items"`
	// contains filtered or unexported fields
}

func NewBillSet

func NewBillSet() *BillSet

func (*BillSet) Add

func (s *BillSet) Add(items ...any)

func (*BillSet) Descriptor deprecated

func (*BillSet) Descriptor() ([]byte, []int)

Deprecated: Use BillSet.ProtoReflect.Descriptor instead.

func (*BillSet) GetItems

func (x *BillSet) GetItems() []*Bill

func (*BillSet) GetSum

func (x *BillSet) GetSum() *Cost

func (*BillSet) GetTotal

func (x *BillSet) GetTotal() int64

func (*BillSet) Length

func (s *BillSet) Length() int64

func (*BillSet) ProtoMessage

func (*BillSet) ProtoMessage()

func (*BillSet) ProtoReflect

func (x *BillSet) ProtoReflect() protoreflect.Message

func (*BillSet) Reset

func (x *BillSet) Reset()

func (*BillSet) String

func (x *BillSet) String() string

func (*BillSet) ToAny

func (s *BillSet) ToAny() (items []any)

type ConfirmBillRequest

type ConfirmBillRequest struct {

	// 账单的月份
	// @gotags: json:"task_id" validate:"required"
	TaskId string `protobuf:"bytes,1,opt,name=task_id,json=taskId,proto3" json:"task_id" validate:"required"`
	// contains filtered or unexported fields
}

func NewConfirmBillRequest

func NewConfirmBillRequest(taskId string) *ConfirmBillRequest

func (*ConfirmBillRequest) Descriptor deprecated

func (*ConfirmBillRequest) Descriptor() ([]byte, []int)

Deprecated: Use ConfirmBillRequest.ProtoReflect.Descriptor instead.

func (*ConfirmBillRequest) GetTaskId

func (x *ConfirmBillRequest) GetTaskId() string

func (*ConfirmBillRequest) ProtoMessage

func (*ConfirmBillRequest) ProtoMessage()

func (*ConfirmBillRequest) ProtoReflect

func (x *ConfirmBillRequest) ProtoReflect() protoreflect.Message

func (*ConfirmBillRequest) Reset

func (x *ConfirmBillRequest) Reset()

func (*ConfirmBillRequest) String

func (x *ConfirmBillRequest) String() string

type Cost

type Cost struct {

	// 官网价
	// @gotags: json:"sale_price"
	SalePrice float64 `protobuf:"fixed64,1,opt,name=sale_price,json=salePrice,proto3" json:"sale_price"`
	// 优惠金额
	// @gotags: json:"save_cost"
	SaveCost float64 `protobuf:"fixed64,2,opt,name=save_cost,json=saveCost,proto3" json:"save_cost"`
	// 应付金额
	// @gotags: json:"real_cost"
	RealCost float64 `protobuf:"fixed64,3,opt,name=real_cost,json=realCost,proto3" json:"real_cost"`
	// 信用额度支付金额
	// @gotags: json:"credit_pay"
	CreditPay float64 `protobuf:"fixed64,4,opt,name=credit_pay,json=creditPay,proto3" json:"credit_pay"`
	// 代金券抵扣
	// 腾讯对应: VoucherPayAmount
	// 阿里云: DeductedByCashCoupons
	VoucherPay float64 `protobuf:"fixed64,5,opt,name=voucher_pay,json=voucherPay,proto3" json:"voucher_pay,omitempty"`
	// 现金抵扣
	// @gotags: json:"cash_pay"
	CashPay float64 `protobuf:"fixed64,6,opt,name=cash_pay,json=cashPay,proto3" json:"cash_pay"`
	// 储值卡抵扣
	// @gotags: json:"storedcard_pay"
	StoredcardPay float64 `protobuf:"fixed64,7,opt,name=storedcard_pay,json=storedcardPay,proto3" json:"storedcard_pay"`
	// 欠费金额
	// @gotags: json:"outstanding_amount"
	OutstandingAmount float64 `protobuf:"fixed64,8,opt,name=outstanding_amount,json=outstandingAmount,proto3" json:"outstanding_amount"`
	// contains filtered or unexported fields
}

func (*Cost) Descriptor deprecated

func (*Cost) Descriptor() ([]byte, []int)

Deprecated: Use Cost.ProtoReflect.Descriptor instead.

func (*Cost) GetCashPay

func (x *Cost) GetCashPay() float64

func (*Cost) GetCreditPay

func (x *Cost) GetCreditPay() float64

func (*Cost) GetOutstandingAmount

func (x *Cost) GetOutstandingAmount() float64

func (*Cost) GetRealCost

func (x *Cost) GetRealCost() float64

func (*Cost) GetSalePrice

func (x *Cost) GetSalePrice() float64

func (*Cost) GetSaveCost

func (x *Cost) GetSaveCost() float64

func (*Cost) GetStoredcardPay

func (x *Cost) GetStoredcardPay() float64

func (*Cost) GetVoucherPay

func (x *Cost) GetVoucherPay() float64

func (*Cost) ProtoMessage

func (*Cost) ProtoMessage()

func (*Cost) ProtoReflect

func (x *Cost) ProtoReflect() protoreflect.Message

func (*Cost) Reset

func (x *Cost) Reset()

func (*Cost) String

func (x *Cost) String() string

type DeleteBillRequest

type DeleteBillRequest struct {

	// 账单的月份
	// @gotags: json:"task_id" validate:"required"
	TaskId string `protobuf:"bytes,1,opt,name=task_id,json=taskId,proto3" json:"task_id" validate:"required"`
	// contains filtered or unexported fields
}

func NewDeleteBillRequest

func NewDeleteBillRequest(taskId string) *DeleteBillRequest

func (*DeleteBillRequest) Descriptor deprecated

func (*DeleteBillRequest) Descriptor() ([]byte, []int)

Deprecated: Use DeleteBillRequest.ProtoReflect.Descriptor instead.

func (*DeleteBillRequest) GetTaskId

func (x *DeleteBillRequest) GetTaskId() string

func (*DeleteBillRequest) ProtoMessage

func (*DeleteBillRequest) ProtoMessage()

func (*DeleteBillRequest) ProtoReflect

func (x *DeleteBillRequest) ProtoReflect() protoreflect.Message

func (*DeleteBillRequest) Reset

func (x *DeleteBillRequest) Reset()

func (*DeleteBillRequest) String

func (x *DeleteBillRequest) String() string

func (*DeleteBillRequest) Validate

func (req *DeleteBillRequest) Validate() error

type QueryBillRequest

type QueryBillRequest struct {

	// 分页
	// @gotags: json:"page"
	Page *request.PageRequest `protobuf:"bytes,1,opt,name=page,proto3" json:"page"`
	// 实例所属域
	// @gotags: json:"domain"
	Domain string `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain"`
	// 实例所属空间
	// @gotags: json:"namespace"
	Namespace string `protobuf:"bytes,3,opt,name=namespace,proto3" json:"namespace"`
	// 资源所属环境
	// @gotags: json:"env"
	Env string `protobuf:"bytes,4,opt,name=env,proto3" json:"env"`
	// 厂商
	// @gotags: json:"vendor"
	Vendor resource.VENDOR `protobuf:"varint,5,opt,name=vendor,proto3,enum=infraboard.cmdb.resource.VENDOR" json:"vendor"`
	// 账单的月份
	// @gotags: json:"month"
	Month string `protobuf:"bytes,6,opt,name=month,proto3" json:"month"`
	// 账号Id
	// @gotags: json:"account_id"
	AccountId string `protobuf:"bytes,7,opt,name=account_id,json=accountId,proto3" json:"account_id"`
	// 地域Id
	// @gotags: json:"region_code"
	RegionCode string `protobuf:"bytes,8,opt,name=region_code,json=regionCode,proto3" json:"region_code"`
	// 产品编码
	// @gotags: json:"product_code"
	ProductCode string `protobuf:"bytes,9,opt,name=product_code,json=productCode,proto3" json:"product_code"`
	// 账单月当时标签
	// @gotags: json:"tags"
	Tags []*resource.Tag `protobuf:"bytes,10,rep,name=tags,proto3" json:"tags"`
	// 实例ID
	// @gotags: json:"instance_id"
	InstanceId string `protobuf:"bytes,11,opt,name=instance_id,json=instanceId,proto3" json:"instance_id"`
	// contains filtered or unexported fields
}

func (*QueryBillRequest) Descriptor deprecated

func (*QueryBillRequest) Descriptor() ([]byte, []int)

Deprecated: Use QueryBillRequest.ProtoReflect.Descriptor instead.

func (*QueryBillRequest) GetAccountId

func (x *QueryBillRequest) GetAccountId() string

func (*QueryBillRequest) GetDomain

func (x *QueryBillRequest) GetDomain() string

func (*QueryBillRequest) GetEnv

func (x *QueryBillRequest) GetEnv() string

func (*QueryBillRequest) GetInstanceId

func (x *QueryBillRequest) GetInstanceId() string

func (*QueryBillRequest) GetMonth

func (x *QueryBillRequest) GetMonth() string

func (*QueryBillRequest) GetNamespace

func (x *QueryBillRequest) GetNamespace() string

func (*QueryBillRequest) GetPage

func (x *QueryBillRequest) GetPage() *request.PageRequest

func (*QueryBillRequest) GetProductCode

func (x *QueryBillRequest) GetProductCode() string

func (*QueryBillRequest) GetRegionCode

func (x *QueryBillRequest) GetRegionCode() string

func (*QueryBillRequest) GetTags

func (x *QueryBillRequest) GetTags() []*resource.Tag

func (*QueryBillRequest) GetVendor

func (x *QueryBillRequest) GetVendor() resource.VENDOR

func (*QueryBillRequest) ProtoMessage

func (*QueryBillRequest) ProtoMessage()

func (*QueryBillRequest) ProtoReflect

func (x *QueryBillRequest) ProtoReflect() protoreflect.Message

func (*QueryBillRequest) Reset

func (x *QueryBillRequest) Reset()

func (*QueryBillRequest) String

func (x *QueryBillRequest) String() string

type ServiceClient

type ServiceClient interface {
	SyncBill(ctx context.Context, in *Bill, opts ...grpc.CallOption) (*Bill, error)
	QueryBill(ctx context.Context, in *QueryBillRequest, opts ...grpc.CallOption) (*BillSet, error)
	ConfirmBill(ctx context.Context, in *ConfirmBillRequest, opts ...grpc.CallOption) (*BillSet, error)
	DeleteBill(ctx context.Context, in *DeleteBillRequest, opts ...grpc.CallOption) (*BillSet, error)
}

ServiceClient is the client API for Service service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.

func NewServiceClient

func NewServiceClient(cc grpc.ClientConnInterface) ServiceClient

type ServiceServer

type ServiceServer interface {
	SyncBill(context.Context, *Bill) (*Bill, error)
	QueryBill(context.Context, *QueryBillRequest) (*BillSet, error)
	ConfirmBill(context.Context, *ConfirmBillRequest) (*BillSet, error)
	DeleteBill(context.Context, *DeleteBillRequest) (*BillSet, error)
	// contains filtered or unexported methods
}

ServiceServer is the server API for Service service. All implementations must embed UnimplementedServiceServer for forward compatibility

type ShareUnit

type ShareUnit struct {

	// 账单的月份
	// @gotags: json:"month"
	Month string `protobuf:"bytes,1,opt,name=month,proto3" json:"month"`
	// 账单月当时标签
	// @gotags: json:"tag"
	Tag *resource.Tag `protobuf:"bytes,2,opt,name=tag,proto3" json:"tag"`
	// 该成本单元的总权重, 用于计算分摊比例
	// @gotags: json:"total_weight"
	TotalWeight int64 `protobuf:"varint,3,opt,name=total_weight,json=totalWeight,proto3" json:"total_weight"`
	// 分摊逻辑描述, 比如 instance_cost * percent
	// @gotags: json:"share_describe"
	ShareDescribe string `protobuf:"bytes,4,opt,name=share_describe,json=shareDescribe,proto3" json:"share_describe"`
	// 具体分摊额度, 具体金额根据标签权重进行计算
	// @gotags: json:"cost"
	Cost *Cost `protobuf:"bytes,5,opt,name=cost,proto3" json:"cost"`
	// contains filtered or unexported fields
}

资源月账单分摊单元

func (*ShareUnit) Descriptor deprecated

func (*ShareUnit) Descriptor() ([]byte, []int)

Deprecated: Use ShareUnit.ProtoReflect.Descriptor instead.

func (*ShareUnit) GetCost

func (x *ShareUnit) GetCost() *Cost

func (*ShareUnit) GetMonth

func (x *ShareUnit) GetMonth() string

func (*ShareUnit) GetShareDescribe

func (x *ShareUnit) GetShareDescribe() string

func (*ShareUnit) GetTag

func (x *ShareUnit) GetTag() *resource.Tag

func (*ShareUnit) GetTotalWeight

func (x *ShareUnit) GetTotalWeight() int64

func (*ShareUnit) ProtoMessage

func (*ShareUnit) ProtoMessage()

func (*ShareUnit) ProtoReflect

func (x *ShareUnit) ProtoReflect() protoreflect.Message

func (*ShareUnit) Reset

func (x *ShareUnit) Reset()

func (*ShareUnit) String

func (x *ShareUnit) String() string

type SummaryRecord

type SummaryRecord struct {

	// 账号Id
	// @gotags: json:"owner_id"
	OwnerId string `protobuf:"bytes,1,opt,name=owner_id,json=ownerId,proto3" json:"owner_id"`
	// 账号名称
	// @gotags: json:"owner_name"
	OwnerName string `protobuf:"bytes,2,opt,name=owner_name,json=ownerName,proto3" json:"owner_name"`
	// 产品类型
	// @gotags: json:"product_type"
	ProductType string `protobuf:"bytes,3,opt,name=product_type,json=productType,proto3" json:"product_type"`
	// 产品编码
	// @gotags: json:"product_code"
	ProductCode string `protobuf:"bytes,4,opt,name=product_code,json=productCode,proto3" json:"product_code"`
	// 产品明细
	// @gotags: json:"product_detail"
	ProductDetail string `protobuf:"bytes,5,opt,name=product_detail,json=productDetail,proto3" json:"product_detail"`
	// 费用统计
	// @gotags: json:"sum"
	Sum *Cost `protobuf:"bytes,6,opt,name=sum,proto3" json:"sum"`
	// contains filtered or unexported fields
}

账单总览项

func (*SummaryRecord) Descriptor deprecated

func (*SummaryRecord) Descriptor() ([]byte, []int)

Deprecated: Use SummaryRecord.ProtoReflect.Descriptor instead.

func (*SummaryRecord) GetOwnerId

func (x *SummaryRecord) GetOwnerId() string

func (*SummaryRecord) GetOwnerName

func (x *SummaryRecord) GetOwnerName() string

func (*SummaryRecord) GetProductCode

func (x *SummaryRecord) GetProductCode() string

func (*SummaryRecord) GetProductDetail

func (x *SummaryRecord) GetProductDetail() string

func (*SummaryRecord) GetProductType

func (x *SummaryRecord) GetProductType() string

func (*SummaryRecord) GetSum

func (x *SummaryRecord) GetSum() *Cost

func (*SummaryRecord) ProtoMessage

func (*SummaryRecord) ProtoMessage()

func (*SummaryRecord) ProtoReflect

func (x *SummaryRecord) ProtoReflect() protoreflect.Message

func (*SummaryRecord) Reset

func (x *SummaryRecord) Reset()

func (*SummaryRecord) String

func (x *SummaryRecord) String() string

type SummaryRecordSet

type SummaryRecordSet struct {

	// 总条数
	// @gotags: json:"total"
	Total int64 `protobuf:"varint,1,opt,name=total,proto3" json:"total"`
	// 费用统计
	// @gotags: json:"sum"
	Sum *Cost `protobuf:"bytes,2,opt,name=sum,proto3" json:"sum"`
	// 具体条目
	// @gotags: json:"items"
	Items []*SummaryRecord `protobuf:"bytes,3,rep,name=items,proto3" json:"items"`
	// contains filtered or unexported fields
}

func (*SummaryRecordSet) Descriptor deprecated

func (*SummaryRecordSet) Descriptor() ([]byte, []int)

Deprecated: Use SummaryRecordSet.ProtoReflect.Descriptor instead.

func (*SummaryRecordSet) GetItems

func (x *SummaryRecordSet) GetItems() []*SummaryRecord

func (*SummaryRecordSet) GetSum

func (x *SummaryRecordSet) GetSum() *Cost

func (*SummaryRecordSet) GetTotal

func (x *SummaryRecordSet) GetTotal() int64

func (*SummaryRecordSet) ProtoMessage

func (*SummaryRecordSet) ProtoMessage()

func (*SummaryRecordSet) ProtoReflect

func (x *SummaryRecordSet) ProtoReflect() protoreflect.Message

func (*SummaryRecordSet) Reset

func (x *SummaryRecordSet) Reset()

func (*SummaryRecordSet) String

func (x *SummaryRecordSet) String() string

type UnimplementedServiceServer

type UnimplementedServiceServer struct {
}

UnimplementedServiceServer must be embedded to have forward compatible implementations.

func (UnimplementedServiceServer) ConfirmBill

func (UnimplementedServiceServer) DeleteBill

func (UnimplementedServiceServer) QueryBill

func (UnimplementedServiceServer) SyncBill

type UnsafeServiceServer

type UnsafeServiceServer interface {
	// contains filtered or unexported methods
}

UnsafeServiceServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to ServiceServer will result in compilation errors.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL