Browse Source

更新注册账号短信验证码没有发送

yuanliang 1 năm trước cách đây
mục cha
commit
63f5927794

+ 2 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/CbsUserServiceImpl.java

@@ -12,6 +12,7 @@ import javax.annotation.Resource;
 import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.List;
+import java.util.Optional;
 
 @Service
 public class CbsUserServiceImpl implements CbsUserService {
@@ -31,7 +32,7 @@ public class CbsUserServiceImpl implements CbsUserService {
                 CbsUserWrapper.User user = new CbsUserWrapper.User();
                 user.setId(simpleUserDto.getUserId());
                 user.setUsername(query.getClientType() == null || query.getClientType() == EClientType.STUDENT ?
-                        simpleUserDto.getUsername() : simpleUserDto.getRealName());
+                        simpleUserDto.getUsername() : Optional.ofNullable(simpleUserDto.getRealName()).orElse(simpleUserDto.getUsername()));
                 user.setPhone(simpleUserDto.getPhone());
                 result.add(user);
             }

+ 3 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/SmsCodeServiceImpl.java

@@ -163,7 +163,9 @@ public class SmsCodeServiceImpl implements SmsCodeService {
 			sysUser = sysUserFeignService.queryUserInfo();
 			if (sysUser != null) {
 				userId = sysUser.getId();
-			}
+            } else {
+                userId = -1L;
+            }
 		}
 		SysConfig sysConfig = sysConfigService.findByParamName(SysConfigService.SMS_MAX_TIMES);
 		int times = 3;

+ 11 - 8
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/SysMessageServiceImpl.java

@@ -36,6 +36,7 @@ import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
 import java.util.*;
+import java.util.stream.Collectors;
 
 @Service
 public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> implements SysMessageService {
@@ -77,33 +78,35 @@ public class SysMessageServiceImpl extends BaseServiceImpl<Long, SysMessage> imp
 			LOGGER.error("接收地址不能为空");
 			return;
 		}
-		List<BasicUserInfo> basicUserInfo = teacherDao.findBasicUserInfo(receivers.keySet());
 		List<CbsMessageWrapper.MessageParam> messageParams = new ArrayList<>();
-		for (BasicUserInfo user : basicUserInfo) {
+		List<BasicUserInfo> basicUserInfo = teacherDao.findBasicUserInfo(receivers.keySet());
+		Map<Long, String> userIdPhoneMap = basicUserInfo.stream().collect(Collectors.toMap(BasicUserInfo::getUserId, BasicUserInfo::getPhone));
+		receivers.forEach((userId, value) -> {
+			String phone = userIdPhoneMap.getOrDefault(userId, null);
 			CbsMessageWrapper.MessageParam messageParam = new CbsMessageWrapper.MessageParam();
-			messageParam.setUserId(user.getUserId());
+			messageParam.setUserId(userId);
 			messageParam.setAppKey(EAppKey.KLX);
 			messageParam.setClientType(getClientType(jpushType));
 			messageParam.setClientId(messageParam.getClientType());
 			messageParam.setType(type.getCode());
 			messageParam.setUrl(url);
 			Map<Long, String> params = new HashMap<>();
-			params.put(user.getUserId(), user.getPhone());
+			params.put(userId, Optional.ofNullable(phone).orElse(value));
 			messageParam.setReceivers(params);
 			messageParam.setRealSend(!debugMode);
-			if(args != null && args.length > 0){
+			if (args != null && args.length > 0) {
 				String[] argsStr = new String[args.length];
 				for (int i = 0; i < args.length; i++) {
-					if (args[i]!=null){
+					if (args[i] != null) {
 						argsStr[i] = args[i].toString();
-					}else {
+					} else {
 						argsStr[i] = "";
 					}
 				}
 				messageParam.setContentArgs(argsStr);
 			}
 			messageParams.add(messageParam);
-		}
+		});
 		messageFeignClientService.sysMessageBatchSendMessage(messageParams);
 	}