| 
					
				 | 
			
			
				@ -0,0 +1,152 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				package com.yihu.jw.hospital.ykyy.service; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.alibaba.fastjson.JSONObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.base.patient.BasePatientDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.patient.dao.BasePatientDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.util.http.HttpClientUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.apache.commons.collections.map.HashedMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.apache.commons.lang3.StringUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.beans.factory.annotation.Autowired; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.stereotype.Service; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.Map; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 * 眼科通接口 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 * Created by wangzhinan on 2020/4/11. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				@Service 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				public class YkyyService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private HttpClientUtil httpClientUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private BasePatientDao patientDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private static String yktUrl = "http://www.yanketong.com:133/api/"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public String selectCards(String patient) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String response = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        BasePatientDO basePatientDO  = patientDao.findById(patient); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (basePatientDO!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String userId = basePatientDO.getUserId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (StringUtils.isNoneBlank(userId)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               response = selectCardList(userId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               String response1 = getShortMessage("1",basePatientDO.getMobile()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                JSONObject jsonObject = JSONObject.parseObject(response1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if (jsonObject.getString("code").equalsIgnoreCase("10000")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    String code = jsonObject.getString("value"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    String r =getRegisterUser(basePatientDO.getMobile(),"123456",code,"a01522","xmijk","xmijk"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    JSONObject object = JSONObject.parseObject(r); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    if (object.getString("code").equalsIgnoreCase("200")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        JSONObject object1 = object.getJSONObject("data"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        if (object1!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            userId = object1.getString("ID"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            basePatientDO.setUserId(userId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            patientDao.save(basePatientDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            response = selectCardList(userId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        throw new Exception("用户注册失败"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    throw new Exception("获取验证码失败"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return response; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 互联网-添加就诊卡 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param patient 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param card 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param userId 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param type 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public String addYkCard(String patient,String card,String userId,String type){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String response = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        BasePatientDO patientDO = patientDao.findById(patient); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String user_id=null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtils.isNoneBlank(userId)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            user_id=userId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            user_id=patientDO.getUserId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        response = addCard(user_id,patientDO.getName(),card,"7A585AB3-ED33-B40D-C3E3-A8BB0A1195D8","厦门大学附属厦门眼科中心思北院区",type,"1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return response; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 眼科通验证码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param type 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param phone 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public String getShortMessage(String type,String phone){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String response=""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String url = yktUrl+"verification_code/short_message?type="+type+"&telephone="+phone; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        response = httpClientUtil.get(url,"GBK"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return response; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * telephone=15578008051&patient_pwd=123456&code=513970&invite_code=a01522&equipment_type=ios&equipment_guid=12312321 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 眼科通用户注册 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param telephone 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param patientPwd 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param code 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public String getRegisterUser(String telephone,String patientPwd,String code,String inviteCode,String equipmentType,String equipmentGuid){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String response=""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String url = yktUrl+"user_center/patient_register01?telephone="+telephone+"&patient_pwd="+patientPwd+"&code="+code+"&invite_code="+inviteCode+"&equipment_type="+equipmentType+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "&equipment_guid="+equipmentGuid; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        response = httpClientUtil.get(url,"GBK"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return response; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 获取就诊卡数据接口 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param userId 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public String selectCardList(String userId){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String response=""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String,Object> param = new HashedMap(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        param.put("user_id",userId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String url = yktUrl+"patient/get_patient_card_list?user_id="+userId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        response = httpClientUtil.get(url,"GBK"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return response; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * user_id=1a6a0016-a788-3c84-82e0-f1283e891ccc&patient_name=wangzhinan&card=12345678901&hospital_id=7A585AB3-ED33-B40D-C3E3-A8BB0A1195D8&hospital_name=厦门大学附属厦门眼科中心思北院区&type=0&hos_num=1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 添加就诊卡接口 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public String addCard(String userId,String patientName,String card,String hospitalId,String hospitalName,String type,String hosNum){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String response=""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String url = yktUrl+"patient/add_card?user_id="+userId+"&patient_name="+patientName+"&card="+card+"&hospital_id="+hospitalId+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "&hospital_name="+hospitalName+"&type="+type+"&hos_num="+hosNum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        response = httpClientUtil.get(url,"GBK"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return response; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				} 
			 |