|  | @ -10,20 +10,16 @@ import com.yihu.jw.patient.dao.BasePatientDao;
 | 
	
		
			
				|  |  | import com.yihu.jw.util.common.IdCardUtil;
 | 
	
		
			
				|  |  | import com.yihu.jw.util.date.DateUtil;
 | 
	
		
			
				|  |  | import com.yihu.jw.wlyy.wlyyhttp.WlyyHttpService;
 | 
	
		
			
				|  |  | import com.yihu.utils.security.MD5;
 | 
	
		
			
				|  |  | import org.apache.commons.collections.map.HashedMap;
 | 
	
		
			
				|  |  | import org.apache.commons.lang3.StringUtils;
 | 
	
		
			
				|  |  | import org.apache.http.NameValuePair;
 | 
	
		
			
				|  |  | import org.apache.http.message.BasicNameValuePair;
 | 
	
		
			
				|  |  | import org.slf4j.Logger;
 | 
	
		
			
				|  |  | import org.slf4j.LoggerFactory;
 | 
	
		
			
				|  |  | import org.springframework.beans.factory.annotation.Autowired;
 | 
	
		
			
				|  |  | import org.springframework.stereotype.Service;
 | 
	
		
			
				|  |  | import org.springframework.transaction.annotation.Transactional;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | import java.util.ArrayList;
 | 
	
		
			
				|  |  | import java.util.HashMap;
 | 
	
		
			
				|  |  | import java.util.List;
 | 
	
		
			
				|  |  | import java.util.Map;
 | 
	
		
			
				|  |  | import java.util.*;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | /**
 | 
	
		
			
				|  |  |  * Created by Trick on 2019/8/21.
 | 
	
	
		
			
				|  | @ -134,34 +130,90 @@ public class WlyyBusinessService {
 | 
	
		
			
				|  |  |         return false;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  |     
 | 
	
		
			
				|  |  |     public String getPatientCodeByWlyyIdcard(String idcard) {
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 根据身份证获取i健康居民信息
 | 
	
		
			
				|  |  |      * @param idcard
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public String getPatientCodeByWlyyIdcard(String idcard) throws Exception {
 | 
	
		
			
				|  |  |         BasePatientDO patientDO =  basePatientDao.findByIdcardAndDel(idcard,"1");
 | 
	
		
			
				|  |  |         String result = "";
 | 
	
		
			
				|  |  |         if(patientDO == null){
 | 
	
		
			
				|  |  |             /**
 | 
	
		
			
				|  |  |              * todo 调用i健康接口获取居民信息
 | 
	
		
			
				|  |  |              */
 | 
	
		
			
				|  |  |     
 | 
	
		
			
				|  |  |             Map<String,String> params = new HashMap<>();
 | 
	
		
			
				|  |  |             params.put("idcard",idcard);
 | 
	
		
			
				|  |  |     
 | 
	
		
			
				|  |  |             JSONObject rs = wlyyHttpService.sendWlyyMes("wlyyGetPatient",null,params);
 | 
	
		
			
				|  |  |             if(rs!=null){
 | 
	
		
			
				|  |  |                 Integer status = rs.getInteger("status");
 | 
	
		
			
				|  |  |                 if(200 == status){
 | 
	
		
			
				|  |  |                     JSONObject data = rs.getJSONObject("data");
 | 
	
		
			
				|  |  |                     BasePatientDO patient = new BasePatientDO();
 | 
	
		
			
				|  |  |                     String salt = UUID.randomUUID().toString().substring(0,5);
 | 
	
		
			
				|  |  |                     String mobile = data.getString("mobile");
 | 
	
		
			
				|  |  |                     String pw = null;
 | 
	
		
			
				|  |  |     
 | 
	
		
			
				|  |  |                     if(StringUtils.isNotBlank(mobile)){
 | 
	
		
			
				|  |  |                         pw = mobile.substring(mobile.length()-6);
 | 
	
		
			
				|  |  |                     }else{
 | 
	
		
			
				|  |  |                         pw = idcard.substring(idcard.length()-6);
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  |     
 | 
	
		
			
				|  |  |                     patient.setIdcard(idcard);
 | 
	
		
			
				|  |  |                     patient.setName(data.getString("name"));
 | 
	
		
			
				|  |  |                     patient.setPassword(MD5.md5Hex(pw + "{" + salt + "}"));
 | 
	
		
			
				|  |  |                     patient.setSalt(salt);
 | 
	
		
			
				|  |  |                     patient.setMobile(mobile);
 | 
	
		
			
				|  |  |                     patient.setDel("1");
 | 
	
		
			
				|  |  |                     patient.setEnabled(1);
 | 
	
		
			
				|  |  |                     patient.setLocked(0);
 | 
	
		
			
				|  |  |                     patient.setCreateTime(new Date());
 | 
	
		
			
				|  |  |                     patient.setUpdateTime(new Date());
 | 
	
		
			
				|  |  |                     patient.setBirthday(DateUtil.strToDate(data.getString("birthday"),"yyyyMMdd"));
 | 
	
		
			
				|  |  |                     patient = basePatientDao.save(patient);
 | 
	
		
			
				|  |  |                     result = patient.getId();
 | 
	
		
			
				|  |  |                 }else{
 | 
	
		
			
				|  |  |                     throw new Exception("请求i健康接口,获取居民信息失败");
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         }else{
 | 
	
		
			
				|  |  |         
 | 
	
		
			
				|  |  |             result =  patientDO.getId();
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         return patientDO.getId();
 | 
	
		
			
				|  |  |         return result;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  |     
 | 
	
		
			
				|  |  |     
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * (健康咨询)转发消息
 | 
	
		
			
				|  |  |      * @param senderIdcard
 | 
	
		
			
				|  |  |      * @param reciverIdcard
 | 
	
		
			
				|  |  |      * @param messageids
 | 
	
		
			
				|  |  |      * @param title
 | 
	
		
			
				|  |  |      * @param sessionType
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      * @throws Exception
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public Boolean wlyyMessageForward(String senderIdcard, String reciverIdcard, String messageids, String title, String sessionType) throws Exception {
 | 
	
		
			
				|  |  |     
 | 
	
		
			
				|  |  |         Map<String,String> params = new HashMap<>();
 | 
	
		
			
				|  |  |         params.put("senderIdcard",senderIdcard);
 | 
	
		
			
				|  |  |         params.put("reciverIdcard",reciverIdcard);
 | 
	
		
			
				|  |  |         params.put("messageids",messageids);
 | 
	
		
			
				|  |  |         params.put("title",title);
 | 
	
		
			
				|  |  |         params.put("sessionType",sessionType);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         JSONObject rs = wlyyHttpService.sendWlyyMes("wlyyMessageForward",null,params);
 | 
	
		
			
				|  |  |         if(rs!=null){
 | 
	
		
			
				|  |  |             Integer status = rs.getInteger("status");
 | 
	
		
			
				|  |  |             if(200 == status){
 | 
	
		
			
				|  |  |                 return true;
 | 
	
		
			
				|  |  |             }else{
 | 
	
		
			
				|  |  |                 return false;
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         return false;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | //    public String getPatientInfo(String ){
 | 
	
		
			
				|  |  | //        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;
 | 
	
		
			
				|  |  | //        }
 | 
	
		
			
				|  |  | //    }
 | 
	
		
			
				|  |  |     
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 根据居民CODE换取居民请求秘钥
 |