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: "Парковка", 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` для удобства использования.
## Структуры ответов ## Структуры ответов

View File

@@ -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,
}) })

View File

@@ -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,