|
|
@ -3467,26 +3467,27 @@ public class WlyyLoginEndpoint extends AbstractEndpoint {
|
|
|
patientDO.setUserId(family.getString("patientAccountId"));
|
|
|
patientDO.setIdcard(family.getString("idNo"));
|
|
|
String idcard1 = family.getString("idNo");
|
|
|
Integer age1 = IdCardUtil.getAgeForIdcard(idcard1);
|
|
|
String sex1 = IdCardUtil.getSexForIdcard_new(idcard1);
|
|
|
|
|
|
Integer sexx1 = null;
|
|
|
if (org.apache.commons.lang3.StringUtils.isNoneBlank(sex1)){
|
|
|
sexx1 = Integer.parseInt(sex1);
|
|
|
}
|
|
|
String birthDay1 = IdCardUtil.getBirthdayForIdcardStr(idcard1);
|
|
|
Date birthday1 = null;
|
|
|
if (org.apache.commons.lang3.StringUtils.isNoneBlank(birthDay1)){
|
|
|
birthday1 = DateUtil.strToDate(birthDay1+" 00:00:00");;
|
|
|
if (org.apache.commons.lang3.StringUtils.isNoneBlank(idcard1)){
|
|
|
Integer age1 = IdCardUtil.getAgeForIdcard(idcard1);
|
|
|
String sex1 = IdCardUtil.getSexForIdcard_new(idcard1);
|
|
|
Integer sexx1 = null;
|
|
|
if (org.apache.commons.lang3.StringUtils.isNoneBlank(sex1)){
|
|
|
sexx1 = Integer.parseInt(sex1);
|
|
|
}
|
|
|
String birthDay1 = IdCardUtil.getBirthdayForIdcardStr(idcard1);
|
|
|
Date birthday1 = null;
|
|
|
if (org.apache.commons.lang3.StringUtils.isNoneBlank(birthDay1)){
|
|
|
birthday1 = DateUtil.strToDate(birthDay1+" 00:00:00");;
|
|
|
}
|
|
|
patientDO.setAge(age1);
|
|
|
patientDO.setBirthday(birthday1);
|
|
|
patientDO.setSex(sexx1);
|
|
|
String salt1 = UUID.randomUUID().toString().substring(0,5);
|
|
|
String pw1 = idcard1.substring(idcard1.length()-6,idcard1.length());
|
|
|
patientDO.setPassword(MD5.md5Hex(pw1 + "{" + salt1 + "}"));
|
|
|
patientDO.setSalt(salt1);
|
|
|
}
|
|
|
patientDO.setAge(age1);
|
|
|
patientDO.setBirthday(birthday1);
|
|
|
patientDO.setSex(sexx1);
|
|
|
patientDO.setMobile(familyMobile);
|
|
|
String salt1 = UUID.randomUUID().toString().substring(0,5);
|
|
|
String pw1 = idcard1.substring(idcard1.length()-6,idcard1.length());
|
|
|
patientDO.setPassword(MD5.md5Hex(pw1 + "{" + salt1 + "}"));
|
|
|
patientDO.setSalt(salt1);
|
|
|
patientDO.setLocked(0);
|
|
|
patientDO.setEnabled(1);
|
|
|
patientDO.setPatientStatus("1");
|
|
|
@ -3495,29 +3496,27 @@ public class WlyyLoginEndpoint extends AbstractEndpoint {
|
|
|
}else {
|
|
|
patientDO=patientDOS.get(0);
|
|
|
}
|
|
|
oauthYlzConfigService.deleteCardNo(patientDO.getId());
|
|
|
JSONArray cardList = family.getJSONArray("cardList");
|
|
|
if (cardList!=null&&cardList.size()!=0){
|
|
|
for (int j=0;j<cardList.size();j++){
|
|
|
JSONObject card = cardList.getJSONObject(j);
|
|
|
String cardNo = card.getString("cardNo");
|
|
|
PatientMedicareCardDO patientMedicareCardDO = patientMedicareCardDao.findByCodeAndPatientCode(cardNo,patientDO.getId()); if (patientMedicareCardDO==null){
|
|
|
patientMedicareCardDO = new PatientMedicareCardDO();
|
|
|
patientMedicareCardDO.setCode(cardNo);
|
|
|
patientMedicareCardDO.setDel("1");
|
|
|
patientMedicareCardDO.setPatientCode(patientDO.getId());
|
|
|
patientMedicareCardDO.setParentType("A");
|
|
|
if (card.getString("cardType").equalsIgnoreCase("1")){
|
|
|
patientMedicareCardDO.setType("A_01");
|
|
|
}else if (card.getString("cardType").equalsIgnoreCase("2")){
|
|
|
patientMedicareCardDO.setType("A_02");
|
|
|
}else if (card.getString("cardType").equalsIgnoreCase("3")){
|
|
|
patientMedicareCardDO.setType("A_03");
|
|
|
}else if (card.getString("cardType").equalsIgnoreCase("9")){
|
|
|
patientMedicareCardDO.setType("A_09");
|
|
|
}
|
|
|
patientMedicareCardDao.save(patientMedicareCardDO);
|
|
|
|
|
|
PatientMedicareCardDO patientMedicareCardDO = new PatientMedicareCardDO();
|
|
|
patientMedicareCardDO.setCode(cardNo);
|
|
|
patientMedicareCardDO.setDel("1");
|
|
|
patientMedicareCardDO.setPatientCode(patientDO.getId());
|
|
|
patientMedicareCardDO.setParentType("A");
|
|
|
if (card.getString("cardType").equalsIgnoreCase("1")){
|
|
|
patientMedicareCardDO.setType("A_01");
|
|
|
}else if (card.getString("cardType").equalsIgnoreCase("2")){
|
|
|
patientMedicareCardDO.setType("A_02");
|
|
|
}else if (card.getString("cardType").equalsIgnoreCase("3")){
|
|
|
patientMedicareCardDO.setType("A_03");
|
|
|
}else if (card.getString("cardType").equalsIgnoreCase("9")){
|
|
|
patientMedicareCardDO.setType("A_09");
|
|
|
}
|
|
|
patientMedicareCardDao.save(patientMedicareCardDO);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@ -3567,21 +3566,23 @@ public class WlyyLoginEndpoint extends AbstractEndpoint {
|
|
|
patientDO.setUserId(family.getString("patientAccountId"));
|
|
|
patientDO.setIdcard(family.getString("idNo"));
|
|
|
String idcard1 = family.getString("idNo");
|
|
|
Integer age1 = IdCardUtil.getAgeForIdcard(idcard1);
|
|
|
String sex1 = IdCardUtil.getSexForIdcard_new(idcard1);
|
|
|
|
|
|
Integer sexx1 = null;
|
|
|
if (org.apache.commons.lang3.StringUtils.isNoneBlank(sex1)){
|
|
|
sexx1 = Integer.parseInt(sex1);
|
|
|
}
|
|
|
String birthDay1 = IdCardUtil.getBirthdayForIdcardStr(idcard1);
|
|
|
Date birthday1 = null;
|
|
|
if (org.apache.commons.lang3.StringUtils.isNoneBlank(birthDay1)){
|
|
|
birthday1 = DateUtil.strToDate(birthDay1+" 00:00:00");;
|
|
|
if (org.apache.commons.lang3.StringUtils.isNoneBlank(idcard1)){
|
|
|
Integer age1 = IdCardUtil.getAgeForIdcard(idcard1);
|
|
|
String sex1 = IdCardUtil.getSexForIdcard_new(idcard1);
|
|
|
Integer sexx1 = null;
|
|
|
if (org.apache.commons.lang3.StringUtils.isNoneBlank(sex1)){
|
|
|
sexx1 = Integer.parseInt(sex1);
|
|
|
}
|
|
|
String birthDay1 = IdCardUtil.getBirthdayForIdcardStr(idcard1);
|
|
|
Date birthday1 = null;
|
|
|
if (org.apache.commons.lang3.StringUtils.isNoneBlank(birthDay1)){
|
|
|
birthday1 = DateUtil.strToDate(birthDay1+" 00:00:00");;
|
|
|
}
|
|
|
patientDO.setAge(age1);
|
|
|
patientDO.setBirthday(birthday1);
|
|
|
patientDO.setSex(sexx1);
|
|
|
}
|
|
|
patientDO.setAge(age1);
|
|
|
patientDO.setBirthday(birthday1);
|
|
|
patientDO.setSex(sexx1);
|
|
|
|
|
|
patientDO.setMobile(familyMobile);
|
|
|
String salt1 = UUID.randomUUID().toString().substring(0,5);
|
|
|
String pw1 = idcard1.substring(idcard1.length()-6,idcard1.length());
|
|
|
@ -3595,30 +3596,27 @@ public class WlyyLoginEndpoint extends AbstractEndpoint {
|
|
|
}else {
|
|
|
patientDO=patientDOS.get(0);
|
|
|
}
|
|
|
oauthYlzConfigService.deleteCardNo(patientDO.getId());
|
|
|
JSONArray cardList = family.getJSONArray("cardList");
|
|
|
if (cardList!=null&&cardList.size()!=0){
|
|
|
for (int j=0;j<cardList.size();j++){
|
|
|
JSONObject card = cardList.getJSONObject(j);
|
|
|
String cardNo = card.getString("cardNo");
|
|
|
PatientMedicareCardDO patientMedicareCardDO = patientMedicareCardDao.findByCodeAndPatientCode(cardNo,patientDO.getId());
|
|
|
if (patientMedicareCardDO==null){
|
|
|
patientMedicareCardDO = new PatientMedicareCardDO();
|
|
|
patientMedicareCardDO.setCode(cardNo);
|
|
|
patientMedicareCardDO.setDel("1");
|
|
|
patientMedicareCardDO.setPatientCode(patientDO.getId());
|
|
|
patientMedicareCardDO.setParentType("A");
|
|
|
if (card.getString("cardType").equalsIgnoreCase("1")){
|
|
|
patientMedicareCardDO.setType("A_01");
|
|
|
}else if (card.getString("cardType").equalsIgnoreCase("2")){
|
|
|
patientMedicareCardDO.setType("A_02");
|
|
|
}else if (card.getString("cardType").equalsIgnoreCase("3")){
|
|
|
patientMedicareCardDO.setType("A_03");
|
|
|
}else if (card.getString("cardType").equalsIgnoreCase("9")){
|
|
|
patientMedicareCardDO.setType("A_09");
|
|
|
}
|
|
|
patientMedicareCardDao.save(patientMedicareCardDO);
|
|
|
|
|
|
PatientMedicareCardDO patientMedicareCardDO = new PatientMedicareCardDO();
|
|
|
patientMedicareCardDO.setCode(cardNo);
|
|
|
patientMedicareCardDO.setDel("1");
|
|
|
patientMedicareCardDO.setPatientCode(patientDO.getId());
|
|
|
patientMedicareCardDO.setParentType("A");
|
|
|
if (card.getString("cardType").equalsIgnoreCase("1")){
|
|
|
patientMedicareCardDO.setType("A_01");
|
|
|
}else if (card.getString("cardType").equalsIgnoreCase("2")){
|
|
|
patientMedicareCardDO.setType("A_02");
|
|
|
}else if (card.getString("cardType").equalsIgnoreCase("3")){
|
|
|
patientMedicareCardDO.setType("A_03");
|
|
|
}else if (card.getString("cardType").equalsIgnoreCase("9")){
|
|
|
patientMedicareCardDO.setType("A_09");
|
|
|
}
|
|
|
patientMedicareCardDao.save(patientMedicareCardDO);
|
|
|
}
|
|
|
}
|
|
|
WlyyPatientFamilyMemberDO familyMemberDO = familyMemberDao.findFamilyMemberByYktFamilyId(basePatientDO.getId(),family.getString("patientAccountId"));
|
|
|
@ -4343,85 +4341,84 @@ public class WlyyLoginEndpoint extends AbstractEndpoint {
|
|
|
KeyPair keyPair = (KeyPair) httpSession.getAttribute("privateKey");
|
|
|
String password = com.yihu.jw.security.utils.RSAUtils.decryptBase64(parameters.get("password"), keyPair);
|
|
|
logger.info("password:"+password);
|
|
|
// String response = ykyyService.DoctorLogin(parameters.get("username"),password);
|
|
|
// if (!StringUtils.isEmpty(response)){
|
|
|
// JSONObject object = JSONObject.parseObject(response);
|
|
|
// logger.info("眼科通登陆返回参数:"+object);
|
|
|
// if (!object.getString("code").equalsIgnoreCase("10000")){
|
|
|
// WlyyUserSimple userSimple = new WlyyUserSimple();
|
|
|
// return getFailedResponse(object.getString("message"),-1,userSimple);
|
|
|
// }else {
|
|
|
// JSONObject jsonObject = object.getJSONObject("value");
|
|
|
// if (jsonObject!=null) {
|
|
|
// String idCard = jsonObject.getString("idCard");
|
|
|
// String verifyCode = jsonObject.getString("verifyCode");
|
|
|
// String yktDoctorId= jsonObject.getString("id");
|
|
|
// BaseDoctorDO doctorDOs = doctorDao.findByIdcard(idCard);
|
|
|
// if (doctorDOs!=null){
|
|
|
// doctorDOs.setVerifyCode(verifyCode);
|
|
|
// doctorDOs.setYktDoctorId(yktDoctorId);
|
|
|
// /*doctorDOs.setYktCode();*/
|
|
|
// doctorDao.save(doctorDOs);
|
|
|
// }else {
|
|
|
// WlyyUserSimple userSimple = new WlyyUserSimple();
|
|
|
// return getFailedResponse("您的账号未认证,请联系互联网医院工作人员,联系电话0592-2108763。",-1,userSimple);
|
|
|
// }
|
|
|
// if (idCard==null||idCard==""){
|
|
|
// logger.info("身份证为空");
|
|
|
// }else {
|
|
|
// ykyyService.updateYkyyDoctor(idCard,verifyCode,yktDoctorId);
|
|
|
// }
|
|
|
// }
|
|
|
// }
|
|
|
// }
|
|
|
// parameters.remove("password");
|
|
|
parameters.put("password",password);
|
|
|
String response = ykyyService.DoctorLogin(parameters.get("username"),password);
|
|
|
if (!StringUtils.isEmpty(response)){
|
|
|
JSONObject object = JSONObject.parseObject(response);
|
|
|
logger.info("眼科通登陆返回参数:"+object);
|
|
|
if (!object.getString("code").equalsIgnoreCase("10000")){
|
|
|
WlyyUserSimple userSimple = new WlyyUserSimple();
|
|
|
return getFailedResponse(object.getString("message"),-1,userSimple);
|
|
|
}else {
|
|
|
JSONObject jsonObject = object.getJSONObject("value");
|
|
|
if (jsonObject!=null) {
|
|
|
String idCard = jsonObject.getString("idCard");
|
|
|
String verifyCode = jsonObject.getString("verifyCode");
|
|
|
String yktDoctorId= jsonObject.getString("id");
|
|
|
BaseDoctorDO doctorDOs = doctorDao.findByIdcard(idCard);
|
|
|
if (doctorDOs!=null){
|
|
|
doctorDOs.setVerifyCode(verifyCode);
|
|
|
doctorDOs.setYktDoctorId(yktDoctorId);
|
|
|
/*doctorDOs.setYktCode();*/
|
|
|
doctorDao.save(doctorDOs);
|
|
|
}else {
|
|
|
WlyyUserSimple userSimple = new WlyyUserSimple();
|
|
|
return getFailedResponse("您的账号未认证,请联系互联网医院工作人员,联系电话0592-2108763。",-1,userSimple);
|
|
|
}
|
|
|
if (idCard==null||idCard==""){
|
|
|
logger.info("身份证为空");
|
|
|
}else {
|
|
|
ykyyService.updateYkyyDoctor(idCard,verifyCode,yktDoctorId);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
parameters.remove("password");
|
|
|
} else if (parameters.get("mobile") != null) {
|
|
|
KeyPair keyPair = (KeyPair) httpSession.getAttribute("privateKey");
|
|
|
String mobile = com.yihu.jw.security.utils.RSAUtils.decryptBase64(parameters.get("mobile"), keyPair);
|
|
|
logger.info("mobile:"+mobile);
|
|
|
// String password = null;
|
|
|
// String res = ykyyService.getDoctorPhone(mobile);
|
|
|
// if (res!=null&&res!=""){
|
|
|
// JSONObject object = JSONObject.parseObject(res);
|
|
|
// if (object.getString("code").equalsIgnoreCase("200")){
|
|
|
// password = object.getString("data");
|
|
|
// }else {
|
|
|
// WlyyUserSimple userSimple = new WlyyUserSimple();
|
|
|
// return getFailedResponse(object.getString("msg"),-1,userSimple);
|
|
|
// }
|
|
|
// }
|
|
|
// String response = ykyyService.DoctorLogin(parameters.get("username"),password);
|
|
|
// if (!StringUtils.isEmpty(response)){
|
|
|
// JSONObject object = JSONObject.parseObject(response);
|
|
|
// logger.info("眼科通登陆返回参数:"+object);
|
|
|
// if (!object.getString("code").equalsIgnoreCase("10000")){
|
|
|
// WlyyUserSimple userSimple = new WlyyUserSimple();
|
|
|
// return getFailedResponse(object.getString("message"),-1,userSimple);
|
|
|
// }else {
|
|
|
// JSONObject jsonObject = object.getJSONObject("value");
|
|
|
// if (jsonObject!=null) {
|
|
|
// String idCard = jsonObject.getString("idCard");
|
|
|
// String verifyCode = jsonObject.getString("verifyCode");
|
|
|
// String yktDoctorId= jsonObject.getString("id");
|
|
|
// BaseDoctorDO doctorDOs = doctorDao.findByIdcard(idCard);
|
|
|
// if (doctorDOs!=null){
|
|
|
// doctorDOs.setVerifyCode(verifyCode);
|
|
|
// doctorDOs.setYktDoctorId(yktDoctorId);
|
|
|
// /*doctorDOs.setYktCode();*/
|
|
|
// doctorDao.save(doctorDOs);
|
|
|
// }else {
|
|
|
// WlyyUserSimple userSimple = new WlyyUserSimple();
|
|
|
// return getFailedResponse("您的账号未认证,请联系互联网医院工作人员,联系电话0592-2108763。",-1,userSimple);
|
|
|
// }
|
|
|
// if (idCard==null||idCard==""){
|
|
|
// logger.info("身份证为空");
|
|
|
// }else {
|
|
|
// ykyyService.updateYkyyDoctor(idCard,verifyCode,yktDoctorId);
|
|
|
// }
|
|
|
// }
|
|
|
// }
|
|
|
// }
|
|
|
String password = null;
|
|
|
String res = ykyyService.getDoctorPhone(mobile);
|
|
|
if (res!=null&&res!=""){
|
|
|
JSONObject object = JSONObject.parseObject(res);
|
|
|
if (object.getString("code").equalsIgnoreCase("200")){
|
|
|
password = object.getString("data");
|
|
|
}else {
|
|
|
WlyyUserSimple userSimple = new WlyyUserSimple();
|
|
|
return getFailedResponse(object.getString("msg"),-1,userSimple);
|
|
|
}
|
|
|
}
|
|
|
String response = ykyyService.DoctorLogin(parameters.get("username"),password);
|
|
|
if (!StringUtils.isEmpty(response)){
|
|
|
JSONObject object = JSONObject.parseObject(response);
|
|
|
logger.info("眼科通登陆返回参数:"+object);
|
|
|
if (!object.getString("code").equalsIgnoreCase("10000")){
|
|
|
WlyyUserSimple userSimple = new WlyyUserSimple();
|
|
|
return getFailedResponse(object.getString("message"),-1,userSimple);
|
|
|
}else {
|
|
|
JSONObject jsonObject = object.getJSONObject("value");
|
|
|
if (jsonObject!=null) {
|
|
|
String idCard = jsonObject.getString("idCard");
|
|
|
String verifyCode = jsonObject.getString("verifyCode");
|
|
|
String yktDoctorId= jsonObject.getString("id");
|
|
|
BaseDoctorDO doctorDOs = doctorDao.findByIdcard(idCard);
|
|
|
if (doctorDOs!=null){
|
|
|
doctorDOs.setVerifyCode(verifyCode);
|
|
|
doctorDOs.setYktDoctorId(yktDoctorId);
|
|
|
/*doctorDOs.setYktCode();*/
|
|
|
doctorDao.save(doctorDOs);
|
|
|
}else {
|
|
|
WlyyUserSimple userSimple = new WlyyUserSimple();
|
|
|
return getFailedResponse("您的账号未认证,请联系互联网医院工作人员,联系电话0592-2108763。",-1,userSimple);
|
|
|
}
|
|
|
if (idCard==null||idCard==""){
|
|
|
logger.info("身份证为空");
|
|
|
}else {
|
|
|
ykyyService.updateYkyyDoctor(idCard,verifyCode,yktDoctorId);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
parameters.remove("password");
|
|
|
}else {
|
|
|
//第三方同步账号模式登录
|