|
@@ -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);
|
|
|
+ }
|
|
|
+
|
|
|
+}
|