修改订单编号

This commit is contained in:
JNG 2026-06-10 17:55:37 +08:00
parent e78ef82305
commit 4afb524a8b
3 changed files with 18 additions and 12 deletions

View File

@ -454,7 +454,7 @@ func CreateOrderAddRecord(req *bundle.OrderAddRecord) (res *bundle.CommonRespons
}()
// 生成订单号和UUID
orderNo := utils.GetOrderNo()
orderNo := utils.GetOrderNo(model.OrderTypeValueAdd)
mainOrderUUID := app.ModuleClients.SfNode.Generate().Base64()
// 增值订单默认先用后付(规则 2增值服务订单只有先用后付类型
@ -1572,7 +1572,7 @@ func UpdateOrderExpiration() (int64, error) {
// INNER JOIN bundle_balance bb ON bor.uuid = bb.order_uuid
// SET bor.expiration_time = bb.expired_at
// WHERE (bor.expiration_time IS NULL OR bor.expiration_time = '')
result := app.ModuleClients.BundleDB.Exec(`
UPDATE bundle_order_records bor
INNER JOIN bundle_balance bb ON bor.uuid = bb.order_uuid
@ -1582,11 +1582,11 @@ func UpdateOrderExpiration() (int64, error) {
AND bb.deleted_at IS NULL
AND bor.deleted_at IS NULL
`)
if result.Error != nil {
return 0, fmt.Errorf("更新订单过期时间失败: %v", result.Error)
}
return result.RowsAffected, nil
}
@ -1595,12 +1595,12 @@ func UpdateOrderExpiration() (int64, error) {
func CompleteExpiredOrders() (int64, error) {
// UPDATE bundle_order_records
// SET status = 4
// WHERE status = 2
// AND expiration_time IS NOT NULL
// WHERE status = 2
// AND expiration_time IS NOT NULL
// AND expiration_time != ''
// AND expiration_time < NOW()
// AND deleted_at IS NULL
result := app.ModuleClients.BundleDB.Exec(`
UPDATE bundle_order_records
SET status = 4
@ -1610,10 +1610,10 @@ func CompleteExpiredOrders() (int64, error) {
AND STR_TO_DATE(expiration_time, '%Y-%m-%d %H:%i:%s') < NOW()
AND deleted_at IS NULL
`)
if result.Error != nil {
return 0, fmt.Errorf("完成已过期订单失败: %v", result.Error)
}
return result.RowsAffected, nil
}

View File

@ -39,7 +39,7 @@ func CreateOrderRecord(req *bundle.OrderCreateRecord) (res *bundle.CommonRespons
return nil, errors.New("生成uuid失败")
}
orderUUID := uuidV4.String()
orderNo := utils.GetOrderNo()
orderNo := utils.GetOrderNo(req.OrderType)
if req.OrderNo != "" {
orderNo = req.OrderNo
}

View File

@ -2,14 +2,20 @@ package utils
import (
"math/rand"
"micro-bundle/internal/model"
"time"
)
const source = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
// 生成订单号 模版 BD20250220104501+6位随机数 避免 订单号重复
func GetOrderNo() string {
return "BD" + GetRandomString(20)
func GetOrderNo(orderType int32) string {
if orderType == model.OrderTypeBundle {
return "BD" + GetRandomString(20)
} else if orderType == model.OrderTypeValueAdd {
return "BNPL" + GetRandomString(20)
}
return ""
}
// 生成随机字符串