|
|
|
package supplier
|
|
|
|
|
|
|
|
import (
|
|
|
|
"context"
|
|
|
|
"git.oa00.com/supply-chain/service/client"
|
|
|
|
"git.oa00.com/supply-chain/service/lib/bean"
|
|
|
|
"github.com/shopspring/decimal"
|
|
|
|
)
|
|
|
|
|
|
|
|
type supplierWalletApply struct {
|
|
|
|
}
|
|
|
|
|
|
|
|
type ArgsSupplierWalletApplyLists struct {
|
|
|
|
Search SupplierWalletApplySearch
|
|
|
|
Page bean.Page
|
|
|
|
}
|
|
|
|
|
|
|
|
type SupplierWalletApplySearch struct {
|
|
|
|
SupplierName string // 供应商名称
|
|
|
|
Amount decimal.Decimal // 变动金额
|
|
|
|
ApplyStartDate string // 申请开始日期
|
|
|
|
ApplyEndDate string // 申请结束日期
|
|
|
|
AuditStatus uint // 审核状态
|
|
|
|
AuditStartDate string // 审核开始日期
|
|
|
|
AuditEndDate string // 审核结束日期
|
|
|
|
}
|
|
|
|
|
|
|
|
type SupplierWalletApplyItem struct {
|
|
|
|
Id uint
|
|
|
|
SupplierName string
|
|
|
|
Amount decimal.Decimal
|
|
|
|
ApplyUserId uint
|
|
|
|
CreatedAt int64
|
|
|
|
Reason string
|
|
|
|
AuditUserId uint
|
|
|
|
AuditTime int64
|
|
|
|
}
|
|
|
|
|
|
|
|
type ReplySupplierWalletApplyLists struct {
|
|
|
|
Lists []SupplierWalletApplyItem
|
|
|
|
Total int64
|
|
|
|
}
|
|
|
|
|
|
|
|
// Lists @Title 申请列表
|
|
|
|
func (s *supplierWalletApply) Lists(ctx context.Context, args ArgsSupplierWalletApplyLists) (reply ReplySupplierWalletApplyLists, err error) {
|
|
|
|
xClient, err := client.GetClient(s)
|
|
|
|
if err != nil {
|
|
|
|
return
|
|
|
|
}
|
|
|
|
err = xClient.Call(ctx, "Lists", args, &reply)
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
type ReplySupplierWalletApplyInfo struct {
|
|
|
|
ApplyId uint // 申请表Id
|
|
|
|
AuditStatus uint // 审核状态
|
|
|
|
SupplierName string // 供应商名称
|
|
|
|
Amount decimal.Decimal // 变动金额
|
|
|
|
ApplyUserId uint // 申请人
|
|
|
|
CreatedAt int64 // 申请时间
|
|
|
|
Proof string // 凭证
|
|
|
|
}
|
|
|
|
|
|
|
|
// Info @Title 申请详情
|
|
|
|
func (s *supplierWalletApply) Info(ctx context.Context, applyId uint) (reply ReplySupplierWalletApplyInfo, err error) {
|
|
|
|
xClient, err := client.GetClient(s)
|
|
|
|
if err != nil {
|
|
|
|
return
|
|
|
|
}
|
|
|
|
err = xClient.Call(ctx, "Info", applyId, &reply)
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
type ArgsSupplierWalletApplyAdopt struct {
|
|
|
|
ApplyId uint
|
|
|
|
AuditUserId uint
|
|
|
|
}
|
|
|
|
|
|
|
|
// Adopt @Title 申请通过
|
|
|
|
func (s *supplierWalletApply) Adopt(ctx context.Context, args ArgsSupplierWalletApplyAdopt) error {
|
|
|
|
xClient, err := client.GetClient(s)
|
|
|
|
if err != nil {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
reply := 0
|
|
|
|
return xClient.Call(ctx, "Adopt", args, &reply)
|
|
|
|
}
|
|
|
|
|
|
|
|
type ArgsSupplierWalletApplyReject struct {
|
|
|
|
ApplyId uint
|
|
|
|
AuditUserId uint
|
|
|
|
Reason string
|
|
|
|
}
|
|
|
|
|
|
|
|
// Reject @Title 申请驳回
|
|
|
|
func (s *supplierWalletApply) Reject(ctx context.Context, args ArgsSupplierWalletApplyReject) error {
|
|
|
|
xClient, err := client.GetClient(s)
|
|
|
|
if err != nil {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
reply := 0
|
|
|
|
return xClient.Call(ctx, "Reject", args, &reply)
|
|
|
|
}
|
|
|
|
|
|
|
|
type ArgsSupplierWalletApply struct {
|
|
|
|
Type uint // 变动类型
|
|
|
|
Amount decimal.Decimal // 变动金额
|
|
|
|
Proof string // 凭证
|
|
|
|
ApplyUserId uint // 申请人
|
|
|
|
SupplierId uint // 供应商Id
|
|
|
|
}
|
|
|
|
|
|
|
|
// Apply @Title 变动申请
|
|
|
|
func (s *supplierWalletApply) Apply(ctx context.Context, args ArgsSupplierWalletApply) error {
|
|
|
|
xClient, err := client.GetClient(s)
|
|
|
|
if err != nil {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
reply := 0
|
|
|
|
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
|
|
|
|
}
|