refactor: Update payment type constants to use vchasno package directly

This commit is contained in:
2025-10-07 14:53:50 +03:00
parent 1081f2cca6
commit 43b1d40028
3 changed files with 30 additions and 19 deletions

View File

@@ -49,7 +49,7 @@ client := vchasno.NewClient(vchasno.Config{
ProductName: "Парковка",
Comment: "Оплата парковки",
Taxgrp: "1",
PayType: api.PayTypeCash,
PayType: vchasno.PayTypeCash,
DefaultTimeout: 30 * time.Second,
},
})
@@ -157,7 +157,7 @@ response, err := client.Sell(ctx, vchasno.SellParams{
Cnt: 2,
Price: 50.00,
Taxgrp: "1",
PayType: api.PayTypeCash,
PayType: vchasno.PayTypeCash,
})
```
@@ -191,7 +191,7 @@ client.SetDefaults(vchasno.DefaultParams{
ProductName: "VIP Парковка",
Comment: "VIP зона",
Taxgrp: "2",
PayType: api.PayTypeCard,
PayType: vchasno.PayTypeCard,
DefaultTimeout: 60 * time.Second,
})
@@ -232,7 +232,7 @@ client := vchasno.NewClient(vchasno.Config{
ProductName: "Парковка",
Comment: "Оплата услуг",
Taxgrp: "1",
PayType: api.PayTypeCash,
PayType: vchasno.PayTypeCash,
DefaultTimeout: 30 * time.Second,
},
})
@@ -286,7 +286,7 @@ client.QuickSellNamed(ctx, "Парковка", 100.00)
```go
client.SetDefaults(vchasno.DefaultParams{
ProductName: "Новое название",
PayType: api.PayTypeCard,
PayType: vchasno.PayTypeCard,
})
defaults := client.GetDefaults()
@@ -295,13 +295,15 @@ defaults := client.GetDefaults()
## Константы
### Типы задач
- `api.TaskOpenShift = 0` - Открытие смены
- `api.TaskSell = 1` - Продажа
- `api.TaskZReport = 11` - Z-отчет
- `vchasno.TaskOpenShift = 0` - Открытие смены (также доступен как `api.TaskOpenShift`)
- `vchasno.TaskSell = 1` - Продажа (также доступен как `api.TaskSell`)
- `vchasno.TaskZReport = 11` - Z-отчет (также доступен как `api.TaskZReport`)
### Типы платежей
- `api.PayTypeCash = 0` - Оплата наличными
- `api.PayTypeCard = 2` - Оплата картой
- `vchasno.PayTypeCash = 0` - Оплата наличными (также доступен как `api.PayTypeCash`)
- `vchasno.PayTypeCard = 2` - Оплата картой (также доступен как `api.PayTypeCard`)
Все константы экспортируются как из основного пакета `vchasno`, так и из подпакета `api` для удобства использования.
## Структуры ответов

View File

@@ -3,8 +3,6 @@ package vchasno
import (
"context"
"time"
"gitea.jeezft.xyz/jeezft/go-vchasno-kassa/api"
)
func ExampleBasicUsage() {
@@ -28,7 +26,7 @@ func ExampleWithDefaults() {
ProductName: "Парковка",
Comment: "Оплата парковки",
Taxgrp: "1",
PayType: api.PayTypeCash,
PayType: PayTypeCash,
DefaultTimeout: 30 * time.Second,
},
})
@@ -46,7 +44,7 @@ func ExampleBuilderPattern() {
Defaults: &DefaultParams{
ProductName: "Парковка",
Taxgrp: "1",
PayType: api.PayTypeCash,
PayType: PayTypeCash,
},
})
@@ -83,7 +81,7 @@ func ExampleChangingDefaults() {
ProductName: "VIP Парковка",
Comment: "VIP зона",
Taxgrp: "2",
PayType: api.PayTypeCard,
PayType: PayTypeCard,
DefaultTimeout: 60 * time.Second,
})

View File

@@ -7,6 +7,17 @@ import (
"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 {
api *api.Client
cashier string
@@ -41,7 +52,7 @@ func NewClient(config Config) *Client {
if defaults == nil {
defaults = &DefaultParams{
Taxgrp: "1",
PayType: api.PayTypeCash,
PayType: PayTypeCard,
DefaultTimeout: 30 * time.Second,
}
}
@@ -145,13 +156,13 @@ func (b *SellParamsBuilder) Comment(comment string) *SellParamsBuilder {
}
func (b *SellParamsBuilder) PayCash() *SellParamsBuilder {
b.params.PayType = api.PayTypeCash
b.params.PayType = PayTypeCash
b.params.CardParams = nil
return b
}
func (b *SellParamsBuilder) PayCard(cardmask, bankID, rrnCode, authCode string) *SellParamsBuilder {
b.params.PayType = api.PayTypeCard
b.params.PayType = PayTypeCard
b.params.CardParams = &CardParams{
Cardmask: cardmask,
BankID: bankID,
@@ -212,7 +223,7 @@ func (c *Client) Sell(ctx context.Context, params SellParams) (*api.SellResponse
var pay api.ReceiptPay
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(
sum,
params.CardParams.Cardmask,