| 
					
				 | 
			
			
				@ -30,6 +30,7 @@ import com.yihu.jw.security.utils.DateUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.security.utils.IdCardUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.security.utils.SerializeUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.sms.service.YkyySMSService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.sms.service.ZBSmsService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.sms.service.ZhongShanSMSService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.sms.util.ykyy.vo.ResultMsg; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.utils.network.HttpResponse; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -130,6 +131,8 @@ public class WlyyLoginEndpoint extends AbstractEndpoint { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private ZhongShanSMSService zhongShanSMSService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private ZBSmsService zbSmsService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private OauthCaConfigSerivce oauthCaConfigSerivce; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private OauthWjwConfigService oauthWjwConfigService; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -606,6 +609,66 @@ public class WlyyLoginEndpoint extends AbstractEndpoint { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        throw new IllegalStateException("验证码发送失败!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 福州健康之路短信接口 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param parameters 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @throws Exception 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @RequestMapping(value = "/oauth/sendZBCaptcha", method = RequestMethod.GET) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public ResponseEntity<Oauth2Envelop<Captcha>> sendZBCaptcha(@RequestParam Map<String, String> parameters) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String client_id = parameters.get("client_id"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String username = parameters.get("username"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isEmpty(client_id)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            throw new InvalidRequestException("client_id"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isEmpty(username)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            throw new InvalidRequestException("username"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (username.length()>12){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            throw new InvalidRequestException("请输入正确的手机号!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //验证请求间隔超时,防止频繁获取验证码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (!wlyyRedisVerifyCodeService.isIntervalTimeout(client_id, username)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            throw new IllegalAccessException("SMS request frequency is too fast"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        WlyyHospitalSysDictDO wlyyHospitalSysDictDO = wlyyhospitalSysdictDao.findDictById("isNeedSMS"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (wlyyHospitalSysDictDO!=null&&!StringUtils.isEmpty(wlyyHospitalSysDictDO.getDictValue())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String captcha = wlyyHospitalSysDictDO.getDictValue(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Captcha _captcha = new Captcha(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            _captcha.setCode(captcha); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            _captcha.setExpiresIn(300); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            wlyyRedisVerifyCodeService.store(client_id, username, captcha, 300); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Oauth2Envelop<Captcha> oauth2Envelop = new Oauth2Envelop<>("success", 200); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            HttpHeaders headers = new HttpHeaders(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            headers.set("Cache-Control", "no-store"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            headers.set("Pragma", "no-cache"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return new ResponseEntity<>(oauth2Envelop, headers, HttpStatus.OK); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //发送短信获取验证码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String captcha = wlyyRedisVerifyCodeService.getCodeNumber(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            int result =  zbSmsService.sendMessage(username,"您好,你的手机登录短信验证码是:"+captcha+",5分钟内有效。"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (0 == result) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                Captcha _captcha = new Captcha(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                _captcha.setCode(captcha); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                _captcha.setExpiresIn(300); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                wlyyRedisVerifyCodeService.store(client_id, username, captcha, 300); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                Oauth2Envelop<Captcha> oauth2Envelop = new Oauth2Envelop<>("captcha", 200, null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                HttpHeaders headers = new HttpHeaders(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                headers.set("Cache-Control", "no-store"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                headers.set("Pragma", "no-cache"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                return new ResponseEntity<>(oauth2Envelop, headers, HttpStatus.OK); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        throw new IllegalStateException("验证码发送失败!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @RequestMapping(value = "/oauth/sendCaptcha", method = RequestMethod.GET) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public ResponseEntity<Oauth2Envelop<Captcha>> sendCaptcha(@RequestParam Map<String, String> parameters) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String wxId = parameters.get("wxId"); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -615,6 +678,8 @@ public class WlyyLoginEndpoint extends AbstractEndpoint { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           return sendZSCaptcha(parameters); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else if ("xm_xzzx_wx".equals(wxId)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return sendXZCaptcha(parameters); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else if ("sd_tnzyy_wx".equals(wxId)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return sendZBCaptcha(parameters); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        throw new IllegalStateException("验证码发送失败"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 |