huliguo
1 天以前 88adbada822c2e3d18235374c176c1b9201358cb
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AppUserServiceImpl.java
@@ -97,7 +97,7 @@
   @Resource
   private OrderClient orderClient;
   private static final String DEFAULT_AVATAR_URL = "http://qijishenghuiyuan.obs.cn-southwest-2.myhuaweicloud.com/admin/aedfbbb41280471f8d9fa7905298b65f.png";
   private static final String DEFAULT_AVATAR_URL = "http://qijishenghuiyuan.obs.cn-southwest-2.myhuaweicloud.com/admin/58084a0ce8c34dc79f9d8b4c0bc3774a.png";
   /**
@@ -115,18 +115,18 @@
      }
      String openid = map.get("openid").toString();
      String sessionKey = map.get("sessionKey").toString();
      //获取手机号
      String decrypt = WXCore.decrypt(appletLogin.getEncryptedData_phone(), sessionKey, appletLogin.getIv_phone());
      if (StringUtils.isEmpty(decrypt)) {
         return R.fail("获取手机信息失败");
      }
      JSONObject phone = JSON.parseObject(decrypt);
      String purePhoneNumber = phone.getString("phoneNumber");
      //查询用户是否注册,没有注册则注册
      AppUser appUser = this.getOne(new LambdaQueryWrapper<AppUser>().eq(AppUser::getWxOpenid, openid).ne(AppUser::getStatus, 3).eq(AppUser::getDelFlag, 0));
      AppUser appUser = this.getOne(new LambdaQueryWrapper<AppUser>().eq(AppUser::getPhone, purePhoneNumber).ne(AppUser::getStatus, 3).eq(AppUser::getDelFlag, 0));
      if(null == appUser){
         appUser = new AppUser();
         //注册
         //获取手机号
         String decrypt = WXCore.decrypt(appletLogin.getEncryptedData_phone(), sessionKey, appletLogin.getIv_phone());
         if (StringUtils.isEmpty(decrypt)) {
            return R.fail("获取手机信息失败");
         }
         JSONObject phone = JSON.parseObject(decrypt);
         String purePhoneNumber = phone.getString("phoneNumber");
         //新用户默认信息
         appUser.setName(purePhoneNumber.substring(0, 3) + "****" + purePhoneNumber.substring(7));
         appUser.setPhone(purePhoneNumber);
@@ -171,11 +171,17 @@
            return R.fail("验证码错误");
         }
      }
      //查询用户是否注册,没有注册则系统注册
      //查询用户是否注册,没有注册则跳转到注册页面
      AppUser appUser = this.getOne(new LambdaQueryWrapper<AppUser>().eq(AppUser::getPhone, mobileLogin.getPhone())
            .ne(AppUser::getStatus, 3).eq(AppUser::getDelFlag, 0));
      if(null == appUser){
         LoginVo loginVo = new LoginVo();
         loginVo.setSkipPage(2);
         loginVo.setPhone(mobileLogin.getPhone());
         return R.ok(loginVo);
      }
      //查询用户是否注册,没有注册则系统注册
      /*if(null == appUser){
         appUser=new AppUser();
         //注册
         //使用jscode获取微信openid
@@ -207,7 +213,7 @@
         }
         this.save(appUser);
      }
      }*/
      //账户被冻结,给出提示
      if(2 == appUser.getStatus()){
         return R.fail("账户已被冻结,请联系管理员!");
@@ -272,16 +278,15 @@
   /**
    * 注册账号
    */
   /*
   @Override
   public R<LoginVo> registerAccount(RegisterAccount registerAccount) {
      //校验验证码
//      String code = redisService.getCacheObject(registerAccount.getPhone());
//      if(!"999999".equals(registerAccount.getCode())){
//         if(null == code || !code.equals(registerAccount.getCode())){
//            return R.fail("验证码错误");
//         }
//      }
/*      String code = redisService.getCacheObject(registerAccount.getPhone());
      if(!"999999".equals(registerAccount.getCode())){
         if(null == code || !code.equals(registerAccount.getCode())){
            return R.fail("验证码错误");
         }
      }*/
      //使用jscode获取微信openid
      Map<String, Object> map = weChatUtil.code2Session(registerAccount.getJscode());
      Integer errcode = Integer.valueOf(map.get("errcode").toString());
@@ -304,7 +309,7 @@
      String avatar = registerAccount.getAvatar();
      if (StringUtils.isEmpty(avatar)){
         avatar = "http://qijishenghuiyuan.obs.cn-southwest-2.myhuaweicloud.com/admin/aedfbbb41280471f8d9fa7905298b65f.png";
         avatar = DEFAULT_AVATAR_URL;
      }
      //如果手机号已注册,但是没有微信号,则将微信号添加到已有账户上
@@ -319,55 +324,11 @@
         appUser.setPhone(registerAccount.getPhone());
         appUser.setWxOpenid(openid);
         //注册默认为普通会员
         appUser.setVipId(1);
         appUser.setStatus(1);
         appUser.setCreateTime(LocalDateTime.now());
         appUser.setDelFlag(false);
         appUser.setFirstAdd(1);
         appUser.setLastLoginTime(LocalDateTime.now());
         //绑定门店为推荐人绑定的门店
         AppUser appUser2 = this.getById(registerAccount.getPromoter());
         appUser.setInviteUserId(registerAccount.getPromoter());
         appUser.setShopId(appUser2.getShopId());
         appUser.setPartPoint(0);
         appUser.setPartGrowPoint(0);
         appUser.setShopPoint(0);
         appUser.setSharePoint(0);
         appUser.setShopAmount(BigDecimal.ZERO);
         appUser.setWithdrawableAmount(BigDecimal.ZERO);
         appUser.setWithdrawnAmount(BigDecimal.ZERO);
         appUser.setTotalRechargeAmount(BigDecimal.ZERO);
         appUser.setTotalRedPacketAmount(BigDecimal.ZERO);
         appUser.setTotalDistributionAmount(BigDecimal.ZERO);
         appUser.setBalance(BigDecimal.ZERO);
         //新用户才能奖励积分,老用户注销重新注册没有
         long old = this.count(new LambdaQueryWrapper<AppUser>().eq(AppUser::getPhone, registerAccount.getPhone()).eq(AppUser::getDelFlag, 0));
         R<PointSetting> pointSettingR = pointSettingClient.getPointSetting(1);
         if (R.isError(pointSettingR)){
            throw new RuntimeException("获取积分设置失败");
         }
         PointSetting pointSetting = pointSettingR.getData();
         if (pointSetting == null){
            throw new RuntimeException("积分设置不存在");
         }
         Integer regisPoint = pointSetting.getRegisPoint();
         if(0 == old){
            Integer regisPoint1 = 0;
            //计算可用积分比例
            if(1 == pointSetting.getGetRegisPointOpen()){
               regisPoint1 = new BigDecimal(regisPoint).multiply(pointSetting.getGetRegisPoint().divide(new BigDecimal(100))).intValue();
            }
            appUser.setLavePoint(regisPoint);
            appUser.setAvailablePoint(regisPoint1);
            appUser.setTotalAvailablePoint(regisPoint1);
            if(null != pointSetting && 1 == pointSetting.getGetRegisPointGift()){
               appUser.setTransferablePoint(regisPoint1);
            }
            appUser.setTotalRegisterPoint(regisPoint);
            appUser.setTotalPoint(regisPoint);
         }
         //根据平台的配置未达标,则标注为可修改推广人
         appUser.setChangePromoter(0);
         appUser.setLongitude(registerAccount.getLongitude());
         appUser.setLatitude(registerAccount.getLatitude());
         //调用地图获取省市区数据
@@ -384,78 +345,6 @@
            appUser.setProvinceCode(region.getCode());
         }
         this.save(appUser);
         //增加积分变动记录
         if(0 == old && regisPoint > 0){
            //构建积分流水记录
            UserPoint userPoint = new UserPoint();
            userPoint.setType(7);
            userPoint.setHistoricalPoint(0);
            userPoint.setVariablePoint(regisPoint);
            userPoint.setBalance(appUser.getLavePoint());
            userPoint.setCreateTime(LocalDateTime.now());
            userPoint.setAppUserId(appUser.getId());
            userPointService.save(userPoint);
         }
         //拉新分佣
         if(0 == old && null != appUser2){
            pointSetting = pointSettingClient.getPointSetting(appUser2.getVipId()).getData();
            Integer newPoint = pointSetting.getNewPoint();
            Integer newPoint1 = 0;
            if(1 == pointSetting.getGetNewPointOpen()){
               newPoint1 = new BigDecimal(newPoint).multiply(pointSetting.getGetNewPoint().divide(new BigDecimal(100))).intValue();
            }
            appUser2.setLavePoint(appUser2.getLavePoint() + newPoint);
            appUser2.setAvailablePoint(appUser2.getAvailablePoint() + newPoint1);
            appUser2.setTotalAvailablePoint(appUser2.getTotalAvailablePoint() + newPoint1);
            if(null != pointSetting && 1 == pointSetting.getGetNewPointGift()){
               appUser2.setTransferablePoint(appUser2.getTransferablePoint() + newPoint1);
            }
            appUser2.setTotalInvitePoint(appUser2.getTotalInvitePoint() + newPoint);
            appUser2.setTotalPoint(appUser2.getTotalPoint() + newPoint);
            this.updateById(appUser2);
            if(newPoint > 0){
               UserPoint userPoint = new UserPoint();
               userPoint.setType(3);
               userPoint.setHistoricalPoint(appUser2.getLavePoint() - newPoint);
               userPoint.setVariablePoint(newPoint);
               userPoint.setBalance(appUser2.getLavePoint());
               userPoint.setCreateTime(LocalDateTime.now());
               userPoint.setAppUserId(appUser2.getId());
               userPointService.save(userPoint);
            }
            if(null != appUser2.getInviteUserId()){
               AppUser appUser3 = this.getById(appUser2.getInviteUserId());
               appUser3.setLavePoint(appUser3.getLavePoint() + newPoint);
               appUser3.setAvailablePoint(appUser3.getAvailablePoint() + newPoint1);
               appUser3.setTotalAvailablePoint(appUser3.getTotalAvailablePoint() + newPoint1);
               if(null != pointSetting && 1 == pointSetting.getGetRegisPointGift()){
                  appUser3.setTransferablePoint(appUser3.getTransferablePoint() + newPoint1);
               }
               appUser3.setTotalInvitePoint(appUser3.getTotalInvitePoint() + newPoint);
               appUser3.setTotalPoint(appUser3.getTotalPoint() + newPoint);
               this.updateById(appUser3);
               if(newPoint > 0){
                  UserPoint userPoint = new UserPoint();
                  userPoint.setType(3);
                  userPoint.setHistoricalPoint(appUser3.getLavePoint() - newPoint);
                  userPoint.setVariablePoint(newPoint);
                  userPoint.setBalance(appUser3.getLavePoint());
                  userPoint.setCreateTime(LocalDateTime.now());
                  userPoint.setAppUserId(appUser3.getId());
                  userPointService.save(userPoint);
               }
            }
         }
         //获取微信推广二维码
         String fileName = UUID.randomUUID() + ".jpg";
         String getwxacodeunlimit = weChatUtil.getwxacodeunlimit("pages/start/start", "id=" + appUser.getId(), EnvVersion.RELEASE, filePath + fileName);
         appUser.setQrCode(getwxacodeunlimit);
         this.updateById(appUser);
        }
      LoginVo loginVo = new LoginVo();
      loginVo.setSkipPage(1);
@@ -471,8 +360,7 @@
      return R.ok(loginVo);
   }
*/
   
@@ -520,7 +408,9 @@
      //查询门店,如果门店被冻结
      List<Shop> shopList = shopClient.getShopByUserId(userId).getData();
      user.setShopStatus(0);//未拥有门店
      if (shopList != null && !shopList.isEmpty()) {
         //走进来代表有门店 ,先设置为冻结中
         user.setShopStatus(2);//门店都被冻结
         for (Shop shop : shopList) {
            if (shop.getStatus()==1) {