yujian
2020-06-15 3579201658f94480a8421507c24d2ece83dbf0c7
fanli/src/main/java/com/yeshi/fanli/controller/admin/UserInfoAdminController.java
@@ -32,11 +32,13 @@
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.integral.IntegralDetail;
@@ -45,6 +47,7 @@
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 +61,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 +134,15 @@
   
   @Resource
   private HongBaoV2Service hongBaoV2Service;
   @Resource
   private TearcherService tearcherService;
   @Resource
   private ThreeSaleDetailService threeSaleDetailService;
   @Resource
   private HongBaoV2CountService hongBaoV2CountService;
   
   
   /**
@@ -380,6 +394,148 @@
         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) {
      JSONObject data = new JSONObject();
      UserInfo user = userInfoService.getUserByIdWithMybatis(uid);
      data.put("phone", user.getPhone());
      data.put("state", user.getState());
      data.put("createtime", user.getCreatetime());
      String mark = "";
      String activation = "未激活";
      UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid);
      if (userInfoExtra != null) {
         if (!StringUtil.isNullOrEmpty(userInfoExtra.getMark())) {
            mark = userInfoExtra.getMark();
         }
         String inviteCode = userInfoExtra.getInviteCode();
         if (!StringUtil.isNullOrEmpty(inviteCode)) {
            activation = "已激活";
         } else {
            activation = "未激活";
         }
      }
      data.put("mark", mark);
      data.put("activation", activation);
      // 最近一次下单时间
      String orderTime = "";
      Date lastOrderTime = hongBaoV2CountService.getLastHongBaoTime(uid);
      if (lastOrderTime != null) {
         orderTime = TimeUtil.formatDate(lastOrderTime);
      }
      data.put("orderTime", orderTime);
      // 最近登录时间
      String activeTime = "";
      UserActiveLog userActiveLog = userActiveLogService.getUserLatestActiveInfo(uid);
      if (userActiveLog != null) {
         activeTime = TimeUtil.formatDate(userActiveLog.getCreateTime());
      }
      data.put("activeTime", activeTime);
//
//      // 显示用户微信 淘宝 老版本存在
//      String wxUnionId = userInfoVO.getWxUnionId();
//      if (wxUnionId == null || wxUnionId.trim().length() == 0) {
//         userInfoVO.setWxName(null);
//      }
//
//      // 是否绑定支付宝(购买 + 分享权限)
//      String taoBaoUid = userInfoVO.getTaoBaoUid();
//      String tbSpecialId = userInfoVO.getTbSpecialId();
//      String tbRelationId = userInfoVO.getTbRelationId();
//      if (StringUtil.isNullOrEmpty(taoBaoUid) || StringUtil.isNullOrEmpty(tbSpecialId)
//            || StringUtil.isNullOrEmpty(tbRelationId)) {
//         userInfoVO.setTbName(null);
//         userInfoVO.setTaoBaoUid(null);
//      }
//
//      Long uid = userInfoVO.getId();
//      /* 绑定收款账号信息 */
//      List<BindingAccount> account = bindingAccountMapper.selectByUid(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(data));
   }
   
   /**
    * 统计今日用户总情况
@@ -1479,31 +1635,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));
   }
         
}