| 
					
				 | 
			
			
				@@ -489,6 +489,7 @@ public class FsStorePaymentServiceImpl implements IFsStorePaymentService 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 WxMaJscode2SessionResult session = wxService.getUserService().getSessionInfo(param.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 openId = session.getOpenid(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                logger.info("修改或新增openId:{},userId:{},appId:{}",session.getOpenid(),param.getUser().getUserId(),param.getAppId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 handleFsUserWx(param.getUser(),param.getAppId(),session); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } catch (WxErrorException e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 return R.error("openId获取失败," + e.getMessage()); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -519,26 +520,41 @@ public class FsStorePaymentServiceImpl implements IFsStorePaymentService 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private void handleFsUserWx(FsUser user,String appId,WxMaJscode2SessionResult session) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 尝试更新 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        boolean updated = fsUserWxService.lambdaUpdate() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                .eq(FsUserWx::getFsUserId, user.getUserId()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                .eq(FsUserWx::getAppId,appId ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                .eq(FsUserWx::getOpenId, session.getOpenid()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                .set(FsUserWx::getUnionId, session.getUnionid() == null ? "" : session.getUnionid()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                .set(FsUserWx::getUpdateTime, new Date()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                .update(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // 如果更新失败(记录不存在),则插入 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (!updated) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            FsUserWx fsUserWx = new FsUserWx(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            fsUserWx.setType(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            fsUserWx.setFsUserId(user.getUserId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            fsUserWx.setAppId(appId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            fsUserWx.setOpenId(session.getOpenid()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            fsUserWx.setUnionId(session.getUnionid() == null ? "" : session.getUnionid()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            fsUserWx.setCreateTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            fsUserWx.setUpdateTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            fsUserWxService.save(fsUserWx); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        FsUserWx userWx = fsUserWxService.selectByAppIdAndUserId(appId,user.getUserId(),1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (userWx!=null && !userWx.getOpenId().equals(session.getOpenid())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            userWx.setOpenId(session.getOpenid()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            fsUserWxService.updateById(userWx); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            userWx = new FsUserWx(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            userWx.setType(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            userWx.setFsUserId(user.getUserId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            userWx.setAppId(appId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            userWx.setOpenId(session.getOpenid()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            userWx.setUnionId(session.getUnionid() == null ? "" : session.getUnionid()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            userWx.setCreateTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            userWx.setUpdateTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            fsUserWxService.save(userWx); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//        boolean updated = fsUserWxService.lambdaUpdate() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                .eq(FsUserWx::getFsUserId, user.getUserId()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                .eq(FsUserWx::getAppId,appId ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                .eq(FsUserWx::getOpenId, session.getOpenid()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                .set(FsUserWx::getUnionId, session.getUnionid() == null ? "" : session.getUnionid()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                .set(FsUserWx::getUpdateTime, new Date()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                .update(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//        // 如果更新失败(记录不存在),则插入 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//        if (!updated) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//            FsUserWx fsUserWx = new FsUserWx(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//            fsUserWx.setType(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//            fsUserWx.setFsUserId(user.getUserId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//            fsUserWx.setAppId(appId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//            fsUserWx.setOpenId(session.getOpenid()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//            fsUserWx.setUnionId(session.getUnionid() == null ? "" : session.getUnionid()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//            fsUserWx.setCreateTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//            fsUserWx.setUpdateTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//            fsUserWxService.save(fsUserWx); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |