|  | @ -17,7 +17,7 @@ import com.yihu.jw.wechat.service.WechatInfoService;
 | 
	
		
			
				|  |  | import io.swagger.annotations.Api;
 | 
	
		
			
				|  |  | import io.swagger.annotations.ApiOperation;
 | 
	
		
			
				|  |  | import io.swagger.annotations.ApiParam;
 | 
	
		
			
				|  |  | import org.apache.axis.utils.StringUtils;
 | 
	
		
			
				|  |  | import org.apache.commons.lang3.StringUtils;
 | 
	
		
			
				|  |  | import org.springframework.beans.factory.annotation.Autowired;
 | 
	
		
			
				|  |  | import org.springframework.beans.factory.annotation.Value;
 | 
	
		
			
				|  |  | import org.springframework.data.redis.core.StringRedisTemplate;
 | 
	
	
		
			
				|  | @ -61,8 +61,7 @@ public class PatientNoLoginEndPoint extends EnvelopRestEndpoint {
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     @RequestMapping(value = "/getXOpenidByCode", method = {RequestMethod.POST, RequestMethod.GET})
 | 
	
		
			
				|  |  |     public Envelop getXOpenidByCode(String code, @RequestParam(value = "patientId", required = false)String patientId) throws Exception {
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     public Envelop getXOpenidByCode(String code){
 | 
	
		
			
				|  |  |         try {
 | 
	
		
			
				|  |  |             //通过redis获取openid, 获取不到,则调用微信接口去取
 | 
	
		
			
				|  |  |             String key = wxId+":code";
 | 
	
	
		
			
				|  | @ -71,29 +70,19 @@ public class PatientNoLoginEndPoint extends EnvelopRestEndpoint {
 | 
	
		
			
				|  |  |                 return success(PatientRequestMapping.Wechat.api_success,openid);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             org.json.JSONObject json = wechatInfoService.getXOpenidByCode(code, wxId);
 | 
	
		
			
				|  |  |             if (!StringUtils.isEmpty(patientId)){
 | 
	
		
			
				|  |  |             if(json.has("openid")){
 | 
	
		
			
				|  |  |                 openid = json.getString("openid");
 | 
	
		
			
				|  |  |                 String unionid = json.getString("unionid");
 | 
	
		
			
				|  |  |                 List<BasePatientWechatDo> list = basePatientWechatDao.findByWechatIdAndPatientId(wxId,patientId);
 | 
	
		
			
				|  |  |                 if (list!=null&&list.size()>0){
 | 
	
		
			
				|  |  |                     for (BasePatientWechatDo basePatientWechatDo:list){
 | 
	
		
			
				|  |  |                         basePatientWechatDo.setXopenid(openid);
 | 
	
		
			
				|  |  |                         basePatientWechatDo.setUnionid(unionid);
 | 
	
		
			
				|  |  |                         basePatientWechatDao.save(basePatientWechatDo);
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  |                 }else {
 | 
	
		
			
				|  |  |                     BasePatientWechatDo basePatientWechatDo = new BasePatientWechatDo();
 | 
	
		
			
				|  |  |                     basePatientWechatDo.setPatientId(patientId);
 | 
	
		
			
				|  |  |                     basePatientWechatDo.setWechatId(wxId);
 | 
	
		
			
				|  |  |                     basePatientWechatDo.setCreateTime(new Date());
 | 
	
		
			
				|  |  |                     basePatientWechatDo.setXopenid(openid);
 | 
	
		
			
				|  |  |                     basePatientWechatDo.setUnionid(unionid);
 | 
	
		
			
				|  |  |                     basePatientWechatDao.save(basePatientWechatDo);
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 JSONObject res = new JSONObject();
 | 
	
		
			
				|  |  |                 res.put("openid",openid);
 | 
	
		
			
				|  |  |                 res.put("unionid",json.getString("unionid"));
 | 
	
		
			
				|  |  |                 res.put("session_key",json.getString("session_key"));
 | 
	
		
			
				|  |  |                 redisTemplate.opsForValue().set(key,openid);
 | 
	
		
			
				|  |  |                 redisTemplate.expire(key,10, TimeUnit.SECONDS);
 | 
	
		
			
				|  |  |                 return success(PatientRequestMapping.Wechat.api_success,res);
 | 
	
		
			
				|  |  |             }else {
 | 
	
		
			
				|  |  |                 return Envelop.getError("获取失败");
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             return success(PatientRequestMapping.Wechat.api_success,json);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         } catch (Exception e){
 | 
	
		
			
				|  |  |             return  failedException2(e);
 | 
	
		
			
				|  |  |         }
 |