yujian
2020-05-09 7e7db2fa55a9a3af46d4fd8ede0dee147f101d64
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserInfoController.java
@@ -40,6 +40,7 @@
import com.yeshi.fanli.dto.HongBaoDTO;
import com.yeshi.fanli.dto.money.AccountDetails;
import com.yeshi.fanli.dto.order.OrderItem;
import com.yeshi.fanli.dto.user.UserInviteLevelEnum;
import com.yeshi.fanli.dto.wx.WXAccountInfoDTO;
import com.yeshi.fanli.entity.AppVersionInfo;
import com.yeshi.fanli.entity.accept.AcceptData;
@@ -64,6 +65,7 @@
import com.yeshi.fanli.entity.money.UserMoneyDetail;
import com.yeshi.fanli.entity.order.HongBaoOrder;
import com.yeshi.fanli.entity.system.BusinessSystem;
import com.yeshi.fanli.entity.system.ConfigKeyEnum;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBriefExtra;
import com.yeshi.fanli.exception.goods.CollectionGoodsException;
@@ -107,7 +109,9 @@
import com.yeshi.fanli.service.inter.user.UserShareGoodsRecordService;
import com.yeshi.fanli.service.inter.user.invite.ThreeSaleExtraInfoSerivce;
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.vip.UserVIPInfoService;
import com.yeshi.fanli.service.inter.user.vip.UserVipConfigService;
import com.yeshi.fanli.util.AESUtil;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.FilePathEnum;
@@ -240,13 +244,18 @@
   @Resource
   private UserVIPInfoService userVIPInfoService;
   @Resource
   private UserVipConfigService userVipConfigService;
   @Resource
   private RedPackForbidService redPackForbidService;
   private static final String PASSWORD_MAX_ERROR = "password_max_error";
   private static final String EXTRACT_MIN_MONEY = "extract_min_money";
   private static final String EXTRACT_MAX_MONEY = "extract_max_money";
   @Resource
   private UserInviteService userInviteService;
   private static final String EXTRACT_MIN_MONEY = ConfigKeyEnum.extractMoneyMin.getKey();
   private static final String EXTRACT_MAX_MONEY = ConfigKeyEnum.extractMoneyMAX.getKey();
   /**
    * 获取用户信息
@@ -593,7 +602,7 @@
         data.put("inviteList", String.format("http://%s/%s/client/share/friends_new_online.html",
               Constant.systemCommonConfig.getProjectHost(), Constant.systemCommonConfig.getProjectName()));
      else
         data.put("inviteList", configService.get("team_list"));
         data.put("inviteList", configService.get(ConfigKeyEnum.teamList.getKey()));
      // 界面状态
      UserSettingsVO mySettings = null;
@@ -790,8 +799,8 @@
      data.put("maxError", 1);
      String minMoney = configService.get(EXTRACT_MIN_MONEY); // 单笔提现的最小金额
      String maxMoney = configService.get(EXTRACT_MAX_MONEY); // 单笔提现的最小金额
      String maxDayMoney = configService.get("extract_money_day"); // 每日最大提现金额
      int maxDayCount = Integer.parseInt(configService.get("extract_count_day"));
      String maxDayMoney = configService.get(ConfigKeyEnum.extractMoneyDay.getKey()); // 每日最大提现金额
      int maxDayCount = Integer.parseInt(configService.get(ConfigKeyEnum.extractDayCount.getKey()));
      ExtractRecord extractRecord = extractRecordService.getExtractRecordByUid(uid);
      boolean canExtract = true;
      String errorMsg = "";
@@ -852,8 +861,8 @@
      }
      String minMoney = configService.get(EXTRACT_MIN_MONEY); // 单笔提现的最小金额
      String maxDayMoney = configService.get("extract_money_day"); // 每日最大提现金额
      int maxDayCount = Integer.parseInt(configService.get("extract_count_day"));
      String maxDayMoney = configService.get(ConfigKeyEnum.extractMoneyDay.getKey()); // 每日最大提现金额
      int maxDayCount = Integer.parseInt(configService.get(ConfigKeyEnum.extractDayCount.getKey()));
      ExtractRecord extractRecord = extractRecordService.getExtractRecordByUid(uid);
      boolean canExtract = true;
      String errorMsg = "";
@@ -1135,11 +1144,13 @@
         return;
      }
      // 判断手机验证码的正确性
      String oldCode = redisManager.getSMSVCode(user.getPhone(), SMSHistory.TYPE_LOGIN);
      if (StringUtil.isNullOrEmpty(oldCode) || !oldCode.equalsIgnoreCase(vcode)) {
         out.print(JsonUtil.loadFalseResult(90001, "验证码错误"));
         return;
      if (!Constant.IS_TEST) {
         // 判断手机验证码的正确性
         String oldCode = redisManager.getSMSVCode(user.getPhone(), SMSHistory.TYPE_LOGIN);
         if (StringUtil.isNullOrEmpty(oldCode) || !oldCode.equalsIgnoreCase(vcode)) {
            out.print(JsonUtil.loadFalseResult(90001, "验证码错误"));
            return;
         }
      }
      BusinessSystem system = businessSystemService.getBusinessSystemCache(acceptData.getPlatform(),
@@ -1210,7 +1221,7 @@
               }
               long[] targetUids = new long[] { 3L, 4L };
               Config config = configService.getConfig("extract_code_email_from");
               Config config = configService.getConfig(ConfigKeyEnum.extractCodeEmailFrom.getKey());
               String[] sts = config.getValue().split(",");
               String account = sts[0];
               String pwd = sts[1];
@@ -1668,19 +1679,17 @@
         JSONObject resultData = new JSONObject();
         if (type == 1) {
            resultData = threeSaleSerivce.getMyFirstTeam((page - 1) * pageSize, pageSize, uid, null);
            resultData = threeSaleSerivce.getMyFirstTeam((page - 1) * pageSize, pageSize, uid);
         } else if (type == 2) {
            resultData = threeSaleSerivce.getMySecondTeam((page - 1) * pageSize, pageSize, uid, null);
            resultData = threeSaleSerivce.getMySecondTeam((page - 1) * pageSize, pageSize, uid);
         }
         // 安卓系统返回所有数据
         String platform = acceptData.getPlatform();
         if ("android".equalsIgnoreCase(platform)) {
            long firstTeam = threeSaleSerivce.countFirstTeam(uid, 1);
            long firstTeamTotal = threeSaleSerivce.countFirstTeam(uid, null);
            long firstTeam = threeSaleSerivce.countFirstTeam(uid);
            long secondTeam = threeSaleSerivce.countSecondTeam(uid, 1);
            long secondTeamTotal = threeSaleSerivce.countSecondTeam(uid, null);
            long secondTeam = threeSaleSerivce.countSecondTeam(uid);
            JSONObject bossData = null;
            ThreeSale threeSale = threeSaleSerivce.getMyBoss(uid);
@@ -1698,7 +1707,7 @@
               bossData.put("inviteTime", "邀请时间: " + sdf.format(inviteTime));
            }
            String helpLink = configService.get("team_help_url");
            String helpLink = configService.get(ConfigKeyEnum.teamHelpUrl.getKey());
            if (helpLink == null) {
               helpLink = "";
            }
@@ -1709,15 +1718,15 @@
               hasCode = true; // 已有邀请码
            } else {
               // 邀请激活链接
               resultData.put("activationlink", configService.get("invite_activation_url"));
               resultData.put("activationlink", configService.get(ConfigKeyEnum.inviteActivationUrl.getKey()));
            }
            resultData.put("hasCode", hasCode);
            resultData.put("helpLink", helpLink);
            resultData.put("firstTeam", firstTeam);
            resultData.put("firstTeamTotal", firstTeamTotal);
            resultData.put("firstTeamTotal", firstTeam);
            resultData.put("secondTeam", secondTeam);
            resultData.put("secondTeamTotal", secondTeamTotal);
            resultData.put("secondTeamTotal", secondTeam);
            resultData.put("boss", bossData);
         }
         out.print(JsonUtil.loadTrueResult(resultData));
@@ -1743,17 +1752,17 @@
         JSONObject resultData = new JSONObject();
         if (type == 1) {
            resultData = threeSaleSerivce.getMyFirstTeam((page - 1) * pageSize, pageSize, uid, 1);
            resultData = threeSaleSerivce.getMyFirstTeam((page - 1) * pageSize, pageSize, uid);
         } else if (type == 2) {
            resultData = threeSaleSerivce.getMySecondTeam((page - 1) * pageSize, pageSize, uid, 1);
            resultData = threeSaleSerivce.getMySecondTeam((page - 1) * pageSize, pageSize, uid);
         }
         // 安卓系统返回所有数据
         String platform = acceptData.getPlatform();
         if ("android".equalsIgnoreCase(platform)) {
            long firstTeam = threeSaleSerivce.countFirstTeam(uid, 1);
            long firstTeam = threeSaleSerivce.countFirstTeam(uid);
            long secondTeam = threeSaleSerivce.countSecondTeam(uid, 1);
            long secondTeam = threeSaleSerivce.countSecondTeam(uid);
            JSONObject bossData = null;
            ThreeSale threeSale = threeSaleSerivce.getMyBoss(uid);
@@ -1771,7 +1780,7 @@
               bossData.put("inviteTime", "邀请时间: " + sdf.format(inviteTime));
            }
            String helpLink = configService.get("team_help_url");
            String helpLink = configService.get(ConfigKeyEnum.teamHelpUrl.getKey());
            if (helpLink == null) {
               helpLink = "";
            }
@@ -1782,7 +1791,7 @@
               hasCode = true; // 已有邀请码
            } else {
               // 邀请激活链接
               resultData.put("activationlink", configService.get("invite_activation_url"));
               resultData.put("activationlink", configService.get(ConfigKeyEnum.inviteActivationUrl.getKey()));
            }
            resultData.put("hasCode", hasCode);
@@ -1808,11 +1817,9 @@
   @RequestMapping(value = "countMyTeam", method = RequestMethod.POST)
   public void countMyTeam(AcceptData acceptData, long uid, PrintWriter out) {
      try {
         long firstTeam = threeSaleSerivce.countFirstTeam(uid, 1);
         long firstTeamTotal = threeSaleSerivce.countFirstTeam(uid, null);
         long firstTeam = threeSaleSerivce.countFirstTeam(uid);
         long secondTeam = threeSaleSerivce.countSecondTeam(uid, 1);
         long secondTeamTotal = threeSaleSerivce.countSecondTeam(uid, null);
         long secondTeam = threeSaleSerivce.countSecondTeam(uid);
         JSONObject bossData = new JSONObject();
         ThreeSale threeSale = threeSaleSerivce.getMyBoss(uid);
         if (threeSale != null) {
@@ -1830,15 +1837,15 @@
         JSONObject resultData = new JSONObject();
         String helpLink = configService.get("team_help_url");
         String helpLink = configService.get(ConfigKeyEnum.teamHelpUrl.getKey());
         if (helpLink == null) {
            helpLink = "";
         }
         resultData.put("helpLink", helpLink);
         resultData.put("firstTeam", firstTeam);
         resultData.put("firstTeamTotal", firstTeamTotal);
         resultData.put("firstTeamTotal", firstTeam);
         resultData.put("secondTeam", secondTeam);
         resultData.put("secondTeamTotal", secondTeamTotal);
         resultData.put("secondTeamTotal", secondTeam);
         resultData.put("boss", bossData);
         boolean hasCode = false;
@@ -1847,7 +1854,7 @@
            hasCode = true; // 已有邀请码
         } else {
            // 邀请激活链接
            resultData.put("activationlink", configService.get("invite_activation_url"));
            resultData.put("activationlink", configService.get(ConfigKeyEnum.inviteActivationUrl.getKey()));
         }
         resultData.put("hasCode", hasCode);
@@ -1902,41 +1909,6 @@
      out.print(JsonUtil.loadTrueResult("保存成功"));
   }
   /**
    * 删除队员关系
    *
    * @param acceptData
    * @param uid
    * @param inviteId
    *            邀请id
    * @param out
    */
   @RequestMapping(value = "removethreesale", method = RequestMethod.POST)
   public void removethreesale(AcceptData acceptData, long uid, long inviteId, PrintWriter out) {
      try {
         List<ThreeSale> listThreeSale = threeSaleSerivce.listbyIdAndBossId(inviteId, uid, 1);
         if (listThreeSale == null || listThreeSale.size() == 0) {
            out.print(JsonUtil.loadFalseResult("操作数据无效"));
            return;
         }
         UserInfo worker = listThreeSale.get(0).getWorker();
         if (worker == null) {
            out.print(JsonUtil.loadFalseResult("操作数据无效"));
            return;
         }
         // 删除关系
         threeSaleSerivce.deleteByPrimaryKey(inviteId);
         // 删除备注
         threeSaleExtraInfoSerivce.deleteByBossIdAndWorkerId(uid, worker.getId());
         out.print(JsonUtil.loadTrueResult("删除成功"));
      } catch (Exception e) {
         out.print(JsonUtil.loadFalseResult("删除失败"));
         e.printStackTrace();
      }
   }
   /**
    * 设置界面开关状态
@@ -2034,11 +2006,11 @@
         if (inviteCode == null || inviteCode.trim().length() == 0) {
            // 无邀请码
            inviteData.put("content", "邀请激活");
            inviteData.put("link", configService.get("invite_activation_url"));
            inviteData.put("link", configService.get(ConfigKeyEnum.inviteActivationUrl.getKey()));
         } else {
            // 已有邀请码
            inviteData.put("content", "邀请码");
            inviteData.put("link", configService.get("invite_activation_success_url"));
            inviteData.put("link", configService.get(ConfigKeyEnum.inviteActivationSuccessUrl.getKey()));
         }
         JSONObject data = new JSONObject();
@@ -2118,6 +2090,10 @@
         if (mySettings.getNoInvitationBonus() == null) {
            mySettings.setNoInvitationBonus(0);
         }
         if (mySettings.getNoDisplayPhoneNum() == null) {
            mySettings.setNoDisplayPhoneNum(0);
         }
         if (mySettings.getOpenSpreadHongBao() == null) {
            if (userTaoLiJinDetailService.countDetail(uid) > 0) {
@@ -2143,7 +2119,7 @@
               tailor = true;
               invitCode = userInfoExtra.getInviteCode();
            }
            if (userInfoExtra.getUserRank() != null) {
               String picture = userInfoExtra.getUserRank().getPicture();
               String icon = userInfoExtra.getUserRank().getIcon();
@@ -2162,13 +2138,13 @@
               if (!StringUtil.isNullOrEmpty(userInfoExtra.getWeiXin()))
                  userInfo.setWeiXin(userInfoExtra.getWeiXin());
            }
            // 二维码
            userInfo.setErCode(userInfoExtra.getErCode());
         }
         // 显示邀请码特制入口
         data.put("tailor", tailor);
         // 1.6.5 之后返回 微信号提示
         if (VersionUtil.greaterThan_1_6_5(acceptData.getPlatform(), acceptData.getVersion()))
            userInfo.setWeiXinTip("添加微信号后,你的邀请人和直接粉丝可以通过微信与你建立联系。");
@@ -2176,7 +2152,7 @@
         // 查询是否为VIP
         if (VersionUtil.greaterThan_2_0_5(acceptData.getPlatform(), acceptData.getVersion())) {
            userInfo.setVip(userVIPInfoService.isVIP(uid));
            boolean verifyForbid = redPackForbidService.verifyForbid(uid);
            data.put("redPackLock", verifyForbid);
         }
@@ -2188,7 +2164,7 @@
         else
            data.put("invitCodeUpdated", false);
         data.put("welfareCenterNews", welfareCenterNews);// 福利中心消息
         data.put("vipLink", configService.get("vip_link"));// 超级会员升级链接
         data.put("vipLink", userVipConfigService.getValueByKey("vip_link"));// 超级会员升级链接
         // 2.0.1之后绑定手机号
         if (VersionUtil.greaterThan_2_0_1(acceptData.getPlatform(), acceptData.getVersion())) {
@@ -2197,8 +2173,8 @@
               bindPhone = bindRemindService.bindRemind(uid, BindRemind.TYPE_PHONE);
            data.put("bindPhone", bindPhone);
         }
         if  (!StringUtil.isNullOrEmpty(invitCode)) {
         if (!StringUtil.isNullOrEmpty(invitCode)) {
            // 2.0.6 返回邀请人
            if (VersionUtil.greaterThan_2_0_6(acceptData.getPlatform(), acceptData.getVersion())) {
               String bossName = "";
@@ -2209,8 +2185,24 @@
               data.put("bossName", bossName);
            }
         }
         if (VersionUtil.greaterThan_2_0_7(acceptData.getPlatform(), acceptData.getVersion())) {
            UserInviteLevelEnum level = null;
            if (VersionUtil.greaterThan_2_1(acceptData.getPlatform(), acceptData.getVersion())) {
               level = userInviteService.getUserInviteLevelNew(uid);
            } else {
               level = userInviteService.getUserInviteLevel(uid);
            }
            JSONObject inviteLevel = new JSONObject();
            inviteLevel.put("level", level.name());
            inviteLevel.put("link", level.getLink());
            data.put("inviteLevel", inviteLevel);
         }
         
         if (VersionUtil.greaterThan_2_1_1(acceptData.getPlatform(), acceptData.getVersion())) {
            data.put("fansCountLink", configService.get(ConfigKeyEnum.teamStatisticsLink.getKey()));
         }
         out.print(JsonUtil.loadTrueResult(data));
         final UserInfo uuser = userInfo;
@@ -2377,6 +2369,7 @@
            }
         }
         //修改邀请码
         if (!StringUtil.isNullOrEmpty(inviteCode)) {// 邀请码不为空
            inviteCode = inviteCode.trim();
            if (inviteCode.length() >= 4 && inviteCode.length() <= 12) {
@@ -2392,14 +2385,12 @@
               return;
            }
         }
         // 二维码
         if (qrCodeFile != null) {
            userInfoExtraService.uploadERCode(qrCodeFile, uid);
         }
         out.print(JsonUtil.loadTrueResult("保存成功"));
      } catch (UserInfoException e) {
         out.print(JsonUtil.loadFalseResult(e.getMsg()));