|
@ -1,11 +1,13 @@
|
|
|
package com.yihu.jw.security.core.userdetails.jdbc;
|
|
|
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.yihu.jw.entity.base.login.BaseLoginLogDO;
|
|
|
import com.yihu.jw.entity.base.patient.BasePatientDO;
|
|
|
import com.yihu.jw.entity.base.patient.BasePatientFamilyMemberDO;
|
|
|
import com.yihu.jw.entity.base.wx.BasePatientWechatDo;
|
|
|
import com.yihu.jw.entity.care.common.GetuiClientDO;
|
|
|
import com.yihu.jw.entity.hospital.family.WlyyPatientFamilyMemberDO;
|
|
|
import com.yihu.jw.im.util.ImUtil;
|
|
|
import com.yihu.jw.security.core.userdetails.SaltUser;
|
|
|
import com.yihu.jw.security.dao.patient.BaseGetuiClientDao;
|
|
|
import com.yihu.jw.security.dao.patient.BasePatientDao;
|
|
@ -14,6 +16,7 @@ import com.yihu.jw.security.dao.patient.WlyyPatientFamilyMemberDao;
|
|
|
import com.yihu.jw.security.model.WlyyUserDetails;
|
|
|
import com.yihu.jw.security.model.WlyyUserSimple;
|
|
|
import com.yihu.jw.security.utils.IdCardUtil;
|
|
|
import com.yihu.jw.util.date.DateUtil;
|
|
|
import com.yihu.jw.util.http.HttpClientUtil;
|
|
|
import com.yihu.utils.security.MD5;
|
|
|
import org.apache.commons.lang.StringUtils;
|
|
@ -101,6 +104,8 @@ public class WlyyUserDetailsService extends JdbcDaoSupport implements UserDetail
|
|
|
private WlyyPatientFamilyMemberDao familyMemberDao;
|
|
|
@Autowired
|
|
|
private BaseGetuiClientDao baseGetuiClientDao;
|
|
|
@Autowired
|
|
|
private ImUtil imUtil;
|
|
|
|
|
|
public WlyyUserDetailsService(DataSource dataSource) {
|
|
|
this.setDataSource(dataSource);
|
|
@ -639,14 +644,14 @@ public class WlyyUserDetailsService extends JdbcDaoSupport implements UserDetail
|
|
|
* @param clientId
|
|
|
* @param padImei
|
|
|
* @param loginType
|
|
|
* @param username
|
|
|
* @param id
|
|
|
*/
|
|
|
public void updateInfo(String clientId,String padImei,String loginType,String username){
|
|
|
public void updateInfo(String clientId,String padImei,String loginType,String id,BaseLoginLogDO baseLoginLogDO){
|
|
|
int isPateint = isPatient(loginType);
|
|
|
if(StringUtils.isNotBlank(padImei)){
|
|
|
try {
|
|
|
if(isPateint == 1){
|
|
|
this.getJdbcTemplate().update("update base_patient p set p.pad_imei = ? where p.mobile = ? or p.idcard = ?", padImei, username, username);
|
|
|
this.getJdbcTemplate().update("update base_patient p set p.pad_imei = ? where p.id = ? or p.idcard = ?", padImei, id);
|
|
|
}
|
|
|
}catch (Exception e){
|
|
|
e.printStackTrace();
|
|
@ -654,19 +659,12 @@ public class WlyyUserDetailsService extends JdbcDaoSupport implements UserDetail
|
|
|
}
|
|
|
if(StringUtils.isNotBlank(clientId)&&isPateint<3){
|
|
|
try {
|
|
|
List<WlyyUserDetails> users;
|
|
|
if(isPateint==1){
|
|
|
users = this.getJdbcTemplate().query(DEFAULT_PATIENT_DETAILS_STATEMENT, new BeanPropertyRowMapper(WlyyUserDetails.class), username, username);
|
|
|
}else{
|
|
|
users = this.getJdbcTemplate().query(DEFAULT_DOCTOR_DETAILS_STATEMENT, new BeanPropertyRowMapper(WlyyUserDetails.class), username, username);
|
|
|
}
|
|
|
String user = users.get(0).getId();
|
|
|
List<GetuiClientDO> list = baseGetuiClientDao.findByUser(user,isPateint,clientId);
|
|
|
List<GetuiClientDO> list = baseGetuiClientDao.findByUser(id,isPateint,clientId);
|
|
|
if(list.size() == 0){
|
|
|
GetuiClientDO getuiClientDO = new GetuiClientDO();
|
|
|
getuiClientDO.setClientId(clientId);
|
|
|
getuiClientDO.setType(isPateint);
|
|
|
getuiClientDO.setUser(user);
|
|
|
getuiClientDO.setUser(id);
|
|
|
getuiClientDO.setCreateTime(new Date());
|
|
|
baseGetuiClientDao.save(getuiClientDO);
|
|
|
}
|
|
@ -674,7 +672,45 @@ public class WlyyUserDetailsService extends JdbcDaoSupport implements UserDetail
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
}
|
|
|
if(StringUtils.isNotBlank(baseLoginLogDO.getClientType())){
|
|
|
try {
|
|
|
//pc管理端端推送消息
|
|
|
JSONObject message = new JSONObject();
|
|
|
//陈XXX登录云照护平台 登录终端:多媒体平板 2021-7-7 16:38:25
|
|
|
String content = baseLoginLogDO.getName() + "登录云照护平台 登录终端:" + getClientName(baseLoginLogDO.getClientType())
|
|
|
+ " " + DateUtil.dateToStrLong(baseLoginLogDO.getCreateTime());
|
|
|
message.put("content",content);
|
|
|
message.put("content_type",41);
|
|
|
imUtil.sendPcManageMessageToPc("cloudCare_pcManage",message.toString());
|
|
|
}catch (Exception e){
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* app,wx,pad,pc
|
|
|
* @param clientType
|
|
|
* @return
|
|
|
*/
|
|
|
private String getClientName(String clientType){
|
|
|
String result = "";
|
|
|
switch (clientType){
|
|
|
case "app":
|
|
|
result = "APP";
|
|
|
break;
|
|
|
case "wx":
|
|
|
result = "微信公众号";
|
|
|
break;
|
|
|
case "pad":
|
|
|
result = "多媒体平板";
|
|
|
break;
|
|
|
case "pc":
|
|
|
result = "脑端";
|
|
|
break;
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
/**
|