mitao
2024-06-03 a6508a543e3727eb527db5feec9ac7155e88f599
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberServiceImpl.java
@@ -70,9 +70,9 @@
    //微信
    private static final String ACCESS_TOKEN_HOST = "https://api.weixin.qq.com/cgi-bin/token";
    private static final String WX_APPID = "wxb7f0ea286fc4e535";
    private static final String WX_APPID = "wxe91f1af7638aa5dd";
    private static final String WX_SECRET = "852a2512a6ab559cafc68bae5d4160ac";
    private static final String WX_SECRET = "a787e1a462715604e0c9528b6d8960d1";
    //支付寶
    /**
@@ -92,7 +92,7 @@
    /**
     * appID
     **/
    private static final String APP_ID_PROD = "2021003196653501";
    private static final String APP_ID_PROD = "wxe91f1af7638aa5dd";
    /**
     * 私钥
     */
@@ -103,10 +103,6 @@
    private static final String ALIPAY_PUBLIC_KEY = "";
    @Resource
    private  IMemberService iMemberService;
    @Resource
    private WxMaService wxMaService;
@@ -115,6 +111,7 @@
    @Resource
    private RedisService redisService;
    @Override
    public AppMiniLoginVO loginThird(AppMiniLoginDTO appMiniLoginDto) {
@@ -149,15 +146,41 @@
                    LambdaQueryWrapper<Member> wrapper= Wrappers.lambdaQuery();
                    wrapper.eq(Member::getZfbOpenid,response.getUserId());
                    Member member=iMemberService.getOne(wrapper);
                    Member member=this.getOne(wrapper);
                    SysUser sysUser = null;
                    if (member != null) {
                        sysUser = sysUserService.getSysUser(member.getUserId()).getData();
                        appMiniLoginVo.setZfbuserid(response.getUserId());
                        appMiniLoginVo.setSysUser(sysUser);
                        appMiniLoginVo.setMemberid(member.getId());
                        redisService.setCacheObject(SecurityConstant.SESSION_KEY + response.getUserId(), null, 1L, TimeUnit.DAYS);
                    }else{
                        //创建新用户
                        String memberId = IdUtils.simpleUUID();
                        sysUser = new SysUser();
                        sysUser.setUserName(memberId);
                        sysUser.setUserType("03");
                        sysUser.setNickName("白金用户");
                        sysUser.setPhonenumber(response.getUserId());
                        sysUser.setAvatar("https://hongruitang.oss-cn-beijing.aliyuncs.com/default.png");
                        String password = "123456";
                        sysUser.setPassword(SecurityUtils.encryptPassword(password));
                        sysUser = sysUserService.registerUser(sysUser).getData();
                        member = new Member();
                        member.setUserId(sysUser.getUserId());
                        member.setDelFlag(0);
                        member.setNickname("白酒用户");
                        member.setAvatar("https://hongruitang.oss-cn-beijing.aliyuncs.com/default.png");
                        member.setZfbOpenid(response.getUserId());
                        this.save(member);
                        appMiniLoginVo.setMiniOpenid(member.getMiniOpenid());
                        appMiniLoginVo.setWxUnionid(member.getWxUnionid());
                        appMiniLoginVo.setSysUser(sysUser);
                        appMiniLoginVo.setMemberid(member.getId());
                    }
                    appMiniLoginVo.setZfbuserid(response.getUserId());
                    appMiniLoginVo.setSysUser(sysUser);
                    appMiniLoginVo.setMemberid(member.getId());
                    redisService.setCacheObject(SecurityConstant.SESSION_KEY + response.getUserId(), null, 1L, TimeUnit.DAYS);
                }
            }
        }else{
@@ -179,16 +202,54 @@
                //获取用户
                LambdaQueryWrapper<Member> wrapper= Wrappers.lambdaQuery();
                wrapper.eq(Member::getZfbOpenid,session.getOpenid());
                Member member=iMemberService.getOne(wrapper);
                Member member=this.getOne(wrapper);
                SysUser sysUser = null;
                if (member != null) {
                    sysUser = sysUserService.getSysUser(member.getUserId()).getData();
                }
                appMiniLoginVo.setMiniOpenid(openid);
                appMiniLoginVo.setWxUnionid(unionid);
                appMiniLoginVo.setMemberid(member.getId());
                appMiniLoginVo.setSysUser(sysUser);
                appMiniLoginVo.setSessionKey(sessionKey);
                LambdaQueryWrapper<Member> wrapper1= Wrappers.lambdaQuery();
                wrapper1.eq(Member::getMiniOpenid,openid);
                Member member1=this.getOne(wrapper);
                if (member1==null){
                        //创建新用户
                        String memberId = IdUtils.simpleUUID();
                        sysUser = new SysUser();
                        sysUser.setUserName(memberId);
                        sysUser.setUserType("03");
                        sysUser.setNickName("白金用户");
                        sysUser.setPhonenumber(openid);
                        sysUser.setAvatar("https://hongruitang.oss-cn-beijing.aliyuncs.com/default.png");
                        String password = "123456";
                        sysUser.setPassword(SecurityUtils.encryptPassword(password));
                        sysUser = sysUserService.registerUser(sysUser).getData();
                        member = new Member();
                        member.setUserId(sysUser.getUserId());
                        member.setDelFlag(0);
                        member.setNickname("白酒用户");
                        member.setAvatar("https://hongruitang.oss-cn-beijing.aliyuncs.com/default.png");
                        member.setWxUnionid(unionid);
                        member.setMiniOpenid(openid);
                        this.save(member);
                    appMiniLoginVo.setMiniOpenid(member.getMiniOpenid());
                    appMiniLoginVo.setWxUnionid(member.getWxUnionid());
                    appMiniLoginVo.setSysUser(sysUser);
                    appMiniLoginVo.setMemberid(member.getId());
                    } else {
                    sysUser = sysUserService.getSysUser(member.getUserId()).getData();
                    appMiniLoginVo.setMiniOpenid(member.getMiniOpenid());
                    appMiniLoginVo.setWxUnionid(member.getWxUnionid());
                    appMiniLoginVo.setSysUser(sysUser);
                    appMiniLoginVo.setMemberid(member.getId());
                    }
                redisService.setCacheObject(SecurityConstant.SESSION_KEY + openid, sessionKey, 1L, TimeUnit.DAYS);
            }
        }
