瀏覽代碼

fix:教师团队从用户里选拉机构和下级机构全部用户

caozixuan 2 年之前
父節點
當前提交
581af786ee

+ 10 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/TeachCourseMapper.java

@@ -5,9 +5,12 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.qmth.distributed.print.business.bean.result.TeachCourseResult;
 import com.qmth.distributed.print.business.entity.TeachCourse;
+import com.qmth.teachcloud.common.bean.result.TeacherSelectResult;
 import com.qmth.teachcloud.common.bean.result.TeacherTeamResult;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 /**
  * @Description: 教学课程mapper
  * @Author: CaoZixuan
@@ -41,4 +44,11 @@ public interface TeachCourseMapper extends BaseMapper<TeachCourse> {
                                                  @Param("userInfo") String userInfo,
                                                  @Param("basicCourseId") Long basicCourseId,
                                                  @Param("schoolId") Long schoolId);
+
+    /**
+     * 根据机构id查询教师集合
+     * @param orgIdList orgIdList
+     * @return 教师查询集合
+     */
+    List<TeacherSelectResult> findTeacherByOrgIds(@Param("orgIdList") List<Long> orgIdList);
 }

+ 9 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/TeachCourseService.java

@@ -7,6 +7,7 @@ import com.qmth.distributed.print.business.bean.params.TeacherTeamParam;
 import com.qmth.distributed.print.business.bean.result.DictionaryResult;
 import com.qmth.distributed.print.business.bean.result.TeachCourseResult;
 import com.qmth.distributed.print.business.entity.TeachCourse;
+import com.qmth.teachcloud.common.bean.result.TeacherSelectResult;
 import com.qmth.teachcloud.common.bean.result.TeacherTeamResult;
 import com.qmth.teachcloud.common.entity.SysUser;
 import org.springframework.web.multipart.MultipartFile;
@@ -109,4 +110,12 @@ public interface TeachCourseService extends IService<TeachCourse> {
      * @return 分页结果
      */
     IPage<TeacherTeamResult> findTeacherTeamPage(String userInfo, Long basicCourseId, int pageNumber, int pageSize);
+
+    /**
+     * 根据机构id查询用户
+     *
+     * @param orgId 机构id
+     * @return 用户结果
+     */
+    List<TeacherSelectResult> findUserByOrgId(Long orgId);
 }

+ 9 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/TeachCourseServiceImpl.java

@@ -18,6 +18,7 @@ import com.qmth.distributed.print.business.service.TeachCourseService;
 import com.qmth.teachcloud.common.base.BaseEntity;
 import com.qmth.teachcloud.common.bean.params.BasicCourseParams;
 import com.qmth.teachcloud.common.bean.params.UserSaveParams;
+import com.qmth.teachcloud.common.bean.result.TeacherSelectResult;
 import com.qmth.teachcloud.common.bean.result.TeacherTeamResult;
 import com.qmth.teachcloud.common.bean.result.UserRoleNameResult;
 import com.qmth.teachcloud.common.contant.SystemConstant;
@@ -362,4 +363,12 @@ public class TeachCourseServiceImpl extends ServiceImpl<TeachCourseMapper, Teach
         });
         return page;
     }
+
+    @Override
+    public List<TeacherSelectResult> findUserByOrgId(Long orgId) {
+        List<Long> temp = new ArrayList<>();
+        temp.add(orgId);
+        Set<Long> orgIdSet = sysOrgService.findDeepOrgIdListByOrgIdList(temp);
+        return this.baseMapper.findTeacherByOrgIds(new ArrayList<>(orgIdSet));
+    }
 }

+ 3 - 1
distributed-print-business/src/main/resources/db/3.2.3更新脚本-增量.sql

@@ -1269,4 +1269,6 @@ ALTER TABLE `basic_operation_log`
 ;
 ALTER TABLE `basic_role_data_permission`
     ADD INDEX `role_data_permission_idx` (`role_id` ASC, `privilege_id` ASC) VISIBLE;
-;
+;
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('860', '教师团队-根据机构查询', '/api/admin/teach/course/find_teacher_by_org', 'URL', '841', '13', 'AUTH', '1', '1', '1');
+UPDATE `sys_privilege` SET `related` = '77,842,843,844,845,846,847,848,849,850,851,852,853,860' WHERE (`id` = '841');

+ 17 - 0
distributed-print-business/src/main/resources/mapper/TeachCourseMapper.xml

@@ -54,6 +54,23 @@
             </if>
         </where>
     </select>
+    <select id="findTeacherByOrgIds" resultType="com.qmth.teachcloud.common.bean.result.TeacherSelectResult">
+        SELECT
+            su.id, su.code, su.real_name AS realName, so.name AS orgName
+        FROM
+            sys_user su
+                LEFT JOIN
+            sys_org so ON su.org_id = so.id
+        <where>
+            <if test="orgIdList != null and orgIdList != '' and orgIdList.size() > 0">
+                AND su.org_id IN
+                <foreach collection="orgIdList" item="item" index="index" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+        </where>
+        ORDER BY so.id
+    </select>
 </mapper>
 
 

+ 8 - 0
distributed-print/src/main/java/com/qmth/distributed/print/api/TeachCourseController.java

@@ -150,4 +150,12 @@ public class TeachCourseController {
                                     @ApiParam(value = "分页数", required = true) @RequestParam @Min(SystemConstant.PAGE_SIZE_MIN) @Max(SystemConstant.PAGE_SIZE_MAX) Integer pageSize) {
         return ResultUtil.ok(teachCourseService.findTeacherTeamPage(userInfo, SystemConstant.convertIdToLong(basicCourseId), pageNumber, pageSize));
     }
+
+    @ApiOperation(value = "教师团队-根据机构查询")
+    @RequestMapping(value = "/find_teacher_by_org", method = RequestMethod.POST)
+    @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = Result.class)})
+    @OperationLogDetail(customizedOperationType = CustomizedOperationTypeEnum.SEARCH)
+    public Result findTeachCoursePage(@ApiParam(value = "课程名称(模糊查询)") @RequestParam(required = false) Long orgId) {
+        return ResultUtil.ok(teachCourseService.findUserByOrgId(orgId));
+    }
 }

+ 57 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/result/TeacherSelectResult.java

@@ -0,0 +1,57 @@
+package com.qmth.teachcloud.common.bean.result;
+
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * @Description:
+ * @Author: CaoZixuan
+ * @Date:
+ */
+public class TeacherSelectResult {
+    @JsonSerialize(using = ToStringSerializer.class)
+    @ApiModelProperty("用户id")
+    private Long id;
+
+    @ApiModelProperty("工号")
+    private String code;
+
+    @ApiModelProperty("姓名")
+    private String realName;
+
+    @ApiModelProperty("机构名称")
+    private String orgName;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+
+    public String getRealName() {
+        return realName;
+    }
+
+    public void setRealName(String realName) {
+        this.realName = realName;
+    }
+
+    public String getOrgName() {
+        return orgName;
+    }
+
+    public void setOrgName(String orgName) {
+        this.orgName = orgName;
+    }
+}