From b283264d198f82a62a3392af7a7aeced7d78be59 Mon Sep 17 00:00:00 2001 From: dzq Date: Fri, 7 Nov 2025 17:04:13 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E7=94=A8=E6=88=B7):=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E6=A0=B9=E6=8D=AEab98UserId=E6=9F=A5=E8=AF=A2=E5=BE=AE?= =?UTF-8?q?=E4=BF=A1=E7=94=A8=E6=88=B7=E5=8A=9F=E8=83=BD=E5=B9=B6=E5=A2=9E?= =?UTF-8?q?=E5=BC=BA=E8=AE=A2=E5=8D=95=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 添加根据ab98UserId查询微信用户的功能 在订单查询中增加对关联微信用户openid的条件查询 --- .../shop/order/OrderApplicationService.java | 11 +++++++++++ .../domain/wx/user/WxUserApplicationService.java | 15 +++++++++++++++ .../domain/wx/user/db/WxUserService.java | 8 ++++++++ .../domain/wx/user/db/impl/WxUserServiceImpl.java | 13 +++++++++++++ 4 files changed, 47 insertions(+) diff --git a/agileboot-domain/src/main/java/com/agileboot/domain/shop/order/OrderApplicationService.java b/agileboot-domain/src/main/java/com/agileboot/domain/shop/order/OrderApplicationService.java index fa9ed70..6715d64 100644 --- a/agileboot-domain/src/main/java/com/agileboot/domain/shop/order/OrderApplicationService.java +++ b/agileboot-domain/src/main/java/com/agileboot/domain/shop/order/OrderApplicationService.java @@ -31,6 +31,8 @@ import com.agileboot.domain.qywx.authCorpInfo.AuthCorpInfoApplicationService; import com.agileboot.domain.qywx.authCorpInfo.db.QyAuthCorpInfoEntity; import com.agileboot.domain.qywx.user.db.QyUserEntity; import com.agileboot.domain.qywx.user.db.QyUserService; +import com.agileboot.domain.wx.user.db.WxUserEntity; +import com.agileboot.domain.wx.user.db.WxUserService; import com.agileboot.domain.shop.approval.command.AddReturnApprovalCommand; import com.agileboot.domain.shop.approval.command.UpdateReturnApprovalCommand; import com.agileboot.domain.shop.approval.model.ReturnApprovalModel; @@ -93,6 +95,7 @@ public class OrderApplicationService { private final AccessTokenApplicationService accessTokenApplicationService; private final QyUserService qyUserService; private final Ab98UserService ab98UserService; + private final WxUserService wxUserService; @Autowired private WxshopConfig wxshopConfig; @@ -513,6 +516,14 @@ public class OrderApplicationService { wrapper.or() .eq("openid", ab98User.getOpenid()); } + + // 如果该 ab98UserId 在 wx_user 表中存在绑定的微信用户,则查询条件再加上 openid + WxUserEntity wxUser = wxUserService.getByAb98UserId(ab98User.getAb98UserId()); + if (wxUser != null && StringUtils.isNotBlank(wxUser.getOpenid())) { + // 添加 or 条件,根据 wx_user 表中的 openid 查询订单 + wrapper.or() + .eq("openid", wxUser.getOpenid()); + } } } }); diff --git a/agileboot-domain/src/main/java/com/agileboot/domain/wx/user/WxUserApplicationService.java b/agileboot-domain/src/main/java/com/agileboot/domain/wx/user/WxUserApplicationService.java index c342d19..b14bce6 100644 --- a/agileboot-domain/src/main/java/com/agileboot/domain/wx/user/WxUserApplicationService.java +++ b/agileboot-domain/src/main/java/com/agileboot/domain/wx/user/WxUserApplicationService.java @@ -22,6 +22,10 @@ import com.agileboot.domain.wx.user.dto.WxUserDTO; import com.agileboot.domain.wx.user.model.WxUserModel; import com.agileboot.domain.wx.user.model.WxUserModelFactory; import com.agileboot.domain.wx.user.query.SearchWxUserQuery; +import com.agileboot.domain.qywx.user.db.QyUserEntity; +import com.agileboot.domain.qywx.user.db.QyUserService; +import com.agileboot.domain.qywx.user.dto.QyUserDTO; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import java.util.List; import java.util.stream.Collectors; @@ -48,6 +52,8 @@ public class WxUserApplicationService { private final Ab98UserApplicationService ab98UserApplicationService; + private final QyUserService qyUserService; + /** * 获取微信用户列表(分页) */ @@ -222,6 +228,15 @@ public class WxUserApplicationService { userDTO.setAb98Name(ab98UserEntity.getName()); userDTO.setAb98FaceImg(ab98UserEntity.getFaceImg()); } + + // 查询是否有企业微信用户绑定了该ab98UserId + LambdaQueryWrapper qyWrapper = new LambdaQueryWrapper<>(); + qyWrapper.eq(QyUserEntity::getAb98UserId, userDTO.getAb98UserId()) + .eq(QyUserEntity::getDeleted, false); + QyUserEntity qyUserEntity = qyUserService.getOne(qyWrapper); + if (qyUserEntity != null) { + userDTO.setQyUserId(qyUserEntity.getId().longValue()); + } } return userDTO; diff --git a/agileboot-domain/src/main/java/com/agileboot/domain/wx/user/db/WxUserService.java b/agileboot-domain/src/main/java/com/agileboot/domain/wx/user/db/WxUserService.java index b64e3f1..9e48a98 100644 --- a/agileboot-domain/src/main/java/com/agileboot/domain/wx/user/db/WxUserService.java +++ b/agileboot-domain/src/main/java/com/agileboot/domain/wx/user/db/WxUserService.java @@ -62,4 +62,12 @@ public interface WxUserService extends IService { * @return 是否成功 */ boolean updateBalance(Long wxUserId, Integer balance); + + /** + * 根据ab98UserId获取微信用户 + * + * @param ab98UserId 汇邦云用户ID + * @return 微信用户信息 + */ + WxUserEntity getByAb98UserId(Long ab98UserId); } diff --git a/agileboot-domain/src/main/java/com/agileboot/domain/wx/user/db/impl/WxUserServiceImpl.java b/agileboot-domain/src/main/java/com/agileboot/domain/wx/user/db/impl/WxUserServiceImpl.java index 9b64287..094683e 100644 --- a/agileboot-domain/src/main/java/com/agileboot/domain/wx/user/db/impl/WxUserServiceImpl.java +++ b/agileboot-domain/src/main/java/com/agileboot/domain/wx/user/db/impl/WxUserServiceImpl.java @@ -98,4 +98,17 @@ public class WxUserServiceImpl extends ServiceImpl i return this.updateById(entity); } + + @Override + public WxUserEntity getByAb98UserId(Long ab98UserId) { + if (ab98UserId == null) { + return null; + } + + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(WxUserEntity::getAb98UserId, ab98UserId) + .eq(WxUserEntity::getDeleted, 0); + + return this.getOne(wrapper); + } }