From 263ffaa7aa0f4a1534e1ef03bc0f688cf0092772 Mon Sep 17 00:00:00 2001 From: wangjinlei <751475802@qq.com> Date: Wed, 27 Mar 2024 14:29:49 +0800 Subject: [PATCH] 1 --- .../controller/CourseSociologyController.java | 21 +++++++++++++++++-- .../modules/master/service/CourseService.java | 3 +++ .../service/CourseToSociologyService.java | 3 +++ .../service/impl/CourseServiceImpl.java | 12 +++++++++++ .../impl/CourseToSociologyServiceImpl.java | 13 +++++++++++- 5 files changed, 49 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/peanut/modules/master/controller/CourseSociologyController.java b/src/main/java/com/peanut/modules/master/controller/CourseSociologyController.java index b390caab..38ceb2c4 100644 --- a/src/main/java/com/peanut/modules/master/controller/CourseSociologyController.java +++ b/src/main/java/com/peanut/modules/master/controller/CourseSociologyController.java @@ -1,9 +1,10 @@ package com.peanut.modules.master.controller; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.peanut.common.utils.R; -import com.peanut.modules.common.dao.CourseDao; import com.peanut.modules.common.entity.CourseEntity; import com.peanut.modules.common.entity.CourseSociologyEntity; +import com.peanut.modules.common.entity.CourseToSociologyEntity; import com.peanut.modules.common.to.ParamTo; import com.peanut.modules.master.service.CourseService; import com.peanut.modules.master.service.CourseSociologyService; @@ -12,7 +13,6 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import java.util.List; @@ -57,4 +57,21 @@ public class CourseSociologyController { return R.ok().put("courseList",courseListForSociology); } + @RequestMapping("/getCourseListCanSociology") + public R getCourseListCanSociology(@RequestBody ParamTo param){ + Page courseListCanSociology = courseService.getCourseListCanSociology(param); + return R.ok().put("page",courseListCanSociology); + } + + @RequestMapping("/bindCourseAndSociology") + public R bindCourseAndSociology(@RequestBody CourseToSociologyEntity courseToSociologyEntity){ + return courseToSociologyService.bindCourseAndSociology(courseToSociologyEntity); + } + + @RequestMapping("/unbindCourseAndSociology") + public R unbindCourseAndSociology(@RequestBody CourseToSociologyEntity courseToSociologyEntity){ + courseToSociologyService.removeById(courseToSociologyEntity.getId()); + return R.ok(); + } + } diff --git a/src/main/java/com/peanut/modules/master/service/CourseService.java b/src/main/java/com/peanut/modules/master/service/CourseService.java index 9fc6d47e..0768d950 100644 --- a/src/main/java/com/peanut/modules/master/service/CourseService.java +++ b/src/main/java/com/peanut/modules/master/service/CourseService.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.peanut.common.utils.R; import com.peanut.modules.common.entity.CourseEntity; +import com.peanut.modules.common.to.ParamTo; import java.util.List; import java.util.Map; @@ -15,4 +16,6 @@ public interface CourseService extends IService { R delCourse(int id); List getCourseListForSociology(int sociologyId); + + Page getCourseListCanSociology(ParamTo param); } diff --git a/src/main/java/com/peanut/modules/master/service/CourseToSociologyService.java b/src/main/java/com/peanut/modules/master/service/CourseToSociologyService.java index ff977657..859667ad 100644 --- a/src/main/java/com/peanut/modules/master/service/CourseToSociologyService.java +++ b/src/main/java/com/peanut/modules/master/service/CourseToSociologyService.java @@ -1,7 +1,10 @@ package com.peanut.modules.master.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.peanut.common.utils.R; import com.peanut.modules.common.entity.CourseToSociologyEntity; public interface CourseToSociologyService extends IService { + + R bindCourseAndSociology(CourseToSociologyEntity courseToSociologyEntity); } diff --git a/src/main/java/com/peanut/modules/master/service/impl/CourseServiceImpl.java b/src/main/java/com/peanut/modules/master/service/impl/CourseServiceImpl.java index 5a690a93..8f45e8ce 100644 --- a/src/main/java/com/peanut/modules/master/service/impl/CourseServiceImpl.java +++ b/src/main/java/com/peanut/modules/master/service/impl/CourseServiceImpl.java @@ -1,6 +1,7 @@ package com.peanut.modules.master.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +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; @@ -8,6 +9,7 @@ import com.peanut.common.utils.ObjectUtils; import com.peanut.common.utils.R; import com.peanut.modules.common.dao.*; import com.peanut.modules.common.entity.*; +import com.peanut.modules.common.to.ParamTo; import com.peanut.modules.master.service.CourseService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -102,6 +104,16 @@ public class CourseServiceImpl extends ServiceImpl impl return courseEntities; } + @Override + public Page getCourseListCanSociology(ParamTo param) { + List collect = courseToSociologyDao.selectList(new LambdaQueryWrapper().eq(CourseToSociologyEntity::getSociologyId, param.getId())).stream().map(CourseToSociologyEntity::getCourseId).collect(Collectors.toList()); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.notIn(CourseEntity::getId,collect); + wrapper.like(StringUtils.isNotBlank(param.getKeywords()),CourseEntity::getTitle,param.getKeywords()); + Page page = this.page(new Page<>(param.getPage(), param.getLimit()), wrapper); + return page; + } + private List categoryIds(Integer id){ ArrayList integers = new ArrayList<>(); CourseCategoryEntity courseCategoryEntity = courseCategoryDao.selectById(id); diff --git a/src/main/java/com/peanut/modules/master/service/impl/CourseToSociologyServiceImpl.java b/src/main/java/com/peanut/modules/master/service/impl/CourseToSociologyServiceImpl.java index 70f9a7ac..03ff106e 100644 --- a/src/main/java/com/peanut/modules/master/service/impl/CourseToSociologyServiceImpl.java +++ b/src/main/java/com/peanut/modules/master/service/impl/CourseToSociologyServiceImpl.java @@ -1,6 +1,8 @@ package com.peanut.modules.master.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.peanut.common.utils.R; import com.peanut.modules.common.dao.CourseToSociologyDao; import com.peanut.modules.common.entity.CourseToSociologyEntity; import com.peanut.modules.master.service.CourseToSociologyService; @@ -12,5 +14,14 @@ import org.springframework.stereotype.Service; public class CourseToSociologyServiceImpl extends ServiceImpl implements CourseToSociologyService { - + @Override + public R bindCourseAndSociology(CourseToSociologyEntity courseToSociologyEntity) { + //去重 + CourseToSociologyEntity one = this.getOne(new LambdaQueryWrapper().eq(CourseToSociologyEntity::getCourseId, courseToSociologyEntity.getCourseId()).eq(CourseToSociologyEntity::getSociologyId, courseToSociologyEntity.getSociologyId())); + if(one != null){ + return R.error(501,"绑定失败,绑定关系已将存在"); + } + this.save(courseToSociologyEntity); + return R.ok(); + } }