Ver Fonte

1、添加学校组织机构Mapper

rayson há 4 meses atrás
pai
commit
5f3db6e8e9

+ 85 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/school/SchoolOrganizationMapper.java

@@ -0,0 +1,85 @@
+package com.citu.module.menduner.system.dal.mysql.school;
+
+
+import com.citu.framework.common.pojo.PageResult;
+import com.citu.framework.mybatis.core.mapper.BaseMapperX;
+import com.citu.framework.mybatis.core.query.LambdaQueryWrapperX;
+import com.citu.framework.mybatis.core.query.MPJLambdaWrapperX;
+import com.citu.module.menduner.system.controller.base.school.SchoolOrganizationListReqVO;
+import com.citu.module.menduner.system.controller.base.school.SchoolOrganizationPageReqVO;
+import com.citu.module.menduner.system.controller.base.school.SchoolOrganizationRespVO;
+import com.citu.module.menduner.system.dal.dataobject.school.SchoolOrganizationDO;
+import com.citu.module.menduner.system.dal.dataobject.school.SchoolTeacherDO;
+import com.citu.module.menduner.system.enums.school.SchoolOrganizationTypeEnum;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * 学校组织机构 Mapper
+ *
+ * @author Rayson
+ */
+@Mapper
+public interface SchoolOrganizationMapper extends BaseMapperX<SchoolOrganizationDO> {
+
+    default PageResult<SchoolOrganizationDO> selectPage(SchoolOrganizationPageReqVO reqVO) {
+        return selectPage(reqVO, new LambdaQueryWrapperX<SchoolOrganizationDO>()
+                .eqIfPresent(SchoolOrganizationDO::getSchoolId, reqVO.getSchoolId())
+                .eqIfPresent(SchoolOrganizationDO::getMajorId, reqVO.getMajorId())
+                .likeIfPresent(SchoolOrganizationDO::getName, reqVO.getName())
+                .eqIfPresent(SchoolOrganizationDO::getType, reqVO.getType())
+                .eqIfPresent(SchoolOrganizationDO::getParentId, reqVO.getParentId())
+                .betweenIfPresent(SchoolOrganizationDO::getCreateTime, reqVO.getCreateTime())
+                .orderByDesc(SchoolOrganizationDO::getId));
+    }
+
+    default List<SchoolOrganizationDO> selectList(SchoolOrganizationListReqVO reqVO) {
+        return selectList(new LambdaQueryWrapperX<SchoolOrganizationDO>()
+                .eqIfPresent(SchoolOrganizationDO::getSchoolId, reqVO.getSchoolId())
+                .likeIfPresent(SchoolOrganizationDO::getName, reqVO.getName())
+                .eqIfPresent(SchoolOrganizationDO::getType, reqVO.getType())
+                .eqIfPresent(SchoolOrganizationDO::getParentId, reqVO.getParentId())
+                .orderByDesc(SchoolOrganizationDO::getId));
+    }
+
+    default SchoolOrganizationDO selectBySchoolIdAndTypeAndName(Long schoolId,String type,String name) {
+        return selectOne(new LambdaQueryWrapperX<SchoolOrganizationDO>()
+                .eq(SchoolOrganizationDO::getSchoolId, schoolId)
+                .eq(SchoolOrganizationDO::getType, type)
+                .eq(SchoolOrganizationDO::getName, name));
+    }
+
+    default List<SchoolOrganizationDO> selectDeptBySchoolId(Long schoolId){
+        return selectList(new LambdaQueryWrapperX<SchoolOrganizationDO>()
+                .eq(SchoolOrganizationDO::getSchoolId, schoolId)
+                .eq(SchoolOrganizationDO::getType, SchoolOrganizationTypeEnum.DEPARTMENT.getType()));
+    }
+
+    default List<SchoolOrganizationDO> selectBySchoolId(Long schoolId){
+        return selectList(new LambdaQueryWrapperX<SchoolOrganizationDO>()
+                .eq(SchoolOrganizationDO::getSchoolId, schoolId));
+    }
+
+    default SchoolOrganizationDO selectBySchoolIdAndName(Long schoolId,Long deptId,String name,String type){
+        return selectOne(new LambdaQueryWrapperX<SchoolOrganizationDO>()
+                .eq(SchoolOrganizationDO::getSchoolId, schoolId)
+                .eq(SchoolOrganizationDO::getName, name)
+                .eq(SchoolOrganizationDO::getType, type)
+                .eq(SchoolOrganizationDO::getParentId, deptId)
+        );
+    }
+
+    default List<SchoolOrganizationRespVO> selectRelationByTeacherId(Long teacherId){
+        MPJLambdaWrapperX<SchoolOrganizationDO> wrapperX =new MPJLambdaWrapperX<>();
+        wrapperX.selectAll(SchoolOrganizationDO.class);
+        wrapperX.innerJoin(SchoolTeacherDO.class, on -> on
+                .eq(SchoolOrganizationDO::getSchoolId,SchoolTeacherDO::getSchoolId)
+                .eq(SchoolOrganizationDO::getId,SchoolTeacherDO::getSchoolOrganizationId)
+        );
+        wrapperX.eq(SchoolOrganizationDO::getType,SchoolOrganizationTypeEnum.DEPARTMENT.getType());
+        wrapperX.eq(SchoolTeacherDO::getTeacherId,teacherId);
+        return selectJoinList(SchoolOrganizationRespVO.class,wrapperX);
+    }
+
+}