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 ( import (
"time" "time"

View File

@ -8,29 +8,8 @@ import (
errmsg "git.gocasts.ir/ebhomengo/niki/pkg/err_msg" errmsg "git.gocasts.ir/ebhomengo/niki/pkg/err_msg"
querytransaction "git.gocasts.ir/ebhomengo/niki/pkg/query_transaction/sql" querytransaction "git.gocasts.ir/ebhomengo/niki/pkg/query_transaction/sql"
richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error" 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 { func (d *DB) AddBatchKindBox(ctx context.Context, kindBoxes []entity.KindBox) error {
const op = "mysqlkindbox.AddBatchKindBoxConcurrentlyRollback" const op = "mysqlkindbox.AddBatchKindBoxConcurrentlyRollback"

View File

@ -9,8 +9,6 @@ import (
) )
type Repository interface { 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) GetKindBox(ctx context.Context, kindBoxID uint) (entity.KindBox, error)
AssignReceiverAgent(ctx context.Context, kindBox 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) 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 ( import (
"context" "context"
entity "git.gocasts.ir/ebhomengo/niki/entity" 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" richerror "git.gocasts.ir/ebhomengo/niki/pkg/rich_error"
) )
func (s Service) AddBatchKindBox(ctx context.Context, req param.AddKindBoxRequest) (param.AddKindBoxResponse, 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) kindBoxes := make([]entity.KindBox, 0)
for i := 0; i < int(req.CountAccepted); i++ { 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) 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) 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 ReturnKindBox(ctx context.Context, kindBoxID uint, serialNumber string) error
AddBatchKindBox(ctx context.Context, kindBoxes []entity.KindBox) error
} }
type Service struct { type Service struct {

View File

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

View File

@ -2,7 +2,7 @@ package agentkindboxreqservice
import ( import (
"context" "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" "git.gocasts.ir/ebhomengo/niki/entity"
params "git.gocasts.ir/ebhomengo/niki/param" params "git.gocasts.ir/ebhomengo/niki/param"
@ -26,9 +26,10 @@ type Service struct {
vld validator.Validator vld validator.Validator
} }
func New(repo Repository, vld validator.Validator) Service { func New(repo Repository, vld validator.Validator, kindBoxSvc KindBoxSvc) Service {
return Service{ return Service{
repo: repo, repo: repo,
vld: vld, 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) AgentKindBoxVld = agentkindboxvalidator.New(kindBoxRepo)
AgentKindBoxSvc = agentkindboxservice.New(kindBoxRepo, AgentKindBoxVld) AgentKindBoxSvc = agentkindboxservice.New(kindBoxRepo, AgentKindBoxVld)
AgentKindBoxReqVld = agentkindboxreqvalidator.New(kindBoxReqRepo) AgentKindBoxReqVld = agentkindboxreqvalidator.New(kindBoxReqRepo)
AgentKindBoxReqSvc = agentkindboxreqservice.New(kindBoxReqRepo, AgentKindBoxReqVld) AgentKindBoxReqSvc = agentkindboxreqservice.New(kindBoxReqRepo, AgentKindBoxReqVld, AgentKindBoxSvc)
) )
var ( var (
BenefactorAuthSvc = auth.New(cfg.BenefactorAuth) BenefactorAuthSvc = auth.New(cfg.BenefactorAuth)