fix:指派时,查询 user_id 过滤掉软删除的记录
This commit is contained in:
parent
883140d2cd
commit
c3e6ede59c
@ -1165,15 +1165,18 @@ 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").
|
subQuery := app.ModuleClients.BundleDB.Table("bundle_order_records bor").
|
||||||
Select("customer_id, MAX(created_at) AS max_created_time").
|
Select("bor.customer_id, 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").
|
||||||
Group("customer_id")
|
Where("bor.deleted_at IS NULL AND bor.status = 2").
|
||||||
|
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).
|
||||||
@ -1442,15 +1445,18 @@ 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
|
||||||
subQuery := app.ModuleClients.BundleDB.Table("bundle_order_records").
|
// 关联user表过滤软删除的用户
|
||||||
Select("customer_id, customer_num, MAX(created_at) AS max_created_time").
|
subQuery := app.ModuleClients.BundleDB.Table("bundle_order_records bor").
|
||||||
Where("deleted_at IS NULL AND status = 2").
|
Select("bor.customer_id, bor.customer_num, MAX(bor.created_at) AS max_created_time").
|
||||||
Where("customer_num COLLATE utf8mb4_general_ci IN ?", missingSubNums).
|
Joins("INNER JOIN `micro-account`.`user` u ON u.id = bor.customer_id AND u.deleted_at = 0").
|
||||||
Group("customer_id, customer_num")
|
Where("bor.deleted_at IS NULL AND bor.status = 2").
|
||||||
|
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
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user