dev:视频课件维护代码开发

main
SondonYong 2025-11-28 09:05:56 +08:00
parent 123df8e6f4
commit 35edc5633c
4 changed files with 52 additions and 25 deletions

View File

@ -29,7 +29,7 @@ public class TeacherCertificateGatewayImpl implements TeacherCertificateGateway
public Boolean add(TeacherCertificateE teacherCertificateE) { public Boolean add(TeacherCertificateE teacherCertificateE) {
TeacherCertificateDO d = new TeacherCertificateDO(); TeacherCertificateDO d = new TeacherCertificateDO();
BeanUtils.copyProperties(teacherCertificateE, d); BeanUtils.copyProperties(teacherCertificateE, d);
if(StringUtils.isNotEmpty(d.getTeacherCertificateId())){ if(StringUtils.isEmpty(d.getTeacherCertificateId())){
d.setTeacherCertificateId(UuidUtil.get32UUID()); d.setTeacherCertificateId(UuidUtil.get32UUID());
} }
if(d.getCorpinfoId() == null){ if(d.getCorpinfoId() == null){

View File

@ -8,6 +8,7 @@ import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* web-infrastructure * web-infrastructure
@ -18,7 +19,7 @@ import java.util.List;
@Mapper @Mapper
public interface TeacherMapper extends BaseMapper<TeacherDO> { public interface TeacherMapper extends BaseMapper<TeacherDO> {
IPage<TeacherDO> getTeacherPage(IPage<TeacherDO> page, @Param("ew") QueryWrapper<TeacherDO> queryWrapper); IPage<TeacherDO> getTeacherPage(IPage<TeacherDO> page, Map<String, Object> params);
List<TeacherDO> getTeacherList(@Param("ew") QueryWrapper<TeacherDO> queryWrapper); List<TeacherDO> getTeacherList(@Param("ew") QueryWrapper<TeacherDO> queryWrapper);

View File

@ -40,21 +40,25 @@ public class TeacherRepositoryImpl extends BaseRepositoryImpl<TeacherMapper, Tea
} }
} }
IPage<TeacherDO> iPage = new Query<TeacherDO>().getPage(params); IPage<TeacherDO> iPage = new Query<TeacherDO>().getPage(params);
QueryWrapper<TeacherDO> queryWrapper = new QueryWrapper<>(); // QueryWrapper<TeacherDO> queryWrapper = new QueryWrapper<>();
queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params, "a."); // queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params, "a.");
queryWrapper.eq("a.delete_enum", "FALSE"); // queryWrapper.eq("a.delete_enum", "FALSE");
if(StringUtils.isNotEmpty((String) params.get("qualificationType"))){ //// if(StringUtils.isNotEmpty((String) params.get("qualificationType"))){
queryWrapper.in("b.qualification_type", params.get("qualificationType").toString()); //// queryWrapper.in("b.qualification_type", params.get("qualificationType").toString());
} //// }
queryWrapper.groupBy("a.teacher_id") // String qualificationType = "";
.groupBy("a.id") // if(params.get("qualificationType") != null){
.groupBy("a.user_id") // qualificationType = params.get("qualificationType").toString();
.groupBy("a.corpinfo_id") // }
.groupBy("a.teacher_name") // queryWrapper.groupBy("a.teacher_id")
.groupBy("a.state") // .groupBy("a.id")
.groupBy("a.create_time"); // .groupBy("a.user_id")
queryWrapper.orderByDesc("a.create_time"); // .groupBy("a.corpinfo_id")
IPage<TeacherDO> result = teacherMapper.getTeacherPage(iPage, queryWrapper); // .groupBy("a.teacher_name")
// .groupBy("a.state")
// .groupBy("a.create_time");
// queryWrapper.orderByDesc("a.create_time");
IPage<TeacherDO> result = teacherMapper.getTeacherPage(iPage, params);
return PageHelper.pageToResponse(result, result.getRecords()); return PageHelper.pageToResponse(result, result.getRecords());
} }

View File

@ -5,14 +5,35 @@
<mapper namespace="com.zcloud.edu.persistence.mapper.TeacherMapper"> <mapper namespace="com.zcloud.edu.persistence.mapper.TeacherMapper">
<select id="getTeacherPage" resultType="com.zcloud.edu.persistence.dataobject.TeacherDO"> <select id="getTeacherPage" resultType="com.zcloud.edu.persistence.dataobject.TeacherDO">
select SELECT a.id,
a.id,a.teacher_id,a.user_id,a.corpinfo_id,a.teacher_name,a.`state`,a.create_time, a.teacher_id,
c.corp_name as corpinfoName, a.user_id,
a.corpinfo_id,
a.teacher_name,
a.`state`,
a.create_time,
c.corp_name AS corpinfoName,
GROUP_CONCAT(b.qualification_type_name SEPARATOR ',') AS qualificationTypeNames GROUP_CONCAT(b.qualification_type_name SEPARATOR ',') AS qualificationTypeNames
from teacher a FROM teacher a
left join teacher_certificate b on a.teacher_id = b.teacher_id and b.delete_enum = 'FALSE' LEFT JOIN teacher_certificate b ON a.teacher_id = b.teacher_id AND b.delete_enum = 'FALSE'
left join corp_info c on a.corpinfo_id = c.id LEFT JOIN corp_info c ON a.corpinfo_id = c.id
${ew.customSqlSegment} WHERE a.delete_enum = 'FALSE'
<if test="params.eqCorpinfoId != null">
AND a.corpinfo_id = #{params.eqCorpinfoId}
</if>
AND EXISTS ( -- 关键:确保教师有符合条件的证书
SELECT 1 FROM teacher_certificate b2
WHERE b2.teacher_id = a.teacher_id
AND b2.delete_enum = 'FALSE'
<if test="params.qualificationType != null and params.qualificationType != ''">
AND b2.qualification_type IN
<foreach collection="params.qualificationType.split(',')" item="type" open="(" separator="," close=")">
#{type}
</foreach>
</if>
)
GROUP BY a.teacher_id, a.id, a.user_id, a.corpinfo_id, a.teacher_name, a.state, a.create_time
ORDER BY a.create_time DESC
</select> </select>
<select id="getTeacherList" resultType="com.zcloud.edu.persistence.dataobject.TeacherDO"> <select id="getTeacherList" resultType="com.zcloud.edu.persistence.dataobject.TeacherDO">
@ -24,6 +45,7 @@
left join teacher_certificate b on a.teacher_id = b.teacher_id and b.delete_enum = 'FALSE' left join teacher_certificate b on a.teacher_id = b.teacher_id and b.delete_enum = 'FALSE'
left join corp_info c on a.corpinfo_id = c.id left join corp_info c on a.corpinfo_id = c.id
${ew.customSqlSegment} ${ew.customSqlSegment}
</select> </select>
</mapper> </mapper>