From c7310af8ba59ef7df0263620ba441ef62adc998a Mon Sep 17 00:00:00 2001 From: wangjinlei <751475802@qq.com> Date: Fri, 22 Mar 2024 13:41:31 +0800 Subject: [PATCH 1/5] 1 --- .../com/peanut/modules/common/to/ParamTo.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 src/main/java/com/peanut/modules/common/to/ParamTo.java diff --git a/src/main/java/com/peanut/modules/common/to/ParamTo.java b/src/main/java/com/peanut/modules/common/to/ParamTo.java new file mode 100644 index 00000000..c90ff485 --- /dev/null +++ b/src/main/java/com/peanut/modules/common/to/ParamTo.java @@ -0,0 +1,16 @@ +package com.peanut.modules.common.to; + +import lombok.Data; + +@Data +public class ParamTo { + + private Integer id; + + private Integer limit; + + private Integer page; + + private String keywords; + +} From 44c27b9c7a5d5c35da914dba57d5b54a5cdd7770 Mon Sep 17 00:00:00 2001 From: wangjinlei <751475802@qq.com> Date: Fri, 22 Mar 2024 13:42:42 +0800 Subject: [PATCH 2/5] 1 --- src/main/java/com/peanut/modules/common/to/ParamTo.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/com/peanut/modules/common/to/ParamTo.java b/src/main/java/com/peanut/modules/common/to/ParamTo.java index c90ff485..02af230a 100644 --- a/src/main/java/com/peanut/modules/common/to/ParamTo.java +++ b/src/main/java/com/peanut/modules/common/to/ParamTo.java @@ -1,7 +1,9 @@ package com.peanut.modules.common.to; import lombok.Data; +import lombok.extern.slf4j.Slf4j; +@Slf4j @Data public class ParamTo { From c66a071de5a45955eed47f007687eb015cfcab88 Mon Sep 17 00:00:00 2001 From: wangjinlei <751475802@qq.com> Date: Fri, 22 Mar 2024 14:00:44 +0800 Subject: [PATCH 3/5] 1 --- .../com/peanut/common/utils/MapUtils.java | 1 + .../com/peanut/common/utils/ObjectUtils.java | 21 +++++++++++++++++++ .../service/impl/CourseServiceImpl.java | 5 ++++- 3 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/peanut/common/utils/ObjectUtils.java diff --git a/src/main/java/com/peanut/common/utils/MapUtils.java b/src/main/java/com/peanut/common/utils/MapUtils.java index de3abe7f..27cf07d8 100644 --- a/src/main/java/com/peanut/common/utils/MapUtils.java +++ b/src/main/java/com/peanut/common/utils/MapUtils.java @@ -9,6 +9,7 @@ package com.peanut.common.utils; import java.util.HashMap; +import java.util.Map; /** diff --git a/src/main/java/com/peanut/common/utils/ObjectUtils.java b/src/main/java/com/peanut/common/utils/ObjectUtils.java new file mode 100644 index 00000000..589ff1fa --- /dev/null +++ b/src/main/java/com/peanut/common/utils/ObjectUtils.java @@ -0,0 +1,21 @@ +package com.peanut.common.utils; + +import java.util.Map; + +public class ObjectUtils { + + public boolean isNotBlank(Map m, String key){ + if(!m.containsKey(key)){ + return false; + } + Object o = m.get(key); + if (o==null){ + return false; + } + + if(o.toString()==""){ + return false; + } + return true; + } +} 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 df9afce7..7cb040e5 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 @@ -4,6 +4,7 @@ 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.peanut.common.utils.ObjectUtils; import com.peanut.common.utils.R; import com.peanut.modules.common.dao.*; import com.peanut.modules.common.entity.*; @@ -30,6 +31,8 @@ public class CourseServiceImpl extends ServiceImpl impl private CourseToSociologyDao courseToSociologyDao; @Autowired private CourseCatalogueDao courseCatalogueDao; + @Autowired + private ObjectUtils objectUtils; @Override public Page getCourseList(Map map) { @@ -67,7 +70,7 @@ public class CourseServiceImpl extends ServiceImpl impl return null; } } - wrapper.like(CourseEntity::getTitle,map.get("keywords").toString()); + wrapper.like(objectUtils.isNotBlank(map,"keywords"),CourseEntity::getTitle,map.get("keywords").toString()); Page courseEntityPage = this.getBaseMapper().selectPage(new Page<>(page, limit), wrapper); for (CourseEntity c:courseEntityPage.getRecords()){ List courseCatalogueEntities = courseCatalogueDao.selectList(new LambdaQueryWrapper().eq(CourseCatalogueEntity::getCourseId, c.getId()).orderByAsc(CourseCatalogueEntity::getSort)); From f9431e4c81073ccb975ee71bf7a1536d479f16f9 Mon Sep 17 00:00:00 2001 From: wangjinlei <751475802@qq.com> Date: Fri, 22 Mar 2024 14:06:28 +0800 Subject: [PATCH 4/5] 1 --- src/main/java/com/peanut/common/utils/ObjectUtils.java | 2 +- .../peanut/modules/master/service/impl/CourseServiceImpl.java | 4 +--- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/peanut/common/utils/ObjectUtils.java b/src/main/java/com/peanut/common/utils/ObjectUtils.java index 589ff1fa..a272f3c1 100644 --- a/src/main/java/com/peanut/common/utils/ObjectUtils.java +++ b/src/main/java/com/peanut/common/utils/ObjectUtils.java @@ -4,7 +4,7 @@ import java.util.Map; public class ObjectUtils { - public boolean isNotBlank(Map m, String key){ + public static boolean isNotBlank(Map m, String key){ if(!m.containsKey(key)){ return false; } 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 7cb040e5..ba47b494 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 @@ -31,8 +31,6 @@ public class CourseServiceImpl extends ServiceImpl impl private CourseToSociologyDao courseToSociologyDao; @Autowired private CourseCatalogueDao courseCatalogueDao; - @Autowired - private ObjectUtils objectUtils; @Override public Page getCourseList(Map map) { @@ -70,7 +68,7 @@ public class CourseServiceImpl extends ServiceImpl impl return null; } } - wrapper.like(objectUtils.isNotBlank(map,"keywords"),CourseEntity::getTitle,map.get("keywords").toString()); + wrapper.like(ObjectUtils.isNotBlank(map,"keywords"),CourseEntity::getTitle,map.get("keywords").toString()); Page courseEntityPage = this.getBaseMapper().selectPage(new Page<>(page, limit), wrapper); for (CourseEntity c:courseEntityPage.getRecords()){ List courseCatalogueEntities = courseCatalogueDao.selectList(new LambdaQueryWrapper().eq(CourseCatalogueEntity::getCourseId, c.getId()).orderByAsc(CourseCatalogueEntity::getSort)); From 4999d1e157d8715f8c1f31fd22c2dc0713ac52de Mon Sep 17 00:00:00 2001 From: wangjinlei <751475802@qq.com> Date: Fri, 22 Mar 2024 16:11:25 +0800 Subject: [PATCH 5/5] 1 --- .../modules/common/dao/UserToCourseDao.java | 9 +++++ .../entity/CourseCatalogueChapterEntity.java | 2 ++ .../common/entity/CourseCatalogueEntity.java | 2 ++ .../common/entity/UserToCourseEntity.java | 33 +++++++++++++++++++ .../master/controller/CourseController.java | 15 +++++++++ .../service/CourseCatalogueService.java | 3 ++ .../impl/CourseCatalogueServiceImpl.java | 29 +++++++++++++++- .../service/impl/CourseServiceImpl.java | 10 ++++-- 8 files changed, 99 insertions(+), 4 deletions(-) create mode 100644 src/main/java/com/peanut/modules/common/dao/UserToCourseDao.java create mode 100644 src/main/java/com/peanut/modules/common/entity/UserToCourseEntity.java diff --git a/src/main/java/com/peanut/modules/common/dao/UserToCourseDao.java b/src/main/java/com/peanut/modules/common/dao/UserToCourseDao.java new file mode 100644 index 00000000..ea5dd526 --- /dev/null +++ b/src/main/java/com/peanut/modules/common/dao/UserToCourseDao.java @@ -0,0 +1,9 @@ +package com.peanut.modules.common.dao; + +import com.github.yulichang.base.MPJBaseMapper; +import com.peanut.modules.common.entity.UserToCourseEntity; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface UserToCourseDao extends MPJBaseMapper { +} diff --git a/src/main/java/com/peanut/modules/common/entity/CourseCatalogueChapterEntity.java b/src/main/java/com/peanut/modules/common/entity/CourseCatalogueChapterEntity.java index e97726c4..57d58fc5 100644 --- a/src/main/java/com/peanut/modules/common/entity/CourseCatalogueChapterEntity.java +++ b/src/main/java/com/peanut/modules/common/entity/CourseCatalogueChapterEntity.java @@ -15,6 +15,8 @@ public class CourseCatalogueChapterEntity { private Integer courseId; + private Integer catalogueId; + private String title; private String imgUrl; diff --git a/src/main/java/com/peanut/modules/common/entity/CourseCatalogueEntity.java b/src/main/java/com/peanut/modules/common/entity/CourseCatalogueEntity.java index 596b7eb7..bb10f9b3 100644 --- a/src/main/java/com/peanut/modules/common/entity/CourseCatalogueEntity.java +++ b/src/main/java/com/peanut/modules/common/entity/CourseCatalogueEntity.java @@ -15,6 +15,8 @@ public class CourseCatalogueEntity{ @TableId private Integer id; + private Integer type; + private Integer courseId; private String title; diff --git a/src/main/java/com/peanut/modules/common/entity/UserToCourseEntity.java b/src/main/java/com/peanut/modules/common/entity/UserToCourseEntity.java new file mode 100644 index 00000000..009b385c --- /dev/null +++ b/src/main/java/com/peanut/modules/common/entity/UserToCourseEntity.java @@ -0,0 +1,33 @@ +package com.peanut.modules.common.entity; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.util.Date; + +@Data +@TableName("user_to_course") +public class UserToCourseEntity { + + @TableId + private Integer id; + + private Integer userId; + + private Integer courseId; + + private Integer catalogueId; + + private Date createTime; + + private Integer days; + + private Date startTime; + + private Date endTime; + + @TableLogic + private Integer delFlag; +} diff --git a/src/main/java/com/peanut/modules/master/controller/CourseController.java b/src/main/java/com/peanut/modules/master/controller/CourseController.java index 2408320f..9c7c96f2 100644 --- a/src/main/java/com/peanut/modules/master/controller/CourseController.java +++ b/src/main/java/com/peanut/modules/master/controller/CourseController.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.peanut.common.utils.R; import com.peanut.modules.common.entity.CourseCatalogueEntity; import com.peanut.modules.common.entity.CourseEntity; +import com.peanut.modules.common.to.ParamTo; import com.peanut.modules.master.service.CourseCatalogueService; import com.peanut.modules.master.service.CourseService; import lombok.extern.slf4j.Slf4j; @@ -55,4 +56,18 @@ public class CourseController { return R.ok().put("catalogues",courseCatalogues); } + + @RequestMapping("/addCourseCatalogue") + public R addCourseCatalogue(@RequestBody CourseCatalogueEntity courseCatalogue){ + + //课程这里增加对应商品的还没有做 + courseCatalogueService.save(courseCatalogue); + return R.ok(); + } + + @RequestMapping("/delCourseCatalogue") + public R delCourseCatalogue(@RequestBody ParamTo param){ + return courseCatalogueService.delCourseCatalogue(param.getId()); + } + } diff --git a/src/main/java/com/peanut/modules/master/service/CourseCatalogueService.java b/src/main/java/com/peanut/modules/master/service/CourseCatalogueService.java index e44af86d..592809da 100644 --- a/src/main/java/com/peanut/modules/master/service/CourseCatalogueService.java +++ b/src/main/java/com/peanut/modules/master/service/CourseCatalogueService.java @@ -1,6 +1,7 @@ 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.CourseCatalogueEntity; import java.util.List; @@ -8,4 +9,6 @@ import java.util.List; public interface CourseCatalogueService extends IService { List getCourseCatalogues(int id); + + R delCourseCatalogue(int id); } diff --git a/src/main/java/com/peanut/modules/master/service/impl/CourseCatalogueServiceImpl.java b/src/main/java/com/peanut/modules/master/service/impl/CourseCatalogueServiceImpl.java index 419e832c..2ef0d606 100644 --- a/src/main/java/com/peanut/modules/master/service/impl/CourseCatalogueServiceImpl.java +++ b/src/main/java/com/peanut/modules/master/service/impl/CourseCatalogueServiceImpl.java @@ -2,18 +2,28 @@ 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.CourseCatalogueChapterDao; import com.peanut.modules.common.dao.CourseCatalogueDao; +import com.peanut.modules.common.dao.UserToCourseDao; +import com.peanut.modules.common.entity.CourseCatalogueChapterEntity; import com.peanut.modules.common.entity.CourseCatalogueEntity; +import com.peanut.modules.common.entity.UserToCourseEntity; import com.peanut.modules.master.service.CourseCatalogueService; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.Date; import java.util.List; @Slf4j @Service("masterCourseCatalogueService") public class CourseCatalogueServiceImpl extends ServiceImpl implements CourseCatalogueService { - + @Autowired + private CourseCatalogueChapterDao courseCatalogueChapterDao; + @Autowired + private UserToCourseDao userToCourseDao; @Override public List getCourseCatalogues(int id) { @@ -22,4 +32,21 @@ public class CourseCatalogueServiceImpl extends ServiceImpl list = this.list(courseCatalogueEntityLambdaQueryWrapper); return list; } + + @Override + public R delCourseCatalogue(int id) { + Integer integer = courseCatalogueChapterDao.selectCount(new LambdaQueryWrapper().eq(CourseCatalogueChapterEntity::getCatalogueId, id)); + if(integer>0){ + return R.error(502,"删除失败,请先清空章节"); + } + LambdaQueryWrapper userToCourseEntityLambdaQueryWrapper = new LambdaQueryWrapper<>(); + userToCourseEntityLambdaQueryWrapper.eq(UserToCourseEntity::getCatalogueId,id); + userToCourseEntityLambdaQueryWrapper.gt(UserToCourseEntity::getEndTime,new Date()); + Integer integer1 = userToCourseDao.selectCount(userToCourseEntityLambdaQueryWrapper); + if(integer1>0){ + return R.error(502,"删除失败,有人以购买此课程"); + } + this.removeById(id); + return R.ok(); + } } 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 ba47b494..fd2e2175 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 @@ -51,7 +51,7 @@ public class CourseServiceImpl extends ServiceImpl impl List collect1 = courseToCategoryDao.selectList(new LambdaQueryWrapper().in(CourseToCategoryEntity::getCategoryId, collect)).stream().map(CourseToCategoryEntity::getCourseId).collect(Collectors.toList()); wrapper.in(collect1.size()>0,CourseEntity::getId,collect1); }else{ - return null; + return new Page(); } } else if (map.get("type").toString().equals("2")) { Integer sociologyId = Integer.valueOf(map.get("sociologyId").toString()); @@ -65,10 +65,14 @@ public class CourseServiceImpl extends ServiceImpl impl List collect = courseToSociologyDao.selectList(new LambdaQueryWrapper().in(CourseToSociologyEntity::getSociologyId, c)).stream().map(CourseToSociologyEntity::getCourseId).collect(Collectors.toList()); wrapper.in(collect.size()>0,CourseEntity::getId,collect); }else{ - return null; + return new Page(); } } - wrapper.like(ObjectUtils.isNotBlank(map,"keywords"),CourseEntity::getTitle,map.get("keywords").toString()); + + if(ObjectUtils.isNotBlank(map,"keywords")){ + wrapper.like(CourseEntity::getTitle,map.get("keywords").toString()); + } + Page courseEntityPage = this.getBaseMapper().selectPage(new Page<>(page, limit), wrapper); for (CourseEntity c:courseEntityPage.getRecords()){ List courseCatalogueEntities = courseCatalogueDao.selectList(new LambdaQueryWrapper().eq(CourseCatalogueEntity::getCourseId, c.getId()).orderByAsc(CourseCatalogueEntity::getSort));