无关风月
2024-10-27 f2a57f2a9fa309f872d10c7fada992b63a0c0d5f
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/TAppUserServiceImpl.java
@@ -10,6 +10,8 @@
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.util.RptUtils;
import com.ruoyi.account.wx.model.WeixinProperties;
import com.ruoyi.account.wx.pojo.AppletUserDecodeData;
import com.ruoyi.common.core.exception.ServiceException;
@@ -17,6 +19,7 @@
import com.ruoyi.system.api.model.LoginUserApplet;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import org.springframework.web.client.RestTemplate;
import java.util.HashMap;
@@ -35,8 +38,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,22 +56,36 @@
            if(Objects.isNull(appUser)){
                appUser = new TAppUser();
                appUser.setPhone(appletUserDecodeData.getPhoneNumber());
                appUser.setInviteUserId(inviteUserId);
            }
        }
        if(Objects.nonNull(appUser.getStatus())){
            throwInfo(appUser.getStatus());
            switch (appUser.getStatus()){
                case 1:
                    break;
                case 2:
                    throw new ServiceException("账号被冻结,请联系管理员");
                case 3:
                    appUser = new TAppUser();
                    appUser.setPhone(appletUserDecodeData.getPhoneNumber());
                    break;
            }
        }
        appUser.setAvatar(appletUserDecodeData.getAvatarUrl());
        appUser.setAvatar(StringUtils.hasLength(appletUserDecodeData.getAvatarUrl())?appletUserDecodeData.getAvatarUrl():"http://221.182.45.100:8090/2024-10-26/logo.png");
        appUser.setName(StringUtils.hasLength(appletUserDecodeData.getNickName())?appletUserDecodeData.getNickName():RptUtils.around(appletUserDecodeData.getPhoneNumber(),3,4));
        appUser.setCity(appletUserDecodeData.getCity());
        appUser.setName(appletUserDecodeData.getNickName());
        appUser.setProvince(appletUserDecodeData.getProvince());
        appUser.setWxOpenid(appletUserDecodeData.getOpenId());
        this.saveOrUpdate(appUser);
        if(Objects.nonNull(inviteUserId)){
            inviteUserService.saveInviteUser(appUser.getId(), inviteUserId);
        }
        return this.getUserInfo(appUser);
    }
    @Override
    public Map<String, Object> aliLogin(AlipaySystemOauthTokenResponse response,String phone) {
    public Map<String, Object> aliLogin(AlipaySystemOauthTokenResponse response,String phone,Long inviteUserId) {
        // 通过手机号查询用户,是否已存在手动导入用户,包含微信用户
        TAppUser appUser = this.getOne(Wrappers.lambdaQuery(TAppUser.class)
                .eq(TAppUser::getPhone, phone)
@@ -81,13 +100,28 @@
            if(Objects.isNull(appUser)){
                appUser = new TAppUser();
                appUser.setPhone(phone);
                appUser.setInviteUserId(inviteUserId);
            }
        }
        if(Objects.nonNull(appUser.getStatus())){
            throwInfo(appUser.getStatus());
            switch (appUser.getStatus()){
                case 1:
                    break;
                case 2:
                    throw new ServiceException("账号被冻结,请联系管理员");
                case 3:
                    appUser = new TAppUser();
                    appUser.setPhone(phone);
                    break;
            }
        }
        appUser.setAliOpenid(response.getOpenId());
        appUser.setAvatar("http://221.182.45.100:8090/2024-10-26/logo.png");
        appUser.setName(RptUtils.around(phone,3,4));
        this.saveOrUpdate(appUser);
        if(Objects.nonNull(inviteUserId)){
            inviteUserService.saveInviteUser(appUser.getId(), inviteUserId);
        }
        return this.getUserInfo(appUser);
    }
//    @Override
@@ -125,6 +159,7 @@
        LoginUserApplet loginUserApplet = new LoginUserApplet();
        if(ObjectUtils.isNotNull(appUser)){
            loginUserApplet.setUserId(appUser.getId());
            loginUserApplet.setUserIdStr(appUser.getId().toString());
            loginUserApplet.setName(appUser.getName());
            loginUserApplet.setPhone(appUser.getPhone());
            loginUserApplet.setAvatar(appUser.getAvatar());
@@ -142,7 +177,7 @@
            case 2:
                throw new ServiceException("账号被冻结,请联系管理员");
            case 3:
                throw new ServiceException("账号已注销,请重新注册使用");
//                throw new ServiceException("账号已注销,请重新注册使用");
            default:
                break;
        }