refactor: Update payment type constants to use vchasno package directly
This commit is contained in:
22
README.md
22
README.md
@@ -49,7 +49,7 @@ client := vchasno.NewClient(vchasno.Config{
|
|||||||
ProductName: "Парковка",
|
ProductName: "Парковка",
|
||||||
Comment: "Оплата парковки",
|
Comment: "Оплата парковки",
|
||||||
Taxgrp: "1",
|
Taxgrp: "1",
|
||||||
PayType: api.PayTypeCash,
|
PayType: vchasno.PayTypeCash,
|
||||||
DefaultTimeout: 30 * time.Second,
|
DefaultTimeout: 30 * time.Second,
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
@@ -157,7 +157,7 @@ response, err := client.Sell(ctx, vchasno.SellParams{
|
|||||||
Cnt: 2,
|
Cnt: 2,
|
||||||
Price: 50.00,
|
Price: 50.00,
|
||||||
Taxgrp: "1",
|
Taxgrp: "1",
|
||||||
PayType: api.PayTypeCash,
|
PayType: vchasno.PayTypeCash,
|
||||||
})
|
})
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -191,7 +191,7 @@ client.SetDefaults(vchasno.DefaultParams{
|
|||||||
ProductName: "VIP Парковка",
|
ProductName: "VIP Парковка",
|
||||||
Comment: "VIP зона",
|
Comment: "VIP зона",
|
||||||
Taxgrp: "2",
|
Taxgrp: "2",
|
||||||
PayType: api.PayTypeCard,
|
PayType: vchasno.PayTypeCard,
|
||||||
DefaultTimeout: 60 * time.Second,
|
DefaultTimeout: 60 * time.Second,
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -232,7 +232,7 @@ client := vchasno.NewClient(vchasno.Config{
|
|||||||
ProductName: "Парковка",
|
ProductName: "Парковка",
|
||||||
Comment: "Оплата услуг",
|
Comment: "Оплата услуг",
|
||||||
Taxgrp: "1",
|
Taxgrp: "1",
|
||||||
PayType: api.PayTypeCash,
|
PayType: vchasno.PayTypeCash,
|
||||||
DefaultTimeout: 30 * time.Second,
|
DefaultTimeout: 30 * time.Second,
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
@@ -286,7 +286,7 @@ client.QuickSellNamed(ctx, "Парковка", 100.00)
|
|||||||
```go
|
```go
|
||||||
client.SetDefaults(vchasno.DefaultParams{
|
client.SetDefaults(vchasno.DefaultParams{
|
||||||
ProductName: "Новое название",
|
ProductName: "Новое название",
|
||||||
PayType: api.PayTypeCard,
|
PayType: vchasno.PayTypeCard,
|
||||||
})
|
})
|
||||||
|
|
||||||
defaults := client.GetDefaults()
|
defaults := client.GetDefaults()
|
||||||
@@ -295,13 +295,15 @@ defaults := client.GetDefaults()
|
|||||||
## Константы
|
## Константы
|
||||||
|
|
||||||
### Типы задач
|
### Типы задач
|
||||||
- `api.TaskOpenShift = 0` - Открытие смены
|
- `vchasno.TaskOpenShift = 0` - Открытие смены (также доступен как `api.TaskOpenShift`)
|
||||||
- `api.TaskSell = 1` - Продажа
|
- `vchasno.TaskSell = 1` - Продажа (также доступен как `api.TaskSell`)
|
||||||
- `api.TaskZReport = 11` - Z-отчет
|
- `vchasno.TaskZReport = 11` - Z-отчет (также доступен как `api.TaskZReport`)
|
||||||
|
|
||||||
### Типы платежей
|
### Типы платежей
|
||||||
- `api.PayTypeCash = 0` - Оплата наличными
|
- `vchasno.PayTypeCash = 0` - Оплата наличными (также доступен как `api.PayTypeCash`)
|
||||||
- `api.PayTypeCard = 2` - Оплата картой
|
- `vchasno.PayTypeCard = 2` - Оплата картой (также доступен как `api.PayTypeCard`)
|
||||||
|
|
||||||
|
Все константы экспортируются как из основного пакета `vchasno`, так и из подпакета `api` для удобства использования.
|
||||||
|
|
||||||
## Структуры ответов
|
## Структуры ответов
|
||||||
|
|
||||||
|
|||||||
@@ -3,8 +3,6 @@ package vchasno
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"gitea.jeezft.xyz/jeezft/go-vchasno-kassa/api"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func ExampleBasicUsage() {
|
func ExampleBasicUsage() {
|
||||||
@@ -28,7 +26,7 @@ func ExampleWithDefaults() {
|
|||||||
ProductName: "Парковка",
|
ProductName: "Парковка",
|
||||||
Comment: "Оплата парковки",
|
Comment: "Оплата парковки",
|
||||||
Taxgrp: "1",
|
Taxgrp: "1",
|
||||||
PayType: api.PayTypeCash,
|
PayType: PayTypeCash,
|
||||||
DefaultTimeout: 30 * time.Second,
|
DefaultTimeout: 30 * time.Second,
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
@@ -46,7 +44,7 @@ func ExampleBuilderPattern() {
|
|||||||
Defaults: &DefaultParams{
|
Defaults: &DefaultParams{
|
||||||
ProductName: "Парковка",
|
ProductName: "Парковка",
|
||||||
Taxgrp: "1",
|
Taxgrp: "1",
|
||||||
PayType: api.PayTypeCash,
|
PayType: PayTypeCash,
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -83,7 +81,7 @@ func ExampleChangingDefaults() {
|
|||||||
ProductName: "VIP Парковка",
|
ProductName: "VIP Парковка",
|
||||||
Comment: "VIP зона",
|
Comment: "VIP зона",
|
||||||
Taxgrp: "2",
|
Taxgrp: "2",
|
||||||
PayType: api.PayTypeCard,
|
PayType: PayTypeCard,
|
||||||
DefaultTimeout: 60 * time.Second,
|
DefaultTimeout: 60 * time.Second,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
19
vchasno.go
19
vchasno.go
@@ -7,6 +7,17 @@ import (
|
|||||||
"gitea.jeezft.xyz/jeezft/go-vchasno-kassa/api"
|
"gitea.jeezft.xyz/jeezft/go-vchasno-kassa/api"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
PayTypeCash = api.PayTypeCash
|
||||||
|
PayTypeCard = api.PayTypeCard
|
||||||
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
TaskOpenShift = api.TaskOpenShift
|
||||||
|
TaskSell = api.TaskSell
|
||||||
|
TaskZReport = api.TaskZReport
|
||||||
|
)
|
||||||
|
|
||||||
type Client struct {
|
type Client struct {
|
||||||
api *api.Client
|
api *api.Client
|
||||||
cashier string
|
cashier string
|
||||||
@@ -41,7 +52,7 @@ func NewClient(config Config) *Client {
|
|||||||
if defaults == nil {
|
if defaults == nil {
|
||||||
defaults = &DefaultParams{
|
defaults = &DefaultParams{
|
||||||
Taxgrp: "1",
|
Taxgrp: "1",
|
||||||
PayType: api.PayTypeCash,
|
PayType: PayTypeCard,
|
||||||
DefaultTimeout: 30 * time.Second,
|
DefaultTimeout: 30 * time.Second,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -145,13 +156,13 @@ func (b *SellParamsBuilder) Comment(comment string) *SellParamsBuilder {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (b *SellParamsBuilder) PayCash() *SellParamsBuilder {
|
func (b *SellParamsBuilder) PayCash() *SellParamsBuilder {
|
||||||
b.params.PayType = api.PayTypeCash
|
b.params.PayType = PayTypeCash
|
||||||
b.params.CardParams = nil
|
b.params.CardParams = nil
|
||||||
return b
|
return b
|
||||||
}
|
}
|
||||||
|
|
||||||
func (b *SellParamsBuilder) PayCard(cardmask, bankID, rrnCode, authCode string) *SellParamsBuilder {
|
func (b *SellParamsBuilder) PayCard(cardmask, bankID, rrnCode, authCode string) *SellParamsBuilder {
|
||||||
b.params.PayType = api.PayTypeCard
|
b.params.PayType = PayTypeCard
|
||||||
b.params.CardParams = &CardParams{
|
b.params.CardParams = &CardParams{
|
||||||
Cardmask: cardmask,
|
Cardmask: cardmask,
|
||||||
BankID: bankID,
|
BankID: bankID,
|
||||||
@@ -212,7 +223,7 @@ func (c *Client) Sell(ctx context.Context, params SellParams) (*api.SellResponse
|
|||||||
var pay api.ReceiptPay
|
var pay api.ReceiptPay
|
||||||
sum := (params.Price - params.Disc) * float64(params.Cnt)
|
sum := (params.Price - params.Disc) * float64(params.Cnt)
|
||||||
|
|
||||||
if params.PayType == api.PayTypeCard && params.CardParams != nil {
|
if params.PayType == PayTypeCard && params.CardParams != nil {
|
||||||
pay = api.NewReceiptPayCard(
|
pay = api.NewReceiptPayCard(
|
||||||
sum,
|
sum,
|
||||||
params.CardParams.Cardmask,
|
params.CardParams.Cardmask,
|
||||||
|
|||||||
Reference in New Issue
Block a user