Forráskód Böngészése

绑定账号信息 注册新用户

zoujiajian 1 éve
szülő
commit
e207a00771

+ 3 - 3
netflix-service/src/main/java/com/cyksj/service/cps/impl/CpsPopularizeServiceImpl.java

@@ -13,7 +13,7 @@ import com.cyksj.model.entity.User;
 import com.cyksj.model.entity.UserDistributePopularize;
 import com.cyksj.model.views.UserDistributePopularizeView;
 import com.cyksj.service.cps.CpsPopularizeService;
-import com.cyksj.service.user.UserService;
+import com.cyksj.service.user.UserCommonService;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.dao.DuplicateKeyException;
@@ -35,7 +35,7 @@ public class CpsPopularizeServiceImpl implements CpsPopularizeService {
 
 	private final EnvCommonService envCommonService;
 
-	private final UserService userService;
+	private final UserCommonService userCommonService;
 
 	@Override
 	public void insert(UserDistributePopularize popularize) {
@@ -103,7 +103,7 @@ public class CpsPopularizeServiceImpl implements CpsPopularizeService {
 		User user = userMapper.selectById(cpsUserId);
 		String dsCode = user.getShowId();
 		if (StrUtil.isEmpty(dsCode)) {
-			user.setShowId(userService.getUserShowId(user.getId()));
+			user.setShowId(userCommonService.getUserShowId(user.getId()));
 		}
 		String sharedUrl;
 		if (envCommonService.isPrdEnv()) {

+ 11 - 4
netflix-service/src/main/java/com/cyksj/service/market/task/impl/BindTaskServiceImpl.java

@@ -30,6 +30,7 @@ import com.cyksj.redis.RedisService;
 import com.cyksj.service.authorization.AuthorizationService;
 import com.cyksj.service.market.task.BindTaskService;
 import com.cyksj.service.market.task.TaskService;
+import com.cyksj.service.user.UserCommonService;
 import lombok.RequiredArgsConstructor;
 import org.springframework.stereotype.Service;
 
@@ -63,6 +64,8 @@ public class BindTaskServiceImpl implements BindTaskService {
 
 	private final WxOpenPlatYHLXLoginConfig wxOpenPlatYHLXLoginConfig;
 
+	private final UserCommonService userCommonService;
+
 	private final static Sequence SEQUENCE = new Sequence(0);
 
 	@Override
@@ -159,7 +162,8 @@ public class BindTaskServiceImpl implements BindTaskService {
 		User phoneUser = userMapper.selectOne(Wrappers.lambdaQuery(User.class)
 				.eq(User::getLoginPhone, phone).last("limit 1"));
 		if (phoneUser == null) {
-			throw BusinessRuntimeException.getInstance("换绑手机号未注册");
+			phoneUser = userCommonService.insertUser(phone, true);
+//			throw BusinessRuntimeException.getInstance("换绑手机号未注册");
 		}
 		checkPhoneCode(phone, code);
 		bindPhone.setPhoneUserId(phoneUser.getId());
@@ -200,7 +204,8 @@ public class BindTaskServiceImpl implements BindTaskService {
 		User emailUser = userMapper.selectOne(Wrappers.lambdaQuery(User.class)
 				.eq(User::getEmail, email).last("limit 1"));
 		if (emailUser == null) {
-			throw BusinessRuntimeException.getInstance("绑定的邮箱未注册");
+			emailUser = userCommonService.insertUser(email, false);
+//			throw BusinessRuntimeException.getInstance("绑定的邮箱未注册");
 		}
 		bindDetail.setEmailUserId(emailUser.getId());
 		bindDetail.setEmail(email);
@@ -296,7 +301,8 @@ public class BindTaskServiceImpl implements BindTaskService {
 			User phoneUser = userMapper.selectOne(Wrappers.lambdaQuery(User.class)
 					.eq(User::getLoginPhone, account).last("limit 1"));
 			if (phoneUser == null) {
-				throw BusinessRuntimeException.getInstance("绑定的手机号未注册");
+				phoneUser = userCommonService.insertUser(account, true);
+//				throw BusinessRuntimeException.getInstance("绑定的手机号未注册");
 			}
 			user.setPhoneUserId(phoneUser.getId());
 			bindPhone(user, account, code);
@@ -309,7 +315,8 @@ public class BindTaskServiceImpl implements BindTaskService {
 			User emailUser = userMapper.selectOne(Wrappers.lambdaQuery(User.class)
 					.eq(User::getEmail, account).last("limit 1"));
 			if (emailUser == null) {
-				throw BusinessRuntimeException.getInstance("绑定的邮箱未注册");
+				emailUser = userCommonService.insertUser(account, false);
+//				throw BusinessRuntimeException.getInstance("绑定的邮箱未注册");
 			}
 			user.setEmailUserId(emailUser.getId());
 			bindEmail(user, account, code);

+ 3 - 3
netflix-service/src/main/java/com/cyksj/service/order/impl/OrderDonServiceImpl.java

@@ -101,7 +101,7 @@ import com.cyksj.service.telegram.TelegramService;
 import com.cyksj.service.template.TemplateCommonService;
 import com.cyksj.service.user.UserBenefitsService;
 import com.cyksj.service.user.UserBindRelationService;
-import com.cyksj.service.user.UserService;
+import com.cyksj.service.user.UserCommonService;
 import com.cyksj.service.wechat.WeChatService;
 import com.cyksj.task.JobManager;
 import com.ejlchina.searcher.BeanSearcher;
@@ -140,7 +140,7 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 
 	private final UserMapper userMapper;
 
-	private final UserService userService;
+	private final UserCommonService userCommonService;
 
 	private final WeChatService weChatService;
 
@@ -3331,7 +3331,7 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 			user.setRegisterEnv(StrUtil.isEmpty(registerEnv) ? User.RegisterEnv.pc.name() : registerEnv);
 			userMapper.insert(user);
 			if (StrUtil.isEmpty(user.getShowId())) {
-				user.setShowId(userService.getUserShowId(user.getId()));
+				user.setShowId(userCommonService.getUserShowId(user.getId()));
 			}
 		}
 		return user;

+ 19 - 0
netflix-service/src/main/java/com/cyksj/service/user/UserCommonService.java

@@ -0,0 +1,19 @@
+package com.cyksj.service.user;
+
+import com.cyksj.model.entity.User;
+
+/**
+ * 项目名: yhlxj2
+ * 文件名: UserCommonService
+ * 创建者: JavaZou
+ * 创建时间:2025/4/18 14:09
+ */
+public interface UserCommonService {
+
+	User insertUser(String account, Boolean isPhone);
+
+	/**
+	 * 设置用户展示id
+	 */
+	String getUserShowId(Long userId);
+}

+ 0 - 5
netflix-service/src/main/java/com/cyksj/service/user/UserService.java

@@ -34,11 +34,6 @@ public interface UserService extends IService<User> {
 
 	List<Long> getUserIdsByNickname(String nickname);
 
-    /**
-     * 设置用户展示id
-     */
-	String getUserShowId(Long userId);
-
 	/**
 	 * 设置用户镜像店铺展示id
 	 * @param userId

+ 57 - 0
netflix-service/src/main/java/com/cyksj/service/user/impl/UserCommonServiceImpl.java

@@ -0,0 +1,57 @@
+package com.cyksj.service.user.impl;
+
+import cn.hutool.core.util.RandomUtil;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.cyksj.common.constant.Constant;
+import com.cyksj.common.util.StringUtil;
+import com.cyksj.mapper.UserMapper;
+import com.cyksj.model.entity.User;
+import com.cyksj.service.user.UserCommonService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.dao.DuplicateKeyException;
+import org.springframework.stereotype.Service;
+
+/**
+ * 项目名: yhlxj2
+ * 文件名: UserCommonServiceImpl
+ * 创建者: JavaZou
+ * 创建时间:2025/4/18 14:09
+ */
+@Service
+@RequiredArgsConstructor
+public class UserCommonServiceImpl implements UserCommonService {
+	private final UserMapper userMapper;
+
+	@Override
+	public User insertUser(String account, Boolean isPhone) {
+		User user = new User();
+		//默认头像
+		user.setHeadimgurl(Constant.DEFAULT_HEAD_IMG);
+		user.setNickname(Constant.DEFAULT_NAME + RandomUtil.randomString(6));
+		user.setRegisterEnv(User.RegisterEnv.pc.name());
+		//手机号
+		if (isPhone) user.setLoginPhone(account);
+		else user.setEmail(account);
+		userMapper.insert(user);
+		//推广id
+		user.setShowId(getUserShowId(user.getId()));
+		return user;
+	}
+
+	@Override
+	public String getUserShowId(Long userId) {
+		Integer update = 0;
+		String showId = null;
+		while (update != 1) {
+			showId = StringUtil.randomString(5);
+			try {
+				update = userMapper.update(null, Wrappers.lambdaUpdate(User.class)
+						.set(User::getShowId, showId)
+						.eq(User::getId, userId));
+			} catch (DuplicateKeyException e) {
+				update = 0;
+			}
+		}
+		return showId;
+	}
+}

+ 5 - 23
netflix-service/src/main/java/com/cyksj/service/user/impl/UserServiceImpl.java

@@ -41,10 +41,7 @@ import com.cyksj.service.market.task.BindTaskService;
 import com.cyksj.service.relation.GroupRelationFrontService;
 import com.cyksj.service.shop.YhShopDistributeService;
 import com.cyksj.service.sys.SysConfigService;
-import com.cyksj.service.user.BadIntentionOpService;
-import com.cyksj.service.user.UserBindRelationService;
-import com.cyksj.service.user.UserLoginRecordService;
-import com.cyksj.service.user.UserService;
+import com.cyksj.service.user.*;
 import com.cyksj.service.wechat.WeChatService;
 import com.ejlchina.searcher.BeanSearcher;
 import com.ejlchina.searcher.param.Operator;
@@ -138,6 +135,8 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
 
 	private final OrderDonMapper orderDonMapper;
 
+	private final UserCommonService userCommonService;
+
 	private static final GlobalThreadPoolTaskExecutor TASK_POOL = GlobalThreadPoolTaskExecutor.getInstance();
 
 	@Override
@@ -248,7 +247,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
 	    Assert.notNull(user, "业务处理失败,请联系客服");
 	    UserWhoami userWhoami = new UserWhoami();
 	    if (StrUtil.isEmpty(user.getShowId())) {
-		    user.setShowId(getUserShowId(userId));
+		    user.setShowId(userCommonService.getUserShowId(userId));
 	    }
 	    BeanUtil.copyProperties(user, userWhoami);
 
@@ -408,23 +407,6 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
 		return userMapper.selectListByNickname(nickname);
 	}
 
-	@Override
-	public String getUserShowId(Long userId) {
-		Integer update = 0;
-		String showId = null;
-		while (update != 1) {
-			showId = StringUtil.randomString(5);
-			try {
-				update = userMapper.update(null, Wrappers.lambdaUpdate(User.class)
-						.set(User::getShowId, showId)
-						.eq(User::getId, userId));
-			} catch (DuplicateKeyException e) {
-				update = 0;
-			}
-		}
-		return showId;
-	}
-
 	@Override
 	public String getUserMirrorShopId(Long userId) {
 		Integer update = 0;
@@ -582,7 +564,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
 			}
 		}
 		if (StrUtil.isEmpty(user.getShowId())) {
-			user.setShowId(getUserShowId(user.getId()));
+			user.setShowId(userCommonService.getUserShowId(user.getId()));
 		}
 		//新旧用户都可实物分销
 		if (sharedId != null && dsType != null && dsType == 2) {

+ 4 - 1
netflix-web/src/main/java/com/cyksj/web/controller/cps/CpsPopularizeController.java

@@ -23,6 +23,7 @@ import com.cyksj.model.entity.*;
 import com.cyksj.model.views.*;
 import com.cyksj.service.cps.CpsPopularizeService;
 import com.cyksj.service.user.UserBindRelationService;
+import com.cyksj.service.user.UserCommonService;
 import com.cyksj.service.user.UserService;
 import com.cyksj.web.util.StpCpsManageUser;
 import com.ejlchina.searcher.BeanSearcher;
@@ -63,6 +64,8 @@ public class CpsPopularizeController {
 
 	private final UserService userService;
 
+	private final UserCommonService userCommonService;
+
 	private final GoodsDonMapper goodsDonMapper;
 
 	private final DistributePopularizeClickRecordMapper distributePopularizeClickRecordMapper;
@@ -188,7 +191,7 @@ public class CpsPopularizeController {
 			return newPopularizeView;
 		});
 		if (StrUtil.isEmpty(user.getShowId())) {
-			user.setShowId(userService.getUserShowId(user.getId()));
+			user.setShowId(userCommonService.getUserShowId(user.getId()));
 		}
 		view.setPopularizeLink(String.format(envCommonService.DISTRIBUTE_DEFAULT_URL_PREFIX, user.getShowId()));
 		//优惠码

+ 5 - 2
netflix-web/src/main/java/com/cyksj/web/controller/user/AuthorizationController.java

@@ -36,6 +36,7 @@ import com.cyksj.service.authorization.AuthorizationService;
 import com.cyksj.service.mail.MailService;
 import com.cyksj.service.template.TemplateCommonService;
 import com.cyksj.service.user.BadIntentionOpService;
+import com.cyksj.service.user.UserCommonService;
 import com.cyksj.service.user.UserService;
 import com.cyksj.service.wechat.WeChatService;
 import com.cyksj.web.util.StpUserUtil;
@@ -75,6 +76,8 @@ public class AuthorizationController {
 
     private final UserService userService;
 
+    private final UserCommonService userCommonService;
+
     private final WeChatService weChatService;
 
     private final WeChatConfig weChatConfig;
@@ -381,7 +384,7 @@ public class AuthorizationController {
         StpUserUtil.login(userId);
         String token = StpUserUtil.getTokenValue();
         if (StrUtil.isEmpty(user.getShowId())) {
-            user.setShowId(userService.getUserShowId(userId));
+            user.setShowId(userCommonService.getUserShowId(userId));
         }
         JSONObject jsonObject = new JSONObject();
         jsonObject.putOpt("saToken", token);
@@ -548,7 +551,7 @@ public class AuthorizationController {
         response.addCookie(cookie);
         JSONObject jsonObject = new JSONObject();
         if (StrUtil.isEmpty(user.getShowId())) {
-            user.setShowId(userService.getUserShowId(user.getId()));
+            user.setShowId(userCommonService.getUserShowId(user.getId()));
         }
         jsonObject.putOpt("showId", user.getShowId());
         jsonObject.putOpt("nickName", user.getNickname());

+ 3 - 3
netflix-web/src/main/java/com/cyksj/web/controller/user/DistributePopularizeController.java

@@ -26,7 +26,7 @@ import com.cyksj.model.request.ApplyMoneyReq;
 import com.cyksj.model.views.*;
 import com.cyksj.service.distribute.DistributeService;
 import com.cyksj.service.pay.TransferFuncService;
-import com.cyksj.service.user.UserService;
+import com.cyksj.service.user.UserCommonService;
 import com.cyksj.web.util.StpCpsManageUser;
 import com.cyksj.web.util.StpUserUtil;
 import com.ejlchina.searcher.BeanSearcher;
@@ -58,7 +58,7 @@ public class DistributePopularizeController {
 
 	private final UserMapper userMapper;
 
-	private final UserService userService;
+	private final UserCommonService userCommonService;
 
 	private final BeanSearcher beanSearcher;
 
@@ -135,7 +135,7 @@ public class DistributePopularizeController {
 		Long userId = StpUserUtil.getLoginIdAsLong();
 		User user = userMapper.selectById(userId);
 		if (StrUtil.isEmpty(user.getShowId())) {
-			user.setShowId(userService.getUserShowId(userId));
+			user.setShowId(userCommonService.getUserShowId(userId));
 		}
 		DistributePopularizeView distributePopularizeView = new DistributePopularizeView();
 		String dsUrl = String.format(envCommonService.DISTRIBUTE_DEFAULT_URL_PREFIX, user.getShowId());