4c8cc66f by chentao

no message

1 parent 65b48b6a
1 package com.lego.core.mapper; 1 package com.lego.core.mapper;
2 2
3 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4 import com.baomidou.mybatisplus.core.metadata.IPage;
5 import com.baomidou.mybatisplus.core.toolkit.Constants;
6 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
3 import com.lego.common.core.mapper.BaseMapperPlus; 7 import com.lego.common.core.mapper.BaseMapperPlus;
4 import com.lego.core.domain.Course; 8 import com.lego.core.domain.Course;
5 import com.lego.core.domain.vo.CourseVo; 9 import com.lego.core.domain.vo.CourseVo;
10 import org.apache.ibatis.annotations.Param;
6 11
7 /** 12 /**
8 * 课程Mapper接口 13 * 课程Mapper接口
...@@ -11,4 +16,5 @@ import com.lego.core.domain.vo.CourseVo; ...@@ -11,4 +16,5 @@ import com.lego.core.domain.vo.CourseVo;
11 * @date 2024/9/8 15:22 16 * @date 2024/9/8 15:22
12 */ 17 */
13 public interface CourseMapper extends BaseMapperPlus<CourseMapper, Course, CourseVo> { 18 public interface CourseMapper extends BaseMapperPlus<CourseMapper, Course, CourseVo> {
19 Page<CourseVo> selectPageCourse(IPage<CourseVo> page, @Param(Constants.WRAPPER) QueryWrapper<CourseVo> wrapper);
14 } 20 }
......
1 package com.lego.core.service.impl; 1 package com.lego.core.service.impl;
2 2
3 import cn.hutool.core.bean.BeanUtil; 3 import cn.hutool.core.bean.BeanUtil;
4 import cn.hutool.core.collection.CollUtil;
4 import cn.hutool.core.util.ObjectUtil; 5 import cn.hutool.core.util.ObjectUtil;
5 import cn.hutool.core.util.StrUtil; 6 import cn.hutool.core.util.StrUtil;
6 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 7 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
8 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
7 import com.baomidou.mybatisplus.core.toolkit.Wrappers; 9 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
8 import com.baomidou.mybatisplus.extension.plugins.pagination.Page; 10 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
11 import com.lego.common.constant.UserConstants;
12 import com.lego.common.core.domain.entity.SysUser;
9 import com.lego.common.core.page.TableDataInfo; 13 import com.lego.common.core.page.TableDataInfo;
10 import com.lego.common.core.service.OssService; 14 import com.lego.common.core.service.OssService;
11 import com.lego.common.utils.MessageUtils; 15 import com.lego.common.utils.MessageUtils;
12 import com.lego.common.utils.StreamUtils; 16 import com.lego.common.utils.StreamUtils;
17 import com.lego.common.utils.StringUtils;
13 import com.lego.core.annotation.LanguageAnnotation; 18 import com.lego.core.annotation.LanguageAnnotation;
14 import com.lego.core.domain.Course; 19 import com.lego.core.domain.Course;
15 import com.lego.core.domain.bo.CourseBo; 20 import com.lego.core.domain.bo.CourseBo;
...@@ -51,9 +56,22 @@ public class CourseServiceImpl implements ICourseService { ...@@ -51,9 +56,22 @@ public class CourseServiceImpl implements ICourseService {
51 */ 56 */
52 @Override 57 @Override
53 public TableDataInfo<CourseVo> listPage(CourseQueryBo query, String language) { 58 public TableDataInfo<CourseVo> listPage(CourseQueryBo query, String language) {
54 Page<CourseVo> page = baseMapper.selectVoPage(query.build(), 59 QueryWrapper<CourseVo> wrapper = Wrappers.query();
55 Wrappers.<Course>lambdaQuery().like(StrUtil.isNotBlank(query.getSearchKey()), Course::getName, query.getSearchKey()) 60 if(StringUtils.isNotBlank(query.getSearchKey())) {
56 .eq(Course::getLanguage, language).orderByAsc(Course::getSort)); 61 wrapper.eq("u.del_flag", UserConstants.USER_NORMAL)
62 .eq("u.language", language)
63 .and(w -> w.like(StringUtils.isNotBlank(query.getSearchKey()), "u.name", query.getSearchKey())
64 .or().like(StringUtils.isNotBlank(query.getSearchKey()), "v.name", query.getSearchKey())
65 .or().like(StringUtils.isNotBlank(query.getSearchKey()), "w.name", query.getSearchKey())
66 )
67 .orderByAsc("u.sort");
68 }
69 else{
70 wrapper.eq("u.del_flag", UserConstants.USER_NORMAL)
71 .eq("u.language", language)
72 .orderByAsc("u.sort");
73 }
74 Page<CourseVo> page = baseMapper.selectPageCourse(query.build(),wrapper);
57 List<CourseVo> list = page.getRecords(); 75 List<CourseVo> list = page.getRecords();
58 if (ObjectUtil.isNotEmpty(list)) { 76 if (ObjectUtil.isNotEmpty(list)) {
59 Set<String> ids = StreamUtils.toSet(list, CourseVo::getEntiretyId); 77 Set<String> ids = StreamUtils.toSet(list, CourseVo::getEntiretyId);
......
1 <?xml version="1.0" encoding="UTF-8" ?>
2 <!DOCTYPE mapper
3 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
4 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
5 <mapper namespace="com.lego.core.mapper.CourseMapper">
6
7 <resultMap type="CourseVo" id="CourseResult">
8 <id property="id" column="id"/>
9 <result property="entiretyId" column="entirety_id"/>
10 <result property="name" column="name"/>
11 <result property="type" column="type"/>
12 <result property="twoDimensionalType" column="two_dimensional_type"/>
13 <result property="twoDimensionalUrl" column="two_dimensional_url"/>
14 <result property="threeDimensionalType" column="two_dimensional_type"/>
15 <result property="threeDimensionalType" column="three_dimensional_type"/>
16 <result property="threeDimensionalUrl" column="three_dimensional_url"/>
17 <result property="threeDimensionalType" column="three_dimensional_type"/>
18 <result property="caseOssId" column="case_oss_id"/>
19 <result property="caseName" column="case_name"/>
20 <result property="teachingOssId" column="teaching_oss_id"/>
21 <result property="teachingName" column="teaching_name"/>
22 <result property="pptOssId" column="ppt_oss_id"/>
23 <result property="pptName" column="ppt_name"/>
24 <result property="ossId" column="oss_id"/>
25 <result property="language" column="language"/>
26 <result property="canPack" column="can_pack"/>
27 <result property="sort" column="sort"/>
28 <result property="programType" column="program_type"/>
29 </resultMap>
30
31 <select id="selectPageCourse" resultMap="CourseResult">
32 select u.*
33 from core_course u
34 inner join core_entirety v ON v.id = u.entirety_id
35 inner join core_building_block w ON w.id = v.building_block_id
36 ${ew.getCustomSqlSegment}
37 </select>
38 </mapper>
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!