| 
					
				 | 
			
			
				@@ -0,0 +1,42 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+package com.ym.mec.auth.service.impl; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.dayaedu.cbs.openfeign.wrapper.qrcode.CbsQrCodeScanWrapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.ym.mec.auth.api.entity.SysUser; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.ym.mec.auth.core.service.CustomTokenServices; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.ym.mec.auth.service.SysUserService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.ym.mec.common.exception.BizException; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.springframework.http.HttpStatus; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.springframework.security.oauth2.common.OAuth2AccessToken; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.springframework.security.oauth2.provider.OAuth2Authentication; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.springframework.stereotype.Service; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import javax.annotation.Resource; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@Service 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+public class CbsQrCodeScanServiceImpl{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Resource 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private CustomTokenServices customTokenServices; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Resource 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private SysUserService sysUserService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public CbsQrCodeScanWrapper.UserInfo userInfo(CbsQrCodeScanWrapper.QrCodeScanUserInfoReq req) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        CbsQrCodeScanWrapper.UserInfo userInfo = new CbsQrCodeScanWrapper.UserInfo(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        userInfo.setUsername(customTokenServices.loadAuthentication(req.getToken()).getName().split(":")[1]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        userInfo.setClientTypes("TEACHER"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return userInfo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public CbsQrCodeScanWrapper.QrCodeScanToken login(CbsQrCodeScanWrapper.QrCodeScanReq req) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        OAuth2Authentication auth2Authentication = customTokenServices.loadAuthentication(req.getPassword()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String phone = auth2Authentication.getName().split(":")[1]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        SysUser sysUser = sysUserService.queryByPhone(phone); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (sysUser == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            throw new BizException(HttpStatus.UNAUTHORIZED.value(), "用户不存在"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        OAuth2AccessToken accessToken = customTokenServices.newAccessToken(auth2Authentication); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        CbsQrCodeScanWrapper.QrCodeScanToken qrCodeScanToken = new CbsQrCodeScanWrapper.QrCodeScanToken(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        qrCodeScanToken.setTokenData(accessToken.getValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return qrCodeScanToken; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 |