luodangjia
2025-01-13 98d29a456ff0bc9db86e5cc4696fde2a8524b4f8
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AppUserServiceImpl.java
@@ -20,6 +20,7 @@
import com.ruoyi.account.vo.*;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.core.web.page.PageInfo;
import com.ruoyi.common.redis.service.RedisService;
import com.ruoyi.common.security.service.TokenService;
import com.ruoyi.other.api.domain.*;
@@ -42,10 +43,7 @@
import java.util.*;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import static com.sun.xml.internal.ws.api.model.wsdl.WSDLBoundOperation.ANONYMOUS.optional;
import static sun.plugin.util.ProgressMonitor.get;
/**
 * <p>
@@ -289,6 +287,7 @@
         appUser = appUser1;
      }else if(null == appUser){
         appUser = new AppUser();
         appUser.setAvatar(registerAccount.getAvatar());
         appUser.setName(registerAccount.getName());
         appUser.setPhone(registerAccount.getPhone());
         appUser.setWxOpenid(openid);
@@ -466,7 +465,8 @@
         weChatUtil.getwxacodeunlimit("pages/login/login", "id=" + appUser.getId(), EnvVersion.TRIAL, filePath + fileName);
         appUser.setQrCode(accessPath + fileName);
         this.updateById(appUser);
      }
        }
      LoginVo loginVo = new LoginVo();
      loginVo.setSkipPage(1);
      loginVo.setFirstTime(null == appUser1);
@@ -679,7 +679,7 @@
    * @return
    */
   @Override
   public List<NearbyReferrerVo> getNearbyReferrer(NearbyReferrer nearbyReferrer) {
   public PageInfo<NearbyReferrerVo> getNearbyReferrer(NearbyReferrer nearbyReferrer) {
      //使用地图获取省市区数据
      String citycode = TencentMapUtil.inverseGeographicalAnalysis(nearbyReferrer.getLongitude(), nearbyReferrer.getLatitude(), false);
      if(StringUtils.isEmpty(citycode)){
@@ -687,8 +687,34 @@
      }
      if(null != citycode){
         String cityCode = citycode.substring(0, 4) + "00";
         List<NearbyReferrerVo> list = this.baseMapper.getNearbyReferrer(cityCode, nearbyReferrer);
         return list;
         PageInfo<NearbyReferrerVo> pageInfo = new PageInfo(nearbyReferrer.getPageCurr(), nearbyReferrer.getPageSize());
         List<NearbyReferrerVo> list = this.baseMapper.getNearbyReferrer(pageInfo, cityCode, nearbyReferrer);
         for (NearbyReferrerVo nearbyReferrerVo : list) {
            switch (nearbyReferrerVo.getVip()){
               case "1":
                  nearbyReferrerVo.setVip("普通会员");
                  break;
               case "2":
                  nearbyReferrerVo.setVip("黄金会员");
                  break;
               case "3":
                  nearbyReferrerVo.setVip("钻石会员");
                  break;
               case "4":
                  nearbyReferrerVo.setVip("准代理");
                  break;
               case "5":
                  nearbyReferrerVo.setVip("代理");
                  break;
               case "6":
                  nearbyReferrerVo.setVip("总代");
                  break;
               case "7":
                  nearbyReferrerVo.setVip("合伙人");
                  break;
            }
         }
         return pageInfo.setRecords(list);
      }
      return null;
   }
@@ -750,7 +776,7 @@
      //注册X天后没有升级成黄金会员则自动解绑推广人
      //解绑推广人
      Set<Long> unbind_promoter = redisTemplate.opsForZSet().range("unbind_promoter", 0, LocalDateTime.now().toEpochSecond(ZoneOffset.UTC));
      Set<Long> unbind_promoter = redisTemplate.opsForZSet().rangeByScore("unbind_promoter", 0, LocalDateTime.now().toEpochSecond(ZoneOffset.UTC));
      if(unbind_promoter.size() > 0){
         List<AppUser> list = this.list(new LambdaQueryWrapper<AppUser>().eq(AppUser::getVipId, 1).eq(AppUser::getDelFlag, 0).isNotNull(AppUser::getInviteUserId)
               .eq(AppUser::getStatus, 1).in(AppUser::getId, unbind_promoter));
@@ -761,7 +787,7 @@
         }
      }
      //可更换推广人
      Set<Long> replaceable = redisTemplate.opsForZSet().range("replaceable", 0, LocalDateTime.now().toEpochSecond(ZoneOffset.UTC));
      Set<Long> replaceable = redisTemplate.opsForZSet().rangeByScore("replaceable", 0, LocalDateTime.now().toEpochSecond(ZoneOffset.UTC));
      if(replaceable.size() > 0){
         List<AppUser> list = this.list(new LambdaQueryWrapper<AppUser>().eq(AppUser::getDelFlag, 0).eq(AppUser::getChangePromoter, 0)
               .eq(AppUser::getStatus, 1).in(AppUser::getId, unbind_promoter));
@@ -783,7 +809,7 @@
      if(null == cacheObject){
         redisService.setCacheObject("ONLINE_" + userid, 0, 15L, TimeUnit.MINUTES);
      }else{
         Long duration = (Long) cacheObject;
         Integer duration = (Integer) cacheObject;
         duration += 10;
         //满足一个小时,开始发放积分,计时归0
         if(60 >= duration){
@@ -839,7 +865,6 @@
   }
   @Override
   public IPage<AppUser> getAppuserPage1(Integer pageNum, Integer pageSize, AppUser appUser,Integer objectId,List<Long> userIds) {
      return appUserMapper.getAppuserPage1(new Page<>(pageNum, pageSize), appUser,objectId,userIds);
   }
   
@@ -958,7 +983,7 @@
   public void closeOrder() {
      //订单支付数据
      long second = LocalDateTime.now().toEpochSecond(ZoneOffset.UTC);
      Set<String> orderPayment = redisTemplate.opsForZSet().range("BalanceRecharge", 0, second);
      Set<String> orderPayment = redisTemplate.opsForZSet().rangeByScore("BalanceRecharge", 0, second);
      if(orderPayment.size() > 0){
         List<BalancePayment> list = balancePaymentService.list(new LambdaQueryWrapper<BalancePayment>().in(BalancePayment::getId, orderPayment));
         for (BalancePayment order : list) {