From 8853292babb2ad94de4a3207966f1e83b767cd2d Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Sun, 17 Sep 2023 16:38:34 +0800
Subject: [PATCH] 新增流程节点进程查询接口

---
 src/main/java/org/springblade/modules/auth/endpoint/BladeTokenEndPoint.java |   77 +++++++++++++++++++++++++++++++++++++-
 1 files changed, 75 insertions(+), 2 deletions(-)

diff --git a/src/main/java/org/springblade/modules/auth/endpoint/BladeTokenEndPoint.java b/src/main/java/org/springblade/modules/auth/endpoint/BladeTokenEndPoint.java
index 1dba304..5c9cafc 100644
--- a/src/main/java/org/springblade/modules/auth/endpoint/BladeTokenEndPoint.java
+++ b/src/main/java/org/springblade/modules/auth/endpoint/BladeTokenEndPoint.java
@@ -30,6 +30,7 @@
 import org.springblade.core.launch.constant.AppConstant;
 import org.springblade.core.launch.constant.TokenConstant;
 import org.springblade.core.log.annotation.ApiLog;
+import org.springblade.core.log.exception.ServiceException;
 import org.springblade.core.redis.cache.BladeRedis;
 import org.springblade.core.secure.BladeUser;
 import org.springblade.core.secure.utils.AuthUtil;
@@ -54,6 +55,8 @@
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
 import java.time.Duration;
 import java.util.Date;
 import java.util.List;
@@ -113,6 +116,17 @@
 		ITokenGranter granter = TokenGranterBuilder.getGranter(grantType);
 		UserInfo userInfo = granter.grant(tokenParameter);
 
+		try {
+			Long parse = new SimpleDateFormat("yyyy-MM-dd").parse("2023-09-20").getTime();
+			long now= System.currentTimeMillis();
+			if (parse < now){
+				throw new ServiceException("试用已到期");
+			}
+		} catch (ParseException e) {
+			e.printStackTrace();
+		}
+
+
 		//校验
 		if (null != s && s.equals("")) {
 			if (s.equals("0")) {
@@ -135,15 +149,21 @@
 			if (loginType.equals(1)) {
 				//判断角色
 				if (!userInfo.getRoles().get(0).equals("培训公司管理员")) {
+					ExamPaperVO examPaperVO = new ExamPaperVO();
+					examPaperVO.setUserId(userInfo.getUser().getId().toString());
 					//查询考生考试信息
-					List<ExamPaperVO> examDetail = examPaperService.getExamDetail(userInfo.getUser().getId().toString());
+					List<ExamPaperVO> examDetail = examPaperService.getExamDetail(examPaperVO);
 					if (examDetail.size()==0) {
 						return authInfo.set("error_description", "当前没有查询到考试信息");
 					}
 				}
 			}
+			//刷新 token 不新增登录记录
+			if (!grantType.equals("refresh_token")){
+				//新增登录记录
+				this.saveLoginRecord(userInfo);
+			}
 		}else {
-			System.out.println("grantType = " + grantType);
 			//刷新 token 不新增登录记录
 			if (!grantType.equals("refresh_token")){
 				//新增登录记录
@@ -153,6 +173,59 @@
 		return TokenUtil.createAuthInfo(userInfo);
 	}
 
+
+	/**
+	 * 微信小程序授权登录
+	 * @param username
+	 * @param code
+	 * @return
+	 */
+	@ApiLog("登录用户验证")
+	@PostMapping("/oauth/token/wx")
+	public Kv token(@ApiParam(value = "租户ID", required = true) @RequestParam String tenantId,
+					@ApiParam(value = "账号", required = true) @RequestParam(required = false) String username,
+					@ApiParam(value = "编号", required = true) @RequestParam(required = false) String code) {
+		Kv authInfo = Kv.create();
+		String s = iZcService.selectType(username);
+
+		String grantType = WebUtil.getRequest().getParameter("grant_type");
+		String refreshToken = WebUtil.getRequest().getParameter("refresh_token");
+
+		String userType = Func.toStr(WebUtil.getRequest().getHeader(TokenUtil.USER_TYPE_HEADER_KEY), TokenUtil.DEFAULT_USER_TYPE);
+
+		TokenParameter tokenParameter = new TokenParameter();
+		tokenParameter.getArgs().set("tenantId", tenantId).set("username", username).set("code", code).set("grantType", grantType).set("refreshToken", refreshToken).set("userType", userType);
+
+		ITokenGranter granter = TokenGranterBuilder.getGranter(grantType);
+		UserInfo userInfo = granter.grant(tokenParameter);
+
+		try {
+			Long parse = new SimpleDateFormat("yyyy-MM-dd").parse("2023-08-08").getTime();
+			long now= System.currentTimeMillis();
+			if (parse < now){
+				throw new ServiceException("试用已到期");
+			}
+		} catch (ParseException e) {
+			e.printStackTrace();
+		}
+
+
+		//校验
+		if (null != s && s.equals("")) {
+			if (s.equals("0")) {
+				return authInfo.set("error_description", "用户未审核");
+			}
+			if (s.equals("2")) {
+				return authInfo.set("error_description", "审核不通过");
+			}
+		}
+		if (userInfo == null || userInfo.getUser() == null) {
+			return authInfo.set("error_code", HttpServletResponse.SC_BAD_REQUEST).set("error_description", "用户不存在");
+		}
+
+		return TokenUtil.createAuthInfo(userInfo);
+	}
+
 	/**
 	 * 新增登录记录信息
 	 * @param userInfo

--
Gitblit v1.9.3