dev:视频课件维护代码开发
parent
123df8e6f4
commit
35edc5633c
|
|
@ -29,7 +29,7 @@ public class TeacherCertificateGatewayImpl implements TeacherCertificateGateway
|
|||
public Boolean add(TeacherCertificateE teacherCertificateE) {
|
||||
TeacherCertificateDO d = new TeacherCertificateDO();
|
||||
BeanUtils.copyProperties(teacherCertificateE, d);
|
||||
if(StringUtils.isNotEmpty(d.getTeacherCertificateId())){
|
||||
if(StringUtils.isEmpty(d.getTeacherCertificateId())){
|
||||
d.setTeacherCertificateId(UuidUtil.get32UUID());
|
||||
}
|
||||
if(d.getCorpinfoId() == null){
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ import org.apache.ibatis.annotations.Mapper;
|
|||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* web-infrastructure
|
||||
|
|
@ -18,7 +19,7 @@ import java.util.List;
|
|||
@Mapper
|
||||
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);
|
||||
|
||||
|
|
|
|||
|
|
@ -40,21 +40,25 @@ public class TeacherRepositoryImpl extends BaseRepositoryImpl<TeacherMapper, Tea
|
|||
}
|
||||
}
|
||||
IPage<TeacherDO> iPage = new Query<TeacherDO>().getPage(params);
|
||||
QueryWrapper<TeacherDO> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params, "a.");
|
||||
queryWrapper.eq("a.delete_enum", "FALSE");
|
||||
if(StringUtils.isNotEmpty((String) params.get("qualificationType"))){
|
||||
queryWrapper.in("b.qualification_type", params.get("qualificationType").toString());
|
||||
}
|
||||
queryWrapper.groupBy("a.teacher_id")
|
||||
.groupBy("a.id")
|
||||
.groupBy("a.user_id")
|
||||
.groupBy("a.corpinfo_id")
|
||||
.groupBy("a.teacher_name")
|
||||
.groupBy("a.state")
|
||||
.groupBy("a.create_time");
|
||||
queryWrapper.orderByDesc("a.create_time");
|
||||
IPage<TeacherDO> result = teacherMapper.getTeacherPage(iPage, queryWrapper);
|
||||
// QueryWrapper<TeacherDO> queryWrapper = new QueryWrapper<>();
|
||||
// queryWrapper = PageQueryHelper.createPageQueryWrapper(queryWrapper, params, "a.");
|
||||
// queryWrapper.eq("a.delete_enum", "FALSE");
|
||||
//// if(StringUtils.isNotEmpty((String) params.get("qualificationType"))){
|
||||
//// queryWrapper.in("b.qualification_type", params.get("qualificationType").toString());
|
||||
//// }
|
||||
// String qualificationType = "";
|
||||
// if(params.get("qualificationType") != null){
|
||||
// qualificationType = params.get("qualificationType").toString();
|
||||
// }
|
||||
// queryWrapper.groupBy("a.teacher_id")
|
||||
// .groupBy("a.id")
|
||||
// .groupBy("a.user_id")
|
||||
// .groupBy("a.corpinfo_id")
|
||||
// .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());
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -5,14 +5,35 @@
|
|||
<mapper namespace="com.zcloud.edu.persistence.mapper.TeacherMapper">
|
||||
|
||||
<select id="getTeacherPage" resultType="com.zcloud.edu.persistence.dataobject.TeacherDO">
|
||||
select
|
||||
a.id,a.teacher_id,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
|
||||
from teacher a
|
||||
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
|
||||
${ew.customSqlSegment}
|
||||
SELECT a.id,
|
||||
a.teacher_id,
|
||||
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
|
||||
FROM teacher a
|
||||
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
|
||||
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 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 corp_info c on a.corpinfo_id = c.id
|
||||
${ew.customSqlSegment}
|
||||
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
|
|
|||
Loading…
Reference in New Issue