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