diff --git a/servers/boe-server-all/src/main/java/com/xboe/api/ThirdApi.java b/servers/boe-server-all/src/main/java/com/xboe/api/ThirdApi.java index dafe7c8c..71d7ebfb 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/api/ThirdApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/api/ThirdApi.java @@ -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 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 dictDtos = Opt.ofBlankAble(s).map(t -> JSONUtil.toBean(t, DictResult.class)).map(DictResult::getData).orElseThrow(); + ListuserNo=new ArrayList<>(); + for (DictDto dictDto : dictDtos) { + userNo.add(dictDto.getValue()); + } + return userDao.getListByUserNos(userNo).stream().map(User::getId).collect(Collectors.toList()); + } public List getAllUserList(UserListParam userListParam, String token) { log.info("获取用户:url:{}|params:{}|token:{}", searchUserListUrl, JSONUtil.toJsonStr(userListParam), token); diff --git a/servers/boe-server-all/src/main/java/com/xboe/api/vo/DictResult.java b/servers/boe-server-all/src/main/java/com/xboe/api/vo/DictResult.java new file mode 100644 index 00000000..96a2febd --- /dev/null +++ b/servers/boe-server-all/src/main/java/com/xboe/api/vo/DictResult.java @@ -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 data; + private String success; +} diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CourseFullTextApi.java b/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CourseFullTextApi.java index 33de5947..3390e9c0 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CourseFullTextApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CourseFullTextApi.java @@ -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> search(Pagination pager,CourseQueryDto dto,Integer minDuration,Integer maxDuration){ - + //获取例外人员id + List 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())) { diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CoursePortalApi.java b/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CoursePortalApi.java index 4a7c940c..fbf593ae 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CoursePortalApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CoursePortalApi.java @@ -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); //查询课程 diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/course/dto/CourseQueryDto.java b/servers/boe-server-all/src/main/java/com/xboe/module/course/dto/CourseQueryDto.java index bfb5b470..abef7f5d 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/course/dto/CourseQueryDto.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/course/dto/CourseQueryDto.java @@ -114,4 +114,9 @@ public class CourseQueryDto { private String refId; private String refType; + + /** + * 创建人id + */ + private String sysCreateAids; } diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/course/service/impl/PublishCourseUtil.java b/servers/boe-server-all/src/main/java/com/xboe/module/course/service/impl/PublishCourseUtil.java index 117b013e..bed3b979 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/course/service/impl/PublishCourseUtil.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/course/service/impl/PublishCourseUtil.java @@ -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)) {