forked from ebhomengo/niki
1
0
Fork 0

fix(niki): agent structure refactor

This commit is contained in:
Iman Mirazimi 2024-09-16 14:44:45 +03:30
parent 47b7f7f216
commit d26d4fc179
10 changed files with 15 additions and 37 deletions

View File

@ -1,4 +1,4 @@
package adminkindboxparam
package agentkindboxparam
import (
"time"

View File

@ -8,29 +8,8 @@ import (
errmsg "git.gocasts.ir/ebhomengo/niki/pkg/err_msg"
querytransaction "git.gocasts.ir/ebhomengo/niki/pkg/query_transaction/sql"
richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"
"git.gocasts.ir/ebhomengo/niki/repository/mysql"
)
func (d *DB) AddKindBox(ctx context.Context, kindBox entity.KindBox) error {
const op = "mysqlkindbox.AddKindBox"
query := `insert into kind_boxes(kind_box_req_id,benefactor_id,type,status,sender_agent_id) values (?,?,?,?,?)`
//nolint
stmt, err := d.conn.PrepareStatement(ctx, mysql.StatementKeyKindBoxAdd, query)
if err != nil {
return richerror.New(op).WithErr(err).
WithMessage(errmsg.ErrorMsgCantPrepareStatement).WithKind(richerror.KindUnexpected)
}
_, err = stmt.ExecContext(ctx, kindBox.KindBoxReqID, kindBox.BenefactorID, kindBox.KindBoxType, entity.KindBoxDeliveredStatus, kindBox.SenderAgentID)
if err != nil {
return richerror.New(op).WithErr(err).
WithMessage(errmsg.ErrorMsgNotFound).WithKind(richerror.KindUnexpected)
}
return nil
}
func (d *DB) AddBatchKindBox(ctx context.Context, kindBoxes []entity.KindBox) error {
const op = "mysqlkindbox.AddBatchKindBoxConcurrentlyRollback"

View File

@ -9,8 +9,6 @@ import (
)
type Repository interface {
AddBatchKindBox(ctx context.Context, kindBoxes []entity.KindBox) error
AddKindBox(ctx context.Context, kindBox entity.KindBox) error
GetKindBox(ctx context.Context, kindBoxID uint) (entity.KindBox, error)
AssignReceiverAgent(ctx context.Context, kindBox entity.KindBox) error
GetAllKindBox(ctx context.Context, filter params.FilterRequest, pagination params.PaginationRequest, sort params.SortRequest) ([]entity.KindBox, uint, error)

View File

@ -1,15 +1,14 @@
package adminkindboxservice
package agentkindboxservice
import (
"context"
entity "git.gocasts.ir/ebhomengo/niki/entity"
param "git.gocasts.ir/ebhomengo/niki/param/admin/kind_box"
param "git.gocasts.ir/ebhomengo/niki/param/agent/kind_box"
richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"
)
func (s Service) AddBatchKindBox(ctx context.Context, req param.AddKindBoxRequest) (param.AddKindBoxResponse, error) {
const op = "adminkindboxservice.AddKindBox"
const op = "agentkindboxservice.AddKindBox"
kindBoxes := make([]entity.KindBox, 0)
for i := 0; i < int(req.CountAccepted); i++ {

View File

@ -12,6 +12,7 @@ type Repository interface {
GetAwaitingReturnByAgent(ctx context.Context, kindBoxID uint, agentID uint) (entity.KindBox, error)
GetAllKindBox(ctx context.Context, filter params.FilterRequest, pagination params.PaginationRequest, sort params.SortRequest) ([]entity.KindBox, uint, error)
ReturnKindBox(ctx context.Context, kindBoxID uint, serialNumber string) error
AddBatchKindBox(ctx context.Context, kindBoxes []entity.KindBox) error
}
type Service struct {

View File

@ -2,15 +2,15 @@ package agentkindboxreqservice
import (
"context"
kindboxParam "git.gocasts.ir/ebhomengo/niki/param/agent/kind_box"
param "git.gocasts.ir/ebhomengo/niki/param/agent/kind_box_req"
"time"
kindboxParam "git.gocasts.ir/ebhomengo/niki/param/admin/kind_box"
richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"
)
func (s Service) Deliver(ctx context.Context, req param.DeliverKindBoxReqRequest) (param.DeliverKindBoxReqResponse, error) {
const op = "adminkindboxreqservice.Deliver"
const op = "agentkindboxreqservice.Deliver"
if fieldErrors, vErr := s.vld.ValidateDeliver(ctx, req); vErr != nil {
return param.DeliverKindBoxReqResponse{FieldErrors: fieldErrors}, richerror.New(op).WithErr(vErr)
}

View File

@ -8,7 +8,7 @@ import (
)
func (s Service) GetAllAwaitingDelivery(ctx context.Context, req param.DeliveryAwaitingGetAllRequest) (param.DeliveryAwaitingGetAllResponse, error) {
const op = "adminkindboxreqservice.GetAllAwaitingDelivery"
const op = "agentkindboxreqservice.GetAllAwaitingDelivery"
if fieldErrors, vErr := s.vld.ValidateGetAllAwaitingDelivery(req); vErr != nil {
return param.DeliveryAwaitingGetAllResponse{FieldErrors: fieldErrors}, richerror.New(op).WithErr(vErr)

View File

@ -7,7 +7,7 @@ import (
)
func (s Service) GetAwaitingDelivery(ctx context.Context, req param.DeliveryAwaitingGetRequest) (param.DeliveryAwaitingGetResponse, error) {
const op = "adminkindboxreqservice.GetAwaitingDelivery"
const op = "agentkindboxreqservice.GetAwaitingDelivery"
if fieldErrors, vErr := s.vld.ValidateGetAwaitingDeliveryRequest(req); vErr != nil {
return param.DeliveryAwaitingGetResponse{FieldErrors: fieldErrors}, richerror.New(op).WithErr(vErr)
}

View File

@ -2,7 +2,7 @@ package agentkindboxreqservice
import (
"context"
param "git.gocasts.ir/ebhomengo/niki/param/admin/kind_box"
param "git.gocasts.ir/ebhomengo/niki/param/agent/kind_box"
"git.gocasts.ir/ebhomengo/niki/entity"
params "git.gocasts.ir/ebhomengo/niki/param"
@ -26,9 +26,10 @@ type Service struct {
vld validator.Validator
}
func New(repo Repository, vld validator.Validator) Service {
func New(repo Repository, vld validator.Validator, kindBoxSvc KindBoxSvc) Service {
return Service{
repo: repo,
vld: vld,
repo: repo,
vld: vld,
kindBoxSvc: kindBoxSvc,
}
}

View File

@ -88,7 +88,7 @@ func New(cfg config.Config, db *mysql.DB, rds *redis.Adapter, smsAdapter smscont
AgentKindBoxVld = agentkindboxvalidator.New(kindBoxRepo)
AgentKindBoxSvc = agentkindboxservice.New(kindBoxRepo, AgentKindBoxVld)
AgentKindBoxReqVld = agentkindboxreqvalidator.New(kindBoxReqRepo)
AgentKindBoxReqSvc = agentkindboxreqservice.New(kindBoxReqRepo, AgentKindBoxReqVld)
AgentKindBoxReqSvc = agentkindboxreqservice.New(kindBoxReqRepo, AgentKindBoxReqVld, AgentKindBoxSvc)
)
var (
BenefactorAuthSvc = auth.New(cfg.BenefactorAuth)