From 28cf328a098334b51a3e9d2d56f983fb8c862211 Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期六, 23 五月 2020 09:54:38 +0800 Subject: [PATCH] 足迹、收藏订单兼容新需求 --- fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserInfoController.java | 691 ++++++++++++++++++++++++++++++++++++++------------------- 1 files changed, 459 insertions(+), 232 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 a91a218..c9ad810 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,20 +40,27 @@ 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; import com.yeshi.fanli.entity.bus.user.AccountMessage; +import com.yeshi.fanli.entity.bus.user.BindRemind; import com.yeshi.fanli.entity.bus.user.BindingAccount; 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; import com.yeshi.fanli.entity.bus.user.UserActiveLog; import com.yeshi.fanli.entity.bus.user.UserInfo; 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; @@ -61,46 +68,61 @@ 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.BindingAccountException; import com.yeshi.fanli.exception.goods.CollectionGoodsException; import com.yeshi.fanli.exception.taobao.TaoKeApiException; import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException; +import com.yeshi.fanli.exception.user.BindingAccountException; import com.yeshi.fanli.exception.user.UserCustomSettingsException; import com.yeshi.fanli.exception.user.UserInfoException; 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; import com.yeshi.fanli.service.inter.count.HongBaoV2CountService; import com.yeshi.fanli.service.inter.goods.CollectionGoodsV2Service; -import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService; -import com.yeshi.fanli.service.inter.hongbao.HongBaoV2Service; -import com.yeshi.fanli.service.inter.hongbao.ThreeSaleExtraInfoSerivce; -import com.yeshi.fanli.service.inter.hongbao.ThreeSaleSerivce; +import com.yeshi.fanli.service.inter.money.UserMoneyDetailService; +import com.yeshi.fanli.service.inter.money.extract.BindingAccountService; +import com.yeshi.fanli.service.inter.money.extract.ExtractRecordService; +import com.yeshi.fanli.service.inter.money.extract.ExtractService; import com.yeshi.fanli.service.inter.order.HongBaoOrderService; +import com.yeshi.fanli.service.inter.order.HongBaoV2Service; import com.yeshi.fanli.service.inter.order.LostOrderService; import com.yeshi.fanli.service.inter.order.OrderService; +import com.yeshi.fanli.service.inter.order.config.HongBaoManageService; +import com.yeshi.fanli.service.inter.redpack.RedPackBalanceService; +import com.yeshi.fanli.service.inter.redpack.RedPackForbidService; import com.yeshi.fanli.service.inter.tlj.UserTaoLiJinDetailService; import com.yeshi.fanli.service.inter.user.AccountMessageService; -import com.yeshi.fanli.service.inter.user.BindingAccountService; -import com.yeshi.fanli.service.inter.user.ExtractRecordService; -import com.yeshi.fanli.service.inter.user.ExtractService; +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; import com.yeshi.fanli.service.inter.user.UserActiveLogService; import com.yeshi.fanli.service.inter.user.UserCustomSettingsService; import com.yeshi.fanli.service.inter.user.UserInfoExtraService; +import com.yeshi.fanli.service.inter.user.UserInfoModifyRecordService; import com.yeshi.fanli.service.inter.user.UserInfoService; -import com.yeshi.fanli.service.inter.user.UserMoneyDetailService; +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; import com.yeshi.fanli.util.GsonUtil; import com.yeshi.fanli.util.HongBaoUtil; import com.yeshi.fanli.util.RedisManager; @@ -108,8 +130,10 @@ import com.yeshi.fanli.util.ThreadUtil; import com.yeshi.fanli.util.TimeUtil; import com.yeshi.fanli.util.Utils; +import com.yeshi.fanli.util.VersionUtil; import com.yeshi.fanli.util.account.UserUtil; import com.yeshi.fanli.util.annotation.RequestSerializableByKey; +import com.yeshi.fanli.util.annotation.UserActive; import com.yeshi.fanli.util.email.MailSenderUtil; import com.yeshi.fanli.util.factory.AccountDetailsFactory; import com.yeshi.fanli.util.factory.HongBaoFactory; @@ -117,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; @@ -207,17 +232,54 @@ @Resource private AccountMessageService accountMessageService; - + @Resource private MaskKeyService maskKeyService; - + @Resource private UserTaoLiJinDetailService userTaoLiJinDetailService; - - 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 UserInfoModifyRecordService userInfoModifyRecordService; + + @Resource + private BindRemindService bindRemindService; + + @Resource + private RedPackBalanceService redPackBalanceService; + + @Resource + private UserRankService userRankService; + + @Resource + private UserVIPInfoService userVIPInfoService; + + @Resource + private UserVipConfigService userVipConfigService; + + @Resource + private RedPackForbidService redPackForbidService; + + @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(); /** * 鑾峰彇鐢ㄦ埛淇℃伅 @@ -259,6 +321,8 @@ userActiveLog.setVersionCode(acceptData.getVersion()); userActiveLog.setOsVersion(acceptData.getOsVersion()); userActiveLog.setDeviceType(acceptData.getDeviceType()); + userActiveLog.setDevice(acceptData.getDevice()); + userActiveLogService.addUserActiveLog(userActiveLog); outUserInfo(acceptData, out, remotIP, find, acceptData.getDevice()); @@ -287,7 +351,9 @@ int loginType = form.getLoginType(); // WeiXinUserParam wxParam = null; // 濡傛灉鏄井淇$櫥闄嗭紝閭i渶瑕佸厛鑾峰彇鍒板井淇$殑unionid - WeiXinUser weiXinUser = WXLoginUtil.getWeiXinUserWithSavePortrait(code); + WXAccountInfoDTO account = Constant.getWXAccount(acceptData.getPlatform(), acceptData.getVersion()); + WeiXinUser weiXinUser = WXLoginUtil.getWeiXinUserWithSavePortrait(code, account.getAppId(), + account.getAppSecret()); if (loginType == Constant.WEIXIN && StringUtil.isNullOrEmpty(form.getWxUnionId())) { // wxParam = WXinUtil.getWxParam(code); if (weiXinUser == null) { @@ -327,7 +393,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()); @@ -382,7 +448,11 @@ * StringUtil.isNullOrEmpty(form * .getWxOpenId()) */) { - WeiXinUser xinUser = WXLoginUtil.getWeiXinUserWithSavePortrait(code); + + WXAccountInfoDTO account = Constant.getWXAccount(acceptData.getPlatform(), acceptData.getVersion()); + + WeiXinUser xinUser = WXLoginUtil.getWeiXinUserWithSavePortrait(code, account.getAppId(), + account.getAppSecret()); if (xinUser == null) { out.print(JsonUtil.loadFalseResult("鐧诲綍澶辫触")); return; @@ -394,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) { @@ -556,7 +626,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; @@ -595,7 +665,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(); } } @@ -609,13 +681,8 @@ final UserInfo uuser = user; ThreadUtil.run(new Runnable() { public void run() { - - try { - // 鑾峰彇閭�璇风爜锛氳嫢鏃犻個璇风爜涓斿瓨鍦ㄦ湁鏁堢殑闃熷憳鍏崇郴 鍒欒嚜鍔ㄧ敓鎴愰個璇风爜 - userInfoExtraService.getUserInviteCode(uuser.getId()); - } catch (UserInfoExtraException e) { - e.printStackTrace(); - } + // 鑾峰彇閭�璇风爜锛氳嫢鏃犻個璇风爜涓斿瓨鍦ㄦ湁鏁堢殑闃熷憳鍏崇郴 鍒欒嚜鍔ㄧ敓鎴愰個璇风爜 + userInfoExtraService.getInviteCodeByUid(uuser.getId()); LogHelper.userInfo(GsonUtil.toJsonExpose(uuser)); uuser.setLastLoginIp(remotIP); @@ -641,7 +708,9 @@ } int loginType = form.getLoginType(); if (loginType == Constant.WEIXIN) { - WeiXinUser weiXinUser = WXLoginUtil.getWeiXinUserWithSavePortrait(code); + WXAccountInfoDTO account = Constant.getWXAccount(acceptData.getPlatform(), acceptData.getVersion()); + WeiXinUser weiXinUser = WXLoginUtil.getWeiXinUserWithSavePortrait(code, account.getAppId(), + account.getAppSecret()); if (weiXinUser == null) { out.print(JsonUtil.loadFalseResult("缁戝畾澶辫触锛岀敤鎴峰紓甯歌閲嶈瘯锛�")); @@ -662,7 +731,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 { // 缁戝畾娣樺疂 @@ -754,8 +823,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 = ""; @@ -770,8 +839,8 @@ data.put("canExtract", canExtract); data.put("extractErrorMsg", errorMsg); - data.put("minMoney", minMoney);//鍗曠瑪鏈�浣� - data.put("maxMoney", maxMoney);//鍗曠瑪鏈�楂� + data.put("minMoney", minMoney);// 鍗曠瑪鏈�浣� + data.put("maxMoney", maxMoney);// 鍗曠瑪鏈�楂� data.put("maxDayCount", maxDayCount); data.put("bindingAccountList", gson.toJson(filterBindingAccount(bindingAccountList))); @@ -816,8 +885,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 = ""; @@ -1078,7 +1147,7 @@ * @param type * @param out */ - @RequestSerializableByKey(key="uid") + @RequestSerializableByKey(key = "#uid") @RequestMapping(value = "extractmoneynew", method = RequestMethod.POST) public void extractMoneyNew(AcceptData acceptData, long uid, BigDecimal money, String vcode, HttpServletRequest request, int type, PrintWriter out) { @@ -1099,11 +1168,13 @@ return; } - // 鍒ゆ柇鎵嬫満楠岃瘉鐮佺殑姝g‘鎬� - 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) { + // 鍒ゆ柇鎵嬫満楠岃瘉鐮佺殑姝g‘鎬� + 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(), @@ -1174,7 +1245,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]; @@ -1193,9 +1264,9 @@ } else if (etype == 3) { out.print(JsonUtil.loadFalseResult("鎻愮幇閲戦澶т簬鎴戠殑绾㈠寘")); } else if (etype == 111) { - out.print(JsonUtil.loadFalseResult("鏇存崲浜嗘墜鏈哄彿鍚�7澶╁唴涓嶅厑璁告彁鐜�")); + out.print(JsonUtil.loadFalseResult("淇敼鎵嬫満鍙峰悗锛�7澶╁唴鏃犳硶鎻愮幇")); } else if (etype == 110) { - out.print(JsonUtil.loadFalseResult(Constant.znxConfig.getExtractWrongMsg())); + out.print(JsonUtil.loadFalseResult("鏈夊敭鍚庤鍗曞皻鏈墸娆�")); } } @@ -1343,7 +1414,7 @@ // count>0 鏈夋秷鎭� int count = accountMessageService.getCanOpenCount(uid); out.print(JsonUtil.loadTrueResult(count)); - + ThreadUtil.run(new Runnable() { @Override public void run() { @@ -1359,35 +1430,33 @@ @RequestMapping("collectionGoods") public void collectionGoods(AcceptData acceptData, long uid, long auctionId, int type, PrintWriter out) { - CollectionGoodsV2 find = collectionGoodsV2Service.findByUidAndAuctionId(uid, auctionId); - if (type == 1) { - if (find != null) { - out.print(JsonUtil.loadFalseResult("")); - return; - } - try { - TaoBaoGoodsBrief taoBaoGoodsBrief = redisManager.getTaoBaoGoodsBrief(auctionId); - collectionGoodsV2Service.addCollection(uid, taoBaoGoodsBrief); - out.print(JsonUtil.loadTrueResult("鏀惰棌鎴愬姛")); - } catch (TaobaoGoodsDownException e) { - out.print(JsonUtil.loadFalseResult(1, "鍟嗗搧宸蹭笅鏋�")); - } catch (CollectionGoodsException e1) { - out.print(JsonUtil.loadFalseResult(e1.getCode(), e1.getMsg())); - } - } else { - if (find == null) { - out.print(JsonUtil.loadTrueResult("鍙栨秷鏀惰棌鎴愬姛")); - return; - } else { + try { + CollectionGoodsV2 find = collectionGoodsV2Service.findByUidAndAuctionId(uid, auctionId, + Constant.SOURCE_TYPE_TAOBAO); + if (type == 1) { + if (find != null) { + out.print(JsonUtil.loadFalseResult("")); + return; + } try { - collectionGoodsV2Service.cancelCollectionByAuctionId(uid, auctionId); + TaoBaoGoodsBrief taoBaoGoodsBrief = redisManager.getTaoBaoGoodsBrief(auctionId); + collectionGoodsV2Service.addCollection(uid, taoBaoGoodsBrief); + out.print(JsonUtil.loadTrueResult("鏀惰棌鎴愬姛")); + } catch (TaobaoGoodsDownException e) { + out.print(JsonUtil.loadFalseResult(1, "鍟嗗搧宸蹭笅鏋�")); + } + } else { + if (find == null) { out.print(JsonUtil.loadTrueResult("鍙栨秷鏀惰棌鎴愬姛")); - } catch (CollectionGoodsException e) { - out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg())); + return; + } else { + collectionGoodsV2Service.cancelCollectionByAuctionId(uid, auctionId, Constant.SOURCE_TYPE_TAOBAO); + out.print(JsonUtil.loadTrueResult("鍙栨秷鏀惰棌鎴愬姛")); } } + } catch (CollectionGoodsException e1) { + out.print(JsonUtil.loadFalseResult(e1.getCode(), e1.getMsg())); } - } /** @@ -1400,30 +1469,40 @@ * @param out */ @RequestMapping("collectionGoodsJp") - public void collectionGoodsJp(String callback, AcceptData acceptData, Long uid, Long auctionId, PrintWriter out) { + public void collectionGoodsJp(String callback, AcceptData acceptData, Long uid, Long auctionId, Integer goodsType, + PrintWriter out) { if (uid == null || auctionId == null) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("")); return; } - CollectionGoodsV2 find = collectionGoodsV2Service.findByUidAndAuctionId(uid, auctionId); + if (goodsType == null) { + goodsType = Constant.SOURCE_TYPE_TAOBAO; + } + + CollectionGoodsV2 find = collectionGoodsV2Service.findByUidAndAuctionId(uid, auctionId, goodsType); if (find == null) { - // 娣诲姞鏀惰棌 - try { - TaoBaoGoodsBrief taoBaoGoodsBrief = redisManager.getTaoBaoGoodsBrief(auctionId); - collectionGoodsV2Service.addCollection(uid, taoBaoGoodsBrief); - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(1)); - } catch (TaobaoGoodsDownException e) { - JsonUtil.printMode(out, callback, (JsonUtil.loadFalseResult(1, "鍟嗗搧宸蹭笅鏋�"))); - } catch (CollectionGoodsException e1) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e1.getCode(), e1.getMsg())); + if (goodsType == Constant.SOURCE_TYPE_JD) { + + } else if (goodsType == Constant.SOURCE_TYPE_PDD) { + + } else { + try { + TaoBaoGoodsBrief taoBaoGoodsBrief = redisManager.getTaoBaoGoodsBrief(auctionId); + collectionGoodsV2Service.addCollection(uid, taoBaoGoodsBrief); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(1)); + } catch (TaobaoGoodsDownException e) { + JsonUtil.printMode(out, callback, (JsonUtil.loadFalseResult(1, "鍟嗗搧宸蹭笅鏋�"))); + } catch (CollectionGoodsException e1) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e1.getCode(), e1.getMsg())); + } } } else { // 鍙栨秷鏀惰棌 try { - collectionGoodsV2Service.cancelCollectionByAuctionId(uid, auctionId); + collectionGoodsV2Service.cancelCollectionByAuctionId(uid, auctionId, goodsType); JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult("鍙栨秷鏀惰棌鎴愬姛")); } catch (CollectionGoodsException e) { JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getCode(), e.getMsg())); @@ -1436,11 +1515,11 @@ public void collectionGoodsList(AcceptData acceptData, long uid, int page, PrintWriter out) { List<CollectionGoodsV2> collectionGoodsList = collectionGoodsV2Service.getCollectionGoodsList(uid, page + 1, - Constant.PAGE_SIZE); + Constant.PAGE_SIZE, Constant.SOURCE_TYPE_TAOBAO, true); List<TaoBaoGoodsBriefExtra> list = new ArrayList<TaoBaoGoodsBriefExtra>(); - long count = collectionGoodsV2Service.getCollectionGoodsCount(uid); + long count = collectionGoodsV2Service.getCollectionGoodsCount(uid, Constant.SOURCE_TYPE_TAOBAO, true); JSONObject data = new JSONObject(); List<TaoBaoGoodsBrief> listTaoKeGoods = new ArrayList<TaoBaoGoodsBrief>(); @@ -1517,14 +1596,16 @@ } @RequestMapping("deleteCollectionGoods") - public void deleteCollectionGoods(AcceptData acceptData, String ids, Integer type, long uid, PrintWriter out) { + public void deleteCollectionGoods(AcceptData acceptData, String ids, Integer type, long uid, Integer goodsType, + PrintWriter out) { if (type != null && type == 1) { clearConllectionGoods(acceptData, uid, out); } else { if (!StringUtil.isNullOrEmpty(ids)) { Arrays.asList(ids.split(",")).parallelStream().forEach(auctionIdStr -> { try { - collectionGoodsV2Service.cancelCollectionByAuctionId(uid, Long.parseLong(auctionIdStr)); + collectionGoodsV2Service.cancelCollectionByAuctionId(uid, Long.parseLong(auctionIdStr), + goodsType); } catch (Exception e) { e.printStackTrace(); } @@ -1622,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); @@ -1652,31 +1731,29 @@ bossData.put("inviteTime", "閭�璇锋椂闂�: " + sdf.format(inviteTime)); } - String helpLink = configService.get("team_help_url"); + String helpLink = configService.get(ConfigKeyEnum.teamHelpUrl.getKey()); if (helpLink == null) { helpLink = ""; } boolean hasCode = false; - String inviteCode = userInfoExtraService.getUserInviteCode(uid); + String inviteCode = userInfoExtraService.getInviteCodeByUid(uid); if (inviteCode != null && inviteCode.trim().length() > 0) { 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)); - } catch (UserInfoExtraException e) { - out.print(JsonUtil.loadFalseResult(e.getMsg())); } catch (Exception e) { out.print(JsonUtil.loadFalseResult("缁熻澶辫触")); e.printStackTrace(); @@ -1699,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); @@ -1727,18 +1804,18 @@ bossData.put("inviteTime", "閭�璇锋椂闂�: " + sdf.format(inviteTime)); } - String helpLink = configService.get("team_help_url"); + String helpLink = configService.get(ConfigKeyEnum.teamHelpUrl.getKey()); if (helpLink == null) { helpLink = ""; } boolean hasCode = false; - String inviteCode = userInfoExtraService.getUserInviteCode(uid); + String inviteCode = userInfoExtraService.getInviteCodeByUid(uid); if (inviteCode != null && inviteCode.trim().length() > 0) { hasCode = true; // 宸叉湁閭�璇风爜 } else { // 閭�璇锋縺娲婚摼鎺� - resultData.put("activationlink", configService.get("invite_activation_url")); + resultData.put("activationlink", configService.get(ConfigKeyEnum.inviteActivationUrl.getKey())); } resultData.put("hasCode", hasCode); @@ -1748,8 +1825,6 @@ resultData.put("boss", bossData); } out.print(JsonUtil.loadTrueResult(resultData)); - } catch (UserInfoExtraException e) { - out.print(JsonUtil.loadFalseResult(e.getMsg())); } catch (Exception e) { out.print(JsonUtil.loadFalseResult("缁熻澶辫触")); e.printStackTrace(); @@ -1766,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) { @@ -1788,36 +1861,33 @@ 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; - String inviteCode = userInfoExtraService.getUserInviteCode(uid); + String inviteCode = userInfoExtraService.getInviteCodeByUid(uid); if (inviteCode != null && inviteCode.trim().length() > 0) { hasCode = true; // 宸叉湁閭�璇风爜 } else { // 閭�璇锋縺娲婚摼鎺� - resultData.put("activationlink", configService.get("invite_activation_url")); + resultData.put("activationlink", configService.get(ConfigKeyEnum.inviteActivationUrl.getKey())); } resultData.put("hasCode", hasCode); out.print(JsonUtil.loadTrueResult(resultData)); - } catch (UserInfoExtraException e) { - out.print(JsonUtil.loadFalseResult(e.getMsg())); } catch (Exception e) { out.print(JsonUtil.loadFalseResult("缁熻澶辫触")); e.printStackTrace(); } - } /** @@ -1832,84 +1902,51 @@ */ @RequestMapping(value = "setextrainfo", method = RequestMethod.POST) public void setExtraInfo(AcceptData acceptData, long uid, long inviteId, String memoName, PrintWriter out) { + ThreeSale threeSale = threeSaleSerivce.selectByPrimaryKey(inviteId); + if (threeSale == null) { + out.print(JsonUtil.loadFalseResult("璇ヨ褰曚笉瀛樺湪")); + return; + } - try { - List<ThreeSale> listThreeSale = threeSaleSerivce.listbyIdAndBossId(inviteId, uid, null); - if (listThreeSale == null || listThreeSale.size() == 0) { - out.print(JsonUtil.loadFalseResult("璇ヨ褰曚笉瀛樺湪")); - return; - } + UserInfo worker = threeSale.getWorker(); + if (worker == null) { + out.print(JsonUtil.loadFalseResult("璇ヨ褰曚笉瀛樺湪")); + return; + } - UserInfo worker = listThreeSale.get(0).getWorker(); - if (worker == null) { - out.print(JsonUtil.loadFalseResult("璇ヨ褰曚笉瀛樺湪")); - return; - } + int type = 1; + if (threeSale.getBoss().getId() != uid) { + type = 2; + } - List<ThreeSaleExtraInfo> list = threeSaleExtraInfoSerivce.listbyBossIdAndWorkerId(uid, worker.getId()); - if (list == null || list.size() == 0) { - - ThreeSaleExtraInfo extraInfo = new ThreeSaleExtraInfo(); - extraInfo.setWorker(worker); - extraInfo.setNickname(memoName); - extraInfo.setCreateTime(new Date()); - extraInfo.setUpdateTime(new Date()); - - UserInfo boss = new UserInfo(uid); - extraInfo.setBoss(boss); - - threeSaleExtraInfoSerivce.insert(extraInfo); - + 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 { - ThreeSaleExtraInfo extraInfo = list.get(0); - extraInfo.setNickname(memoName); - extraInfo.setUpdateTime(new Date()); - threeSaleExtraInfoSerivce.updateByPrimaryKey(extraInfo); + extraInfo.setType(2); // 闂存帴 } - out.print(JsonUtil.loadTrueResult("淇濆瓨鎴愬姛")); - - } catch (Exception e) { - out.print(JsonUtil.loadFalseResult("淇濆瓨澶辫触")); - e.printStackTrace(); + extraInfo.setWorker(worker); + extraInfo.setNickname(memoName); + extraInfo.setCreateTime(new Date()); + extraInfo.setUpdateTime(new Date()); + extraInfo.setBoss(new UserInfo(uid)); + threeSaleExtraInfoSerivce.insertSelective(extraInfo); + } else { + ThreeSaleExtraInfo updateInfo = new ThreeSaleExtraInfo(); + updateInfo.setId(extraInfo.getId()); + updateInfo.setNickname(memoName); + updateInfo.setUpdateTime(new Date()); + threeSaleExtraInfoSerivce.updateByPrimaryKeySelective(updateInfo); } - } + // 鏇存柊绮変笣璁板綍淇℃伅 + teamFansInfoService.updateMemoName(worker.getId(), type, memoName); - /** - * 鍒犻櫎闃熷憳鍏崇郴 - * - * @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(); - } + out.print(JsonUtil.loadTrueResult("淇濆瓨鎴愬姛")); } /** @@ -2002,17 +2039,17 @@ try { - String inviteCode = userInfoExtraService.getUserInviteCode(uid); + String inviteCode = userInfoExtraService.getInviteCodeByUid(uid); JSONObject inviteData = new JSONObject(); 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(); @@ -2020,8 +2057,6 @@ out.print(JsonUtil.loadTrueResult(data)); - } catch (UserInfoExtraException e) { - out.print(JsonUtil.loadFalseResult(e.getMsg())); } catch (Exception e) { out.print(JsonUtil.loadFalseResult("鑾峰彇澶辫触")); e.printStackTrace(); @@ -2036,6 +2071,7 @@ * @param requst * @param out */ + @UserActive(uid = "#uid") @RequestMapping(value = "getuserinfoNew", method = RequestMethod.POST) public void getuserinfoNew(AcceptData acceptData, Long uid, HttpServletRequest requst, PrintWriter out) { try { @@ -2061,6 +2097,7 @@ userActiveLog.setVersionCode(acceptData.getVersion()); userActiveLog.setOsVersion(acceptData.getOsVersion()); userActiveLog.setDeviceType(acceptData.getDeviceType()); + userActiveLog.setDevice(acceptData.getDevice()); userActiveLogService.addUserActiveLog(userActiveLog); // 澶勭悊鐢ㄦ埛淇℃伅 @@ -2068,8 +2105,6 @@ GsonBuilder gsonBuilder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation(); JSONObject data = new JSONObject(); - data.put("user", JsonUtil.getConvertBigDecimalToStringBuilder(gsonBuilder).create().toJson(userInfo)); - // 鐣岄潰鐘舵�� UserSettingsVO mySettings = null; try { @@ -2094,19 +2129,21 @@ if (mySettings.getNoInvitationBonus() == null) { mySettings.setNoInvitationBonus(0); } - + + if (mySettings.getNoDisplayPhoneNum() == null) { + mySettings.setNoDisplayPhoneNum(0); + } + if (mySettings.getOpenSpreadHongBao() == null) { - if(userTaoLiJinDetailService.countDetail(uid) > 0) { + if (userTaoLiJinDetailService.countDetail(uid) > 0) { mySettings.setOpenSpreadHongBao(1); } else { mySettings.setOpenSpreadHongBao(0); } } data.put("moduleState", mySettings); - - - + boolean tailor = false; int welfareCenterNews = 0; String invitCode = null; UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid); @@ -2114,8 +2151,11 @@ if (userInfoExtra.getCouponNews() != null) { welfareCenterNews = userInfoExtra.getCouponNews(); } - - if (userInfoExtra.getInviteCode() != null && userInfoExtra.getInviteCode().trim().length() > 0) { + // vip閭�璇风爜浼樺厛 + if (!StringUtil.isNullOrEmpty(userInfoExtra.getInviteCodeVip())) { + invitCode = userInfoExtra.getInviteCodeVip(); + } else if (!StringUtil.isNullOrEmpty(userInfoExtra.getInviteCode())) { + tailor = true; invitCode = userInfoExtra.getInviteCode(); } @@ -2128,21 +2168,151 @@ userInfo.setRankNamePicture(null); userInfo.setRankIcon(null); } + + // 1.6.5 涔嬪悗杩斿洖鎬у埆銆佸井淇″彿 + if (VersionUtil.greaterThan_1_6_5(acceptData.getPlatform(), acceptData.getVersion())) { + if (userInfoExtra.getSex() != null) + userInfo.setSex(userInfoExtra.getSex()); + + 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("娣诲姞寰俊鍙峰悗锛屼綘鐨勯個璇蜂汉鍜岀洿鎺ョ矇涓濆彲浠ラ�氳繃寰俊涓庝綘寤虹珛鑱旂郴銆�"); + + // 鏌ヨ鏄惁涓篤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); } + data.put("user", JsonUtil.getConvertBigDecimalToStringBuilder(gsonBuilder).create().toJson(userInfo)); data.put("invitCode", invitCode); // 閭�璇风爜 + if (!StringUtil.isNullOrEmpty(userInfoExtra.getInviteCodeVip())) + data.put("invitCodeUpdated", true);// 閭�璇风爜鏄惁宸茬粡淇敼杩� + else + data.put("invitCodeUpdated", false); data.put("welfareCenterNews", welfareCenterNews);// 绂忓埄涓績娑堟伅 + data.put("vipLink", userVipConfigService.getValueByKey("vip_link"));// 瓒呯骇浼氬憳鍗囩骇閾炬帴 + + // 2.0.1涔嬪悗缁戝畾鎵嬫満鍙� + if (VersionUtil.greaterThan_2_0_1(acceptData.getPlatform(), acceptData.getVersion())) { + boolean bindPhone = false; + if (StringUtil.isNullOrEmpty(userInfo.getPhone())) + bindPhone = bindRemindService.bindRemind(uid, BindRemind.TYPE_PHONE); + data.put("bindPhone", bindPhone); + } + + 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); + } + } + + 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; ThreadUtil.run(new Runnable() { public void run() { - try { - // 鑾峰彇閭�璇风爜锛氳嫢鏃犻個璇风爜涓斿瓨鍦ㄦ湁鏁堢殑闃熷憳鍏崇郴 鍒欒嚜鍔ㄧ敓鎴愰個璇风爜 - userInfoExtraService.getUserInviteCode(uuser.getId()); - } catch (UserInfoExtraException e) { - e.printStackTrace(); - } + // 鑾峰彇閭�璇风爜锛氳嫢鏃犻個璇风爜涓斿瓨鍦ㄦ湁鏁堢殑闃熷憳鍏崇郴 鍒欒嚜鍔ㄧ敓鎴愰個璇风爜 + userInfoExtraService.getInviteCodeByUid(uuser.getId()); // 鏇存柊鐢ㄦ埛闄勫姞淇℃伅锛岃�佺敤鎴蜂笉瀛樺湪鐨勯渶瑕佹坊鍔� try { @@ -2157,7 +2327,7 @@ out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg())); } catch (Exception e) { out.print(JsonUtil.loadFalseResult("鑾峰彇澶辫触")); - e.printStackTrace(); + LogHelper.errorDetailInfo(e); } } @@ -2187,9 +2357,9 @@ } } - /** * 鐢ㄦ埛鏇存崲澶村儚 + * * @param acceptData * @param fileList * @param uid @@ -2197,22 +2367,23 @@ * @param out */ @RequestMapping(value = "uploadPortrait") - public void uploadPortrait(AcceptData acceptData, MultipartFile file, Long uid, HttpServletRequest request, PrintWriter out) { + public void uploadPortrait(AcceptData acceptData, MultipartFile file, Long uid, HttpServletRequest request, + PrintWriter out) { try { if (uid == null) { out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�")); return; } - + if (file == null) { out.print(JsonUtil.loadFalseResult("涓婁紶鏂囦欢涓嶈兘涓虹┖")); return; } - + userInfoService.uploadPortrait(file, uid); - + out.print(JsonUtil.loadTrueResult("淇濆瓨鎴愬姛")); - + } catch (UserInfoException e) { out.print(JsonUtil.loadFalseResult(e.getMsg())); try { @@ -2236,37 +2407,93 @@ } } } - + /** - * 鏇存崲鏄电О + * 鏇存崲鍩虹淇℃伅 + * * @param acceptData * @param nickName * @param uid * @param out */ @RequestMapping(value = "saveInfo") - public void saveInfo(AcceptData acceptData, String nickName, Long uid, PrintWriter out) { + public void saveInfo(AcceptData acceptData, String nickName, String weiXin, Integer sex, Long uid, + String inviteCode, MultipartFile qrCodeFile, HttpServletRequest request, PrintWriter out) { try { if (uid == null) { out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�")); return; } - if (StringUtil.isNullOrEmpty(nickName)) { - out.print(JsonUtil.loadFalseResult("鏄电О涓嶈兘涓虹┖")); - return; + + // 淇敼鏄电О + if (!StringUtil.isNullOrEmpty(nickName)) { + if (nickName.length() > 200) { + out.print(JsonUtil.loadFalseResult("鏄电О杩囬暱")); + return; + } + + if (maskKeyService.examineContent(nickName)) { + out.print(JsonUtil.loadFalseResult("涓嶈兘鍖呭惈鏁忔劅璇嶆眹")); + return; + } + userInfoService.saveUserInfo(nickName, uid); + + userInfoModifyRecordService.addModifyRecord(uid, ModifyTypeEnum.nickName, nickName); } - if (nickName.length() > 200) { - out.print(JsonUtil.loadFalseResult("鏄电О杩囬暱")); - return; + + // 淇敼寰俊鍙� + if (!StringUtil.isNullOrEmpty(weiXin)) { + if (weiXin.length() > 32) { + out.print(JsonUtil.loadFalseResult("寰俊鍙疯繃闀�")); + return; + } + + UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid); + if (userInfoExtra != null) { + UserInfoExtra extra = new UserInfoExtra(); + extra.setId(userInfoExtra.getId()); + extra.setWeiXin(weiXin); + userInfoExtraService.saveUserInfoExtra(extra); + + userInfoModifyRecordService.addModifyRecord(uid, ModifyTypeEnum.setWeiXinNum, weiXin); + } } - - if(maskKeyService.examineContent(nickName)) { - out.print(JsonUtil.loadFalseResult("涓嶈兘鍖呭惈鏁忔劅璇嶆眹")); - return; + + // 淇敼鎬у埆 + if (sex != null && sex > 0 && sex < 3) { + UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid); + if (userInfoExtra != null) { + UserInfoExtra extra = new UserInfoExtra(); + extra.setId(userInfoExtra.getId()); + extra.setSex(sex); + userInfoExtraService.saveUserInfoExtra(extra); + + userInfoModifyRecordService.addModifyRecord(uid, ModifyTypeEnum.gender, sex + ""); + } } - - userInfoService.saveUserInfo(nickName, uid); - + + // 淇敼閭�璇风爜 + if (!StringUtil.isNullOrEmpty(inviteCode)) {// 閭�璇风爜涓嶄负绌� + inviteCode = inviteCode.trim(); + if (inviteCode.length() >= 4 && inviteCode.length() <= 12) { + try { + userInfoExtraService.updateInviteCodeVip(inviteCode, uid); + out.print(JsonUtil.loadTrueResult("淇濆瓨鎴愬姛")); + return; + } catch (UserInfoExtraException e) { + out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMessage())); + } + } else { + out.print(JsonUtil.loadFalseResult(1, "閭�璇风爜蹇呴』涓�4鍒�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