From d8359ddb48dab5cc797a9d552e11fde571f4920c Mon Sep 17 00:00:00 2001 From: yujian <yujian@123.com> Date: 星期二, 27 八月 2019 12:32:46 +0800 Subject: [PATCH] Merge branch 'div' of ssh://193.112.35.168:29418/fanli-server into div --- fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoExtraServiceImpl.java | 77 ++++++++++++++++++++++++++++++++++++-- 1 files changed, 73 insertions(+), 4 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoExtraServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoExtraServiceImpl.java index 03a867b..c9b0164 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoExtraServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoExtraServiceImpl.java @@ -322,7 +322,7 @@ } @Override - public String activateInviteCode(Long uid, String inviteCode, String platform, String version) throws UserInfoExtraException{ + public String activateInviteCode(Long uid, String inviteCode) throws UserInfoExtraException{ if (uid == null || inviteCode == null) { throw new UserInfoExtraException(1, "鐢ㄦ埛id銆侀個璇风爜涓嶈兘涓虹┖"); } @@ -349,7 +349,7 @@ // 缁戝畾鍏崇郴 try { - threeSaleSerivce.bindRelationshipByInviteCode(invitee, inviter, platform, version); + threeSaleSerivce.bindRelationshipByInviteCode(invitee, inviter); } catch (ThreeSaleException e) { try { LogHelper.errorDetailInfo(e); @@ -384,7 +384,7 @@ @Override - public void activationInviteWX(Long uid, String code, String platform, String version) throws UserInfoExtraException{ + public void activationInviteWX(Long uid, String code) throws UserInfoExtraException{ if (uid == null || code == null) { throw new UserInfoExtraException(1, "婵�娲讳俊鎭笉瀹屾暣"); } @@ -465,7 +465,7 @@ // 缁戝畾鍏崇郴 try { - threeSaleSerivce.bindRelationshipByWX(invitee, inviterId, threeSale, platform, version); + threeSaleSerivce.bindRelationshipByWX(invitee, inviterId, threeSale); } catch (ThreeSaleException e) { try { LogHelper.errorDetailInfo(e); @@ -581,4 +581,73 @@ } + + @Override + public UserInfo getUserByInviteCode(String inviteCode) throws UserInfoExtraException{ + if (StringUtil.isNullOrEmpty(inviteCode)) { + throw new UserInfoExtraException(1, "閭�璇风爜涓嶈兘涓虹┖"); + } + // 閭�璇蜂汉淇℃伅 + UserInfo inviter = userInfoService.getInfoByPhoneOrInviteCode(inviteCode, inviteCode); + if (inviter == null) { + throw new UserInfoExtraException(1, "涓婄骇閭�璇风爜涓嶅瓨鍦�"); + } + return inviter; + } + + + @Override + public UserInfo getInviterInfo(Long uid, String code) throws UserInfoExtraException{ + if (code == null) { + throw new UserInfoExtraException(1, "code淇℃伅涓嶅畬鏁�"); + } + + // 鐢ㄦ埛淇℃伅 + UserInfo invitee = userInfoService.selectByPKey(uid); + if (invitee == null) { + throw new UserInfoExtraException(1, "鐢ㄦ埛涓嶅瓨鍦�"); + } + + // 鐢ㄦ埛棰濆淇℃伅 + UserInfoExtra extra = userInfoExtraMapper.getInfoExtraByUid(uid); + if (extra != null) { + String inviteCodeHas = extra.getInviteCode(); + if (inviteCodeHas != null && inviteCodeHas.trim().length() > 0) { + throw new UserInfoExtraException(1, "宸茬粡婵�娲�, 鏃犻渶鍐嶆婵�娲�"); + } + } + + // 鑾峰彇寰俊淇℃伅 + WeiXinUser weiXinUser = WXLoginUtil.getWeiXinUser(code); + if (weiXinUser == null) { + throw new UserInfoExtraException(1, "寰俊鎺堟潈澶辫触"); + } + String wxUnionId = weiXinUser.getUnionid(); + if (wxUnionId == null || wxUnionId.trim().length() == 0) { + throw new UserInfoExtraException(1, "寰俊鎺堟潈澶辫触"); + } + + // 楠岃瘉鏁版嵁 + String wxUnionIdExist = invitee.getWxUnionId(); + if (StringUtil.isNullOrEmpty(wxUnionIdExist)) { + UserInfo newUser = userInfoService.getEffectiveUserInfoByWXUnionId(weiXinUser.getUnionid()); + if (newUser != null) { + throw new UserInfoExtraException(1, "姝ゅ井淇″凡琚叾浠栧笎鍙风粦瀹�"); + } + } else if (!wxUnionId.equals(wxUnionIdExist)){ + throw new UserInfoExtraException(1, "缁戝畾寰俊涓庢縺娲诲井淇′笉涓�鑷�"); + } + + // 閭�璇蜂汉ID + Long inviterId = userInviteRecordService.getNewestInviterId(wxUnionId); + if (inviterId == null) { + throw new UserInfoExtraException(1, "娌℃湁瀵瑰簲鐨勯個璇峰叧绯�"); + } + + UserInfo inviter = userInfoService.selectByPKey(inviterId); + if (inviter == null) { + throw new UserInfoExtraException(1, "瀵瑰簲鐨勯個璇峰叧绯讳笉瀛樺湪"); + } + return inviter; + } } -- Gitblit v1.8.0