From d6a70119ce1e0d7e2d58464cb3529ba1ece35546 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E5=AD=90=E9=93=AD?= Date: Sat, 8 Mar 2025 14:04:35 +0800 Subject: [PATCH] cmb --- internal/biz/bo/order_bo.go | 1 + internal/biz/cmb.go | 2 +- internal/biz/repo/order.go | 3 ++- internal/data/repoimpl/order.go | 5 +++-- internal/service/cmb.go | 1 + 5 files changed, 8 insertions(+), 4 deletions(-) diff --git a/internal/biz/bo/order_bo.go b/internal/biz/bo/order_bo.go index c14396b..547c8df 100644 --- a/internal/biz/bo/order_bo.go +++ b/internal/biz/bo/order_bo.go @@ -29,6 +29,7 @@ type OrderCreateReqBo struct { ProductNo string Account string AppID string + Type vo.OrderType AccountType vo.OrderAccountType } diff --git a/internal/biz/cmb.go b/internal/biz/cmb.go index 596e763..a4f09bc 100644 --- a/internal/biz/cmb.go +++ b/internal/biz/cmb.go @@ -17,7 +17,7 @@ func (v *VoucherBiz) CmbOrder(ctx context.Context, req *bo.OrderCreateReqBo) (or err = lock.NewMutex(v.rdb.Rdb, c.TTL).Lock(ctx, c.Key, func(ctx context.Context) error { - order, err := v.OrderRepo.GetByOutBizNo(ctx, req.AppID, req.OutBizNo) + order, err := v.OrderRepo.GetByOutBizNo(ctx, vo.OrderTypeCmb, req.AppID, req.OutBizNo) if err != nil && !errors.Is(err, gorm.ErrRecordNotFound) { return err diff --git a/internal/biz/repo/order.go b/internal/biz/repo/order.go index f0522ad..d80524a 100644 --- a/internal/biz/repo/order.go +++ b/internal/biz/repo/order.go @@ -3,10 +3,11 @@ package repo import ( "context" "voucher/internal/biz/bo" + "voucher/internal/biz/vo" ) type OrderRepo interface { - GetByOutBizNo(ctx context.Context, appId, outBizNo string) (*bo.OrderBo, error) + GetByOutBizNo(ctx context.Context, t vo.OrderType, appId, outBizNo string) (*bo.OrderBo, error) GetByOrderNo(ctx context.Context, orderNo string) (*bo.OrderBo, error) Create(ctx context.Context, req *bo.OrderBo) (*bo.OrderBo, error) GetByID(ctx context.Context, id uint64) (*bo.OrderBo, error) diff --git a/internal/data/repoimpl/order.go b/internal/data/repoimpl/order.go index 3af875d..58dfe35 100644 --- a/internal/data/repoimpl/order.go +++ b/internal/data/repoimpl/order.go @@ -37,6 +37,7 @@ func (p *OrderRepoImpl) Create(ctx context.Context, req *bo.OrderBo) (*bo.OrderB Account: req.Account, AccountType: req.AccountType.GetValue(), Status: vo.OrderStatusWait.GetValue(), + Type: req.Type.GetValue(), AppID: req.AppID, MerchantNo: req.MerchantNo, Channel: req.Channel.GetValue(), @@ -52,10 +53,10 @@ func (p *OrderRepoImpl) Create(ctx context.Context, req *bo.OrderBo) (*bo.OrderB return p.ToBo(info), nil } -func (p *OrderRepoImpl) GetByOutBizNo(ctx context.Context, appId, outBizNo string) (*bo.OrderBo, error) { +func (p *OrderRepoImpl) GetByOutBizNo(ctx context.Context, t vo.OrderType, appId, outBizNo string) (*bo.OrderBo, error) { info := &model.Order{} - tx := p.DB(ctx).Where(model.Order{AppID: appId, OutBizNo: outBizNo}).Find(&info) + tx := p.DB(ctx).Where(model.Order{Type: t.GetValue(), AppID: appId, OutBizNo: outBizNo}).Find(&info) if tx.Error != nil { return nil, tx.Error diff --git a/internal/service/cmb.go b/internal/service/cmb.go index cb40425..8517938 100644 --- a/internal/service/cmb.go +++ b/internal/service/cmb.go @@ -82,6 +82,7 @@ func (s *VoucherService) cmbOrder(ctx http.Context) (string, error) { Account: bizContent.CmbUid, AppID: bizContent.AppId, AccountType: vo.OrderAccountTypeOpenId, + Type: vo.OrderTypeCmb, } orderNo, err := s.VoucherBiz.CmbOrder(ctx, boReq)