admin
2020-06-16 5f13dcc8eaac7cd26c0ec41bd1b3efbb70a08180
fanli/src/main/java/com/yeshi/fanli/controller/admin/UserInfoAdminController.java
@@ -13,6 +13,7 @@
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.beanutils.PropertyUtils;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.yeshi.utils.IPUtil;
@@ -32,19 +33,23 @@
import com.yeshi.fanli.entity.bus.user.ForbiddenUserIdentifyCode;
import com.yeshi.fanli.entity.bus.user.ForbiddenUserIdentifyCode.ForbiddenUserIdentifyCodeTypeEnum;
import com.yeshi.fanli.entity.bus.user.ThreeSale;
import com.yeshi.fanli.entity.bus.user.UserActiveLog;
import com.yeshi.fanli.entity.bus.user.UserExtraTaoBaoInfo;
import com.yeshi.fanli.entity.bus.user.UserInfo;
import com.yeshi.fanli.entity.bus.user.UserInfoExtra;
import com.yeshi.fanli.entity.bus.user.UserInviteValidNum;
import com.yeshi.fanli.entity.bus.user.UserRank;
import com.yeshi.fanli.entity.bus.user.vip.TearcherInfo;
import com.yeshi.fanli.entity.bus.user.vip.UserVIPInfo;
import com.yeshi.fanli.entity.common.AdminUser;
import com.yeshi.fanli.entity.dynamic.DynamicInfo;
import com.yeshi.fanli.entity.integral.IntegralDetail;
import com.yeshi.fanli.entity.money.UserMoneyDetail;
import com.yeshi.fanli.entity.money.UserMoneyDetail.UserMoneyDetailTypeEnum;
import com.yeshi.fanli.exception.user.ForbiddenUserIdentifyCodeException;
import com.yeshi.fanli.exception.user.vip.UserVIPInfoException;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.count.HongBaoV2CountService;
import com.yeshi.fanli.service.inter.count.UserInfoCountService;
import com.yeshi.fanli.service.inter.money.UserMoneyDetailService;
import com.yeshi.fanli.service.inter.money.extract.BindingAccountService;
@@ -58,9 +63,11 @@
import com.yeshi.fanli.service.inter.user.UserInfoService;
import com.yeshi.fanli.service.inter.user.UserRankService;
import com.yeshi.fanli.service.inter.user.integral.IntegralDetailService;
import com.yeshi.fanli.service.inter.user.invite.ThreeSaleDetailService;
import com.yeshi.fanli.service.inter.user.invite.ThreeSaleSerivce;
import com.yeshi.fanli.service.inter.user.invite.UserInviteValidNumService;
import com.yeshi.fanli.service.inter.user.tb.UserExtraTaoBaoInfoService;
import com.yeshi.fanli.service.inter.user.vip.TearcherService;
import com.yeshi.fanli.service.inter.user.vip.UserVIPInfoService;
import com.yeshi.fanli.tag.PageEntity;
import com.yeshi.fanli.util.Constant;
@@ -129,6 +136,15 @@
   
   @Resource
   private HongBaoV2Service hongBaoV2Service;
   @Resource
   private TearcherService tearcherService;
   @Resource
   private ThreeSaleDetailService threeSaleDetailService;
   @Resource
   private HongBaoV2CountService hongBaoV2CountService;
   
   
   /**
@@ -380,6 +396,137 @@
         e.printStackTrace();
      }
   }
   /**
    *  用户粉丝统计
    *
    * @param callback
    * @param pageIndex
    * @param pageSize
    * @param id
    * @param out
    */
   @RequestMapping(value = "countTeamFans")
   public void countTeamFans(String callback, Long uid, PrintWriter out) {
      JSONObject data = new JSONObject();
      // 导师
      String tearcherName = "";
      TearcherInfo tearcherInfo = tearcherService.selectByUid(uid);
      if (tearcherInfo != null) {
         tearcherName = tearcherInfo.getNickName();
      }
      data.put("tearcherName", tearcherName);
      // 邀请人
      String bossName = "";
      UserInfo boss = threeSaleSerivce.getBoss(uid);
      if (boss != null) {
         bossName =  boss.getNickName();
      }
      data.put("bossName", bossName);
      // 邀请粉丝
      int doneFirst = 0;
      int doneSecond = 0;
      UserInviteValidNum userInviteValidNum = userInviteValidNumService.selectByPrimaryKey(uid);
      if (userInviteValidNum != null) {
         doneFirst = userInviteValidNum.getNumFirst() == null ? 0 : userInviteValidNum.getNumFirst();
         doneSecond = userInviteValidNum.getNumSecond() == null ? 0 : userInviteValidNum.getNumSecond();
      }
      data.put("doneFirst", doneFirst);
      data.put("doneSecond", doneSecond);
      // 九代粉丝数量
      data.put("nineFans", threeSaleDetailService.countByBossUidAndMaxLevel(uid, 9));
      // 有效粉丝
      data.put("first", threeSaleSerivce.countFirstTeam(uid));
      data.put("second", threeSaleSerivce.countSecondTeam(uid));
      JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
   }
   /**
    * 用户详细信息
    * @param callback
    * @param uid
    * @param out
    */
   @RequestMapping(value = "getInfoDetail")
   public void getInfoDetail(String callback, Long uid, PrintWriter out) {
      UserInfo user = userInfoService.getUserByIdWithMybatis(uid);
      UserInfoVO userInfoVO = new UserInfoVO();
      userInfoVO.setPhone(user.getPhone());
      userInfoVO.setState(user.getState());
      userInfoVO.setCreatetime(user.getCreatetime());
      UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid);
      if (userInfoExtra != null) {
         if (!StringUtil.isNullOrEmpty(userInfoExtra.getMark())) {
            userInfoVO.setMark( userInfoExtra.getMark());
         }
         userInfoVO.setInviteCode(userInfoExtra.getInviteCode());
         userInfoVO.setInviteCodeVip(userInfoExtra.getInviteCodeVip());
      }
      // 最近一次下单时间
      Date lastOrderTime = hongBaoV2CountService.getLastHongBaoTime(uid);
      if (lastOrderTime != null) {
         userInfoVO.setLastOrderTime(lastOrderTime.getTime());
      }
      // 最近登录时间
      UserActiveLog userActiveLog = userActiveLogService.getUserLatestActiveInfo(uid);
      if (userActiveLog != null) {
         userInfoVO.setLastLoginTime(userActiveLog.getCreateTime().getTime());
      }
      // 显示用户微信 淘宝 老版本存在
      String wxUnionId = user.getWxUnionId();
      if (wxUnionId == null || wxUnionId.trim().length() == 0) {
         user.setWxName(null);
      }
      user.setWxName(user.getWxUnionId());
      // 是否绑定支付宝(购买 + 分享权限)
      UserExtraTaoBaoInfo extraTaoBaoInfo = userExtraTaoBaoInfoService.getByUid(uid);
        String taoBaoUid = extraTaoBaoInfo.getTaoBaoUid();
        String specialId = extraTaoBaoInfo.getSpecialId();
        String relationId = extraTaoBaoInfo.getRelationId();
      if (StringUtil.isNullOrEmpty(taoBaoUid) || StringUtil.isNullOrEmpty(specialId)
            || StringUtil.isNullOrEmpty(relationId)) {
         userInfoVO.setTbName(null);
         userInfoVO.setTaoBaoUid(null);
      } else {
         userInfoVO.setTbName(extraTaoBaoInfo.getTaoBaoNickName());
         userInfoVO.setTaoBaoUid(extraTaoBaoInfo.getTaoBaoUid());
      }
      /* 绑定收款账号信息 */
      List<BindingAccount> account = bindingAccountService.getBindingAccountByUid(uid);
      if (account != null && account.size() > 0) {
         BindingAccount bindingAccount = account.get(0);
         Integer type = bindingAccount.getType();
         if (type != null && type == 1) {
            // 支付宝
            userInfoVO.setAccountAlipay(bindingAccount.getAccount());
            userInfoVO.setAccountName(bindingAccount.getName());
            userInfoVO.setAccountBindId(bindingAccount.getId());
         } else if (type != null && type == 2) {
            // 微信
            userInfoVO.setAccountWX(bindingAccount.getAccount());
            userInfoVO.setAccountNameWX(bindingAccount.getName());
            userInfoVO.setAccountBindIdWX(bindingAccount.getId());
         }
      }
      JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(userInfoVO));
   }
   
   /**
    * 统计今日用户总情况
@@ -1479,31 +1626,7 @@
   
   
   
   /**
    *  用户粉丝统计
    *
    * @param callback
    * @param pageIndex
    * @param pageSize
    * @param id
    * @param out
    */
   @RequestMapping(value = "countTeamFans")
   public void countTeamFans(String callback, Long uid, PrintWriter out) {
      int doneFirst = 0;
      int doneSecond = 0;
      UserInviteValidNum userInviteValidNum = userInviteValidNumService.selectByPrimaryKey(uid);
      if (userInviteValidNum != null) {
         doneFirst = userInviteValidNum.getNumFirst() == null ? 0 : userInviteValidNum.getNumFirst();
         doneSecond = userInviteValidNum.getNumSecond() == null ? 0 : userInviteValidNum.getNumSecond();
      }
      JSONObject data = new JSONObject();
      data.put("doneFirst", doneFirst);
      data.put("doneSecond", doneSecond);
      data.put("first", threeSaleSerivce.countFirstTeam(uid));
      data.put("second", threeSaleSerivce.countSecondTeam(uid));
      JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data));
   }
         
}