yujian
2020-05-19 cba6ca3ea6c700ac4a102d6e896e3c5bb2dcc83d
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserInfoController.java
@@ -50,6 +50,7 @@
import com.yeshi.fanli.entity.bus.user.Extract;
import com.yeshi.fanli.entity.bus.user.ExtractRecord;
import com.yeshi.fanli.entity.bus.user.LostOrder;
import com.yeshi.fanli.entity.bus.user.PreviewInfo.PreviewEnum;
import com.yeshi.fanli.entity.bus.user.SMSHistory;
import com.yeshi.fanli.entity.bus.user.ThreeSale;
import com.yeshi.fanli.entity.bus.user.ThreeSaleExtraInfo;
@@ -58,6 +59,8 @@
import com.yeshi.fanli.entity.bus.user.UserInfoExtra;
import com.yeshi.fanli.entity.bus.user.UserInfoModifyRecord.ModifyTypeEnum;
import com.yeshi.fanli.entity.bus.user.WeiXinUser;
import com.yeshi.fanli.entity.bus.user.vip.GiveVIPApplyInfo;
import com.yeshi.fanli.entity.bus.user.vip.UserLevelEnum;
import com.yeshi.fanli.entity.common.AdminUser;
import com.yeshi.fanli.entity.common.Config;
import com.yeshi.fanli.entity.goods.CollectionGoodsV2;
@@ -77,6 +80,7 @@
import com.yeshi.fanli.exception.user.UserInfoExtraException;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.AdminUserService;
import com.yeshi.fanli.service.inter.common.JumpDetailV2Service;
import com.yeshi.fanli.service.inter.config.AppVersionService;
import com.yeshi.fanli.service.inter.config.BusinessSystemService;
import com.yeshi.fanli.service.inter.config.ConfigService;
@@ -97,6 +101,7 @@
import com.yeshi.fanli.service.inter.user.AccountMessageService;
import com.yeshi.fanli.service.inter.user.BindRemindService;
import com.yeshi.fanli.service.inter.user.MaskKeyService;
import com.yeshi.fanli.service.inter.user.PreviewInfoService;
import com.yeshi.fanli.service.inter.user.ShamUserService;
import com.yeshi.fanli.service.inter.user.SpreadUserImgService;
import com.yeshi.fanli.service.inter.user.UserAccountService;
@@ -107,11 +112,14 @@
import com.yeshi.fanli.service.inter.user.UserInfoService;
import com.yeshi.fanli.service.inter.user.UserRankService;
import com.yeshi.fanli.service.inter.user.UserShareGoodsRecordService;
import com.yeshi.fanli.service.inter.user.invite.TeamFansInfoService;
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.GiveVIPApplyInfoService;
import com.yeshi.fanli.service.inter.user.vip.UserVIPInfoService;
import com.yeshi.fanli.service.inter.user.vip.UserVipConfigService;
import com.yeshi.fanli.service.manger.user.UserLevelManager;
import com.yeshi.fanli.util.AESUtil;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.FilePathEnum;
@@ -133,6 +141,7 @@
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
import com.yeshi.fanli.util.wx.WXLoginUtil;
import com.yeshi.fanli.vo.user.MineInfoVO;
import com.yeshi.fanli.vo.user.UserInfoExtraVO;
import com.yeshi.fanli.vo.user.UserSettingsVO;
@@ -253,6 +262,22 @@
   @Resource
   private UserInviteService userInviteService;
   @Resource
   private TeamFansInfoService teamFansInfoService;
   @Resource
   private UserLevelManager userLevelManager;
   @Resource
   private JumpDetailV2Service jumpDetailV2Service;
   @Resource
   private GiveVIPApplyInfoService giveVIPApplyInfoService;
   @Resource
   private PreviewInfoService previewInfoService;
   private static final String EXTRACT_MIN_MONEY = ConfigKeyEnum.extractMoneyMin.getKey();
   private static final String EXTRACT_MAX_MONEY = ConfigKeyEnum.extractMoneyMAX.getKey();
