Merge branch 'refs/heads/zcwy-0724-wjw-online-prod' into zcwy0923-wjwyyk-online2

# Conflicts:
#	servers/boe-server-all/src/main/java/com/xboe/api/ThirdApi.java
#	servers/boe-server-all/src/main/java/com/xboe/module/course/api/CoursePortalApi.java
This commit is contained in:
yang
2024-09-27 16:07:55 +08:00
10 changed files with 238 additions and 146 deletions

View File

@@ -13,10 +13,12 @@ import com.xboe.module.exam.entity.ExamTest;
import com.xboe.school.study.entity.StudyCourse;
import com.xboe.system.user.dao.UserDao;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletRequest;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.Collection;
@@ -66,6 +68,10 @@ public class ThirdApi {
@Value("${manageApi.editExam}")
private String editExam;
@Value("${userBasic.getUserBasicInfo}")
private String getUserBasicInfo;
//获取例外人员的id
public List<String> getUserId(){
String responseBody = Optional.ofNullable(HttpRequest.get(infarasApiUrl+"?pid=316&type=1").execute() //prod 316
@@ -268,4 +274,32 @@ public class ThirdApi {
}
return builder.toString();
}
/**
* 虽然当前已存在接口查询用户基本信息目前仅仅包括用户名、工号、用户ID
*/
public List<UserBasicInfo> getUserBasicInfoByUserId(List<String> userIds, HttpServletRequest request) {
String token = request.getHeader("Xboe-Access-Token");
if (StringUtils.isEmpty(token)) {
token = request.getHeader("token");
}
if (StringUtils.isEmpty(token)) {
token = request.getHeader("x-access-token");
}
// 将userIds列表转换为逗号分隔的字符串
String userIdsStr = userIds.stream()
.collect(Collectors.joining(","));
String url = getUserBasicInfo +"?userIds=" + userIdsStr;
String respStr = Optional.ofNullable(HttpRequest
.get(url)
.header("token", token)
.execute().body()).orElseThrow(() -> new RuntimeException("用户中心用户数据获取失败"));
UserBasicInfoResult userBasicInfoResult = JSONUtil.parseObj(respStr).toBean(UserBasicInfoResult.class);
List<UserBasicInfo> basicInfos = userBasicInfoResult.getResult();
return basicInfos;
}
}

View File

@@ -0,0 +1,23 @@
package com.xboe.api.vo;
import lombok.Data;
@Data
public class UserBasicInfo {
/**
* 用户ID
*/
private String userId;
/**
* 用户名。
*/
private String userName;
/**
* 工号。
*/
private String workNum;
}

View File

@@ -0,0 +1,35 @@
package com.xboe.api.vo;
import cn.hutool.json.JSONUtil;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import java.util.Date;
import java.util.List;
@Data
@Slf4j
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class UserBasicInfoResult {
private String error;
private String message;
private String permissions;
private List<UserBasicInfo> result;
private int status;
private Date timestamp;
public UserBasicInfoResult success() {
if (this.status != 200) {
log.error("获取用户基本信息失败----{}", JSONUtil.toJsonPrettyStr(this));
return null;
}
return this;
}
}