yujian
2020-01-07 1b3856e8f5431508d944a3b9c7a444dac3536bb6
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserInfoController.java
@@ -64,6 +64,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;
@@ -108,8 +109,10 @@
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.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;
import com.yeshi.fanli.util.GsonUtil;
import com.yeshi.fanli.util.HongBaoUtil;
import com.yeshi.fanli.util.RedisManager;
@@ -241,11 +244,13 @@
   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";
   private static final String EXTRACT_MIN_MONEY = ConfigKeyEnum.extractMoneyMin.getKey();
   private static final String EXTRACT_MAX_MONEY = ConfigKeyEnum.extractMoneyMAX.getKey();
   /**
    * 获取用户信息
@@ -359,7 +364,7 @@
            form.setPortrait(weiXinUser.getHeadimgurl());
            String wxHeadImg = COSManager.getInstance()
                  .uploadFile(HttpUtil.getAsInputStream(weiXinUser.getHeadimgurl()),
                        Constant.WXHEADURL + UUID.randomUUID().toString())
                        FilePathEnum.userPortrait.getPath() + UUID.randomUUID().toString())
                  .getUrl();
            form.setWxPic(wxHeadImg);
            form.setNickName(weiXinUser.getNickname());
@@ -592,7 +597,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;
@@ -631,7 +636,9 @@
            welfareCenterNews = userInfoExtra.getCouponNews();
         }
         if (userInfoExtra.getInviteCode() != null && userInfoExtra.getInviteCode().trim().length() > 0) {
         if (!StringUtil.isNullOrEmpty(userInfoExtra.getInviteCodeVip())) {
            invitCode = userInfoExtra.getInviteCodeVip();
         } else {
            invitCode = userInfoExtra.getInviteCode();
         }
      }
@@ -695,7 +702,7 @@
         find.setWxUnionId(weiXinUser.getUnionid());
         String wxHeadImg = COSManager.getInstance()
               .uploadFile(HttpUtil.getAsInputStream(weiXinUser.getHeadimgurl()),
                     Constant.WXHEADURL + UUID.randomUUID().toString())
                     FilePathEnum.userPortrait.getPath() + UUID.randomUUID().toString())
               .getUrl();
         find.setWxPic(wxHeadImg);
      } else { // 绑定淘宝
@@ -787,8 +794,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 = "";
@@ -849,8 +856,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 = "";
@@ -1132,11 +1139,14 @@
         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(),
@@ -1207,7 +1217,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];
@@ -1695,7 +1705,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 = "";
            }
@@ -1706,7 +1716,7 @@
               hasCode = true; // 已有邀请码
            } else {
               // 邀请激活链接
               resultData.put("activationlink", configService.get("invite_activation_url"));
               resultData.put("activationlink", configService.get(ConfigKeyEnum.inviteActivationUrl.getKey()));
            }
            resultData.put("hasCode", hasCode);
@@ -1768,7 +1778,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 = "";
            }
@@ -1779,7 +1789,7 @@
               hasCode = true; // 已有邀请码
            } else {
               // 邀请激活链接
               resultData.put("activationlink", configService.get("invite_activation_url"));
               resultData.put("activationlink", configService.get(ConfigKeyEnum.inviteActivationUrl.getKey()));
            }
            resultData.put("hasCode", hasCode);
@@ -1827,7 +1837,7 @@
         JSONObject resultData = new JSONObject();
         String helpLink = configService.get("team_help_url");
         String helpLink = configService.get(ConfigKeyEnum.teamHelpUrl.getKey());
         if (helpLink == null) {
            helpLink = "";
         }
@@ -1844,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);
@@ -2031,11 +2041,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();
@@ -2125,6 +2135,7 @@
         }
         data.put("moduleState", mySettings);
         boolean tailor = false;
         int welfareCenterNews = 0;
         String invitCode = null;
         UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid);
@@ -2136,6 +2147,7 @@
            if (!StringUtil.isNullOrEmpty(userInfoExtra.getInviteCodeVip())) {
               invitCode = userInfoExtra.getInviteCodeVip();
            } else if (!StringUtil.isNullOrEmpty(userInfoExtra.getInviteCode())) {
               tailor = true;
               invitCode = userInfoExtra.getInviteCode();
            }
            
@@ -2157,14 +2169,23 @@
               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("添加微信号后,你的邀请人和一级队员可以通过微信与你建立联系。");
            userInfo.setWeiXinTip("添加微信号后,你的邀请人和直接粉丝可以通过微信与你建立联系。");
         // 查询是否为VIP
         if (VersionUtil.greaterThan_2_1(acceptData.getPlatform(), acceptData.getVersion())) {
         if (VersionUtil.greaterThan_2_0_5(acceptData.getPlatform(), acceptData.getVersion())) {
            userInfo.setVip(userVIPInfoService.isVIP(uid));
            boolean verifyForbid = redPackForbidService.verifyForbid(uid);
            data.put("redPackLock", verifyForbid);
         }
         data.put("user", JsonUtil.getConvertBigDecimalToStringBuilder(gsonBuilder).create().toJson(userInfo));
@@ -2174,7 +2195,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())) {
@@ -2183,13 +2204,20 @@
               bindPhone = bindRemindService.bindRemind(uid, BindRemind.TYPE_PHONE);
            data.put("bindPhone", bindPhone);
         }
         // 2.0.2 版本
         if (VersionUtil.greaterThan_2_1(acceptData.getPlatform(), acceptData.getVersion())) {
            boolean verifyForbid = redPackForbidService.verifyForbid(uid);
            data.put("redPackLock", verifyForbid);
         if  (!StringUtil.isNullOrEmpty(invitCode)) {
            // 2.0.6 返回邀请人
            if (VersionUtil.greaterThan_2_0_6(acceptData.getPlatform(), acceptData.getVersion())) {
               String bossName = "";
               ThreeSale threeSale = threeSaleSerivce.getMyBoss(uid);
               if (threeSale != null && threeSale.getBoss() != null) {
                  bossName = threeSale.getBoss().getNickName();
               }
               data.put("bossName", bossName);
            }
         }
         out.print(JsonUtil.loadTrueResult(data));
         final UserInfo uuser = userInfo;
@@ -2302,7 +2330,7 @@
    */
   @RequestMapping(value = "saveInfo")
   public void saveInfo(AcceptData acceptData, String nickName, String weiXin, Integer sex, Long uid,
         String inviteCode, PrintWriter out) {
         String inviteCode, MultipartFile qrCodeFile, HttpServletRequest request, PrintWriter out) {
      try {
         if (uid == null) {
            out.print(JsonUtil.loadFalseResult("用户未登录"));
@@ -2359,12 +2387,6 @@
         if (!StringUtil.isNullOrEmpty(inviteCode)) {// 邀请码不为空
            inviteCode = inviteCode.trim();
            if (inviteCode.length() >= 4 && inviteCode.length() <= 12) {
               if (!userVIPInfoService.isVIP(uid)) {
                  out.print(JsonUtil.loadFalseResult(20, "只有超级会员才能修改"));
                  return;
               }
               try {
                  userInfoExtraService.updateInviteCodeVip(inviteCode, uid);
                  out.print(JsonUtil.loadTrueResult("保存成功"));
@@ -2377,6 +2399,14 @@
               return;
            }
         }
         // 二维码
         if (qrCodeFile != null) {
            userInfoExtraService.uploadERCode(qrCodeFile, uid);
         }
         out.print(JsonUtil.loadTrueResult("保存成功"));
      } catch (UserInfoException e) {
         out.print(JsonUtil.loadFalseResult(e.getMsg()));