From 71793dd94cb2d10dec120abdf3b2b9ee9b01aa77 Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Thu, 14 Sep 2023 19:18:11 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20UDM=E6=9F=A5=E8=AF=A2=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E6=8E=92=E5=BA=8Fimsi?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- features/udm_user/repo/repo_udm_auth_user.go | 21 +++++++++++++++++--- features/udm_user/repo/repo_udm_sub_user.go | 21 +++++++++++++++++++- 2 files changed, 38 insertions(+), 4 deletions(-) diff --git a/features/udm_user/repo/repo_udm_auth_user.go b/features/udm_user/repo/repo_udm_auth_user.go index 7026dbae..e20f373a 100644 --- a/features/udm_user/repo/repo_udm_auth_user.go +++ b/features/udm_user/repo/repo_udm_auth_user.go @@ -59,11 +59,11 @@ func (r *RepoUdmAuthUser) SelectPage(query map[string]any) map[string]any { var conditions []string var params []any if v, ok := query["msisdn"]; ok && v != "" { - conditions = append(conditions, "msisdn like concat(?, '%')") + conditions = append(conditions, "msisdn like concat(concat('%', ?), '%')") params = append(params, v) } if v, ok := query["imsi"]; ok && v != "" { - conditions = append(conditions, "imsi like concat(?, '%')") + conditions = append(conditions, "imsi like concat(concat('%', ?), '%')") params = append(params, v) } if v, ok := query["neId"]; ok && v != "" { @@ -97,8 +97,23 @@ func (r *RepoUdmAuthUser) SelectPage(query map[string]any) map[string]any { params = append(params, pageNum*pageSize) params = append(params, pageSize) + // 排序 + sortSql := "" + if v, ok := query["sortField"]; ok && v != "" { + if v == "imsi" { + sortSql += " order by imsi " + } + if v, ok := query["sortOrder"]; ok && v != nil { + if v == "desc" { + sortSql += " desc " + } else { + sortSql += " asc " + } + } + } + // 查询数据 - querySql := r.selectSql + whereSql + pageSql + querySql := r.selectSql + whereSql + sortSql + pageSql results, err := datasource.RawDB("", querySql, params) if err != nil { log.Errorf("query err => %v", err) diff --git a/features/udm_user/repo/repo_udm_sub_user.go b/features/udm_user/repo/repo_udm_sub_user.go index 230fd1a0..5d10af39 100644 --- a/features/udm_user/repo/repo_udm_sub_user.go +++ b/features/udm_user/repo/repo_udm_sub_user.go @@ -94,6 +94,10 @@ func (r *RepoUdmSubUser) SelectPage(query map[string]any) map[string]any { totalRows, err := datasource.RawDB("", totalSql+whereSql, params) if err != nil { log.Errorf("total err => %v", err) + return map[string]any{ + "total": 0, + "rows": nil, + } } total := parse.Number(totalRows[0]["total"]) if total == 0 { @@ -109,8 +113,23 @@ func (r *RepoUdmSubUser) SelectPage(query map[string]any) map[string]any { params = append(params, pageNum*pageSize) params = append(params, pageSize) + // 排序 + sortSql := "" + if v, ok := query["sortField"]; ok && v != "" { + if v == "imsi" { + sortSql += " order by imsi " + } + if v, ok := query["sortOrder"]; ok && v != nil { + if v == "desc" { + sortSql += " desc " + } else { + sortSql += " asc " + } + } + } + // 查询数据 - querySql := r.selectSql + whereSql + pageSql + querySql := r.selectSql + whereSql + sortSql + pageSql results, err := datasource.RawDB("", querySql, params) if err != nil { log.Errorf("query err => %v", err)