|
@ -1437,82 +1437,138 @@ public class WlyyLoginEndpoint extends AbstractEndpoint {
|
|
|
} else {
|
|
|
return ObjEnvelop.getError("验证码错误!");
|
|
|
}
|
|
|
if("xm_ykyy_wx".equalsIgnoreCase(wechatId)){
|
|
|
try {
|
|
|
List<BasePatientDO> basePatientDOS =basePatientDao.findByMobileAndDel(mobile,"1");
|
|
|
boolean localFlag = false;
|
|
|
boolean ykFlag = false;
|
|
|
String msg = "";
|
|
|
if (null!=basePatientDOS&&basePatientDOS.size()>0){
|
|
|
localFlag = true;
|
|
|
|
|
|
try {
|
|
|
List<BasePatientDO> basePatientDOS =basePatientDao.findByMobileAndDel(mobile,"1");
|
|
|
boolean localFlag = false;
|
|
|
boolean ykFlag = false;
|
|
|
String msg = "";
|
|
|
if (null!=basePatientDOS&&basePatientDOS.size()>0){
|
|
|
localFlag = true;
|
|
|
}
|
|
|
BasePatientDO basePatientDO = new BasePatientDO();
|
|
|
String r =ykyyService.getRegisterUser(mobile,pw,captcha,"a01522","xmijk","xmijk");
|
|
|
if (!StringUtils.isEmpty(r)){
|
|
|
JSONObject jsonObject = JSONObject.parseObject(r);
|
|
|
if (null!=jsonObject.get("code")&&"200".equalsIgnoreCase(jsonObject.get("code").toString())){
|
|
|
JSONObject jsonObject1 = JSONObject.parseObject(jsonObject.get("data").toString());
|
|
|
basePatientDO.setYktId(jsonObject1.getString("ID"));
|
|
|
}else if (null!=jsonObject.get("code")&&"199".equalsIgnoreCase(jsonObject.get("code").toString())){
|
|
|
msg = jsonObject.getString("msg");
|
|
|
ykFlag = true;
|
|
|
}
|
|
|
}
|
|
|
basePatientDO.setMobile(mobile);
|
|
|
String salt = UUID.randomUUID().toString().substring(0,5);
|
|
|
basePatientDO.setPassword(MD5.md5Hex(pw + "{" + salt + "}"));
|
|
|
basePatientDO.setSalt(salt);
|
|
|
basePatientDO.setDel("1");
|
|
|
basePatientDO.setEnabled(1);
|
|
|
basePatientDO.setLocked(0);
|
|
|
basePatientDO.setCreateTime(new Date());
|
|
|
basePatientDO.setUpdateTime(new Date());
|
|
|
|
|
|
BasePatientDO patientDO = basePatientDao.save(basePatientDO);
|
|
|
if (localFlag&&ykFlag){
|
|
|
return ObjEnvelop.getError("该手机号已经注册过");
|
|
|
}
|
|
|
|
|
|
}
|
|
|
BasePatientDO basePatientDO = new BasePatientDO();
|
|
|
String r =ykyyService.getRegisterUser(mobile,pw,captcha,"a01522","xmijk","xmijk");
|
|
|
if (!StringUtils.isEmpty(r)){
|
|
|
JSONObject jsonObject = JSONObject.parseObject(r);
|
|
|
if (null!=jsonObject.get("code")&&"200".equalsIgnoreCase(jsonObject.get("code").toString())){
|
|
|
JSONObject jsonObject1 = JSONObject.parseObject(jsonObject.get("data").toString());
|
|
|
basePatientDO.setYktId(jsonObject1.getString("ID"));
|
|
|
}else if (null!=jsonObject.get("code")&&"199".equalsIgnoreCase(jsonObject.get("code").toString())){
|
|
|
msg = jsonObject.getString("msg");
|
|
|
ykFlag = true;
|
|
|
ClientDetails authenticatedClient = clientDetailsService.loadClientByClientId(client_id);
|
|
|
|
|
|
Map<String, String> parameters = new HashedMap();
|
|
|
|
|
|
parameters.put("username",patientDO.getMobile());
|
|
|
parameters.put("grant_type", "ihealthCode");
|
|
|
|
|
|
TokenRequest tokenRequest = oAuth2RequestFactory.createTokenRequest(parameters, authenticatedClient);
|
|
|
if (authenticatedClient != null) {
|
|
|
oAuth2RequestValidator.validateScope(tokenRequest, authenticatedClient);
|
|
|
}
|
|
|
OAuth2AccessToken token = getTokenGranter().grant(tokenRequest.getGrantType(), tokenRequest);
|
|
|
if (token == null) {
|
|
|
throw new UnsupportedGrantTypeException("Unsupported grant type: " + tokenRequest.getGrantType());
|
|
|
}
|
|
|
}
|
|
|
basePatientDO.setMobile(mobile);
|
|
|
String salt = UUID.randomUUID().toString().substring(0,5);
|
|
|
basePatientDO.setPassword(MD5.md5Hex(pw + "{" + salt + "}"));
|
|
|
basePatientDO.setSalt(salt);
|
|
|
basePatientDO.setDel("1");
|
|
|
basePatientDO.setEnabled(1);
|
|
|
basePatientDO.setLocked(0);
|
|
|
basePatientDO.setCreateTime(new Date());
|
|
|
basePatientDO.setUpdateTime(new Date());
|
|
|
|
|
|
BasePatientDO patientDO = basePatientDao.save(basePatientDO);
|
|
|
if (localFlag&&ykFlag){
|
|
|
return ObjEnvelop.getError("该手机号已经注册过");
|
|
|
}
|
|
|
|
|
|
ClientDetails authenticatedClient = clientDetailsService.loadClientByClientId(client_id);
|
|
|
WlyyUserSimple wlyyUserSimple = userDetailsService.authSuccess(parameters.get("username"));
|
|
|
wlyyUserSimple.setAccessToken(token.getValue());
|
|
|
wlyyUserSimple.setTokenType(token.getTokenType());
|
|
|
wlyyUserSimple.setExpiresIn(token.getExpiresIn());
|
|
|
wlyyUserSimple.setRefreshToken(token.getRefreshToken().getValue());
|
|
|
wlyyUserSimple.setUser(parameters.get("username"));
|
|
|
String loginType = parameters.get("login_type");
|
|
|
|
|
|
Map<String, String> parameters = new HashedMap();
|
|
|
BaseLoginLogDO baseLoginLogDO = new BaseLoginLogDO();
|
|
|
userDetailsService.setRolePhth(loginType, token, wlyyUserSimple.getId(), redisTemplate);
|
|
|
|
|
|
parameters.put("username",patientDO.getMobile());
|
|
|
parameters.put("grant_type", "ihealthCode");
|
|
|
baseLoginLogDO.setUserId(wlyyUserSimple.getId());
|
|
|
baseLoginLogDO.setCreateTime(new Date());
|
|
|
String userAgent = JSONObject.toJSONString(wlyyUserSimple);
|
|
|
baseLoginLogDO.setUserAgent(userAgent);
|
|
|
baseLoginLogDO.setLoginType(loginType);
|
|
|
baseLoginLogService.save(baseLoginLogDO);
|
|
|
|
|
|
TokenRequest tokenRequest = oAuth2RequestFactory.createTokenRequest(parameters, authenticatedClient);
|
|
|
if (authenticatedClient != null) {
|
|
|
oAuth2RequestValidator.validateScope(tokenRequest, authenticatedClient);
|
|
|
}
|
|
|
OAuth2AccessToken token = getTokenGranter().grant(tokenRequest.getGrantType(), tokenRequest);
|
|
|
if (token == null) {
|
|
|
throw new UnsupportedGrantTypeException("Unsupported grant type: " + tokenRequest.getGrantType());
|
|
|
return ObjEnvelop.getSuccess("success",wlyyUserSimple);
|
|
|
|
|
|
}catch (Exception e){
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
}else {
|
|
|
try {
|
|
|
|
|
|
Map<String,Object> rs = registerService.registerPatient(name,mobile,idcard,ssc,pw,openid,wxId,captcha);
|
|
|
String code = rs.get("code").toString();
|
|
|
if(!"1".equals(code)){
|
|
|
ObjEnvelop objEnvelop = new ObjEnvelop();
|
|
|
objEnvelop.setObj(rs);
|
|
|
objEnvelop.setStatus(-1);
|
|
|
objEnvelop.setMessage(rs.get("mes")+"");
|
|
|
return objEnvelop;
|
|
|
}
|
|
|
|
|
|
WlyyUserSimple wlyyUserSimple = userDetailsService.authSuccess(parameters.get("username"));
|
|
|
wlyyUserSimple.setAccessToken(token.getValue());
|
|
|
wlyyUserSimple.setTokenType(token.getTokenType());
|
|
|
wlyyUserSimple.setExpiresIn(token.getExpiresIn());
|
|
|
wlyyUserSimple.setRefreshToken(token.getRefreshToken().getValue());
|
|
|
wlyyUserSimple.setUser(parameters.get("username"));
|
|
|
String loginType = parameters.get("login_type");
|
|
|
BasePatientDO patientDO = (BasePatientDO)rs.get("patient");
|
|
|
|
|
|
BaseLoginLogDO baseLoginLogDO = new BaseLoginLogDO();
|
|
|
userDetailsService.setRolePhth(loginType, token, wlyyUserSimple.getId(), redisTemplate);
|
|
|
ClientDetails authenticatedClient = clientDetailsService.loadClientByClientId(client_id);
|
|
|
|
|
|
baseLoginLogDO.setUserId(wlyyUserSimple.getId());
|
|
|
baseLoginLogDO.setCreateTime(new Date());
|
|
|
String userAgent = JSONObject.toJSONString(wlyyUserSimple);
|
|
|
baseLoginLogDO.setUserAgent(userAgent);
|
|
|
baseLoginLogDO.setLoginType(loginType);
|
|
|
baseLoginLogService.save(baseLoginLogDO);
|
|
|
Map<String, String> parameters = new HashedMap();
|
|
|
|
|
|
return ObjEnvelop.getSuccess("success",wlyyUserSimple);
|
|
|
parameters.put("username",patientDO.getIdcard());
|
|
|
parameters.put("grant_type", "ihealthCode");
|
|
|
|
|
|
}catch (Exception e){
|
|
|
e.printStackTrace();
|
|
|
TokenRequest tokenRequest = oAuth2RequestFactory.createTokenRequest(parameters, authenticatedClient);
|
|
|
if (authenticatedClient != null) {
|
|
|
oAuth2RequestValidator.validateScope(tokenRequest, authenticatedClient);
|
|
|
}
|
|
|
OAuth2AccessToken token = getTokenGranter().grant(tokenRequest.getGrantType(), tokenRequest);
|
|
|
if (token == null) {
|
|
|
throw new UnsupportedGrantTypeException("Unsupported grant type: " + tokenRequest.getGrantType());
|
|
|
}
|
|
|
|
|
|
WlyyUserSimple wlyyUserSimple = userDetailsService.authSuccess(parameters.get("username"));
|
|
|
wlyyUserSimple.setAccessToken(token.getValue());
|
|
|
wlyyUserSimple.setTokenType(token.getTokenType());
|
|
|
wlyyUserSimple.setExpiresIn(token.getExpiresIn());
|
|
|
wlyyUserSimple.setRefreshToken(token.getRefreshToken().getValue());
|
|
|
wlyyUserSimple.setUser(parameters.get("username"));
|
|
|
String loginType = parameters.get("login_type");
|
|
|
|
|
|
BaseLoginLogDO baseLoginLogDO = new BaseLoginLogDO();
|
|
|
userDetailsService.setRolePhth(loginType, token, wlyyUserSimple.getId(), redisTemplate);
|
|
|
|
|
|
baseLoginLogDO.setUserId(wlyyUserSimple.getId());
|
|
|
baseLoginLogDO.setCreateTime(new Date());
|
|
|
String userAgent = JSONObject.toJSONString(wlyyUserSimple);
|
|
|
baseLoginLogDO.setUserAgent(userAgent);
|
|
|
baseLoginLogDO.setLoginType(loginType);
|
|
|
baseLoginLogService.save(baseLoginLogDO);
|
|
|
|
|
|
return ObjEnvelop.getSuccess("success",wlyyUserSimple);
|
|
|
|
|
|
}catch (Exception e){
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
return ObjEnvelop.getError("登录失败!");
|
|
|
}
|
|
|
|