admin
2020-06-10 271ae63c20fcbe28d29c47f1881138ff6551a2a1
fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoServiceImpl.java
@@ -31,15 +31,14 @@
import com.yeshi.fanli.entity.bus.user.UserExtraTaoBaoInfo;
import com.yeshi.fanli.entity.bus.user.UserInfo;
import com.yeshi.fanli.entity.bus.user.UserInfoModifyRecord.ModifyTypeEnum;
import com.yeshi.fanli.entity.bus.user.WeiXinUser;
import com.yeshi.fanli.entity.system.BusinessSystem;
import com.yeshi.fanli.exception.user.ThreeSaleException;
import com.yeshi.fanli.exception.user.UserInfoException;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.count.HongBaoV2CountService;
import com.yeshi.fanli.service.inter.order.CommonOrderCountService;
import com.yeshi.fanli.service.inter.user.SpreadUserImgService;
import com.yeshi.fanli.service.inter.user.UserInfoModifyRecordService;
import com.yeshi.fanli.service.inter.user.UserInfoService;
import com.yeshi.fanli.service.inter.user.integral.IntegralDetailService;
import com.yeshi.fanli.service.inter.user.invite.ThreeSaleSerivce;
import com.yeshi.fanli.service.inter.user.tb.TaoBaoUnionAuthRecordService;
import com.yeshi.fanli.service.inter.user.tb.UserExtraTaoBaoInfoService;
@@ -48,7 +47,7 @@
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.ThreadUtil;
import com.yeshi.fanli.util.account.UserUtil;
import com.yeshi.fanli.util.wx.WXLoginUtil;
import com.yeshi.fanli.util.user.UserLevelUtil;
import com.yeshi.fanli.vo.user.UserInfoVO;
import net.coobird.thumbnailator.Thumbnails;
@@ -82,7 +81,10 @@
   @Resource
   private HongBaoV2CountService hongBaoV2CountService;
   @Lazy
   @Resource
   private CommonOrderCountService commonOrderCountService;
   @Resource
   private UserExtraTaoBaoInfoService userExtraTaoBaoInfoService;
