query1 order

This commit is contained in:
ziming 2025-10-17 19:19:55 +08:00
parent a01f04a949
commit 396e53e9fc
1 changed files with 56 additions and 1 deletions

View File

@ -4,6 +4,7 @@ import (
"context"
"fmt"
"github.com/go-kratos/kratos/v2/log"
"strings"
"time"
v1 "voucher/api/v1"
"voucher/internal/biz/bo"
@ -78,5 +79,59 @@ func (this *VoucherBiz) QueryOrder(ctx context.Context, orderNo string) (string,
return "", err
}
return fmt.Sprintf("orderNo:%s,订单状态:%s,微信查询返回状态:%s", orderNo, order.Status.GetText(), status.GetText()), nil
return this.ToTextDescription(order, status), nil
}
func (this *VoucherBiz) ToTextDescription(bo *bo.OrderBo, orderStatus vo.OrderStatus) string {
var parts []string
// 拼接每个字段的描述(根据业务重要性调整顺序)
parts = append(parts, fmt.Sprintf("订单ID%d", bo.ID))
parts = append(parts, fmt.Sprintf("订单编号:%s", bo.OrderNo))
parts = append(parts, fmt.Sprintf("外部交易号:%s", bo.OutBizNo))
parts = append(parts, fmt.Sprintf("券ID%s", bo.VoucherNo))
parts = append(parts, fmt.Sprintf("商品编号:%s", bo.ProductNo))
parts = append(parts, fmt.Sprintf("批次号:%s", bo.BatchNo))
parts = append(parts, fmt.Sprintf("活动ID%s", bo.ActivityId))
parts = append(parts, fmt.Sprintf("充值账号:%s", bo.Account))
parts = append(parts, fmt.Sprintf("订单类型:%s", bo.Type.GetText())) // 假设 Type 有 GetText() 方法返回文字描述
parts = append(parts, fmt.Sprintf("账号类型:%s", bo.AccountType.GetText()))
parts = append(parts, fmt.Sprintf("appid%s", bo.AppID))
parts = append(parts, fmt.Sprintf("制券商户:%s", bo.MerchantNo))
parts = append(parts, fmt.Sprintf("回调地址:%s", bo.NotifyUrl))
parts = append(parts, fmt.Sprintf("渠道:%s", bo.Channel.GetText()))
parts = append(parts, fmt.Sprintf("附加信息:%s", bo.Attach))
parts = append(parts, fmt.Sprintf("备注:%s", bo.Remark))
parts = append(parts, fmt.Sprintf("交易ID%s", bo.TransactionId))
parts = append(parts, fmt.Sprintf("订单状态:%s", bo.Status.GetText()))
parts = append(parts, fmt.Sprintf("微信查询返回状态:%s", orderStatus.GetText()))
// 时间字段特殊处理(避免 nil 指针报错)
if bo.ReceiveSuccessTime != nil {
parts = append(parts, fmt.Sprintf("到账时间:%s", bo.ReceiveSuccessTime.Format("2006-01-02 15:04:05")))
} else {
parts = append(parts, "到账时间:未到账")
}
if bo.LastUseTime != nil {
parts = append(parts, fmt.Sprintf("最后使用时间:%s", bo.LastUseTime.Format("2006-01-02 15:04:05")))
} else {
parts = append(parts, "最后使用时间:未使用")
}
if bo.CreateTime != nil {
parts = append(parts, fmt.Sprintf("创建时间:%s", bo.CreateTime.Format("2006-01-02 15:04:05")))
} else {
parts = append(parts, "创建时间:未知")
}
if bo.UpdateTime != nil {
parts = append(parts, fmt.Sprintf("更新时间:%s", bo.UpdateTime.Format("2006-01-02 15:04:05")))
} else {
parts = append(parts, "更新时间:未更新")
}
// 用换行符拼接所有片段,形成最终描述
return strings.Join(parts, "\n")
}