|  | @ -102,8 +102,15 @@ public class MyFamilyService {
 | 
	
		
			
				|  |  |         BasePatientDO patientDO = patientService.findByIdAndDel(patient);
 | 
	
		
			
				|  |  |         //1、检验手机号码是否有存在账号,
 | 
	
		
			
				|  |  |         BasePatientDO familyPatient = patientService.findByMobileAndDel(familyMobile);
 | 
	
		
			
				|  |  |         Long time = 1000*60*60*24*Long.valueOf(qrCodeFailurTime);
 | 
	
		
			
				|  |  |         if(familyPatient==null){
 | 
	
		
			
				|  |  |             //2、没有存在账号的,预注册一个账号,调用预注册接口
 | 
	
		
			
				|  |  |             Map<String,Object> map = patientService.bespeakRegist(familyMobile,time);
 | 
	
		
			
				|  |  |             if(Integer.valueOf(map.get("code")+"")==1){
 | 
	
		
			
				|  |  |                 familyPatient = (BasePatientDO)map.get("patient");
 | 
	
		
			
				|  |  |             }else{
 | 
	
		
			
				|  |  |                 throw new Exception(map.get("message")+"");
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         //3、生成申请绑定的记录
 | 
	
	
		
			
				|  | @ -113,10 +120,14 @@ public class MyFamilyService {
 | 
	
		
			
				|  |  |             patientApplyLog.setFamilyMemberName(familyPatient.getName());
 | 
	
		
			
				|  |  |             patientApplyLog.setFamilyMemberCode(familyPatient.getId());
 | 
	
		
			
				|  |  |             patientApplyLog.setDel(1);
 | 
	
		
			
				|  |  |             patientApplyLog.setStatus(1);
 | 
	
		
			
				|  |  |             patientApplyLog.setCreateTime(new Date());
 | 
	
		
			
				|  |  |             patientApplyLog.setCreateUser(familyPatient.getId());
 | 
	
		
			
				|  |  |             patientApplyLog.setCreateUser(patientDO.getId());
 | 
	
		
			
				|  |  |             patientApplyLog.setCreateUserName(patientDO.getName());
 | 
	
		
			
				|  |  |             patientApplyLog.setFamilyBindRole(familyBindRole);
 | 
	
		
			
				|  |  |             Long failurTime = System.currentTimeMillis()+time;
 | 
	
		
			
				|  |  |             patientApplyLog.setFailureTime(new Date(failurTime));
 | 
	
		
			
				|  |  |             patientApplyLog = patientApplyLogService.save(patientApplyLog);
 | 
	
		
			
				|  |  |             //4、发送绑定家人的系统消息
 | 
	
		
			
				|  |  |             BaseMessageDO messageDO = new BaseMessageDO();
 | 
	
		
			
				|  |  |             messageDO.setReceiver(familyPatient.getId());
 | 
	
	
		
			
				|  | @ -134,12 +145,14 @@ public class MyFamilyService {
 | 
	
		
			
				|  |  |             messageDO.setReadonly(0);
 | 
	
		
			
				|  |  |             messageDO.setDel("1");
 | 
	
		
			
				|  |  |             messageDO.setCreateTime(new Date());
 | 
	
		
			
				|  |  |             messageDO.setRelationData(patientApplyLog.getId()+"");
 | 
	
		
			
				|  |  |             messageService.save(messageDO);
 | 
	
		
			
				|  |  |         }else{
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             Long failurTime = System.currentTimeMillis()+time;
 | 
	
		
			
				|  |  |             patientApplyLog.setFailureTime(new Date(failurTime));
 | 
	
		
			
				|  |  |             patientApplyLog = patientApplyLogService.save(patientApplyLog);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         Long time = 1000*60*60*Long.valueOf(qrCodeFailurTime);
 | 
	
		
			
				|  |  |         Long failurTime = System.currentTimeMillis()+time;
 | 
	
		
			
				|  |  |         patientApplyLog.setFailureTime(new Date(failurTime));
 | 
	
		
			
				|  |  |         patientApplyLog = patientApplyLogService.save(patientApplyLog);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | //        PatientApplyLog patientApplyLog = createFamilyQrCode(request,familyPatient,wechatId,patient,familyBindRole);
 | 
	
		
			
				|  |  | 
 | 
	
	
		
			
				|  | @ -234,15 +247,9 @@ public class MyFamilyService {
 | 
	
		
			
				|  |  |         PatientApplyLog patientApplyLog = patientApplyLogService.findById(patientApplyLogId);
 | 
	
		
			
				|  |  |         BasePatientDO apply = patientService.findByIdAndDel(patientApplyLog.getCreateUser());
 | 
	
		
			
				|  |  |         BasePatientDO family = patientService.findByIdAndDel(patientApplyLog.getFamilyMemberCode());
 | 
	
		
			
				|  |  |         Integer converRole = familyRelationTrans(patientApplyLog.getFamilyBindRole(),apply.getSex());
 | 
	
		
			
				|  |  |         if(patientApplyLog.getFailureTime().getTime()<System.currentTimeMillis()){
 | 
	
		
			
				|  |  |             map.put("key","0");
 | 
	
		
			
				|  |  |             map.put("keyName","绑定过期");
 | 
	
		
			
				|  |  |             map.put("applyPhoto",apply.getPhoto());
 | 
	
		
			
				|  |  |             map.put("familyPhoto",family.getPhoto());
 | 
	
		
			
				|  |  |             map.put("explain","您的"+role.get(converRole-1)+apply.getName()+"向您发起的绑定邀请已过期,您可以点下下方邀请绑定按钮,重新邀请绑定家人。");
 | 
	
		
			
				|  |  |             return map;
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         map.put("applyPhoto",apply.getPhoto());
 | 
	
		
			
				|  |  |         map.put("familyPhoto",family.getPhoto());
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         patientApplyLog.setStatus(status);
 | 
	
		
			
				|  |  |         patientApplyLog.setConfirmTime(new Date());
 | 
	
		
			
				|  |  |         patientApplyLogService.save(patientApplyLog);
 | 
	
	
		
			
				|  | @ -264,8 +271,6 @@ public class MyFamilyService {
 | 
	
		
			
				|  |  |             patientFamilyMember2.setDel(1);
 | 
	
		
			
				|  |  |             patientFamilyMemberService.save(patientFamilyMember2);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         map.put("key","1");
 | 
	
		
			
				|  |  |         map.put("keyName","绑定成功");
 | 
	
		
			
				|  |  |         return map;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
	
		
			
				|  | @ -278,7 +283,9 @@ public class MyFamilyService {
 | 
	
		
			
				|  |  |      * @param isAuthorize
 | 
	
		
			
				|  |  |      * @throws Exception
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public void scanQRcodeConfirmApply(Integer status,String applyPatient,String familyPatient,Integer familyBindRole,Integer isAuthorize)throws Exception{
 | 
	
		
			
				|  |  |     @Transactional(rollbackFor = Exception.class)
 | 
	
		
			
				|  |  |     public Map<String,Object> scanQRcodeConfirmApply(Integer status,String applyPatient,String familyPatient,Integer familyBindRole,Integer isAuthorize)throws Exception{
 | 
	
		
			
				|  |  |         Map<String,Object> map = new HashedMap();
 | 
	
		
			
				|  |  |         if(status==3){
 | 
	
		
			
				|  |  |             BasePatientFamilyMemberDO patientFamilyMember = new BasePatientFamilyMemberDO();
 | 
	
		
			
				|  |  |             patientFamilyMember.setPatient(applyPatient);
 | 
	
	
		
			
				|  | @ -296,6 +303,11 @@ public class MyFamilyService {
 | 
	
		
			
				|  |  |             patientFamilyMember2.setDel(1);
 | 
	
		
			
				|  |  |             patientFamilyMemberService.save(patientFamilyMember2);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         BasePatientDO apply = patientService.findByIdAndDel(applyPatient);
 | 
	
		
			
				|  |  |         BasePatientDO family = patientService.findByIdAndDel(familyPatient);
 | 
	
		
			
				|  |  |         map.put("applyPhoto",apply.getPhoto());
 | 
	
		
			
				|  |  |         map.put("familyPhoto",family.getPhoto());
 | 
	
		
			
				|  |  |         return map;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
	
		
			
				|  | @ -326,6 +338,15 @@ public class MyFamilyService {
 | 
	
		
			
				|  |  |         BaseMessageDO messageDO = messageService.findById(messageId);
 | 
	
		
			
				|  |  |         PatientApplyLog patientApplyLog = patientApplyLogService.findById(Integer.valueOf(messageDO.getRelationData()+""));
 | 
	
		
			
				|  |  |         Map<String,Object> map = scanQRcode(patientApplyLog.getCreateUser(),patientApplyLog.getFamilyMemberCode(),patientApplyLog.getFamilyBindRole());
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         BasePatientDO apply = patientService.findByIdAndDel(patientApplyLog.getCreateUser());
 | 
	
		
			
				|  |  |         Integer converRole = familyRelationTrans(patientApplyLog.getFamilyBindRole(),apply.getSex());
 | 
	
		
			
				|  |  |         if(patientApplyLog.getFailureTime().getTime()<System.currentTimeMillis()) {
 | 
	
		
			
				|  |  |             map.put("overdue", "1");//过期
 | 
	
		
			
				|  |  |             map.put("explain", "您的" + role.get(converRole - 1) + apply.getName() + "向您发起的绑定邀请已过期");
 | 
	
		
			
				|  |  |         }else {
 | 
	
		
			
				|  |  |             map.put("overdue", "0");
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         map.put("patientApplyLogId",patientApplyLog.getId());
 | 
	
		
			
				|  |  |         return map;
 | 
	
		
			
				|  |  |     }
 | 
	
	
		
			
				|  | @ -404,11 +425,12 @@ public class MyFamilyService {
 | 
	
		
			
				|  |  |             BasePatientDO familyMember = patientService.findByIdAndDel(one.getFamilyMember());
 | 
	
		
			
				|  |  |             map.put("photo",familyMember.getPhoto());//头像
 | 
	
		
			
				|  |  |             map.put("name",familyMember.getName());//姓名
 | 
	
		
			
				|  |  |             map.put("roleName",role.get(one.getFamilyRelation()+1));//角色名称
 | 
	
		
			
				|  |  |             map.put("roleName",role.get(one.getFamilyRelation()-1));//角色名称
 | 
	
		
			
				|  |  |             map.put("mobile",familyMember.getMobile());//手机号码
 | 
	
		
			
				|  |  |             map.put("isAuthorize",one.getIsAuthorize());//0:未授权,1:已授权
 | 
	
		
			
				|  |  |             map.put("familyMemberId",one.getId());
 | 
	
		
			
				|  |  |             map.put("patientId",familyMember.getId());
 | 
	
		
			
				|  |  |             map.put("familyPatientId",familyMember.getId());
 | 
	
		
			
				|  |  |             map.put("patientId",patient);
 | 
	
		
			
				|  |  |             map.put("type",1);
 | 
	
		
			
				|  |  |             resultList.add(map);
 | 
	
		
			
				|  |  |         }
 | 
	
	
		
			
				|  | @ -419,15 +441,20 @@ public class MyFamilyService {
 | 
	
		
			
				|  |  |             BasePatientDO familyMember = patientService.findByIdAndDel(one.get("family_member_code")+"");
 | 
	
		
			
				|  |  |             map.put("photo",familyMember.getPhoto());//头像
 | 
	
		
			
				|  |  |             map.put("name",familyMember.getName());//姓名
 | 
	
		
			
				|  |  |             map.put("roleName",role.get(Integer.valueOf(one.get("family_bind_role")+"")+1));//角色名称
 | 
	
		
			
				|  |  |             map.put("roleName",role.get(Integer.valueOf(one.get("family_bind_role")+"")-1));//角色名称
 | 
	
		
			
				|  |  |             map.put("mobile",familyMember.getMobile());//手机号码
 | 
	
		
			
				|  |  |             //有效期
 | 
	
		
			
				|  |  |             Date failurTime = (Date)one.get("failure_time");
 | 
	
		
			
				|  |  |             Long l = failurTime.getTime()-System.currentTimeMillis();
 | 
	
		
			
				|  |  |             Long day24 = 1000*60*60*24L;
 | 
	
		
			
				|  |  |             map.put("day",l/day24);
 | 
	
		
			
				|  |  |             if(l%day24>0){
 | 
	
		
			
				|  |  |                 map.put("day",(l/day24)+1);
 | 
	
		
			
				|  |  |             }else{
 | 
	
		
			
				|  |  |                 map.put("day",l/day24);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             map.put("patientApplyId",one.get("id"));
 | 
	
		
			
				|  |  |             map.put("patientId",familyMember.getId());
 | 
	
		
			
				|  |  |             map.put("familyPatientId",familyMember.getId());
 | 
	
		
			
				|  |  |             map.put("patientId",patient);
 | 
	
		
			
				|  |  |             map.put("type",2);
 | 
	
		
			
				|  |  |             resultList.add(map);
 | 
	
		
			
				|  |  |         }
 | 
	
	
		
			
				|  | @ -438,7 +465,7 @@ public class MyFamilyService {
 | 
	
		
			
				|  |  |             BasePatientDO familyMember = patientService.findByIdAndDel(one.get("family_member_code")+"");
 | 
	
		
			
				|  |  |             map.put("photo",familyMember.getPhoto());//头像
 | 
	
		
			
				|  |  |             map.put("name",familyMember.getName());//姓名
 | 
	
		
			
				|  |  |             map.put("roleName",role.get(Integer.valueOf(one.get("family_bind_role")+"")+1));//角色名称
 | 
	
		
			
				|  |  |             map.put("roleName",role.get(Integer.valueOf(one.get("family_bind_role")+"")-1));//角色名称
 | 
	
		
			
				|  |  |             map.put("mobile",familyMember.getMobile());//手机号码
 | 
	
		
			
				|  |  |             Integer status = null;
 | 
	
		
			
				|  |  |             if("1".equals(one.get("status")+"")||"2".equals(one.get("status")+"")){
 | 
	
	
		
			
				|  | @ -448,6 +475,8 @@ public class MyFamilyService {
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             map.put("status",one.get("status"));//状态
 | 
	
		
			
				|  |  |             map.put("statusName",getStatusName(status));//状态名称;
 | 
	
		
			
				|  |  |             map.put("familyPatientId",familyMember.getId());
 | 
	
		
			
				|  |  |             map.put("patientId",patient);
 | 
	
		
			
				|  |  |             map.put("type",3);
 | 
	
		
			
				|  |  |             resultList.add(map);
 | 
	
		
			
				|  |  |         }
 | 
	
	
		
			
				|  | @ -507,6 +536,32 @@ public class MyFamilyService {
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 解除绑定
 | 
	
		
			
				|  |  |      * @param familyMemberId
 | 
	
		
			
				|  |  |      * @throws Exception
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     @Transactional(rollbackFor = Exception.class)
 | 
	
		
			
				|  |  |     public void cancelBindFamily(String familyMemberId) throws Exception{
 | 
	
		
			
				|  |  |         int i = patientFamilyMemberService.cancelBindFamily(familyMemberId);
 | 
	
		
			
				|  |  |         if(i<0){
 | 
	
		
			
				|  |  |             throw new Exception("update data failur !");
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 更新授权
 | 
	
		
			
				|  |  |      * @param familyMemberId
 | 
	
		
			
				|  |  |      * @throws Exception
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     @Transactional(rollbackFor = Exception.class)
 | 
	
		
			
				|  |  |     public void updateAuthorizeById(Integer isAuthorize,String familyMemberId) throws Exception{
 | 
	
		
			
				|  |  |         int i = patientFamilyMemberService.updateAuthorizeById(isAuthorize,familyMemberId);
 | 
	
		
			
				|  |  |         if(i<0){
 | 
	
		
			
				|  |  |             throw new Exception("update data failur !");
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 家庭关系转换
 |