| 
					
				 | 
			
			
				@@ -1,15 +1,22 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 package com.ym.mec.biz.service.impl; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.List; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.apache.commons.lang3.StringUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.springframework.beans.factory.annotation.Autowired; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.springframework.stereotype.Service; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ym.mec.auth.api.client.SysUserFeignService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ym.mec.auth.api.entity.SysUser; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.ym.mec.biz.dal.entity.SysConfig; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.ym.mec.biz.dal.entity.SysMessage; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ym.mec.biz.dal.enums.MessageSendMode; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ym.mec.biz.dal.enums.MessageTypeEnum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ym.mec.biz.service.SmsCodeService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.ym.mec.biz.service.SysConfigService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ym.mec.biz.service.SysMessageService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.ym.mec.common.exception.BizException; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.ym.mec.thirdparty.message.MessageSenderPluginContext; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import org.apache.commons.lang3.StringUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import org.springframework.beans.factory.annotation.Autowired; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import org.springframework.stereotype.Service; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 @Service 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 public class SmsCodeServiceImpl implements SmsCodeService { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -18,24 +25,36 @@ public class SmsCodeServiceImpl implements SmsCodeService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	private SysMessageService sysMessageService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	@Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	private SysUserFeignService sysUserFeignService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	@Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	private SysConfigService sysConfigService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	@Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	public boolean verifyValidCode(String mobile, String authCode) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		String verifyCode = sysMessageService.getSendedVerificationCode(MessageTypeEnum.SMS_VERIFY_CODE_LOGIN, mobile); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		if(StringUtils.isNoneEmpty(verifyCode) && StringUtils.equalsIgnoreCase(verifyCode,authCode)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if (StringUtils.isNoneEmpty(verifyCode) && StringUtils.equalsIgnoreCase(verifyCode, authCode)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	@Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	public boolean sendValidCode(String mobile){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	public boolean sendValidCode(String mobile) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		SysUser sysUser = sysUserFeignService.queryUserByMobile(mobile); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		Integer userId = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		if(sysUser != null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if (sysUser != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			userId = sysUser.getId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		sysMessageService.sendSecurityCode(MessageSenderPluginContext.MessageSender.YIMEI,userId, MessageTypeEnum.SMS_VERIFY_CODE_LOGIN,mobile); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		SysConfig sysConfig = sysConfigService.findByParamName(SysConfigService.SMS_MAX_TIMES); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		int times = 3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if (sysConfig != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			times = Integer.parseInt(sysConfig.getParanValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		// 十分钟内只能发3条 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		List<SysMessage> list = sysMessageService.queryUserInRecentMinList(mobile, 10, MessageSendMode.SMS); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if (list != null && list.size() >= times) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			throw new BizException("对不起,您发送太频繁请稍后重试!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		sysMessageService.sendSecurityCode(MessageSenderPluginContext.MessageSender.YIMEI, userId, MessageTypeEnum.SMS_VERIFY_CODE_LOGIN, mobile); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |