From 2304922b8a52199648b27c4ea5190d08e3e0cb48 Mon Sep 17 00:00:00 2001 From: TinyAnts Date: Fri, 23 Dec 2022 16:13:30 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=85=AC=E4=BC=97=E5=8F=B7?= =?UTF-8?q?=E6=8E=88=E6=9D=83=E7=99=BB=E5=BD=95bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../front/service/impl/LoginServiceImpl.java | 25 ++++++++++++++++--- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/server/like-front/src/main/java/com/mdd/front/service/impl/LoginServiceImpl.java b/server/like-front/src/main/java/com/mdd/front/service/impl/LoginServiceImpl.java index 763a586d..ebb0803c 100644 --- a/server/like-front/src/main/java/com/mdd/front/service/impl/LoginServiceImpl.java +++ b/server/like-front/src/main/java/com/mdd/front/service/impl/LoginServiceImpl.java @@ -288,16 +288,33 @@ public class LoginServiceImpl implements ILoginService { auth.setUserId(model.getId()); auth.setUnionid(unionId); auth.setOpenid(openId); - auth.setClient(ClientEnum.OA.getCode()); + auth.setClient(client); auth.setCreateTime(System.currentTimeMillis() / 1000); auth.setUpdateTime(System.currentTimeMillis() / 1000); userAuthMapper.insert(auth); } } else { - // 更新微信标识 userId = user.getId(); - if (StringUtils.isEmpty(userAuth.getUnionid()) && StringUtils.isNotEmpty(unionId)) { - userAuth.setUnionid(unionId); + + // 授权不存在则创建 + UserAuth auth = userAuthMapper.selectOne(new QueryWrapper() + .nested(wq->wq + .eq("unionid", unionId).or() + .eq("openid", openId) + ).eq("client", client) + .last("limit 1")); + + if (StringUtils.isNull(auth)) { + UserAuth authModel = new UserAuth(); + authModel.setUserId(user.getId()); + authModel.setUnionid(unionId); + authModel.setOpenid(openId); + authModel.setClient(client); + authModel.setCreateTime(System.currentTimeMillis() / 1000); + authModel.setUpdateTime(System.currentTimeMillis() / 1000); + userAuthMapper.insert(authModel); + } else if(StringUtils.isEmpty(auth.getUnionid()) && StringUtils.isNotEmpty(unionId)) { + auth.setUnionid(unionId); userAuthMapper.updateById(userAuth); }