From 98b1a0affd69bbe63223c21fdd2c404e8bedfccb Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 20 五月 2020 17:25:08 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/div' into 2.1.2 --- fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserInfoController.java | 235 ++++++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 161 insertions(+), 74 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserInfoController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserInfoController.java index df83082..8535fd5 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserInfoController.java +++ b/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; @@ -49,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; @@ -57,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; @@ -76,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; @@ -96,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; @@ -106,10 +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; @@ -131,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; @@ -242,14 +253,32 @@ @Resource private UserVIPInfoService userVIPInfoService; - + @Resource private UserVipConfigService userVipConfigService; - + @Resource private RedPackForbidService redPackForbidService; - private static final String EXTRACT_MIN_MONEY = ConfigKeyEnum.extractMoneyMin.getKey(); + @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(); /** @@ -435,7 +464,7 @@ form.setWxName(xinUser.getNickname()); String wxHeadImg = COSManager.getInstance() .uploadFile(HttpUtil.getAsInputStream(xinUser.getHeadimgurl()), - Constant.WXHEADURL + UUID.randomUUID().toString()) + FilePathEnum.userPortrait + UUID.randomUUID().toString()) .getUrl(); form.setWxPic(wxHeadImg); } else if (formLoginType == Constant.TAOBAO) { @@ -1139,7 +1168,6 @@ return; } - if (!Constant.IS_TEST) { // 鍒ゆ柇鎵嬫満楠岃瘉鐮佺殑姝g‘鎬� String oldCode = redisManager.getSMSVCode(user.getPhone(), SMSHistory.TYPE_LOGIN); @@ -1675,19 +1703,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); @@ -1722,9 +1748,9 @@ 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)); @@ -1750,17 +1776,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); @@ -1815,11 +1841,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) { @@ -1843,9 +1867,9 @@ } 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; @@ -1878,21 +1902,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,43 +1942,11 @@ updateInfo.setUpdateTime(new Date()); threeSaleExtraInfoSerivce.updateByPrimaryKeySelective(updateInfo); } + + // 鏇存柊绮変笣璁板綍淇℃伅 + teamFansInfoService.updateMemoName(worker.getId(), type, memoName); + out.print(JsonUtil.loadTrueResult("淇濆瓨鎴愬姛")); - } - - /** - * 鍒犻櫎闃熷憳鍏崇郴 - * - * @param acceptData - * @param uid - * @param inviteId - * 閭�璇穒d - * @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(); - } } /** @@ -2126,6 +2130,10 @@ mySettings.setNoInvitationBonus(0); } + if (mySettings.getNoDisplayPhoneNum() == null) { + mySettings.setNoDisplayPhoneNum(0); + } + if (mySettings.getOpenSpreadHongBao() == null) { if (userTaoLiJinDetailService.countDetail(uid) > 0) { mySettings.setOpenSpreadHongBao(1); @@ -2150,7 +2158,7 @@ tailor = true; invitCode = userInfoExtra.getInviteCode(); } - + if (userInfoExtra.getUserRank() != null) { String picture = userInfoExtra.getUserRank().getPicture(); String icon = userInfoExtra.getUserRank().getIcon(); @@ -2169,13 +2177,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("娣诲姞寰俊鍙峰悗锛屼綘鐨勯個璇蜂汉鍜岀洿鎺ョ矇涓濆彲浠ラ�氳繃寰俊涓庝綘寤虹珛鑱旂郴銆�"); @@ -2183,7 +2191,7 @@ // 鏌ヨ鏄惁涓篤IP if (VersionUtil.greaterThan_2_0_5(acceptData.getPlatform(), acceptData.getVersion())) { userInfo.setVip(userVIPInfoService.isVIP(uid)); - + boolean verifyForbid = redPackForbidService.verifyForbid(uid); data.put("redPackLock", verifyForbid); } @@ -2204,8 +2212,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 = ""; @@ -2216,8 +2224,88 @@ data.put("bossName", bossName); } } + + if (VersionUtil.greaterThan_2_0_7(acceptData.getPlatform(), acceptData.getVersion())) { + UserInviteLevelEnum level = null; + // 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; + String managerLink = userVipConfigService.getValueByKey("vip_manager_link"); + if ((level == UserLevelEnum.superVIP || level == UserLevelEnum.tearcher) + && !StringUtil.isNullOrEmpty(managerLink)) { + 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)); final UserInfo uuser = userInfo; @@ -2239,7 +2327,7 @@ out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg())); } catch (Exception e) { out.print(JsonUtil.loadFalseResult("鑾峰彇澶辫触")); - e.printStackTrace(); + LogHelper.errorDetailInfo(e); } } @@ -2384,6 +2472,7 @@ } } + // 淇敼閭�璇风爜 if (!StringUtil.isNullOrEmpty(inviteCode)) {// 閭�璇风爜涓嶄负绌� inviteCode = inviteCode.trim(); if (inviteCode.length() >= 4 && inviteCode.length() <= 12) { @@ -2399,14 +2488,12 @@ return; } } - + // 浜岀淮鐮� if (qrCodeFile != null) { userInfoExtraService.uploadERCode(qrCodeFile, uid); } - - - + out.print(JsonUtil.loadTrueResult("淇濆瓨鎴愬姛")); } catch (UserInfoException e) { out.print(JsonUtil.loadFalseResult(e.getMsg())); -- Gitblit v1.8.0