This commit is contained in:
xiaozhequ
2023-10-17 20:44:10 +08:00
parent 0bfc7dd661
commit a4c67fc52e
6 changed files with 77 additions and 6 deletions

View File

@@ -5,14 +5,20 @@ import cn.hutool.core.lang.Opt;
import cn.hutool.http.HttpRequest;
import cn.hutool.json.JSONUtil;
import com.xboe.api.vo.*;
import com.xboe.module.dict.entity.DictDto;
import com.xboe.system.user.dao.UserDao;
import com.xboe.system.user.entity.User;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Optional;
import java.util.concurrent.ForkJoinPool;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
@Service
@@ -24,7 +30,6 @@ public class ThirdApi {
@Value("${orgTree.orgChildTreeList}")
private String orgChildTreeListUrl;
@Value("${audience.usersByAudienceList}")
private String usersByAudienceList;
@@ -34,6 +39,27 @@ public class ThirdApi {
@Value("${statApi.userdynamicList}")
private String userdynamicListUrl;
@Autowired
UserDao userDao;
@Value("${infrasApi.dict}")
private String infarasApiUrl;
//获取例外人员的id
public List<String> getUserId(){
log.info("正在获取例外人员工号");
// String s ="{\"show\":false,\"version\":\"1.1.0\",\"code\":200,\"msg\":\"请求成功!\",\"data\":{\"records\":[{\"id\":129,\"deleted\":null,\"createTime\":\"2023-10-16T10:03:25\",\"createId\":0,\"createName\":\"管理员\",\"updateTime\":\"2023-10-16T10:03:25\",\"updateId\":0,\"updateName\":\"管理员\",\"name\":\"李玉冰\",\"pid\":128,\"code\":\"00004409\",\"description\":null,\"value\":\"00004409\",\"img\":null,\"type\":1,\"level\":0,\"status\":0,\"sort\":0,\"children\":[]}],\"total\":0,\"size\":10,\"current\":1,\"orders\":[],\"id\":null,\"pid\":128,\"type\":1,\"status\":null,\"code\":null,\"name\":null,\"searchCount\":true,\"pages\":0},\"success\":true}";
String s = Optional.ofNullable(HttpRequest.get("localhost:53323/dict/getCourseException").execute() //"current",1,"type",1,"pid",128)
.body()).orElseThrow(() -> new RuntimeException("token校验失败"));
List<DictDto> dictDtos = Opt.ofBlankAble(s).map(t -> JSONUtil.toBean(t, DictResult.class)).map(DictResult::getData).orElseThrow();
List<String>userNo=new ArrayList<>();
for (DictDto dictDto : dictDtos) {
userNo.add(dictDto.getValue());
}
return userDao.getListByUserNos(userNo).stream().map(User::getId).collect(Collectors.toList());
}
public List<UserInfoListVo> getAllUserList(UserListParam userListParam, String token) {
log.info("获取用户:url:{}|params:{}|token:{}", searchUserListUrl, JSONUtil.toJsonStr(userListParam), token);

View File

@@ -0,0 +1,16 @@
package com.xboe.api.vo;
import com.xboe.module.dict.entity.DictDto;
import lombok.Data;
import java.util.List;
@Data
public class DictResult {
private Boolean show;
private String version;
private String code;
private String msg;
private List<DictDto> data;
private String success;
}

View File

@@ -3,7 +3,17 @@ package com.xboe.module.course.api;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
import com.xboe.api.ThirdApi;
import com.xboe.common.utils.StringUtil;
import com.xboe.module.boecase.dao.CasesRecordDao;
import com.xboe.old.dto.OrganizationDto;
import com.xboe.system.organization.api.OrganizationApi;
import com.xboe.system.organization.entity.Organization;
import com.xboe.system.organization.service.IOrganizationService;
import com.xboe.system.organization.service.impl.OrganizationServiceImpl;
import com.xboe.system.user.dao.UserDao;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
@@ -29,6 +39,8 @@ import com.xboe.module.course.service.ICourseTeacherService;
import lombok.extern.slf4j.Slf4j;
import javax.annotation.Resource;
@Slf4j
@RestController
@RequestMapping(value="/xboe/m/course/fulltext")
@@ -45,6 +57,11 @@ public class CourseFullTextApi extends ApiBaseController{
@Autowired(required = false)
ICourseFullTextSearch fullTextSearch;
@Resource
IOrganizationService organizationService;
@Autowired
ThirdApi thirdApi;
/**
* 课程的初始化
@@ -67,6 +84,8 @@ public class CourseFullTextApi extends ApiBaseController{
for(Course c:clist) {
CourseFullText cft=CourseToCourseFullText.convert(c);
try {
//添加创建人Id
cft.setSysCreateAid(c.getSysCreateAid());
//计算课程时长
int duration=ccourseService.sumDurationByCourseId(c.getId());
cft.setDuration(duration);
@@ -193,7 +212,9 @@ public class CourseFullTextApi extends ApiBaseController{
*/
@PostMapping("/search")
public JsonResponse<PageList<CourseFullText>> search(Pagination pager,CourseQueryDto dto,Integer minDuration,Integer maxDuration){
//获取例外人员id
List<String> userId = thirdApi.getUserId();
String userIds = String.join(",", userId);
//只是查询已发布的
dto.setPublish(true);
if(this.fullTextSearch==null) {
@@ -214,10 +235,12 @@ public class CourseFullTextApi extends ApiBaseController{
paras.setTypes(dto.getTypes());//多个分类的情况
//用户的companyId
paras.setCompanyId(dto.getCompanyId());
//paras.setAudience(dto.getAudiences());
if(StringUtils.isNotBlank(dto.getAudiences())) {
paras.setAudiences(dto.getAudiences().split(","));
}
if(StringUtils.isNotBlank(userIds)) {
paras.setSysCreateAids(userIds.split(","));
}
paras.setOpenCourse(dto.getOpenCourse());
if(StringUtils.isNotBlank(dto.getOrderField())) {

View File

@@ -305,7 +305,7 @@ public class CoursePortalApi extends ApiBaseController{
}
rs.put("isCrowd",pass);
rs.put("contents",cclist);
rs.put("contents", cclist);
rs.put("sections",sectionlist);
rs.put("teachers",teachers);
//查询课程

View File

@@ -114,4 +114,9 @@ public class CourseQueryDto {
private String refId;
private String refType;
/**
* 创建人id
*/
private String sysCreateAids;
}

View File

@@ -96,8 +96,9 @@ public class PublishCourseUtil {
}else {
cft.setIsSetAudience(0);//无受众
}
//String fullTextId="";//全文检索返回的id用于移除时处理
// 添加课程创建人Id
cft.setSysCreateAid(c.getSysCreateAid());
String fullTextId="";//全文检索返回的id用于移除时处理
String newFullId=fullTextSearch.republish(ICourseFullTextSearch.DEFAULT_INDEX_NAME, cft, c.getFullTextId());
if(StringUtils.isNotBlank(c.getFullTextId())) {
if(StringUtils.isNotBlank(newFullId) && !c.getFullTextId().equals(newFullId)) {