@@ -201,25 +262,25 @@
    @Override
    public Member getMembeid(MemberDTO memberDTO) {
        return  iMemberService.getById(memberDTO.getMemberid());
        return  this.getById(memberDTO.getMemberid());
    }
    @Override
    public void updateMembeid(MemberDTO memberDTO) {
       Member member= iMemberService.getById(memberDTO.getMemberid());
       Member member= this.getById(memberDTO.getMemberid());
       if (memberDTO.getAvatar()!=null){
           member.setAvatar(memberDTO.getAvatar());
       }
        if (memberDTO.getNickname()!=null){
            member.setNickname(memberDTO.getNickname());
        }
       iMemberService.updateById(member);
        this.updateById(member);
    }
    @Override
    public void authentificationMembe(MemberDTO memberDTO) {
        Member member= iMemberService.getById(memberDTO.getMemberid());
        Member member= this.getById(memberDTO.getMemberid());
        member.setPhone(memberDTO.getPhone());
        member.setIdNumber(memberDTO.getIdNumber());
        member.setRealName(memberDTO.getRealName());
@@ -270,7 +331,7 @@
            member.setGender(GenderEnum.MALE);
        }
        iMemberService.updateById(member);
        this.updateById(member);
    }
    public static String getGender(String idNumber) {
@@ -305,7 +366,7 @@
            if (appMiniRegisterDTO.getType() == 1) {
                LambdaQueryWrapper<Member> wrapper = Wrappers.lambdaQuery();
                wrapper.eq(Member::getZfbOpenid, appMiniRegisterDTO.getZfbuserid());
                Member member = iMemberService.getOne(wrapper);
                Member member = this.getOne(wrapper);
                //获取用户为空则新建
                if (member == null) {
@@ -328,7 +389,7 @@
                    member.setAvatar("https://hongruitang.oss-cn-beijing.aliyuncs.com/default.png");
                    member.setWxUnionid(appMiniRegisterDTO.getWxUnionid());
                    member.setMiniOpenid(appMiniRegisterDTO.getMiniOpenid());
                    iMemberService.save(member);
                    this.save(member);
                    appMiniLoginVO.setMiniOpenid(member.getMiniOpenid());
                    appMiniLoginVO.setWxUnionid(member.getWxUnionid());
@@ -345,7 +406,7 @@
            if (appMiniRegisterDTO.getType() == 2) {
                    LambdaQueryWrapper<Member> wrapper = Wrappers.lambdaQuery();
                    wrapper.eq(Member::getMiniOpenid, appMiniRegisterDTO.getMiniOpenid());
                    Member member = iMemberService.getOne(wrapper);
                    Member member = this.getOne(wrapper);
                    //获取用户为空则新建
                    if (member == null) {
                        //创建新用户
@@ -367,7 +428,7 @@
                        member.setAvatar("https://hongruitang.oss-cn-beijing.aliyuncs.com/default.png");
                        member.setWxUnionid(appMiniRegisterDTO.getWxUnionid());
                        member.setMiniOpenid(appMiniRegisterDTO.getMiniOpenid());
                        iMemberService.save(member);
                        this.save(member);
                        appMiniLoginVO.setMiniOpenid(member.getMiniOpenid());
                        appMiniLoginVO.setWxUnionid(member.getWxUnionid());