<p>@GetMapping(&quot;/queryCoachByPageByParam&quot;)
public Result<Object> queryCoachByPageByParam(QueryRequest queryRequest, Admin admin,
String text, String drivingProjectType,
String workStatus, HttpServletRequest request) {</p>
<pre><code>//权限验证
String token = (String) request.getAttribute(&quot;claims_admin&quot;);

if (token == null || &quot;&quot;.equals(token)) {
    throw new RuntimeException(&quot;权限不足!&quot;);
}

Map&lt;String, Object&gt; map = new HashMap&lt;&gt;();

//查出当前管理员
Admin admin1 = adminService.queryOneAdminByID(admin.getAdminId());


//1.当前管理员为总管理
if (admin1.getTotalAdminId() != null &amp;&amp; admin1.getTotalAdminId() == 0) {
    //找到当前总管理名下所有管理员
    List&lt;Admin&gt; admins = adminService.queryAdminsByTotalAdminId(admin.getAdminId());

    //(1)通过姓名和电话查询-总管理
    if (!StringUtils.isEmpty(text)) {
        List&lt;Coach&gt; coaches = new ArrayList&lt;&gt;();
        for (Admin admin2 : admins) {
            coaches.addAll(adminService.queryAllCoachByAdminId(admin2.getAdminId()));
        }

        List&lt;CoachDto&gt; coachDtoListByText = new ArrayList&lt;&gt;();
        List&lt;Coach&gt; coachList = new ArrayList&lt;&gt;();
        for (Coach coach : coaches) {
            if (coach.getRealName() != null) {
                if (coach.getRealName().contains(text) || coach.getCoachPhone().contains(text)) {
                    coachList.add(coach);
                }
            }
        }

        if (!CollectionUtils.isEmpty(coachList)) {
            List&lt;Long&gt; coachIds = coachList.stream()
                    .map(Coach::getCoachId)
                    .collect(Collectors.toList());
            Map&lt;Long, Coach&gt; coachMap = coaches.stream().collect(Collectors.toMap(Coach::getCoachId, Function.identity()));

            // 查询当前教练课程
            Map&lt;Long, List&lt;CourseDto&gt;&gt; courseDtoMap = courseInfoService.queryCourseByCoachIds(coachIds, RcqtUtils.getDay());

            coachDtoListByText = coachIds.stream()
                    .map(coachId -&gt; {
                        Coach coach = coachMap.get(coachId);

                        if (coach != null) {
                            CoachDto coachDto = new CoachDto();
                            BeanUtils.copyProperties(coach, coachDto);

                            // 判断教练是否在工作中
                            List&lt;CourseDto&gt; courseDtoList = courseDtoMap.get(coachId);
                            boolean isWorking
</code></pre>
GetMappingqueryCoachByPageByParam public ResultObject queryCoachByPageByParamQueryRequest queryRequest Admin admin String text String drivingProject

原文地址: https://www.cveoy.top/t/topic/iAOw 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录