From 396e53e9fcfcf3721c5833c538de3e240b11dbe8 Mon Sep 17 00:00:00 2001 From: ziming Date: Fri, 17 Oct 2025 19:19:55 +0800 Subject: [PATCH] query1 order --- internal/biz/query.go | 57 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 56 insertions(+), 1 deletion(-) diff --git a/internal/biz/query.go b/internal/biz/query.go index 30375bf..3334ceb 100644 --- a/internal/biz/query.go +++ b/internal/biz/query.go @@ -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") }