Revert "fix:指派时,查询 user_id 过滤掉软删除的记录"

This reverts commit c3e6ede59c.
This commit is contained in:
cjy 2026-01-07 13:19:11 +08:00
parent c3e6ede59c
commit 8ac97ac379

View File

@ -1165,18 +1165,15 @@ func AssignTask(req *TaskAssignRequest, progressTaskCount int, completeTaskCount
if userID == 0 && req.SubNum != "" { if userID == 0 && req.SubNum != "" {
// 使用子查询获取每个 customer_id 最新订单记录的 customer_id // 使用子查询获取每个 customer_id 最新订单记录的 customer_id
// 逻辑:找到 customer_num 匹配且 created_at 为该 customer_id 最大值的记录 // 逻辑:找到 customer_num 匹配且 created_at 为该 customer_id 最大值的记录
// 关联user表过滤软删除的用户
var o struct{ CustomerID string } var o struct{ CustomerID string }
subQuery := app.ModuleClients.BundleDB.Table("bundle_order_records bor"). subQuery := app.ModuleClients.BundleDB.Table("bundle_order_records").
Select("bor.customer_id, MAX(bor.created_at) AS max_created_time"). Select("customer_id, MAX(created_at) AS max_created_time").
Joins("INNER JOIN `micro-account`.`user` u ON u.id = bor.customer_id AND u.deleted_at = 0"). Where("deleted_at IS NULL AND status = 2").
Where("bor.deleted_at IS NULL AND bor.status = 2"). Group("customer_id")
Group("bor.customer_id")
_ = app.ModuleClients.BundleDB.Table("bundle_order_records bor1"). _ = app.ModuleClients.BundleDB.Table("bundle_order_records bor1").
Select("bor1.customer_id"). Select("bor1.customer_id").
Joins("INNER JOIN (?) bor2 ON bor1.customer_id = bor2.customer_id AND bor1.created_at = bor2.max_created_time", subQuery). Joins("INNER JOIN (?) bor2 ON bor1.customer_id = bor2.customer_id AND bor1.created_at = bor2.max_created_time", subQuery).
Joins("INNER JOIN `micro-account`.`user` u ON u.id = bor1.customer_id AND u.deleted_at = 0").
Where("bor1.deleted_at IS NULL AND bor1.status = 2"). Where("bor1.deleted_at IS NULL AND bor1.status = 2").
Where("bor1.customer_num COLLATE utf8mb4_general_ci = ? COLLATE utf8mb4_general_ci", req.SubNum). Where("bor1.customer_num COLLATE utf8mb4_general_ci = ? COLLATE utf8mb4_general_ci", req.SubNum).
Limit(1). Limit(1).
@ -1445,18 +1442,15 @@ func BatchAssignTasks(items []*BatchAssignItem) error {
CustomerID string `gorm:"column:customer_id"` CustomerID string `gorm:"column:customer_id"`
} }
// 使用子查询获取每个 customer_num 对应的最新订单的 customer_id // 使用子查询获取每个 customer_num 对应的最新订单的 customer_id
// 关联user表过滤软删除的用户 subQuery := app.ModuleClients.BundleDB.Table("bundle_order_records").
subQuery := app.ModuleClients.BundleDB.Table("bundle_order_records bor"). Select("customer_id, customer_num, MAX(created_at) AS max_created_time").
Select("bor.customer_id, bor.customer_num, MAX(bor.created_at) AS max_created_time"). Where("deleted_at IS NULL AND status = 2").
Joins("INNER JOIN `micro-account`.`user` u ON u.id = bor.customer_id AND u.deleted_at = 0"). Where("customer_num COLLATE utf8mb4_general_ci IN ?", missingSubNums).
Where("bor.deleted_at IS NULL AND bor.status = 2"). Group("customer_id, customer_num")
Where("bor.customer_num COLLATE utf8mb4_general_ci IN ?", missingSubNums).
Group("bor.customer_id, bor.customer_num")
_ = app.ModuleClients.BundleDB.Table("bundle_order_records bor1"). _ = app.ModuleClients.BundleDB.Table("bundle_order_records bor1").
Select("bor1.customer_num, bor1.customer_id"). Select("bor1.customer_num, bor1.customer_id").
Joins("INNER JOIN (?) bor2 ON bor1.customer_id = bor2.customer_id AND bor1.created_at = bor2.max_created_time", subQuery). Joins("INNER JOIN (?) bor2 ON bor1.customer_id = bor2.customer_id AND bor1.created_at = bor2.max_created_time", subQuery).
Joins("INNER JOIN `micro-account`.`user` u ON u.id = bor1.customer_id AND u.deleted_at = 0").
Where("bor1.deleted_at IS NULL AND bor1.status = 2"). Where("bor1.deleted_at IS NULL AND bor1.status = 2").
Where("bor1.customer_num COLLATE utf8mb4_general_ci IN ?", missingSubNums). Where("bor1.customer_num COLLATE utf8mb4_general_ci IN ?", missingSubNums).
Scan(&orderRows).Error Scan(&orderRows).Error