diff --git a/pom.xml b/pom.xml index 49cd7c57..97841542 100644 --- a/pom.xml +++ b/pom.xml @@ -371,6 +371,12 @@ mybatis-plus-join-boot-starter 1.4.6 + + org.jetbrains + annotations + RELEASE + compile + 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 bb10f9b3..76237456 100644 --- a/src/main/java/com/peanut/modules/common/entity/CourseCatalogueEntity.java +++ b/src/main/java/com/peanut/modules/common/entity/CourseCatalogueEntity.java @@ -1,5 +1,6 @@ package com.peanut.modules.common.entity; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; @@ -31,4 +32,10 @@ public class CourseCatalogueEntity{ @TableLogic private Integer delFlag; + + /** + * 是否同步创建商品 + */ + @TableField(exist = false) + private Integer needCreate; } diff --git a/src/main/java/com/peanut/modules/common/entity/ShopProduct.java b/src/main/java/com/peanut/modules/common/entity/ShopProduct.java index 2ceb84a8..8fc2c94e 100644 --- a/src/main/java/com/peanut/modules/common/entity/ShopProduct.java +++ b/src/main/java/com/peanut/modules/common/entity/ShopProduct.java @@ -129,7 +129,7 @@ public class ShopProduct implements Serializable { */ private Integer sumSales; /** - * 商品类型 01: 画册 02:书 04:仪器,03:预售书 + * 商品类型01挂图02书籍03预售书04仪器05课程06小店商品 */ private String goodsType; private String goodsTypeCode; diff --git a/src/main/java/com/peanut/modules/common/entity/ShopProductCourseEntity.java b/src/main/java/com/peanut/modules/common/entity/ShopProductCourseEntity.java index fd5fa5e2..b632fd16 100644 --- a/src/main/java/com/peanut/modules/common/entity/ShopProductCourseEntity.java +++ b/src/main/java/com/peanut/modules/common/entity/ShopProductCourseEntity.java @@ -14,6 +14,8 @@ public class ShopProductCourseEntity { @TableId private Integer id; + private Integer productId; + private Integer courseId; private Integer catalogueId; 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 9c7c96f2..c241d734 100644 --- a/src/main/java/com/peanut/modules/master/controller/CourseController.java +++ b/src/main/java/com/peanut/modules/master/controller/CourseController.java @@ -2,9 +2,14 @@ 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.CourseCatalogueChapterVideoDao; +import com.peanut.modules.common.entity.CourseCatalogueChapterEntity; +import com.peanut.modules.common.entity.CourseCatalogueChapterVideoEntity; 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.CourseCatalogueChapterService; +import com.peanut.modules.master.service.CourseCatalogueChapterVideoService; import com.peanut.modules.master.service.CourseCatalogueService; import com.peanut.modules.master.service.CourseService; import lombok.extern.slf4j.Slf4j; @@ -25,6 +30,10 @@ public class CourseController { private CourseService courseService; @Autowired private CourseCatalogueService courseCatalogueService; + @Autowired + private CourseCatalogueChapterService courseCatalogueChapterService; + @Autowired + private CourseCatalogueChapterVideoService courseCatalogueChapterVideoService; @RequestMapping("/getCourseList") @@ -56,12 +65,9 @@ public class CourseController { return R.ok().put("catalogues",courseCatalogues); } - @RequestMapping("/addCourseCatalogue") public R addCourseCatalogue(@RequestBody CourseCatalogueEntity courseCatalogue){ - - //课程这里增加对应商品的还没有做 - courseCatalogueService.save(courseCatalogue); + courseCatalogueService.addCourseCatalogue(courseCatalogue); return R.ok(); } @@ -70,4 +76,57 @@ public class CourseController { return courseCatalogueService.delCourseCatalogue(param.getId()); } + @RequestMapping("/editCourseCatalogue") + public R editCourseCatalogue(@RequestBody CourseCatalogueEntity c){ + courseCatalogueService.updateById(c); + return R.ok(); + } + + @RequestMapping("/getCourseCatalogueChapterList") + public R getCourseCatalogueChapterList(@RequestBody ParamTo param){ + Page courseCatalogueChapterList = courseCatalogueChapterService.getCourseCatalogueChapterList(param); + return R.ok().put("page",courseCatalogueChapterList); + } + + @RequestMapping("/addCourseCatalogueChapter") + public R addCourseCatalogueChapter(@RequestBody CourseCatalogueChapterEntity courseCatalogueChapterEntity){ + courseCatalogueChapterService.save(courseCatalogueChapterEntity); + return R.ok(); + } + + @RequestMapping("/delCourseCatalogueChapter") + public R delCourseCatalogueChapter(@RequestBody ParamTo param){ + return courseCatalogueChapterService.delCourseCatalogueChapter(param.getId()); + } + + @RequestMapping("/editCourseCatalogueChapter") + public R editCourseCatalogueChapter(@RequestBody CourseCatalogueChapterEntity courseCatalogueChapterEntity){ + courseCatalogueChapterService.updateById(courseCatalogueChapterEntity); + return R.ok(); + } + + @RequestMapping("/getCourseCatalogueChapterVideoList") + public R getCourseCatalogueChapterVideoList(@RequestBody ParamTo param){ + courseCatalogueChapterVideoService.getCourseCatalogueChapterVideoList(param); + return R.ok(); + } + + @RequestMapping("/addCourseCatalogueChapterVideo") + public R addCourseCatalogueChapterVideo(@RequestBody CourseCatalogueChapterVideoEntity courseCatalogueChapterVideoEntity){ + courseCatalogueChapterVideoService.save(courseCatalogueChapterVideoEntity); + return R.ok(); + } + + @RequestMapping("/delCourseCatalogueChapterVideo") + public R delCourseCatalogueChapterVideo(@RequestBody ParamTo param){ + courseCatalogueChapterVideoService.removeById(param.getId()); + return R.ok(); + } + + @RequestMapping("/editCourseCatalogueChapterVideo") + public R editCourseCatalogueChapterVideo(@RequestBody CourseCatalogueChapterVideoEntity courseCatalogueChapterVideoEntity){ + courseCatalogueChapterVideoService.updateById(courseCatalogueChapterVideoEntity); + return R.ok(); + } + } diff --git a/src/main/java/com/peanut/modules/master/service/CourseCatalogueChapterService.java b/src/main/java/com/peanut/modules/master/service/CourseCatalogueChapterService.java new file mode 100644 index 00000000..e791194a --- /dev/null +++ b/src/main/java/com/peanut/modules/master/service/CourseCatalogueChapterService.java @@ -0,0 +1,16 @@ +package com.peanut.modules.master.service; + +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.CourseCatalogueChapterEntity; +import com.peanut.modules.common.to.ParamTo; + +import java.util.List; + +public interface CourseCatalogueChapterService extends IService { + + Page getCourseCatalogueChapterList(ParamTo param); + + R delCourseCatalogueChapter(int id); +} diff --git a/src/main/java/com/peanut/modules/master/service/CourseCatalogueChapterVideoService.java b/src/main/java/com/peanut/modules/master/service/CourseCatalogueChapterVideoService.java new file mode 100644 index 00000000..9264f341 --- /dev/null +++ b/src/main/java/com/peanut/modules/master/service/CourseCatalogueChapterVideoService.java @@ -0,0 +1,10 @@ +package com.peanut.modules.master.service; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.peanut.modules.common.entity.CourseCatalogueChapterVideoEntity; +import com.peanut.modules.common.to.ParamTo; + +public interface CourseCatalogueChapterVideoService extends IService { + Page getCourseCatalogueChapterVideoList(ParamTo param); +} 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 592809da..60c2cb10 100644 --- a/src/main/java/com/peanut/modules/master/service/CourseCatalogueService.java +++ b/src/main/java/com/peanut/modules/master/service/CourseCatalogueService.java @@ -11,4 +11,6 @@ public interface CourseCatalogueService extends IService List getCourseCatalogues(int id); R delCourseCatalogue(int id); + + void addCourseCatalogue(CourseCatalogueEntity courseCatalogue); } diff --git a/src/main/java/com/peanut/modules/master/service/impl/CourseCatalogueChapterServiceImpl.java b/src/main/java/com/peanut/modules/master/service/impl/CourseCatalogueChapterServiceImpl.java new file mode 100644 index 00000000..453cdf6f --- /dev/null +++ b/src/main/java/com/peanut/modules/master/service/impl/CourseCatalogueChapterServiceImpl.java @@ -0,0 +1,45 @@ +package com.peanut.modules.master.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +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.CourseCatalogueChapterVideoDao; +import com.peanut.modules.common.entity.CourseCatalogueChapterEntity; +import com.peanut.modules.common.entity.CourseCatalogueChapterVideoEntity; +import com.peanut.modules.common.to.ParamTo; +import com.peanut.modules.master.service.CourseCatalogueChapterService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Slf4j +@Service("masterCourseCatalogueChapterService") +public class CourseCatalogueChapterServiceImpl extends ServiceImpl implements CourseCatalogueChapterService { + + @Autowired + private CourseCatalogueChapterVideoDao courseCatalogueChapterVideoDao; + + @Override + public Page getCourseCatalogueChapterList(ParamTo param) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(CourseCatalogueChapterEntity::getCatalogueId,param.getId()); + wrapper.orderByAsc(CourseCatalogueChapterEntity::getSort); + Page page = this.page(new Page<>(param.getPage(), param.getLimit()), wrapper); + return page; + } + + + @Override + public R delCourseCatalogueChapter(int id) { + List courseCatalogueChapterVideoEntities = courseCatalogueChapterVideoDao.selectList(new LambdaQueryWrapper().eq(CourseCatalogueChapterVideoEntity::getChapterId, id)); + if(courseCatalogueChapterVideoEntities.size()>0){ + return R.error(501,"删除失败,请先删除视频文件"); + } + this.removeById(id); + return R.ok(); + } +} diff --git a/src/main/java/com/peanut/modules/master/service/impl/CourseCatalogueChapterVideoServiceImpl.java b/src/main/java/com/peanut/modules/master/service/impl/CourseCatalogueChapterVideoServiceImpl.java new file mode 100644 index 00000000..a78ce24f --- /dev/null +++ b/src/main/java/com/peanut/modules/master/service/impl/CourseCatalogueChapterVideoServiceImpl.java @@ -0,0 +1,21 @@ +package com.peanut.modules.master.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.peanut.modules.common.dao.CourseCatalogueChapterVideoDao; +import com.peanut.modules.common.entity.CourseCatalogueChapterVideoEntity; +import com.peanut.modules.common.to.ParamTo; +import com.peanut.modules.master.service.CourseCatalogueChapterVideoService; + +public class CourseCatalogueChapterVideoServiceImpl extends ServiceImpl implements CourseCatalogueChapterVideoService { + + @Override + public Page getCourseCatalogueChapterVideoList(ParamTo param) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(CourseCatalogueChapterVideoEntity::getChapterId,param.getId()); + wrapper.orderByAsc(CourseCatalogueChapterVideoEntity::getSort); + Page page = this.page(new Page<>(param.getPage(), param.getLimit()), wrapper); + return page; + } +} 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 5507fc34..f9a810ea 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 @@ -3,14 +3,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.CourseCatalogueChapterDao; -import com.peanut.modules.common.dao.CourseCatalogueDao; -import com.peanut.modules.common.dao.ShopProductCourseDao; -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.ShopProductCourseEntity; -import com.peanut.modules.common.entity.UserToCourseEntity; +import com.peanut.modules.common.dao.*; +import com.peanut.modules.common.entity.*; import com.peanut.modules.master.service.CourseCatalogueService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -28,6 +22,11 @@ public class CourseCatalogueServiceImpl extends ServiceImpl getCourseCatalogues(int id) { @@ -59,4 +58,50 @@ public class CourseCatalogueServiceImpl extends ServiceImpl