多笔立减金

This commit is contained in:
ziming 2025-12-19 14:27:45 +08:00
parent a7a2fb88ed
commit b841ad3661
1 changed files with 21 additions and 2 deletions

View File

@ -7,6 +7,8 @@ import (
"fmt"
"github.com/go-kratos/kratos/v2/log"
"gorm.io/gorm"
"strconv"
"strings"
"sync"
err2 "voucher/api/err"
v1 "voucher/api/v1"
@ -186,12 +188,29 @@ func (biz *MultiBiz) RetryRunByMultiNotifyDataId(ctx context.Context, multiNotif
func (biz *MultiBiz) run(ctx context.Context, req *bo.WechatVoucherNotifyBo, mnd *bo.MultiNotifyDataBo, order *bo.OrderBo) error {
if req.PlainText.Status.IsUsed() {
if order.Status.IsUse() {
if err := biz.OrderRepo.MultiOverUsed(ctx, order.ID, req.PlainText.ConsumeInformation.ConsumeTime, "再次核销完成"); err != nil {
parts := strings.Split(order.Remark, "_")
l := len(parts)
remark := "核销完成_"
if l == 1 {
remark = "核销完成_2"
}
if l == 2 {
i, err := strconv.Atoi(parts[1])
if err != nil {
return fmt.Errorf("订单再次核销完成修改发生错误 error: %v", err)
}
remark = fmt.Sprintf("核销完成_%d", i+1)
}
if err := biz.OrderRepo.MultiOverUsed(ctx, order.ID, req.PlainText.ConsumeInformation.ConsumeTime, remark); err != nil {
return fmt.Errorf("订单再次核销完成修改发生错误 error: %v", err)
}
} else {
if err := biz.OrderRepo.MultiOverUsed(ctx, order.ID, req.PlainText.ConsumeInformation.ConsumeTime, "核销完成"); err != nil {
if err := biz.OrderRepo.MultiOverUsed(ctx, order.ID, req.PlainText.ConsumeInformation.ConsumeTime, "核销完成_1"); err != nil {
return fmt.Errorf("订单核销完成修改发生错误 error: %v", err)
}
}