|  | @ -118,10 +118,12 @@ public class WlyyUserDetailsService extends JdbcDaoSupport implements UserDetail
 | 
	
		
			
				|  |  |         } else if ("2".equals(loginType)) {//2.为医生账号
 | 
	
		
			
				|  |  |             //解除锁定
 | 
	
		
			
				|  |  |             this.getJdbcTemplate().update("update base_doctor d set d.login_failure_count = 0, d.locked = 0 where d.mobile = ? or d.idcard = ?", username, username);
 | 
	
		
			
				|  |  |         } else if ("3".equals(loginType) || "4".equals(loginType)) { //3.患者账号
 | 
	
		
			
				|  |  |         } else if ("3".equals(loginType)) { //3.患者账号
 | 
	
		
			
				|  |  |             //解除锁定
 | 
	
		
			
				|  |  |             this.getJdbcTemplate().update("update base_patient p set p.login_failure_count = 5, p.locked = 0 where p.mobile = ? or p.idcard = ?", username, username);
 | 
	
		
			
				|  |  |         } //...
 | 
	
		
			
				|  |  |         } else if("4".equals(loginType)){
 | 
	
		
			
				|  |  |             this.getJdbcTemplate().update("update base_patient p set p.login_failure_count = 5, p.locked = 0 where p.mobile = ? or p.idcard = ?", username, getIdcard());
 | 
	
		
			
				|  |  |         }//...
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
	
		
			
				|  | @ -155,98 +157,175 @@ public class WlyyUserDetailsService extends JdbcDaoSupport implements UserDetail
 | 
	
		
			
				|  |  |                 redisTemplate.delete(BespeakRegist + username);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             users = this.getJdbcTemplate().query(DEFAULT_PATIENT_DETAILS_STATEMENT, new BeanPropertyRowMapper(WlyyUserDetails.class), username, username);
 | 
	
		
			
				|  |  |             // 去i健康查询用户
 | 
	
		
			
				|  |  |             // 第三方同步居民,端查询用户
 | 
	
		
			
				|  |  |         }else if("4".equals(loginType)){
 | 
	
		
			
				|  |  |             users = this.getJdbcTemplate().query(DEFAULT_PATIENT_DETAILS_IDCARD_STATEMENT, new BeanPropertyRowMapper(WlyyUserDetails.class), getIdcard());
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             if ((null == users || users.size() == 0) && "4".equals(loginType)) {
 | 
	
		
			
				|  |  |                 List<NameValuePair> params = new ArrayList<>();
 | 
	
		
			
				|  |  |                 params.add(new BasicNameValuePair("clientId", getClientId()));
 | 
	
		
			
				|  |  |                 ClientDetails clientDetails = clientDetailsService.loadClientByClientId(getClientId());
 | 
	
		
			
				|  |  |                 params.add(new BasicNameValuePair("clientSecret", clientDetails.getClientSecret()));
 | 
	
		
			
				|  |  |                 params.add(new BasicNameValuePair("code", username));
 | 
	
		
			
				|  |  |                 params.add(new BasicNameValuePair("openid", getOpenid()));
 | 
	
		
			
				|  |  |                 String res = null;
 | 
	
		
			
				|  |  |                 try{
 | 
	
		
			
				|  |  |                     res = httpClientUtil.post(iHealthUserInfoUrl, params, "UTF-8");
 | 
	
		
			
				|  |  |                 }catch (Exception e){
 | 
	
		
			
				|  |  |                     logger.error("远程请求i健康用户信息异常:" + e.getMessage());
 | 
	
		
			
				|  |  |                     return users;
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 if(null == res){
 | 
	
		
			
				|  |  |                     return users;
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 JSONObject patient = JSONObject.parseObject(res);
 | 
	
		
			
				|  |  |                 if(patient.getInteger("status") == -1){
 | 
	
		
			
				|  |  |                     logger.error("去i健康查询用户信息失败:" + patient.getString("error"));
 | 
	
		
			
				|  |  |                     return users;
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 try {
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |                     String salt = randomString(5);
 | 
	
		
			
				|  |  |                     String idcard = patient.getString("idcard");
 | 
	
		
			
				|  |  |                     String pw = idcard.substring(idcard.length()-6);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |                     this.getJdbcTemplate().update(DEFAULT_PATIENT_INSERT_STATEMENT,
 | 
	
		
			
				|  |  |                             new Object[]{patient.getString("code"),
 | 
	
		
			
				|  |  |                                     patient.getString("photo"),
 | 
	
		
			
				|  |  |                                     patient.getString("idcard"),
 | 
	
		
			
				|  |  |                                     MD5.md5Hex(pw + "{" + salt + "}"),
 | 
	
		
			
				|  |  |                                     patient.getString("salt"),
 | 
	
		
			
				|  |  |                                     patient.getString("name"),
 | 
	
		
			
				|  |  |                                     patient.getDate("birthday"),
 | 
	
		
			
				|  |  |                                     patient.getInteger("sex"),
 | 
	
		
			
				|  |  |                                     patient.getString("mobile"),
 | 
	
		
			
				|  |  |                                     patient.getString("province"),
 | 
	
		
			
				|  |  |                                     patient.getString("provinceName"),
 | 
	
		
			
				|  |  |                                     patient.getString("city"),
 | 
	
		
			
				|  |  |                                     patient.getString("cityName"),
 | 
	
		
			
				|  |  |                                     patient.getString("town"),
 | 
	
		
			
				|  |  |                                     patient.getString("townName"),
 | 
	
		
			
				|  |  |                                     patient.getString("street"),
 | 
	
		
			
				|  |  |                                     patient.getString("streetName"),
 | 
	
		
			
				|  |  |                                     patient.getString("address"),
 | 
	
		
			
				|  |  |                                     1,
 | 
	
		
			
				|  |  |                                     0,
 | 
	
		
			
				|  |  |                                     1,
 | 
	
		
			
				|  |  |                                     0,
 | 
	
		
			
				|  |  |                                     new Date()
 | 
	
		
			
				|  |  |                             }
 | 
	
		
			
				|  |  |                     );
 | 
	
		
			
				|  |  |                 }catch (Exception e){
 | 
	
		
			
				|  |  |                     logger.error("将i健康居民数据同步到互联网医院居民表失败:" + e.getMessage());
 | 
	
		
			
				|  |  |                     return users;
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 try {
 | 
	
		
			
				|  |  |                     this.getJdbcTemplate().update(PATIENT_INSERT_WEHCAT,
 | 
	
		
			
				|  |  |                             new Object[]{
 | 
	
		
			
				|  |  |                                     UUID.randomUUID().toString(),
 | 
	
		
			
				|  |  |                                     getWechatId(),
 | 
	
		
			
				|  |  |                                     patient.getString("code"),
 | 
	
		
			
				|  |  |                                     getOpenid(),
 | 
	
		
			
				|  |  |                                     new Date()
 | 
	
		
			
				|  |  |                             }
 | 
	
		
			
				|  |  |                     );
 | 
	
		
			
				|  |  |                 }catch (Exception e){
 | 
	
		
			
				|  |  |                     logger.error("将i健康居民微信openid数据同步到互联网医院居民微信关联表失败:" + e.getMessage());
 | 
	
		
			
				|  |  |                     return users;
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             users = this.getJdbcTemplate().query(DEFAULT_PATIENT_DETAILS_STATEMENT, new BeanPropertyRowMapper(WlyyUserDetails.class),username,getIdcard());
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             if (null == users || users.size() == 0) {
 | 
	
		
			
				|  |  |                 //厦门I健康账号同步
 | 
	
		
			
				|  |  |                 if("xm_ihealth_wx".equals(getWechatId())){
 | 
	
		
			
				|  |  |                     List<NameValuePair> params = new ArrayList<>();
 | 
	
		
			
				|  |  |                     params.add(new BasicNameValuePair("clientId", getClientId()));
 | 
	
		
			
				|  |  |                     ClientDetails clientDetails = clientDetailsService.loadClientByClientId(getClientId());
 | 
	
		
			
				|  |  |                     params.add(new BasicNameValuePair("clientSecret", clientDetails.getClientSecret()));
 | 
	
		
			
				|  |  |                     params.add(new BasicNameValuePair("code", username));
 | 
	
		
			
				|  |  |                     params.add(new BasicNameValuePair("openid", getOpenid()));
 | 
	
		
			
				|  |  |                     String res = null;
 | 
	
		
			
				|  |  |                     try{
 | 
	
		
			
				|  |  |                         res = httpClientUtil.post(getSynPath(getWechatId()), params, "UTF-8");
 | 
	
		
			
				|  |  |                     }catch (Exception e){
 | 
	
		
			
				|  |  |                         logger.error("远程请求i健康用户信息异常:" + e.getMessage());
 | 
	
		
			
				|  |  |                         return users;
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  |                     if(null == res){
 | 
	
		
			
				|  |  |                         return users;
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  |                     JSONObject patient = JSONObject.parseObject(res);
 | 
	
		
			
				|  |  |                     if(patient.getInteger("status") == -1){
 | 
	
		
			
				|  |  |                         logger.error("去i健康查询用户信息失败:" + patient.getString("error"));
 | 
	
		
			
				|  |  |                         return users;
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  |                     try {
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |                         String salt = randomString(5);
 | 
	
		
			
				|  |  |                         String idcard = patient.getString("idcard");
 | 
	
		
			
				|  |  |                         String pw = idcard.substring(idcard.length()-6);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |                         this.getJdbcTemplate().update(DEFAULT_PATIENT_INSERT_STATEMENT,
 | 
	
		
			
				|  |  |                                 new Object[]{patient.getString("code"),
 | 
	
		
			
				|  |  |                                         patient.getString("photo"),
 | 
	
		
			
				|  |  |                                         patient.getString("idcard"),
 | 
	
		
			
				|  |  |                                         MD5.md5Hex(pw + "{" + salt + "}"),
 | 
	
		
			
				|  |  |                                         salt,
 | 
	
		
			
				|  |  |                                         patient.getString("name"),
 | 
	
		
			
				|  |  |                                         patient.getDate("birthday"),
 | 
	
		
			
				|  |  |                                         patient.getInteger("sex"),
 | 
	
		
			
				|  |  |                                         patient.getString("mobile"),
 | 
	
		
			
				|  |  |                                         patient.getString("province"),
 | 
	
		
			
				|  |  |                                         patient.getString("provinceName"),
 | 
	
		
			
				|  |  |                                         patient.getString("city"),
 | 
	
		
			
				|  |  |                                         patient.getString("cityName"),
 | 
	
		
			
				|  |  |                                         patient.getString("town"),
 | 
	
		
			
				|  |  |                                         patient.getString("townName"),
 | 
	
		
			
				|  |  |                                         patient.getString("street"),
 | 
	
		
			
				|  |  |                                         patient.getString("streetName"),
 | 
	
		
			
				|  |  |                                         patient.getString("address"),
 | 
	
		
			
				|  |  |                                         1,
 | 
	
		
			
				|  |  |                                         0,
 | 
	
		
			
				|  |  |                                         1,
 | 
	
		
			
				|  |  |                                         0,
 | 
	
		
			
				|  |  |                                         new Date()
 | 
	
		
			
				|  |  |                                 }
 | 
	
		
			
				|  |  |                         );
 | 
	
		
			
				|  |  |                     }catch (Exception e){
 | 
	
		
			
				|  |  |                         logger.error("将i健康居民数据同步到互联网医院居民表失败:" + e.getMessage());
 | 
	
		
			
				|  |  |                         return users;
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  |                     try {
 | 
	
		
			
				|  |  |                         this.getJdbcTemplate().update(PATIENT_INSERT_WEHCAT,
 | 
	
		
			
				|  |  |                                 new Object[]{
 | 
	
		
			
				|  |  |                                         UUID.randomUUID().toString(),
 | 
	
		
			
				|  |  |                                         getWechatId(),
 | 
	
		
			
				|  |  |                                         patient.getString("code"),
 | 
	
		
			
				|  |  |                                         getOpenid(),
 | 
	
		
			
				|  |  |                                         new Date()
 | 
	
		
			
				|  |  |                                 }
 | 
	
		
			
				|  |  |                         );
 | 
	
		
			
				|  |  |                     }catch (Exception e){
 | 
	
		
			
				|  |  |                         logger.error("将i健康居民微信openid数据同步到互联网医院居民微信关联表失败:" + e.getMessage());
 | 
	
		
			
				|  |  |                         return users;
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |                     WlyyUserDetails user = new WlyyUserDetails();
 | 
	
		
			
				|  |  |                     user.setName(patient.getString("name"));
 | 
	
		
			
				|  |  |                     user.setPassword(patient.getString("password"));
 | 
	
		
			
				|  |  |                     if(patient.getInteger("sex") == 1){
 | 
	
		
			
				|  |  |                         user.setGender(WlyyUserDetails.Gender.male);
 | 
	
		
			
				|  |  |                     }else if(patient.getInteger("sex") == 2){
 | 
	
		
			
				|  |  |                         user.setGender(WlyyUserDetails.Gender.female);
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  |                     user.setId(username);
 | 
	
		
			
				|  |  |                     user.setIdcard(patient.getString("idcard"));
 | 
	
		
			
				|  |  |                     user.setMobile(patient.getString("mobile"));
 | 
	
		
			
				|  |  |                     user.setEnabled(true);
 | 
	
		
			
				|  |  |                     user.setLocked(false);
 | 
	
		
			
				|  |  |                     user.setLockedDate(null);
 | 
	
		
			
				|  |  |                     users.add(user);
 | 
	
		
			
				|  |  |                 }else if("xm_zsyy_wx".equals(getWechatId())){
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |                     JSONObject jsonObject=new JSONObject();
 | 
	
		
			
				|  |  |                     jsonObject.put("openId",getOpenid());
 | 
	
		
			
				|  |  |                     String res = null;
 | 
	
		
			
				|  |  |                     try{
 | 
	
		
			
				|  |  |                         res = httpClientUtil.sendPost(getSynPath("xm_zsyy_wx"), jsonObject.toString());
 | 
	
		
			
				|  |  |                     }catch (Exception e){
 | 
	
		
			
				|  |  |                         logger.error("远程请求中山医院用户信息异常:" + e.getMessage());
 | 
	
		
			
				|  |  |                         return users;
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  |                     if(null == res){
 | 
	
		
			
				|  |  |                         return users;
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |                     JSONObject object1 = JSONObject.parseObject(res);
 | 
	
		
			
				|  |  |                     if (null != object1&&null!=object1.get("status") && "200".equals(object1.get("status").toString())) {
 | 
	
		
			
				|  |  |                         JSONObject patient = object1.getJSONObject("userinfo");
 | 
	
		
			
				|  |  |                         String salt = randomString(5);
 | 
	
		
			
				|  |  |                         String mobile = patient.getString("mobile");
 | 
	
		
			
				|  |  |                         String pw = mobile.substring(mobile.length()-6);
 | 
	
		
			
				|  |  |                         try {
 | 
	
		
			
				|  |  |                             this.getJdbcTemplate().update(DEFAULT_PATIENT_INSERT_STATEMENT,
 | 
	
		
			
				|  |  |                                     new Object[]{patient.getString("id"),
 | 
	
		
			
				|  |  |                                             null,
 | 
	
		
			
				|  |  |                                             patient.getString("idcard"),
 | 
	
		
			
				|  |  |                                             MD5.md5Hex(pw + "{" + salt + "}"),
 | 
	
		
			
				|  |  |                                             salt,
 | 
	
		
			
				|  |  |                                             patient.getString("name"),
 | 
	
		
			
				|  |  |                                             patient.getDate("birthday"),
 | 
	
		
			
				|  |  |                                             patient.getInteger("sex"),
 | 
	
		
			
				|  |  |                                             mobile,
 | 
	
		
			
				|  |  |                                             null,
 | 
	
		
			
				|  |  |                                             null,
 | 
	
		
			
				|  |  |                                             null,
 | 
	
		
			
				|  |  |                                             null,
 | 
	
		
			
				|  |  |                                             null,
 | 
	
		
			
				|  |  |                                             null,
 | 
	
		
			
				|  |  |                                             null,
 | 
	
		
			
				|  |  |                                             null,
 | 
	
		
			
				|  |  |                                             null,
 | 
	
		
			
				|  |  |                                             1,
 | 
	
		
			
				|  |  |                                             0,
 | 
	
		
			
				|  |  |                                             1,
 | 
	
		
			
				|  |  |                                             0,
 | 
	
		
			
				|  |  |                                             new Date()
 | 
	
		
			
				|  |  |                                     }
 | 
	
		
			
				|  |  |                             );
 | 
	
		
			
				|  |  |                         }catch (Exception e){
 | 
	
		
			
				|  |  |                             logger.error("将中山医院居民数据同步到互联网医院居民表失败:" + e.getMessage());
 | 
	
		
			
				|  |  |                             return users;
 | 
	
		
			
				|  |  |                         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |                         WlyyUserDetails user = new WlyyUserDetails();
 | 
	
		
			
				|  |  |                         user.setName(patient.getString("name"));
 | 
	
		
			
				|  |  |                         user.setPassword(MD5.md5Hex(pw + "{" + salt + "}"));
 | 
	
		
			
				|  |  |                         if(patient.getInteger("sex") == 1){
 | 
	
		
			
				|  |  |                             user.setGender(WlyyUserDetails.Gender.male);
 | 
	
		
			
				|  |  |                         }else if(patient.getInteger("sex") == 2){
 | 
	
		
			
				|  |  |                             user.setGender(WlyyUserDetails.Gender.female);
 | 
	
		
			
				|  |  |                         }
 | 
	
		
			
				|  |  |                         user.setId(patient.getString("id"));
 | 
	
		
			
				|  |  |                         user.setIdcard(patient.getString("idcard"));
 | 
	
		
			
				|  |  |                         user.setMobile(patient.getString("mobile"));
 | 
	
		
			
				|  |  |                         user.setEnabled(true);
 | 
	
		
			
				|  |  |                         user.setLocked(false);
 | 
	
		
			
				|  |  |                         user.setLockedDate(null);
 | 
	
		
			
				|  |  |                         users.add(user);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |                     }else{
 | 
	
		
			
				|  |  |                         logger.error("远程请求中山医院用户信息异常:" + res.toString());
 | 
	
		
			
				|  |  |                         return users;
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |                 WlyyUserDetails user = new WlyyUserDetails();
 | 
	
		
			
				|  |  |                 user.setName(patient.getString("name"));
 | 
	
		
			
				|  |  |                 user.setPassword(patient.getString("password"));
 | 
	
		
			
				|  |  |                 if(patient.getInteger("sex") == 1){
 | 
	
		
			
				|  |  |                     user.setGender(WlyyUserDetails.Gender.male);
 | 
	
		
			
				|  |  |                 }else if(patient.getInteger("sex") == 2){
 | 
	
		
			
				|  |  |                     user.setGender(WlyyUserDetails.Gender.female);
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 user.setId(username);
 | 
	
		
			
				|  |  |                 user.setIdcard(patient.getString("idcard"));
 | 
	
		
			
				|  |  |                 user.setMobile(patient.getString("mobile"));
 | 
	
		
			
				|  |  |                 user.setEnabled(true);
 | 
	
		
			
				|  |  |                 user.setLocked(false);
 | 
	
		
			
				|  |  |                 user.setLockedDate(null);
 | 
	
		
			
				|  |  |                 users.add(user);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         return users;
 | 
	
	
		
			
				|  | @ -313,6 +392,8 @@ public class WlyyUserDetailsService extends JdbcDaoSupport implements UserDetail
 | 
	
		
			
				|  |  |             result = this.getJdbcTemplate().queryForMap("select d.login_failure_count,d.last_login_failure_time from base_doctor d where d.mobile = ? or d.idcard = ?", username, username);
 | 
	
		
			
				|  |  |         } else if ("3".equals(loginType)) { //3.患者账号
 | 
	
		
			
				|  |  |             result = this.getJdbcTemplate().queryForMap("select p.login_failure_count,p.last_login_failure_time from base_patient p where p.mobile = ? or p.idcard = ?", username, username);
 | 
	
		
			
				|  |  |         } else if ("4".equals(loginType)) { //4.第三方患者账号
 | 
	
		
			
				|  |  |             result = this.getJdbcTemplate().queryForMap("select p.login_failure_count,p.last_login_failure_time from base_patient p where p.mobile = ? or p.idcard = ?", username, getIdcard());
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         return result;
 | 
	
		
			
				|  |  |     }
 | 
	
	
		
			
				|  | @ -333,7 +414,10 @@ public class WlyyUserDetailsService extends JdbcDaoSupport implements UserDetail
 | 
	
		
			
				|  |  |         } else if ("3".equals(loginType)) { //3.患者账号
 | 
	
		
			
				|  |  |             //账号锁定
 | 
	
		
			
				|  |  |             this.getJdbcTemplate().update("update base_patient p set p.login_failure_count = 5, p.locked = 1, p.locked_date = ?  where p.mobile = ? or p.idcard = ?", new Date(), username, username);
 | 
	
		
			
				|  |  |         } //...
 | 
	
		
			
				|  |  |         }else if ("4".equals(loginType)) { //3.同步的患者账号
 | 
	
		
			
				|  |  |             //账号锁定
 | 
	
		
			
				|  |  |             this.getJdbcTemplate().update("update base_patient p set p.login_failure_count = 5, p.locked = 1, p.locked_date = ?  where p.mobile = ? or p.idcard = ?", new Date(), username, getIdcard());
 | 
	
		
			
				|  |  |         }  //...
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
	
		
			
				|  | @ -353,6 +437,9 @@ public class WlyyUserDetailsService extends JdbcDaoSupport implements UserDetail
 | 
	
		
			
				|  |  |         } else if ("3".equals(loginType)) { //3.患者账号
 | 
	
		
			
				|  |  |             //更新失败次数
 | 
	
		
			
				|  |  |             this.getJdbcTemplate().update("update base_patient p set p.login_failure_count = ? ,p.last_login_failure_time = ? where p.mobile = ? or p.idcard = ?", loginFailureCount, new Date(), username, username);
 | 
	
		
			
				|  |  |         } else if ("4".equals(loginType)) { //4.第三方同步患者账号
 | 
	
		
			
				|  |  |             //更新失败次数
 | 
	
		
			
				|  |  |             this.getJdbcTemplate().update("update base_patient p set p.login_failure_count = ? ,p.last_login_failure_time = ? where p.mobile = ? or p.idcard = ?", loginFailureCount, new Date(), username, getIdcard());
 | 
	
		
			
				|  |  |         } //...
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
	
		
			
				|  | @ -392,7 +479,7 @@ public class WlyyUserDetailsService extends JdbcDaoSupport implements UserDetail
 | 
	
		
			
				|  |  |             users = this.getJdbcTemplate().query(DEFAULT_PATIENT_DETAILS_STATEMENT, new BeanPropertyRowMapper(WlyyUserSimple.class), username, username);
 | 
	
		
			
				|  |  |         } else if("4".equals(loginType)){
 | 
	
		
			
				|  |  |             //更新登录时间
 | 
	
		
			
				|  |  |             this.getJdbcTemplate().update("update base_patient p set p.login_failure_count = 0, p.login_date = ? where p.mobile = ? or p.idcard = ?", new Date(), username, username);
 | 
	
		
			
				|  |  |             this.getJdbcTemplate().update("update base_patient p set p.login_failure_count = 0, p.login_date = ? where p.mobile = ? or p.idcard = ?", new Date(), username, getIdcard());
 | 
	
		
			
				|  |  |             users = this.getJdbcTemplate().query(DEFAULT_PATIENT_DETAILS_IDCARD_STATEMENT, new BeanPropertyRowMapper(WlyyUserSimple.class), getIdcard());
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
	
		
			
				|  | @ -485,6 +572,19 @@ public class WlyyUserDetailsService extends JdbcDaoSupport implements UserDetail
 | 
	
		
			
				|  |  |         this.getJdbcTemplate().update("update base_patient p set p.openid = ? where p.id= ?", openid, userId);
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     public String getSynPath(String wxId){
 | 
	
		
			
				|  |  |         String sql = "SELECT w.syn_path AS sysPath FROM wx_wechat w WHERE w.id ='"+wxId+"'";
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         List<Map<String,Object>> list = this.getJdbcTemplate().queryForList(sql);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         if(list!=null&&list.size()>0){
 | 
	
		
			
				|  |  |             return (String)list.get(0).get("sysPath");
 | 
	
		
			
				|  |  |         }else{
 | 
	
		
			
				|  |  |             logger.error("getSynPath error");
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         return "";
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     public String randomString(int length) {
 | 
	
		
			
				|  |  |         String str = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
 | 
	
		
			
				|  |  |         StringBuffer buffer = new StringBuffer();
 |