|  | @ -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;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 |