接口调整
This commit is contained in:
parent
866459211a
commit
e9c99d7542
|
|
@ -16,5 +16,6 @@ type OrderRepo interface {
|
||||||
Success(ctx context.Context, id uint64, voucherNo string) error
|
Success(ctx context.Context, id uint64, voucherNo string) error
|
||||||
Fail(ctx context.Context, id uint64, remark string) error
|
Fail(ctx context.Context, id uint64, remark string) error
|
||||||
Used(ctx context.Context, id uint64) error
|
Used(ctx context.Context, id uint64) error
|
||||||
|
Available(ctx context.Context, id uint64) error
|
||||||
Expired(ctx context.Context, id uint64) error
|
Expired(ctx context.Context, id uint64) error
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,13 @@ func (v *VoucherBiz) WechatNotifyConsumer(ctx context.Context, tag string, req *
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
if req.PlainText.Status.IsUsed() {
|
if req.PlainText.Status.IsSended() {
|
||||||
|
|
||||||
|
if err = v.available(ctx, order); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
} else if req.PlainText.Status.IsUsed() {
|
||||||
|
|
||||||
if err = v.used(ctx, order); err != nil {
|
if err = v.used(ctx, order); err != nil {
|
||||||
return err
|
return err
|
||||||
|
|
@ -65,6 +71,18 @@ func (v *VoucherBiz) used(ctx context.Context, order *bo.OrderBo) error {
|
||||||
return v.OrderRepo.Used(ctx, order.ID)
|
return v.OrderRepo.Used(ctx, order.ID)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (v *VoucherBiz) available(ctx context.Context, order *bo.OrderBo) error {
|
||||||
|
|
||||||
|
if order.Status.IsSuccess() {
|
||||||
|
log.Warnf("券状态已是可使用,忽略不处理,orderNo:%s", order.OrderNo)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
log.Warnf("券状态重置为可使用,orderNo:%s", order.OrderNo)
|
||||||
|
|
||||||
|
return v.OrderRepo.Available(ctx, order.ID)
|
||||||
|
}
|
||||||
|
|
||||||
func (j *VoucherBiz) expired(ctx context.Context, order *bo.OrderBo) error {
|
func (j *VoucherBiz) expired(ctx context.Context, order *bo.OrderBo) error {
|
||||||
|
|
||||||
if order.Status.IsExpired() {
|
if order.Status.IsExpired() {
|
||||||
|
|
|
||||||
|
|
@ -160,6 +160,26 @@ func (p *OrderRepoImpl) Success(ctx context.Context, id uint64, voucherNo string
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (p *OrderRepoImpl) Available(ctx context.Context, id uint64) error {
|
||||||
|
now := time.Now()
|
||||||
|
|
||||||
|
res := p.db.DB(ctx).
|
||||||
|
Where(model.Order{
|
||||||
|
ID: id,
|
||||||
|
Status: vo.OrderStatusUse.GetValue(),
|
||||||
|
}).
|
||||||
|
Updates(model.Order{
|
||||||
|
Status: vo.OrderStatusSuccess.GetValue(),
|
||||||
|
UpdateTime: &now,
|
||||||
|
})
|
||||||
|
|
||||||
|
if res.Error != nil {
|
||||||
|
return res.Error
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
func (p *OrderRepoImpl) Fail(ctx context.Context, id uint64, remark string) error {
|
func (p *OrderRepoImpl) Fail(ctx context.Context, id uint64, remark string) error {
|
||||||
now := time.Now()
|
now := time.Now()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,6 @@ package service
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"github.com/go-kratos/kratos/v2/log"
|
|
||||||
"voucher/internal/biz/bo"
|
"voucher/internal/biz/bo"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -15,14 +14,5 @@ func (v *VoucherService) WechatNotifyConsumer(ctx context.Context, tag, msg stri
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
if req.PlainText.Status.IsSended() {
|
|
||||||
log.Warnf("券状态可用,忽略不处理,couponId:%s,stockId:%s,status:%s",
|
|
||||||
req.PlainText.CouponID,
|
|
||||||
req.PlainText.StockID,
|
|
||||||
req.PlainText.Status.GetText(),
|
|
||||||
)
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
return v.VoucherBiz.WechatNotifyConsumer(ctx, tag, req)
|
return v.VoucherBiz.WechatNotifyConsumer(ctx, tag, req)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue