From 14c70bb6c5607cdd49a154fea36e766512410a11 Mon Sep 17 00:00:00 2001 From: wangjinlei <751475802@qq.com> Date: Thu, 9 May 2024 17:42:31 +0800 Subject: [PATCH] bug --- .../common/dao/CourseCatalogueDao.java | 8 +++ .../controller/ShopProductController.java | 2 +- .../master/service/ShopProductService.java | 2 +- .../service/impl/ShopProductServiceImpl.java | 26 +++++----- .../mapper/master/CourseCatalogueDao.xml | 50 +++++++++++++++++++ 5 files changed, 74 insertions(+), 14 deletions(-) create mode 100644 src/main/resources/mapper/master/CourseCatalogueDao.xml diff --git a/src/main/java/com/peanut/modules/common/dao/CourseCatalogueDao.java b/src/main/java/com/peanut/modules/common/dao/CourseCatalogueDao.java index 6a9e26e4..c05237cc 100644 --- a/src/main/java/com/peanut/modules/common/dao/CourseCatalogueDao.java +++ b/src/main/java/com/peanut/modules/common/dao/CourseCatalogueDao.java @@ -2,8 +2,16 @@ package com.peanut.modules.common.dao; import com.github.yulichang.base.MPJBaseMapper; import com.peanut.modules.common.entity.CourseCatalogueEntity; +import com.peanut.modules.common.vo.CourseCatalogueVo; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; @Mapper public interface CourseCatalogueDao extends MPJBaseMapper { + + List getCanBindProductAndCourse(@Param("ids")List ids, @Param("keywords")String keywords,@Param("page")Integer page,@Param("limit")Integer limit); + + Integer getCanBindProductAndCourseCount(@Param("ids")List ids, @Param("keywords")String keywords); } diff --git a/src/main/java/com/peanut/modules/master/controller/ShopProductController.java b/src/main/java/com/peanut/modules/master/controller/ShopProductController.java index d9724f5d..ffc9a940 100644 --- a/src/main/java/com/peanut/modules/master/controller/ShopProductController.java +++ b/src/main/java/com/peanut/modules/master/controller/ShopProductController.java @@ -178,7 +178,7 @@ public class ShopProductController { @RequestMapping("/getCanBindProductAndCourse") public R getCanBindProductAndCourse(@RequestBody ParamTo param){ - Page canBindProductAndCourse = shopProductService.getCanBindProductAndCourse(param); + Map canBindProductAndCourse = shopProductService.getCanBindProductAndCourse(param); return R.ok().put("page",canBindProductAndCourse); } diff --git a/src/main/java/com/peanut/modules/master/service/ShopProductService.java b/src/main/java/com/peanut/modules/master/service/ShopProductService.java index c6b169c4..66a3e81e 100644 --- a/src/main/java/com/peanut/modules/master/service/ShopProductService.java +++ b/src/main/java/com/peanut/modules/master/service/ShopProductService.java @@ -54,5 +54,5 @@ public interface ShopProductService extends IService { List getHasBindProductAndCourse(int productId); - Page getCanBindProductAndCourse(ParamTo param); + Map getCanBindProductAndCourse(ParamTo param); } diff --git a/src/main/java/com/peanut/modules/master/service/impl/ShopProductServiceImpl.java b/src/main/java/com/peanut/modules/master/service/impl/ShopProductServiceImpl.java index ac8ffc6d..66e6e96b 100644 --- a/src/main/java/com/peanut/modules/master/service/impl/ShopProductServiceImpl.java +++ b/src/main/java/com/peanut/modules/master/service/impl/ShopProductServiceImpl.java @@ -1,11 +1,13 @@ package com.peanut.modules.master.service.impl; +import cn.hutool.core.util.PageUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.yulichang.wrapper.MPJLambdaWrapper; +import com.peanut.common.utils.PageUtils; import com.peanut.common.utils.R; import com.peanut.modules.common.dao.*; import com.peanut.modules.common.entity.*; @@ -16,6 +18,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -238,19 +241,18 @@ public class ShopProductServiceImpl extends ServiceImpl getCanBindProductAndCourse(ParamTo param) { + public Map getCanBindProductAndCourse(ParamTo param) { List catalogueIds = shopProductCourseDao.selectList(new LambdaQueryWrapper().eq(ShopProductCourseEntity::getProductId, param.getId())).stream().map(ShopProductCourseEntity::getCatalogueId).collect(Collectors.toList()); - MPJLambdaWrapper wrapper = new MPJLambdaWrapper<>(); - wrapper.leftJoin(CourseEntity.class,CourseEntity::getId,CourseCatalogueEntity::getCourseId); - wrapper.notIn(catalogueIds.size()>0,CourseCatalogueEntity::getId,catalogueIds); - wrapper.like(StringUtils.isNotBlank(param.getKeywords()),CourseEntity::getTitle,param.getKeywords()); - wrapper.selectAs(CourseEntity::getTitle,"courseTitle"); - wrapper.selectAs(CourseCatalogueEntity::getTitle,"CourseCatalogueTitle"); - wrapper.select(CourseEntity::getImage); - wrapper.selectAs(CourseEntity::getId,"courseId"); - wrapper.selectAs(CourseCatalogueEntity::getId,"catalogueId"); - Page courseCatalogueVoPage = courseCatalogueDao.selectJoinPage(new Page<>(param.getPage(), param.getLimit()), CourseCatalogueVo.class, wrapper); - return courseCatalogueVoPage; + int page = param.getPage(); + int limit = param.getLimit(); + Integer canBindProductAndCourseCount = courseCatalogueDao.getCanBindProductAndCourseCount(catalogueIds, param.getKeywords()); + List canBindProductAndCourse = courseCatalogueDao.getCanBindProductAndCourse(catalogueIds, param.getKeywords(), (page-1)*limit, param.getLimit()); + Map flag = new HashMap<>(); + flag.put("count",canBindProductAndCourseCount); + flag.put("data",canBindProductAndCourse); + flag.put("page",page); + flag.put("limit",limit); + return flag; } @Override diff --git a/src/main/resources/mapper/master/CourseCatalogueDao.xml b/src/main/resources/mapper/master/CourseCatalogueDao.xml new file mode 100644 index 00000000..f07fc947 --- /dev/null +++ b/src/main/resources/mapper/master/CourseCatalogueDao.xml @@ -0,0 +1,50 @@ + + + + + + + + + + \ No newline at end of file