@@ -92,10 +94,16 @@
   @Resource
   private SpreadUserImgService spreadUserImgService;
   @Lazy
   @Resource
   private IntegralDetailService integralDetailService;
   @Lazy
   @Resource
   private UserInfoModifyRecordService userInfoModifyRecordService;
   public UserInfo getUserByLoginTypeAndOpenId(int loginType, String openid, String appid) {
      List<UserInfo> list = null;
@@ -203,43 +211,7 @@
      return userInfoMapper.countAvaiableUser();
   }
   @Transactional
   public boolean inviteWXUserInfo(String code, UserInfo inviter) {
      WeiXinUser weiXinUser = WXLoginUtil.getWeiXinWYUser(code);
      if (weiXinUser == null) {
         return false;
      }
      String wxUnionId = weiXinUser.getUnionid();
      UserInfo find = getUserByLoginTypeAndOpenId(Constant.WEIXIN, wxUnionId, Constant.APPID);
      if (find == null) {
         find = new UserInfo();
         find.setAppId(Constant.APPID);
         find.setWxUnionId(weiXinUser.getUnionid());
         String wxHeadImg = COSManager.getInstance()
               .uploadFile(HttpUtil.getAsInputStream(weiXinUser.getHeadimgurl()),
                     FilePathEnum.userPortrait.getPath() + UUID.randomUUID().toString())
               .getUrl();
         find.setPortrait(wxHeadImg);
         find.setWxPic(wxHeadImg);
         find.setNickName(weiXinUser.getNickname());
         find.setWxName(weiXinUser.getNickname());
         find.setLoginType(Constant.WEIXIN);
         find.setRank(0);
         find.setWxOpenId(weiXinUser.getOpenid());
         BusinessSystem system = new BusinessSystem(Constant.FANLI);
         system.setPlatform(1);
         find.setSystem(system);
      }
      try {
         threeSaleSerivce.bind(find, inviter);
         return true;
      } catch (ThreeSaleException e) {
         e.printStackTrace();
         return false;
      }
   }
   @Transactional
   public void unBindUserInfo(UserInfo user, int type) {
@@ -295,18 +267,74 @@
      return UserUtil.filterForClientUser(user);
   }
   @Override
   public long countInfo(Integer userState, String key, Integer keyType, String userRank, Integer days,
         String startTime, String endTime,Integer userType, String level, Integer activeCode) {
      return userInfoMapper.countInfo(userState, key, keyType, userRank, days, startTime, endTime,userType, level, activeCode);
   }
   @Override
   public List<UserInfoVO> queryInfo(long start, int count, Integer userState, String key, Integer keyType,
         String userRank, Integer days, String startTime, String endTime, Integer userType, String level, Integer activeCode) {
      List<UserInfoVO> userList = userInfoMapper.queryInfo(start, count, userState, key, keyType, userRank, days,
            startTime, endTime, userType, level, activeCode);
      if (userList == null || userList.size() == 0) {
         return null;
      }
      for (UserInfoVO userInfoVO : userList) {
         Long uid = userInfoVO.getId();
         String rankName = userInfoVO.getRankName();
         if (rankName == null || rankName.trim().length() == 0) {
            userInfoVO.setRankName("青铜");
            userInfoVO.setRankPicture("http://img.flqapp.com/resource/rank/rank_picture_new_1.png");
         }
         String userLevel = userInfoVO.getUserLevel();
         if (!StringUtil.isNullOrEmpty(userLevel)) {
            userInfoVO.setUserLevel(UserLevelUtil.getByEnumName(userLevel).getName());
         }
         // 累计提现
         userInfoVO.setTotalExtract(payInfoMapper.sumMoneyByUid(uid));
         // 累计订单数量
         userInfoVO.setTotalOrder(commonOrderCountService.countHistoryOrderNum(uid));
         // 累计兑换金币
         userInfoVO.setTotalGoldCoinUsed(integralDetailService.sumUseGoldCoin(uid));
         // 邀请人
         UserInfo boss = threeSaleSerivce.getBoss(uid);
         if (boss == null) {
            userInfoVO.setBossName("");
         } else {
            userInfoVO.setBossName("上级:" + boss.getNickName());
         }
      }
      return userList;
   }
   @Override
   public long queryCount(Integer userState, String key, Integer keyType, String userRank, Integer days,
         String startTime, String endTime,Integer userType) {
      return userInfoMapper.queryCount(userState, key, keyType, userRank, days, startTime, endTime,userType);
         String startTime, String endTime,Integer userType, String level, Integer activeCode) {
      return userInfoMapper.queryCount(userState, key, keyType, userRank, days, startTime, endTime,userType, level, activeCode);
   }
   @Override
   public List<UserInfoVO> query(long start, int count, Integer userState, String key, Integer keyType,
         String userRank, Integer days, String startTime, String endTime, Integer orderField, Integer orderMode,Integer userType) {
         String userRank, Integer days, String startTime, String endTime, Integer orderField, Integer orderMode,
         Integer userType, String level, Integer activeCode) {
      List<UserInfoVO> userList = userInfoMapper.query(start, count, userState, key, keyType, userRank, days,
            startTime, endTime, orderField, orderMode,userType);
            startTime, endTime, orderField, orderMode,userType, level, activeCode);
      if (userList == null || userList.size() == 0) {
         return null;
@@ -429,12 +457,24 @@
      userInfoVO.setCountScanHistory(countScanHistory);
      // 一度队员数量
      int firstTeamCount = shareMapper.myFirstTeamCount(uid + "");
      userInfoVO.setCountLevelOne(firstTeamCount);
      //int firstTeamCount = shareMapper.myFirstTeamCount(uid + "");
      //userInfoVO.setCountLevelOne(firstTeamCount);
      // 二度队员数量
      int secondTeamCount = shareMapper.mySecondTeamCount(uid + "");
      userInfoVO.setCountLevelTwo(secondTeamCount);
      //int secondTeamCount = shareMapper.mySecondTeamCount(uid + "");
      //userInfoVO.setCountLevelTwo(secondTeamCount);
      String userLevel = userInfoVO.getUserLevel();
      if (!StringUtil.isNullOrEmpty(userLevel)) {
         userInfoVO.setUserLevel(UserLevelUtil.getByEnumName(userLevel).getName());
      }
      String inviteCode = userInfoVO.getInviteCode();
      if (!StringUtil.isNullOrEmpty(inviteCode)) {
         userInfoVO.setInviteCode("已激活");
      } else {
         userInfoVO.setInviteCode("未激活");
      }
   }
   @Override
@@ -655,4 +695,5 @@
      return userInfoMapper.selectAvailableByPrimaryKey(uid);
   }
}