@@ -1878,21 +1903,33 @@
    */
   @RequestMapping(value = "setextrainfo", method = RequestMethod.POST)
   public void setExtraInfo(AcceptData acceptData, long uid, long inviteId, String memoName, PrintWriter out) {
      List<ThreeSale> listThreeSale = threeSaleSerivce.listbyIdAndBossId(inviteId, uid, null);
      if (listThreeSale == null || listThreeSale.size() == 0) {
      ThreeSale threeSale = threeSaleSerivce.selectByPrimaryKey(inviteId);
      if (threeSale == null) {
         out.print(JsonUtil.loadFalseResult("该记录不存在"));
         return;
      }
      UserInfo worker = listThreeSale.get(0).getWorker();
      UserInfo worker = threeSale.getWorker();
      if (worker == null) {
         out.print(JsonUtil.loadFalseResult("该记录不存在"));
         return;
      }
      int type = 1;
      if (threeSale.getBoss().getId() != uid) {
         type = 2;
      }
      ThreeSaleExtraInfo extraInfo = threeSaleExtraInfoSerivce.getbyBossIdAndWorkerId(uid, worker.getId());
      if (extraInfo == null) {
         extraInfo = new ThreeSaleExtraInfo();
         Long bossUid = threeSale.getBoss().getId();
         if (uid == bossUid) {
            extraInfo.setType(1); // 直接
         } else {
            extraInfo.setType(2); // 间接
         }
         extraInfo.setWorker(worker);
         extraInfo.setNickname(memoName);
         extraInfo.setCreateTime(new Date());
@@ -1906,9 +1943,12 @@
         updateInfo.setUpdateTime(new Date());
         threeSaleExtraInfoSerivce.updateByPrimaryKeySelective(updateInfo);
      }
      // 更新粉丝记录信息
      teamFansInfoService.updateMemoName(worker.getId(), type, memoName);
      out.print(JsonUtil.loadTrueResult("保存成功"));
   }
   /**
    * 设置界面开关状态
@@ -2090,7 +2130,7 @@
         if (mySettings.getNoInvitationBonus() == null) {
            mySettings.setNoInvitationBonus(0);
         }
         if (mySettings.getNoDisplayPhoneNum() == null) {
            mySettings.setNoDisplayPhoneNum(0);
         }
@@ -2188,20 +2228,83 @@
         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);
            // VIP预览信息
            if (VersionUtil.greaterThan_2_1_1(acceptData.getPlatform(), acceptData.getVersion())) {
               String redisContent = previewInfoService.getRedisContent(uid, PreviewEnum.mineInfo);
               if (!StringUtil.isNullOrEmpty(redisContent)) {
                  MineInfoVO vo = new Gson().fromJson(redisContent, MineInfoVO.class);
                  if (vo != null) {
                     if (!StringUtil.isNullOrEmpty(vo.getBalance()))
                        userInfo.setMyHongBao(new BigDecimal(vo.getBalance()));
                     if (!StringUtil.isNullOrEmpty(vo.getLevel()))
                         for (UserInviteLevelEnum levelEnum: UserInviteLevelEnum.values()) {
                            if (levelEnum.name().equals(vo.getLevel())) {
                               level = levelEnum;
                               break;
                            }
                         }
                  }
               }
            }
            if (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()));
            // 会员动作
            // 查询是否为超级会员,是的话返回超会管理链接
            UserLevelEnum level = userLevelManager.getUserLevel(uid);
            JSONObject vipAction = null;
            if (level == UserLevelEnum.superVIP || level == UserLevelEnum.tearcher) {
               vipAction = new JSONObject();
               vipAction.put("name", "超会管理");
               vipAction.put("jumpDetail",
                     jumpDetailV2Service.getByTypeCache("web",
                           acceptData.getPlatform().equalsIgnoreCase("android") ? 1 : 2,
                           Integer.parseInt(acceptData.getVersion())));
               JSONObject params = new JSONObject();
               params.put("url", userVipConfigService.getValueByKey("vip_manager_link"));
               vipAction.put("params", params);
            } else {
               // 查询是否可以提交会员申请,是的话返回资料填写页面
               List<GiveVIPApplyInfo> list = giveVIPApplyInfoService.listByStateAndTargetUid(uid,
                     GiveVIPApplyInfo.STATE_NO_INFO, 1, 20);
               if (list != null && list.size() > 0) {
                  String link = userVipConfigService.getValueByKey("apply_vip_upload_info_link");
                  if (!StringUtil.isNullOrEmpty(link)) {
                     vipAction = new JSONObject();
                     vipAction.put("name", "申请会员");
                     vipAction.put("jumpDetail",
                           jumpDetailV2Service.getByTypeCache("web",
                                 acceptData.getPlatform().equalsIgnoreCase("android") ? 1 : 2,
                                 Integer.parseInt(acceptData.getVersion())));
                     JSONObject params = new JSONObject();
                     params.put("url", link.replace("[ID]", list.get(0).getId()));
                     vipAction.put("params", params);
                  }
               }
            }
            if (vipAction != null)
               data.put("vipAction", vipAction);
         }
         data.put("user", JsonUtil.getConvertBigDecimalToStringBuilder(gsonBuilder).create().toJson(userInfo));
         out.print(JsonUtil.loadTrueResult(data));
@@ -2224,7 +2327,7 @@
         out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg()));
      } catch (Exception e) {
         out.print(JsonUtil.loadFalseResult("获取失败"));
         e.printStackTrace();
         LogHelper.errorDetailInfo(e);
      }
   }
@@ -2369,7 +2472,7 @@
            }
         }
         //修改邀请码
         // 修改邀请码
         if (!StringUtil.isNullOrEmpty(inviteCode)) {// 邀请码不为空
            inviteCode = inviteCode.trim();
            if (inviteCode.length() >= 4 && inviteCode.length() <= 12) {