From e11b811d07ab56b0a3351979e8f254e56143f9bf Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期四, 19 九月 2019 09:43:04 +0800
Subject: [PATCH] 订单JOB修改
---
fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoExtraServiceImpl.java | 114 ++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 105 insertions(+), 9 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 bed6ecc..bc31fdd 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
@@ -16,17 +16,17 @@
import com.yeshi.fanli.dao.mybatis.user.UserInfoExtraMapper;
import com.yeshi.fanli.dao.mybatis.user.UserRankRecordMapper;
+import com.yeshi.fanli.dto.wx.WXAccountInfoDTO;
import com.yeshi.fanli.entity.bus.user.ThreeSale;
import com.yeshi.fanli.entity.bus.user.UserInfo;
import com.yeshi.fanli.entity.bus.user.UserInfoExtra;
import com.yeshi.fanli.entity.bus.user.UserRank;
import com.yeshi.fanli.entity.bus.user.UserRankRecord;
import com.yeshi.fanli.entity.bus.user.WeiXinUser;
-import com.yeshi.fanli.exception.ThreeSaleException;
+import com.yeshi.fanli.exception.user.ThreeSaleException;
import com.yeshi.fanli.exception.user.UserInfoExtraException;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.config.ConfigService;
-import com.yeshi.fanli.service.inter.hongbao.ThreeSaleSerivce;
import com.yeshi.fanli.service.inter.order.CommonOrderCountService;
import com.yeshi.fanli.service.inter.user.ForbiddenUserIdentifyCodeService;
import com.yeshi.fanli.service.inter.user.UserAccountService;
@@ -34,6 +34,7 @@
import com.yeshi.fanli.service.inter.user.UserInfoService;
import com.yeshi.fanli.service.inter.user.UserInviteRecordService;
import com.yeshi.fanli.service.inter.user.UserRankService;
+import com.yeshi.fanli.service.inter.user.invite.ThreeSaleSerivce;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.account.UserUtil;
@@ -384,7 +385,7 @@
@Override
- public void activationInviteWX(Long uid, String code) throws UserInfoExtraException{
+ public void activationInviteWX(WXAccountInfoDTO wxAccount, Long uid, String code) throws UserInfoExtraException{
if (uid == null || code == null) {
throw new UserInfoExtraException(1, "婵�娲讳俊鎭笉瀹屾暣");
}
@@ -405,7 +406,7 @@
}
// 鑾峰彇寰俊淇℃伅
- WeiXinUser weiXinUser = WXLoginUtil.getWeiXinUser(code);
+ WeiXinUser weiXinUser = WXLoginUtil.getWeiXinUserWithSavePortrait(code,wxAccount.getAppId(),wxAccount.getAppSecret());
if (weiXinUser == null) {
throw new UserInfoExtraException(1, "寰俊鎺堟潈澶辫触");
}
@@ -426,14 +427,25 @@
UserInfo updateUserInfo = new UserInfo(uid);
updateUserInfo.setWxOpenId(weiXinUser.getOpenid());
updateUserInfo.setWxUnionId(weiXinUser.getUnionid());
- if (!StringUtil.isNullOrEmpty(weiXinUser.getNickname())) {
- updateUserInfo.setWxName(weiXinUser.getNickname());
- updateUserInfo.setNickName(weiXinUser.getNickname());
+ updateUserInfo.setWxName(weiXinUser.getNickname());
+ updateUserInfo.setWxPic(weiXinUser.getHeadimgurl());
+
+ // 灏嗛粯璁ゆ樀绉版浛鎹㈡垚寰俊鏄电О
+ String defaultNickName = Constant.systemCommonConfig.getDefaultNickName();
+ if (!StringUtil.isNullOrEmpty(defaultNickName) && !StringUtil.isNullOrEmpty(weiXinUser.getNickname())) {
+ defaultNickName = defaultNickName + uid;
+ if ((defaultNickName.equals(invitee.getNickName()) || "杩斿埄鍒�".equals(invitee.getNickName()))) {
+ updateUserInfo.setNickName(weiXinUser.getNickname());
+ }
}
- if (!StringUtil.isNullOrEmpty(weiXinUser.getHeadimgurl())) {
- updateUserInfo.setWxPic(weiXinUser.getHeadimgurl());
+
+ // 灏嗛粯璁ゅご鍍忔浛鎹㈡垚寰俊澶村儚
+ String defaultPortrait = Constant.systemCommonConfig.getDefaultPortrait();
+ if (!StringUtil.isNullOrEmpty(weiXinUser.getHeadimgurl()) && !StringUtil.isNullOrEmpty(defaultPortrait)
+ && defaultPortrait.equals(invitee.getPortrait())) {
updateUserInfo.setPortrait(weiXinUser.getHeadimgurl());
}
+
userInfoService.updateByPrimaryKeySelective(updateUserInfo);
} else if (!wxUnionId.equals(wxUnionIdExist)){
@@ -566,4 +578,88 @@
return isNew;
}
+
+ @Override
+ public UserRank gerUserRank(Long uid) {
+ if(uid == null) {
+ return null;
+ }
+
+ UserInfoExtra userInfoExtra = userInfoExtraMapper.gerUserRank(uid);
+ if (userInfoExtra == null) {
+ return null;
+ }
+ return userInfoExtra.getUserRank();
+ }
+
+
+
+ @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(WXAccountInfoDTO wxAccount,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,wxAccount.getAppId(),wxAccount.getAppSecret());
+ 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