From 207dc8655711cddac2653e18b51e58a88dba2084 Mon Sep 17 00:00:00 2001 From: yj <Administrator@192> Date: 星期五, 06 三月 2020 18:14:36 +0800 Subject: [PATCH] 发圈处理 --- fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserInfoController.java | 459 ++++++++++++++++++++++++++++++++++---------------------- 1 files changed, 279 insertions(+), 180 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 47215bd..c7a03b0 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,10 +40,12 @@ 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.pdd.PDDGoodsDetail; +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; @@ -54,21 +56,22 @@ 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.common.AdminUser; import com.yeshi.fanli.entity.common.Config; import com.yeshi.fanli.entity.goods.CollectionGoodsV2; import com.yeshi.fanli.entity.goods.CommonGoods; -import com.yeshi.fanli.entity.jd.JDGoods; 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; @@ -79,18 +82,20 @@ 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.ShamUserService; import com.yeshi.fanli.service.inter.user.SpreadUserImgService; @@ -98,11 +103,18 @@ 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.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; import com.yeshi.fanli.util.GsonUtil; import com.yeshi.fanli.util.HongBaoUtil; import com.yeshi.fanli.util.RedisManager; @@ -110,14 +122,14 @@ 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; import com.yeshi.fanli.util.factory.OrderItemFactory; -import com.yeshi.fanli.util.jd.JDApiUtil; -import com.yeshi.fanli.util.pinduoduo.PinDuoDuoApiUtil; import com.yeshi.fanli.util.taobao.TaoBaoUtil; import com.yeshi.fanli.util.taobao.TaoKeApiUtil; import com.yeshi.fanli.util.wx.WXLoginUtil; @@ -218,9 +230,32 @@ @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; + + private static final String EXTRACT_MIN_MONEY = ConfigKeyEnum.extractMoneyMin.getKey(); + private static final String EXTRACT_MAX_MONEY = ConfigKeyEnum.extractMoneyMAX.getKey(); /** * 鑾峰彇鐢ㄦ埛淇℃伅 @@ -262,6 +297,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()); @@ -290,7 +327,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) { @@ -330,7 +369,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()); @@ -385,7 +424,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; @@ -397,7 +440,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) { @@ -559,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; @@ -598,7 +641,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(); } } @@ -612,13 +657,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); @@ -644,7 +684,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("缁戝畾澶辫触锛岀敤鎴峰紓甯歌閲嶈瘯锛�")); @@ -665,7 +707,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 { // 缁戝畾娣樺疂 @@ -757,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 = ""; @@ -819,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 = ""; @@ -1081,7 +1123,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) { @@ -1102,11 +1144,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(), @@ -1177,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]; @@ -1196,9 +1240,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("鏈夌淮鏉冭鍗曞皻鏈墸娆�")); + out.print(JsonUtil.loadFalseResult("鏈夊敭鍚庤鍗曞皻鏈墸娆�")); } } @@ -1361,72 +1405,34 @@ } @RequestMapping("collectionGoods") - public void collectionGoods(AcceptData acceptData, long uid, long auctionId, int type, Integer goodsType, - PrintWriter out) { - if (goodsType == null) { - goodsType = Constant.SOURCE_TYPE_TAOBAO; - } - CollectionGoodsV2 find = collectionGoodsV2Service.findByUidAndAuctionId(uid, auctionId, goodsType); - if (type == 1) { - if (find != null) { - out.print(JsonUtil.loadFalseResult("")); - return; - } - - if (goodsType == Constant.SOURCE_TYPE_JD) { - JDGoods jdGoods = JDApiUtil.queryGoodsDetail(auctionId); - if (jdGoods == null) { - jdGoods = JDApiUtil.getGoodsDetail(auctionId); - } - - if (jdGoods == null) { - out.print(JsonUtil.loadFalseResult(1, "鍟嗗搧宸蹭笅鏋�")); - } else { - try { - collectionGoodsV2Service.addJDCollection(uid, jdGoods); - out.print(JsonUtil.loadTrueResult("鏀惰棌鎴愬姛")); - } catch (CollectionGoodsException e) { - out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg())); - } - } - } else if (goodsType == Constant.SOURCE_TYPE_PDD) { - PDDGoodsDetail pddGoods = PinDuoDuoApiUtil.getGoodsDetail(auctionId); - if (pddGoods == null) { - out.print(JsonUtil.loadFalseResult(1, "鍟嗗搧宸蹭笅鏋�")); + public void collectionGoods(AcceptData acceptData, long uid, long auctionId, int type, PrintWriter out) { + try { + CollectionGoodsV2 find = collectionGoodsV2Service.findByUidAndAuctionId(uid, auctionId, + Constant.SOURCE_TYPE_TAOBAO); + if (type == 1) { + if (find != null) { + out.print(JsonUtil.loadFalseResult("")); return; } - try { - collectionGoodsV2Service.addPDDCollection(uid, pddGoods); - out.print(JsonUtil.loadTrueResult("鏀惰棌鎴愬姛")); - } catch (CollectionGoodsException e) { - out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg())); - } - - } else { 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 { - collectionGoodsV2Service.cancelCollectionByAuctionId(uid, auctionId, goodsType); + 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())); } - } /** @@ -1703,18 +1709,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); @@ -1726,8 +1732,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(); @@ -1778,18 +1782,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); @@ -1799,8 +1803,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(); @@ -1839,7 +1841,7 @@ JSONObject resultData = new JSONObject(); - String helpLink = configService.get("team_help_url"); + String helpLink = configService.get(ConfigKeyEnum.teamHelpUrl.getKey()); if (helpLink == null) { helpLink = ""; } @@ -1851,24 +1853,21 @@ 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(); } - } /** @@ -1883,48 +1882,35 @@ */ @RequestMapping(value = "setextrainfo", method = RequestMethod.POST) public void setExtraInfo(AcceptData acceptData, long uid, long inviteId, String memoName, PrintWriter out) { - - try { - List<ThreeSale> listThreeSale = threeSaleSerivce.listbyIdAndBossId(inviteId, uid, null); - 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; - } - - 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); - - } else { - ThreeSaleExtraInfo extraInfo = list.get(0); - extraInfo.setNickname(memoName); - extraInfo.setUpdateTime(new Date()); - threeSaleExtraInfoSerivce.updateByPrimaryKey(extraInfo); - } - - out.print(JsonUtil.loadTrueResult("淇濆瓨鎴愬姛")); - - } catch (Exception e) { - out.print(JsonUtil.loadFalseResult("淇濆瓨澶辫触")); - e.printStackTrace(); + List<ThreeSale> listThreeSale = threeSaleSerivce.listbyIdAndBossId(inviteId, uid, null); + 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; + } + + ThreeSaleExtraInfo extraInfo = threeSaleExtraInfoSerivce.getbyBossIdAndWorkerId(uid, worker.getId()); + if (extraInfo == null) { + extraInfo = new ThreeSaleExtraInfo(); + 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); + } + out.print(JsonUtil.loadTrueResult("淇濆瓨鎴愬姛")); } /** @@ -2053,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(); @@ -2071,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(); @@ -2087,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 { @@ -2112,6 +2097,7 @@ userActiveLog.setVersionCode(acceptData.getVersion()); userActiveLog.setOsVersion(acceptData.getOsVersion()); userActiveLog.setDeviceType(acceptData.getDeviceType()); + userActiveLog.setDevice(acceptData.getDevice()); userActiveLogService.addUserActiveLog(userActiveLog); // 澶勭悊鐢ㄦ埛淇℃伅 @@ -2119,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 { @@ -2155,6 +2139,7 @@ } data.put("moduleState", mySettings); + boolean tailor = false; int welfareCenterNews = 0; String invitCode = null; UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid); @@ -2162,8 +2147,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(); } @@ -2176,21 +2164,78 @@ 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())) { + JSONObject inviteLevel = new JSONObject(); + UserInviteLevelEnum level = userInviteService.getUserInviteLevel(uid); + inviteLevel.put("level", level.name()); + inviteLevel.put("link", level.getLink()); + data.put("inviteLevel", inviteLevel); + } + 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 { @@ -2287,7 +2332,7 @@ } /** - * 鏇存崲鏄电О + * 鏇存崲鍩虹淇℃伅 * * @param acceptData * @param nickName @@ -2295,27 +2340,81 @@ * @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 (nickName.length() > 200) { - 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 (maskKeyService.examineContent(nickName)) { - 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); + } } - userInfoService.saveUserInfo(nickName, uid); + // 淇敼鎬у埆 + 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 + ""); + } + } + + 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) { -- Gitblit v1.8.0