From 80835bcc12f4788c1a88da61e623b362e57f1cb1 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期六, 24 八月 2024 09:31:43 +0800 Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/mx_charging_pile --- ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppUserServiceImpl.java | 70 ++++++++++++++++++++++++++++++---- 1 files changed, 61 insertions(+), 9 deletions(-) diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppUserServiceImpl.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppUserServiceImpl.java index f8cfe72..b49fc4f 100644 --- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppUserServiceImpl.java +++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppUserServiceImpl.java @@ -1,6 +1,7 @@ package com.ruoyi.account.service.impl; import com.alipay.api.response.AlipaySystemOauthTokenResponse; +import com.alipay.api.response.AlipayUserInfoShareResponse; import com.alipay.api.response.AlipayUserUserinfoShareResponse; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; @@ -9,8 +10,10 @@ import com.ruoyi.account.api.model.TAppUser; import com.ruoyi.account.mapper.TAppUserMapper; import com.ruoyi.account.service.TAppUserService; +import com.ruoyi.account.service.TInviteUserService; import com.ruoyi.account.wx.model.WeixinProperties; import com.ruoyi.account.wx.pojo.AppletUserDecodeData; +import com.ruoyi.common.core.exception.ServiceException; import com.ruoyi.common.security.service.TokenService; import com.ruoyi.system.api.model.LoginUserApplet; import org.springframework.beans.factory.annotation.Autowired; @@ -33,8 +36,10 @@ public class TAppUserServiceImpl extends ServiceImpl<TAppUserMapper, TAppUser> implements TAppUserService { @Autowired private TokenService tokenService; + @Autowired + private TInviteUserService inviteUserService; @Override - public Map<String, Object> wxLogin(AppletUserDecodeData appletUserDecodeData) { + public Map<String, Object> wxLogin(AppletUserDecodeData appletUserDecodeData,Long inviteUserId) { // 通过手机号查询用户,是否已存在手动导入用户,包含支付宝用户 TAppUser appUser = this.getOne(Wrappers.lambdaQuery(TAppUser.class) .eq(TAppUser::getPhone, appletUserDecodeData.getPhoneNumber()) @@ -51,41 +56,76 @@ appUser.setPhone(appletUserDecodeData.getPhoneNumber()); } } + if(Objects.nonNull(appUser.getStatus())){ + throwInfo(appUser.getStatus()); + } + appUser.setInviteUserId(inviteUserId); appUser.setAvatar(appletUserDecodeData.getAvatarUrl()); appUser.setCity(appletUserDecodeData.getCity()); appUser.setName(appletUserDecodeData.getNickName()); appUser.setProvince(appletUserDecodeData.getProvince()); appUser.setWxOpenid(appletUserDecodeData.getOpenId()); this.saveOrUpdate(appUser); + inviteUserService.saveInviteUser(appUser.getId(), inviteUserId); return this.getUserInfo(appUser); } @Override - public Map<String, Object> aliLogin(AlipaySystemOauthTokenResponse response, AlipayUserUserinfoShareResponse userInfo) { + public Map<String, Object> aliLogin(AlipaySystemOauthTokenResponse response,String phone,Long inviteUserId) { // 通过手机号查询用户,是否已存在手动导入用户,包含微信用户 TAppUser appUser = this.getOne(Wrappers.lambdaQuery(TAppUser.class) - .eq(TAppUser::getPhone, userInfo.getMobile()) + .eq(TAppUser::getPhone, phone) .isNull(TAppUser::getAliOpenid) .last("LIMIT 1")); if(Objects.isNull(appUser)){ // 先使用openId和当前手机号进行查询 appUser = this.getOne(Wrappers.lambdaQuery(TAppUser.class) .eq(TAppUser::getAliOpenid, response.getOpenId()) - .eq(TAppUser::getPhone, userInfo.getMobile()) + .eq(TAppUser::getPhone, phone) .last("LIMIT 1")); if(Objects.isNull(appUser)){ appUser = new TAppUser(); - appUser.setPhone(userInfo.getMobile()); + appUser.setPhone(phone); } } - appUser.setAvatar(userInfo.getAvatar()); - appUser.setCity(userInfo.getCity()); - appUser.setName(userInfo.getNickName()); - appUser.setProvince(userInfo.getProvince()); + if(Objects.nonNull(appUser.getStatus())){ + throwInfo(appUser.getStatus()); + } + appUser.setInviteUserId(inviteUserId); appUser.setAliOpenid(response.getOpenId()); this.saveOrUpdate(appUser); + inviteUserService.saveInviteUser(appUser.getId(), inviteUserId); return this.getUserInfo(appUser); } +// @Override +// public Map<String, Object> aliLogin(AlipaySystemOauthTokenResponse response, AlipayUserInfoShareResponse userInfo) { +// // 通过手机号查询用户,是否已存在手动导入用户,包含微信用户 +// TAppUser appUser = this.getOne(Wrappers.lambdaQuery(TAppUser.class) +// .eq(TAppUser::getPhone, userInfo.getMobile()) +// .isNull(TAppUser::getAliOpenid) +// .last("LIMIT 1")); +// if(Objects.isNull(appUser)){ +// // 先使用openId和当前手机号进行查询 +// appUser = this.getOne(Wrappers.lambdaQuery(TAppUser.class) +// .eq(TAppUser::getAliOpenid, response.getOpenId()) +// .eq(TAppUser::getPhone, userInfo.getMobile()) +// .last("LIMIT 1")); +// if(Objects.isNull(appUser)){ +// appUser = new TAppUser(); +// appUser.setPhone(userInfo.getMobile()); +// } +// } +// if(Objects.nonNull(appUser.getStatus())){ +// throwInfo(appUser.getStatus()); +// } +// appUser.setAvatar(userInfo.getAvatar()); +// appUser.setCity(userInfo.getCity()); +// appUser.setName(userInfo.getNickName()); +// appUser.setProvince(userInfo.getProvince()); +// appUser.setAliOpenid(response.getOpenId()); +// this.saveOrUpdate(appUser); +// return this.getUserInfo(appUser); +// } @Override public Map<String, Object> getUserInfo(TAppUser appUser) { @@ -102,4 +142,16 @@ tokenInfos.put("info",loginUserApplet); return tokenInfos; } + + @Override + public void throwInfo(Integer status){ + switch (status){ + case 2: + throw new ServiceException("账号被冻结,请联系管理员"); + case 3: + throw new ServiceException("账号已注销,请重新注册使用"); + default: + break; + } + } } -- Gitblit v1.7.1