yujian
2020-05-06 eb1adc13eda955e8ef0fc9fe41fb246fa89b722d
fanli/src/main/java/com/yeshi/fanli/controller/client/v2/UserAccountControllerV2.java
@@ -25,12 +25,12 @@
import com.google.gson.JsonSerializer;
import com.yeshi.fanli.dto.user.UserInviteLevelEnum;
import com.yeshi.fanli.entity.accept.AcceptData;
import com.yeshi.fanli.entity.bus.user.HongBaoV2;
import com.yeshi.fanli.entity.bus.user.SMSHistory;
import com.yeshi.fanli.entity.bus.user.ThreeSale;
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.vip.TearcherInfo;
import com.yeshi.fanli.entity.bus.user.vip.UserVIPInfo;
import com.yeshi.fanli.entity.money.UserMoneyDetail.UserMoneyDetailTypeEnum;
import com.yeshi.fanli.entity.push.DeviceActive;
@@ -46,6 +46,7 @@
import com.yeshi.fanli.service.inter.homemodule.HomeNavbarUserService;
import com.yeshi.fanli.service.inter.money.UserMoneyDetailService;
import com.yeshi.fanli.service.inter.money.UserMoneyService;
import com.yeshi.fanli.service.inter.order.CommonOrderService;
import com.yeshi.fanli.service.inter.order.LostOrderService;
import com.yeshi.fanli.service.inter.order.config.HongBaoManageService;
import com.yeshi.fanli.service.inter.push.DeviceActiveService;
@@ -73,6 +74,7 @@
import com.yeshi.fanli.service.inter.user.invite.ThreeSaleSerivce;
import com.yeshi.fanli.service.inter.user.invite.UserInviteService;
import com.yeshi.fanli.service.inter.user.invite.UserInviteValidNumService;
import com.yeshi.fanli.service.inter.user.vip.TearcherService;
import com.yeshi.fanli.service.inter.user.vip.UserVIPInfoService;
import com.yeshi.fanli.service.inter.user.vip.UserVipConfigService;
import com.yeshi.fanli.util.Constant;
@@ -204,6 +206,12 @@
   
   @Resource
   private UserInviteValidNumService userInviteValidNumService;
   @Resource
   private CommonOrderService commonOrderService;
   @Resource
   private TearcherService tearcherService;
   
   
   /**
@@ -474,7 +482,7 @@
               continue;
            }
            // 1、邀请关系成功后;2、单(分享 + 自购)实付款大于1元
            long countValid = hongBaoV2CountService.countValidOrderByUidAndTime(worker.getId(), three.getSucceedTime(), payMoney);
            long countValid = commonOrderService.countOrderByUidAndSettled(worker.getId(), payMoney);
            if (countValid > 0) {
               finishTeam ++;
            }
@@ -584,35 +592,13 @@
      UserInviteLevelEnum level = userInviteService.getUserInviteLevelNew(uid);
      
      // 达人
      long limitZiGou = 0;
      long limitShare = 0;
      long limitOrder = 0;
      long limitFirst = 0;
      long limitSecond = 0;
      if (level == UserInviteLevelEnum.actived ||  level == UserInviteLevelEnum.noActive) {
         String zigou = userVipConfigService.getValueByKey("vip_pre_3_zigou_order_count");
         if (!StringUtil.isNullOrEmpty(zigou)) {
            limitZiGou = Long.parseLong(zigou);
         }
         String share = userVipConfigService.getValueByKey("vip_pre_3_share_order_count");
         if (!StringUtil.isNullOrEmpty(share)) {
            limitShare = Long.parseLong(share);
         }
         String first = userVipConfigService.getValueByKey("vip_pre_3_first_level_team_count");
         if (!StringUtil.isNullOrEmpty(first)) {
            limitFirst = Long.parseLong(first);
         }
         String second = userVipConfigService.getValueByKey("vip_pre_3_second_level_team_count");
         if (!StringUtil.isNullOrEmpty(second)) {
            limitSecond = Long.parseLong(second);
         }
      } else if (level == UserInviteLevelEnum.vipPre1) {
         String zigou = userVipConfigService.getValueByKey("vip_pre_7_zigou_order_count");
         if (!StringUtil.isNullOrEmpty(zigou)) {
            limitZiGou = Long.parseLong(zigou);
         }
         String share = userVipConfigService.getValueByKey("vip_pre_7_share_order_count");
         if (!StringUtil.isNullOrEmpty(share)) {
            limitShare = Long.parseLong(share);
         String orderCount = userVipConfigService.getValueByKey("vip_pre_7_order_count");
         if (!StringUtil.isNullOrEmpty(orderCount)) {
            limitOrder = Long.parseLong(orderCount);
         }
         String first = userVipConfigService.getValueByKey("vip_pre_7_first_level_team_count");
         if (!StringUtil.isNullOrEmpty(first)) {
@@ -622,14 +608,10 @@
         if (!StringUtil.isNullOrEmpty(second)) {
            limitSecond = Long.parseLong(second);
         }
      } else if (level == UserInviteLevelEnum.vipPre2 || level == UserInviteLevelEnum.vipApply) {
         String zigou = userVipConfigService.getValueByKey("vip_pre_10_zigou_order_count");
         if (!StringUtil.isNullOrEmpty(zigou)) {
            limitZiGou = Long.parseLong(zigou);
         }
         String share = userVipConfigService.getValueByKey("vip_pre_10_share_order_count");
         if (!StringUtil.isNullOrEmpty(share)) {
            limitShare = Long.parseLong(share);
      } else if (level == UserInviteLevelEnum.highVIP || level == UserInviteLevelEnum.vipApply) {
         String orderCount = userVipConfigService.getValueByKey("vip_pre_10_order_count");
         if (!StringUtil.isNullOrEmpty(orderCount)) {
            limitOrder = Long.parseLong(orderCount);
         }
         String first = userVipConfigService.getValueByKey("vip_pre_10_first_level_team_count");
         if (!StringUtil.isNullOrEmpty(first)) {
@@ -647,16 +629,7 @@
      }
      
      // 自购订单
      long doneZiGou = hongBaoV2CountService.counOrderByUidAndOrderType(uid, Constant.VIP_ORDER_PAY,
            HongBaoV2.TYPE_ZIGOU);
      // 分享订单
      long doneShare = hongBaoV2CountService.counOrderByUidAndOrderType(uid, Constant.VIP_ORDER_PAY,
            HongBaoV2.TYPE_SHARE_GOODS);
      Date now = new Date();
      Date start = new Date(0);
      long doneOrder = hongBaoV2CountService.countMyDirectOrderByCashArrival(uid, Constant.VIP_ORDER_PAY);
      // 有效粉丝
      int doneFirst = 0;
      int doneSecond = 0;
@@ -666,6 +639,8 @@
         doneSecond = userInviteValidNum.getNumSecond() == null ? 0 : userInviteValidNum.getNumSecond();
      }
      
      Date now = new Date();
      Date start = new Date(0);
      // 省钱: ---返利订单、奖励券提成
      List<UserMoneyDetailTypeEnum> typeFanli = new ArrayList<>();
      typeFanli.add(UserMoneyDetailTypeEnum.fanli);
@@ -686,38 +661,25 @@
         earnMoney = MoneyBigDecimalUtil.mul2(earnMoney, rate);
      }
      
      String school = "板栗学院";
      String platformSubsidy = "补贴返佣 ";
      String teamSubsidy = "会员专属";
      String teamReward = "超级会员专属";
      String shareRate = "可享佣金的<label style=\"color:#E5005C;\">%s</label>";
      String teamRate = "最高佣金的<label style=\"color:#E5005C;\">%s</label>";
      // 达人版
      JSONObject jsonrRed1 = new JSONObject();
      jsonrRed1.put("platformSubsidy", platformSubsidy + "<label style=\"color:#E5005C;\">52.5%</label>");
      jsonrRed1.put("school", school + "<label style=\"color:#E5005C;\">达人班</label>");
      jsonrRed1.put("teamSubsidy", teamSubsidy);
      jsonrRed1.put("teamReward", teamReward);
      jsonrRed1.put("enjoyRate", String.format(shareRate, "145%"));
      jsonrRed1.put("teamRate", String.format(teamRate, "25%"));
      jsonrRed1.put("teamIncome", "高级会员以上专属");
      
      // 高级会员
      JSONObject jsonrRed2 = new JSONObject();
      jsonrRed2.put("platformSubsidy", platformSubsidy + "<label style=\"color:#E5005C;\">60%</label>");
      jsonrRed2.put("school", school + "<label style=\"color:#E5005C;\">普通班</label>");
      jsonrRed2.put("teamSubsidy", teamSubsidy + "最高<label style=\"color:#E5005C;\">7.5%</label>");
      jsonrRed2.put("teamReward", teamReward);
      jsonrRed2.put("enjoyRate", String.format(shareRate, "195%"));
      jsonrRed2.put("teamRate", String.format(teamRate, "50%"));
      jsonrRed2.put("teamIncome", "享高级团队收益");
      
      // 超级会员
      JSONObject jsonrRed3 = new JSONObject();
      jsonrRed3.put("platformSubsidy", platformSubsidy + "<label style=\"color:#E5005C;\">70%</label>");
      jsonrRed3.put("school", school + "<label style=\"color:#E5005C;\">高级班</label>");
      jsonrRed3.put("teamSubsidy", teamSubsidy + "最高<label style=\"color:#E5005C;\">15%</label>");
      jsonrRed3.put("teamReward", teamReward);
      JSONObject jsonrRed4 = new JSONObject();
      jsonrRed4.put("platformSubsidy", platformSubsidy + "<label style=\"color:#E5005C;\">115%</label>");
      jsonrRed4.put("school", school + "<label style=\"color:#E5005C;\">超级班</label>");
      jsonrRed4.put("teamSubsidy", teamSubsidy + "最高<label style=\"color:#E5005C;\">22.5%</label>");
      jsonrRed4.put("teamReward", teamReward + "最高<label style=\"color:#E5005C;\">40%</label>");
      jsonrRed3.put("enjoyRate", String.format(shareRate, "210%"));
      jsonrRed3.put("teamRate", String.format(teamRate, "110%"));
      jsonrRed3.put("teamIncome", "享超级团队收益");
      
      
      JSONObject json = new JSONObject();
@@ -728,31 +690,51 @@
      json.put("saveMoney", saveMoney);
      json.put("earnMoney", earnMoney);
      
      String tearcherWX = "";
      TearcherInfo tearcherInfo = tearcherService.selectByUid(uid);
      if (tearcherInfo != null && !StringUtil.isNullOrEmpty(tearcherInfo.getWxID())) {
         tearcherWX = tearcherInfo.getWxID();
      }
      json.put("tearcherWX", tearcherWX);
      json.put("tearcherTip", "我是你的导师,为你在省赚过程中解难答疑,对你一对一辅导,倾听你的需求总结并反馈给板栗快省官方运营团队,快来添加我吧。");
      json.put("tearcherWX", userVipConfigService.getValueByKey("tearcher_weixin_num"));
      json.put("newerGongLue", configService.get(ConfigKeyEnum.newerGonglue.getKey()));
      
      // 已完成
      json.put("doneZiGou", doneZiGou);
      json.put("doneShare", doneShare);
      json.put("doneOrder", doneOrder);
      json.put("doneFirst", doneFirst);
      json.put("doneSecond", doneSecond);
      
      // 标准
      json.put("limitZiGou", limitZiGou);
      json.put("limitShare", limitShare);
      json.put("limitOrder", limitOrder);
      json.put("limitFirst", limitFirst);
      json.put("limitSecond", limitSecond);
      
      // 已完成
      json.put("master", jsonrRed1);
      json.put("vip1", jsonrRed2);
      json.put("vip2", jsonrRed3);
      json.put("vip3", jsonrRed4);
      json.put("daRen", jsonrRed1);
      json.put("highVIP", jsonrRed2);
      json.put("superVIP", jsonrRed3);
      
      // 人工客服链接
      json.put("csdLink", configService.get(ConfigKeyEnum.customerServiceLink.getKey()));
      
      UserVIPInfo userVIPInfo = userVIPInfoService.selectByUid(uid);
      String leftTime = "";
      if (userVIPInfo != null && userVIPInfo.getState() == UserVIPInfo.STATE_VERIFING &&  userVIPInfo.getApplyTime() != null) {
         long s = 48 * 60 * 60 - ((System.currentTimeMillis() - userVIPInfo.getApplyTime().getTime()) / 1000);
         if (s > 3600) {
            leftTime = s / 3600 + "小时";
            leftTime = "还剩" + leftTime;
         } else if (s >= 60) {
            leftTime = s / 60 + "分钟";
            leftTime = "还剩" + leftTime;
         } else if (s > 0) {
            leftTime = s + "秒";
            leftTime = "还剩" + leftTime;
         } else {
            leftTime = "还剩0秒";
         }
      }
      json.put("leftTime", leftTime);
      if (!StringUtil.isNullOrEmpty(callback)) {
         out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult(json)));
      } else {