From 1e4e20573dfc917e7b43068da35ee532a192aacd Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期五, 03 一月 2020 15:09:14 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div --- fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserInfoController.java | 182 +++++++++++++++++++++++++++++++++----------- 1 files changed, 135 insertions(+), 47 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 202003c..a9e7a3d 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,9 +40,11 @@ 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.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; @@ -53,8 +55,8 @@ 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.WeiXinUser; 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; @@ -78,18 +80,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; @@ -99,10 +103,14 @@ 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.vip.UserVIPInfoService; 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; @@ -221,6 +229,21 @@ @Resource private UserInfoModifyRecordService userInfoModifyRecordService; + @Resource + private BindRemindService bindRemindService; + + @Resource + private RedPackBalanceService redPackBalanceService; + + @Resource + private UserRankService userRankService; + + @Resource + private UserVIPInfoService userVIPInfoService; + + @Resource + private RedPackForbidService redPackForbidService; + private static final String PASSWORD_MAX_ERROR = "password_max_error"; private static final String EXTRACT_MIN_MONEY = "extract_min_money"; private static final String EXTRACT_MAX_MONEY = "extract_max_money"; @@ -265,6 +288,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()); @@ -293,7 +318,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) { @@ -333,7 +360,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()); @@ -388,7 +415,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; @@ -601,7 +632,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(); } } @@ -615,13 +648,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); @@ -647,7 +675,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("缁戝畾澶辫触锛岀敤鎴峰紓甯歌閲嶈瘯锛�")); @@ -668,7 +698,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 { // 缁戝畾娣樺疂 @@ -1199,9 +1229,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("鏈夊敭鍚庤鍗曞皻鏈墸娆�")); } } @@ -1674,7 +1704,7 @@ } boolean hasCode = false; - String inviteCode = userInfoExtraService.getUserInviteCode(uid); + String inviteCode = userInfoExtraService.getInviteCodeByUid(uid); if (inviteCode != null && inviteCode.trim().length() > 0) { hasCode = true; // 宸叉湁閭�璇风爜 } else { @@ -1691,8 +1721,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(); @@ -1749,7 +1777,7 @@ } boolean hasCode = false; - String inviteCode = userInfoExtraService.getUserInviteCode(uid); + String inviteCode = userInfoExtraService.getInviteCodeByUid(uid); if (inviteCode != null && inviteCode.trim().length() > 0) { hasCode = true; // 宸叉湁閭�璇风爜 } else { @@ -1764,8 +1792,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(); @@ -1816,7 +1842,7 @@ 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 { @@ -1827,8 +1853,6 @@ out.print(JsonUtil.loadTrueResult(resultData)); - } catch (UserInfoExtraException e) { - out.print(JsonUtil.loadFalseResult(e.getMsg())); } catch (Exception e) { out.print(JsonUtil.loadFalseResult("缁熻澶辫触")); e.printStackTrace(); @@ -2004,7 +2028,7 @@ try { - String inviteCode = userInfoExtraService.getUserInviteCode(uid); + String inviteCode = userInfoExtraService.getInviteCodeByUid(uid); JSONObject inviteData = new JSONObject(); if (inviteCode == null || inviteCode.trim().length() == 0) { @@ -2022,8 +2046,6 @@ out.print(JsonUtil.loadTrueResult(data)); - } catch (UserInfoExtraException e) { - out.print(JsonUtil.loadFalseResult(e.getMsg())); } catch (Exception e) { out.print(JsonUtil.loadFalseResult("鑾峰彇澶辫触")); e.printStackTrace(); @@ -2064,6 +2086,7 @@ userActiveLog.setVersionCode(acceptData.getVersion()); userActiveLog.setOsVersion(acceptData.getOsVersion()); userActiveLog.setDeviceType(acceptData.getDeviceType()); + userActiveLog.setDevice(acceptData.getDevice()); userActiveLogService.addUserActiveLog(userActiveLog); // 澶勭悊鐢ㄦ埛淇℃伅 @@ -2105,6 +2128,7 @@ } data.put("moduleState", mySettings); + boolean tailor = false; int welfareCenterNews = 0; String invitCode = null; UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid); @@ -2112,11 +2136,14 @@ 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(); } - + if (userInfoExtra.getUserRank() != null) { String picture = userInfoExtra.getUserRank().getPicture(); String icon = userInfoExtra.getUserRank().getIcon(); @@ -2135,25 +2162,62 @@ if (!StringUtil.isNullOrEmpty(userInfoExtra.getWeiXin())) userInfo.setWeiXin(userInfoExtra.getWeiXin()); } + + // 浜岀淮鐮� + userInfo.setErCode(userInfoExtra.getErCode()); } + // 鏄剧ず閭�璇风爜鐗瑰埗鍏ュ彛 + data.put("tailor", tailor); + // 1.6.5 涔嬪悗杩斿洖 寰俊鍙锋彁绀� if (VersionUtil.greaterThan_1_6_5(acceptData.getPlatform(), acceptData.getVersion())) - userInfo.setWeiXinTip("娣诲姞寰俊鍙峰悗锛屼綘鐨勯個璇蜂汉鍜屼竴绾ч槦鍛樺彲浠ラ�氳繃寰俊涓庝綘寤虹珛鑱旂郴銆�"); + userInfo.setWeiXinTip("娣诲姞寰俊鍙峰悗锛屼綘鐨勯個璇蜂汉鍜岀洿鎺ョ矇涓濆彲浠ラ�氳繃寰俊涓庝綘寤虹珛鑱旂郴銆�"); + + // 鏌ヨ鏄惁涓篤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", configService.get("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); + } + } + + 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 { @@ -2259,7 +2323,7 @@ */ @RequestMapping(value = "saveInfo") public void saveInfo(AcceptData acceptData, String nickName, String weiXin, Integer sex, Long uid, - PrintWriter out) { + String inviteCode, MultipartFile qrCodeFile, HttpServletRequest request, PrintWriter out) { try { if (uid == null) { out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�")); @@ -2312,6 +2376,30 @@ 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) { out.print(JsonUtil.loadFalseResult(e.getMsg())); -- Gitblit v1.8.0