fix: 设置字符集
This commit is contained in:
parent
fdd52f380d
commit
15da904d9c
@ -325,9 +325,16 @@ LEFT JOIN assigned_pending_agg apa ON apa.user_id = aw.user_id`
|
|||||||
whereClause = " WHERE " + strings.Join(whereParts, " AND ")
|
whereClause = " WHERE " + strings.Join(whereParts, " AND ")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 使用事务固定同一连接,仅对本次查询的 session 设置 collation,不影响其他接口
|
||||||
|
tx := app.ModuleClients.BundleDB.Begin()
|
||||||
|
defer tx.Rollback()
|
||||||
|
if err := tx.Exec("SET NAMES utf8mb4 COLLATE utf8mb4_0900_ai_ci").Error; err != nil {
|
||||||
|
return nil, 0, commonErr.ReturnError(err, "设置字符集失败", "设置字符集失败: ")
|
||||||
|
}
|
||||||
|
|
||||||
countSQL := cte + " SELECT COUNT(DISTINCT aw.customer_num) " + fromClause + whereClause
|
countSQL := cte + " SELECT COUNT(DISTINCT aw.customer_num) " + fromClause + whereClause
|
||||||
var total int64
|
var total int64
|
||||||
if err := app.ModuleClients.BundleDB.Raw(countSQL, args...).Scan(&total).Error; err != nil {
|
if err := tx.Raw(countSQL, args...).Scan(&total).Error; err != nil {
|
||||||
return nil, 0, commonErr.ReturnError(err, "查询总数失败", "查询艺人上传统计总数失败: ")
|
return nil, 0, commonErr.ReturnError(err, "查询总数失败", "查询艺人上传统计总数失败: ")
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -426,7 +433,7 @@ LEFT JOIN assigned_pending_agg apa ON apa.user_id = aw.user_id`
|
|||||||
}
|
}
|
||||||
|
|
||||||
items := make([]dto.ArtistUploadStatsItem, 0)
|
items := make([]dto.ArtistUploadStatsItem, 0)
|
||||||
if err := app.ModuleClients.BundleDB.Raw(selectSQL, listArgs...).Scan(&items).Error; err != nil {
|
if err := tx.Raw(selectSQL, listArgs...).Scan(&items).Error; err != nil {
|
||||||
return nil, 0, commonErr.ReturnError(err, "查询艺人余额与上传数据失败", "查询艺人余额与上传数据失败: ")
|
return nil, 0, commonErr.ReturnError(err, "查询艺人余额与上传数据失败", "查询艺人余额与上传数据失败: ")
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -654,9 +661,16 @@ LEFT JOIN assigned_pending_agg apa ON apa.user_id = aw.user_id`
|
|||||||
args = append(args, subNums)
|
args = append(args, subNums)
|
||||||
args = append(args, nowMonth)
|
args = append(args, nowMonth)
|
||||||
|
|
||||||
|
// 使用事务固定同一连接,仅对本次查询的 session 设置 collation,不影响其他接口
|
||||||
|
tx2 := app.ModuleClients.BundleDB.Begin()
|
||||||
|
defer tx2.Rollback()
|
||||||
|
if err := tx2.Exec("SET NAMES utf8mb4 COLLATE utf8mb4_0900_ai_ci").Error; err != nil {
|
||||||
|
return nil, 0, commonErr.ReturnError(err, "设置字符集失败", "设置字符集失败: ")
|
||||||
|
}
|
||||||
|
|
||||||
countSQL := cte + " SELECT COUNT(DISTINCT aw.customer_num) " + fromClause
|
countSQL := cte + " SELECT COUNT(DISTINCT aw.customer_num) " + fromClause
|
||||||
var total int64
|
var total int64
|
||||||
if err := app.ModuleClients.BundleDB.Raw(countSQL, args...).Scan(&total).Error; err != nil {
|
if err := tx2.Raw(countSQL, args...).Scan(&total).Error; err != nil {
|
||||||
return nil, 0, commonErr.ReturnError(err, "查询可指派数量总数失败", "查询可指派数量总数失败: ")
|
return nil, 0, commonErr.ReturnError(err, "查询可指派数量总数失败", "查询可指派数量总数失败: ")
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -680,7 +694,7 @@ LEFT JOIN assigned_pending_agg apa ON apa.user_id = aw.user_id`
|
|||||||
}
|
}
|
||||||
|
|
||||||
items := make([]dto.ArtistPendingAssignItem, 0)
|
items := make([]dto.ArtistPendingAssignItem, 0)
|
||||||
if err := app.ModuleClients.BundleDB.Raw(selectSQL, listArgs...).Scan(&items).Error; err != nil {
|
if err := tx2.Raw(selectSQL, listArgs...).Scan(&items).Error; err != nil {
|
||||||
return nil, 0, commonErr.ReturnError(err, "查询可指派数量失败", "查询可指派数量失败: ")
|
return nil, 0, commonErr.ReturnError(err, "查询可指派数量失败", "查询可指派数量失败: ")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user