修改订单编号

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

View File

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

View File

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