From b0f11999de61510d548defc713f2a15867251b52 Mon Sep 17 00:00:00 2001 From: dzq Date: Mon, 8 Dec 2025 11:35:13 +0800 Subject: [PATCH] =?UTF-8?q?refactor(=E7=94=A8=E6=88=B7=E6=9F=A5=E8=AF=A2):?= =?UTF-8?q?=20=E5=B0=86=E7=94=A8=E6=88=B7=E6=A0=87=E7=AD=BE=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E4=BB=8EtagName=E6=94=B9=E4=B8=BAtagId=E5=B9=B6?= =?UTF-8?q?=E4=BC=98=E5=8C=96SQL=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修改SearchAb98UserWithWxQuery中的tagName字段为tagId以支持更精确的标签查询 重构Ab98UserMapper中的SQL查询,使用membership_tag_member表替代ab98_user_tag表 --- .../com/agileboot/domain/ab98/user/db/Ab98UserMapper.java | 7 ++++--- .../domain/ab98/user/query/SearchAb98UserWithWxQuery.java | 3 ++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/agileboot-domain/src/main/java/com/agileboot/domain/ab98/user/db/Ab98UserMapper.java b/agileboot-domain/src/main/java/com/agileboot/domain/ab98/user/db/Ab98UserMapper.java index 9c29ab4..5943b7c 100644 --- a/agileboot-domain/src/main/java/com/agileboot/domain/ab98/user/db/Ab98UserMapper.java +++ b/agileboot-domain/src/main/java/com/agileboot/domain/ab98/user/db/Ab98UserMapper.java @@ -61,14 +61,15 @@ public interface Ab98UserMapper extends BaseMapper { ); @Select("SELECT * FROM (" + - "SELECT DISTINCT u.ab98_user_id, u.openid, u.userid, u.qy_user_id, u.name, u.tel, u.idnum, u.sex, u.face_img, u.idcard_front, u.idcard_back, u.address, u.registered, u.creator_id, u.create_time, u.updater_id, u.update_time, u.deleted, u.ab98_balance, ub.balance, ub.use_balance, ub.balance_limit, w.wx_user_id, w.openid as wx_user_openid, w.nick_name as wx_nick_name, w.avatar as wx_avatar " + + "SELECT DISTINCT u.ab98_user_id, u.openid, u.userid, u.qy_user_id, u.name, u.tel, u.idnum, u.sex, u.face_img, u.idcard_front, u.idcard_back, u.address, u.registered, u.creator_id, u.create_time, u.updater_id, u.update_time, u.deleted, u.ab98_balance, ub.balance, ub.use_balance, ub.balance_limit, w.wx_user_id, w.openid as wx_user_openid, w.nick_name as wx_nick_name, w.avatar as wx_avatar, mtm.tag_id " + "FROM ab98_user u " + - "LEFT JOIN ab98_user_tag t ON u.ab98_user_id = t.ab98_user_id " + + "LEFT JOIN membership_tag_member mtm ON u.ab98_user_id = mtm.ab98_user_id " + "LEFT JOIN user_balance ub ON u.ab98_user_id = ub.ab98_user_id " + "LEFT JOIN wx_user w ON u.ab98_user_id = w.ab98_user_id " + " UNION ALL " + - "SELECT NULL as ab98_user_id, NULL as openid, NULL as userid, NULL as qy_user_id, NULL as name, NULL as tel, NULL as idnum, NULL as sex, NULL as face_img, NULL as idcard_front, NULL as idcard_back, NULL as address, NULL as registered, NULL as creator_id, w.create_time as create_time, NULL as updater_id, w.update_time as update_time, NULL as deleted, NULL as ab98_balance, NULL as balance, NULL as use_balance, NULL as balance_limit, w.wx_user_id, w.openid as wx_user_openid, w.nick_name as wx_nick_name, w.avatar as wx_avatar " + + "SELECT NULL as ab98_user_id, NULL as openid, NULL as userid, NULL as qy_user_id, NULL as name, NULL as tel, NULL as idnum, NULL as sex, NULL as face_img, NULL as idcard_front, NULL as idcard_back, NULL as address, NULL as registered, NULL as creator_id, w.create_time as create_time, NULL as updater_id, w.update_time as update_time, NULL as deleted, NULL as ab98_balance, NULL as balance, NULL as use_balance, NULL as balance_limit, w.wx_user_id, w.openid as wx_user_openid, w.nick_name as wx_nick_name, w.avatar as wx_avatar, mtm.tag_id " + "FROM wx_user w " + + "LEFT JOIN membership_tag_member mtm ON w.wx_user_id = mtm.wx_user_id " + "WHERE w.ab98_user_id IS NULL" + ") t ${ew.customSqlSegment} ORDER BY create_time DESC") Page getUserListWithWx( diff --git a/agileboot-domain/src/main/java/com/agileboot/domain/ab98/user/query/SearchAb98UserWithWxQuery.java b/agileboot-domain/src/main/java/com/agileboot/domain/ab98/user/query/SearchAb98UserWithWxQuery.java index a1a416c..1f3dd3d 100644 --- a/agileboot-domain/src/main/java/com/agileboot/domain/ab98/user/query/SearchAb98UserWithWxQuery.java +++ b/agileboot-domain/src/main/java/com/agileboot/domain/ab98/user/query/SearchAb98UserWithWxQuery.java @@ -21,7 +21,7 @@ public class SearchAb98UserWithWxQuery extends AbstractPageQuery { private Boolean registered; private Date startTime; private Date endTime; - private String tagName; + private Long tagId; private String corpid; private String wxUserOpenid; private Boolean hasAb98UserId; @@ -40,6 +40,7 @@ public class SearchAb98UserWithWxQuery extends AbstractPageQuery { .eq(StrUtil.isNotEmpty(sex), "sex", sex) .eq(registered != null, "registered", registered) .eq(StrUtil.isNotEmpty(wxUserOpenid), "wx_user_openid", wxUserOpenid) + .eq(tagId != null, "tag_id", tagId) .between(startTime != null && endTime != null, "create_time", startTime, endTime); // 添加是否绑定ab98UserId的条件