From b50293835b4974868c3d7e12c5f2d9e1fe856abf Mon Sep 17 00:00:00 2001 From: wuchunlei Date: Fri, 17 May 2024 09:58:34 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=B4=E9=97=A8=E5=8C=BB=E8=BF=B0-=E9=A6=96?= =?UTF-8?q?=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../medical/controller/CourseController.java | 10 +++ .../controller/CourseMedicalController.java | 11 --- .../medical/controller/HomeController.java | 74 +++++++++++++++++++ .../MedicalLabelAndMarketController.java | 55 +++++++++++++- .../medical/service/CourseMarketService.java | 11 +++ .../medical/service/CourseMedicalService.java | 11 +++ .../medical/service/CourseService.java | 16 +++- .../ShopProductMedicineLabelService.java | 4 + .../ShopProductMedicineMarketService.java | 4 + .../medical/service/ShopProductService.java | 7 ++ .../service/impl/CourseMarketServiceImpl.java | 47 ++++++++++++ .../impl/CourseMedicalServiceImpl.java | 24 ++++++ .../service/impl/CourseServiceImpl.java | 54 ++++++++++++++ .../ShopProductMedicineLabelServiceImpl.java | 34 +++++++++ .../ShopProductMedicineMarketServiceImpl.java | 34 +++++++++ .../service/impl/ShopProductServiceImpl.java | 13 ++++ 16 files changed, 396 insertions(+), 13 deletions(-) delete mode 100644 src/main/java/com/peanut/modules/medical/controller/CourseMedicalController.java create mode 100644 src/main/java/com/peanut/modules/medical/controller/HomeController.java create mode 100644 src/main/java/com/peanut/modules/medical/service/CourseMarketService.java create mode 100644 src/main/java/com/peanut/modules/medical/service/CourseMedicalService.java create mode 100644 src/main/java/com/peanut/modules/medical/service/ShopProductService.java create mode 100644 src/main/java/com/peanut/modules/medical/service/impl/CourseMarketServiceImpl.java create mode 100644 src/main/java/com/peanut/modules/medical/service/impl/CourseMedicalServiceImpl.java create mode 100644 src/main/java/com/peanut/modules/medical/service/impl/CourseServiceImpl.java create mode 100644 src/main/java/com/peanut/modules/medical/service/impl/ShopProductServiceImpl.java diff --git a/src/main/java/com/peanut/modules/medical/controller/CourseController.java b/src/main/java/com/peanut/modules/medical/controller/CourseController.java index bcb00083..4fe0a05c 100644 --- a/src/main/java/com/peanut/modules/medical/controller/CourseController.java +++ b/src/main/java/com/peanut/modules/medical/controller/CourseController.java @@ -1,11 +1,21 @@ package com.peanut.modules.medical.controller; +import com.peanut.common.utils.R; +import com.peanut.common.utils.ShiroUtils; +import com.peanut.modules.common.entity.CourseEntity; +import com.peanut.modules.common.to.ParamTo; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.List; + @Slf4j @RestController("medicalCourse") @RequestMapping("medical/course") public class CourseController { + + + + } diff --git a/src/main/java/com/peanut/modules/medical/controller/CourseMedicalController.java b/src/main/java/com/peanut/modules/medical/controller/CourseMedicalController.java deleted file mode 100644 index 798543d6..00000000 --- a/src/main/java/com/peanut/modules/medical/controller/CourseMedicalController.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.peanut.modules.medical.controller; - -import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -@Slf4j -@RestController("medicalCourseMedical") -@RequestMapping("medical/courseMedical") -public class CourseMedicalController { -} diff --git a/src/main/java/com/peanut/modules/medical/controller/HomeController.java b/src/main/java/com/peanut/modules/medical/controller/HomeController.java new file mode 100644 index 00000000..1d7dbc80 --- /dev/null +++ b/src/main/java/com/peanut/modules/medical/controller/HomeController.java @@ -0,0 +1,74 @@ +package com.peanut.modules.medical.controller; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.peanut.common.utils.R; +import com.peanut.common.utils.ShiroUtils; +import com.peanut.modules.common.entity.CourseEntity; +import com.peanut.modules.common.entity.CourseMarketEntity; +import com.peanut.modules.common.entity.CourseMedical; +import com.peanut.modules.common.to.ParamTo; +import com.peanut.modules.medical.service.CourseMarketService; +import com.peanut.modules.medical.service.CourseMedicalService; +import com.peanut.modules.medical.service.CourseService; +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.RestController; +import java.util.List; + +@Slf4j +@RestController("medicalHome") +@RequestMapping("medical/home") +public class HomeController { + + @Autowired + private CourseService courseService; + @Autowired + private CourseMedicalService medicalService; + @Autowired + private CourseMarketService courseMarketService; + + //获取医学标签列表 + @RequestMapping("/getMedicalLabels") + public R getMedicalLabels(@RequestBody ParamTo param){ + List sociologyLabels = medicalService.getMedicalLabels(param.getId()); + return R.ok().put("labels",sociologyLabels); + } + + //获取医学标签下的课程列表 + @RequestMapping("/getMedicalCourseList") + public R getMedicalCourseList(@RequestBody ParamTo param){ + Page medicalCourseList = courseService.getMedicalCourseList(param); + return R.ok().put("courses",medicalCourseList); + } + + /** + * 营销标签树 + */ + @RequestMapping(path = "/courseMarketTree") + public R courseMarketTree() { + List labelsTree = courseMarketService.courseMarketTree(); + return R.ok().put("result", labelsTree); + } + + //获取营销标签下的课程列表 + @RequestMapping("/getMarketCourseList") + public R getMarketCourseList(@RequestBody ParamTo param){ + Page marketCourseList = courseService.getMarketCourseList(param); + return R.ok().put("courseList",marketCourseList); + } + + /** + * 获取用户最近学习课程列表 + * @return + */ + @RequestMapping("/getUserLateCourseList") + public R getUserLateCourseList(){ + ParamTo param = new ParamTo(); + Integer userId = ShiroUtils.getUId(); + param.setId(userId); + List userLateCourseList = courseService.getUserLateCourseList(param); + return R.ok().put("page",userLateCourseList); + } +} diff --git a/src/main/java/com/peanut/modules/medical/controller/MedicalLabelAndMarketController.java b/src/main/java/com/peanut/modules/medical/controller/MedicalLabelAndMarketController.java index 73902457..36653e77 100644 --- a/src/main/java/com/peanut/modules/medical/controller/MedicalLabelAndMarketController.java +++ b/src/main/java/com/peanut/modules/medical/controller/MedicalLabelAndMarketController.java @@ -1,14 +1,67 @@ package com.peanut.modules.medical.controller; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.github.yulichang.wrapper.MPJLambdaWrapper; +import com.peanut.common.utils.R; +import com.peanut.modules.common.entity.*; +import com.peanut.modules.medical.service.ShopProductMedicineLabelService; +import com.peanut.modules.medical.service.ShopProductMedicineMarketService; +import com.peanut.modules.medical.service.ShopProductService; 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.RestController; +import java.util.List; +import java.util.Map; /** * 医学课程和营销标签 */ @Slf4j @RestController -@RequestMapping("book/labelAndMarket") +@RequestMapping("medical/labelAndMarket") public class MedicalLabelAndMarketController { + + @Autowired + private ShopProductMedicineLabelService labelService; + @Autowired + private ShopProductMedicineMarketService marketService; + @Autowired + private ShopProductService productService; + + /** + * 分类标签树 + */ + @RequestMapping(path = "/labelTree") + public R labelTree() { + List labelsTree = labelService.labelTree(); + return R.ok().put("result", labelsTree); + } + + /** + * 营销标签树 + */ + @RequestMapping(path = "/marketTree") + public R marketTree() { + List marketsTree = marketService.marketTree(); + return R.ok().put("result", marketsTree); + } + + /** + * 营销标签下商品列表 + */ + @RequestMapping("/getMarketShopProductList") + public R getToLabelList(@RequestBody Map params){ + MPJLambdaWrapper wrapper = new MPJLambdaWrapper(); + wrapper.selectAll(ShopProduct.class); + wrapper.rightJoin(ShopProductToMedicineMarket.class,ShopProductToMedicineMarket::getProductId,ShopProduct::getProductId); + if (params.containsKey("medicineMarketId")&&!"".equals(params.get("medicineMarketId").toString())){ + wrapper.eq(ShopProductToMedicineMarket::getMedicineMarketId,params.get("medicineMarketId").toString()); + } + Page page = productService.page(new Page<>( + Long.parseLong(params.get("current").toString()), Long.parseLong(params.get("limit").toString())),wrapper); + return R.ok().put("result", page); + } + } diff --git a/src/main/java/com/peanut/modules/medical/service/CourseMarketService.java b/src/main/java/com/peanut/modules/medical/service/CourseMarketService.java new file mode 100644 index 00000000..20951bae --- /dev/null +++ b/src/main/java/com/peanut/modules/medical/service/CourseMarketService.java @@ -0,0 +1,11 @@ +package com.peanut.modules.medical.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.peanut.modules.common.entity.CourseMarketEntity; + +import java.util.List; + +public interface CourseMarketService extends IService { + + List courseMarketTree(); +} diff --git a/src/main/java/com/peanut/modules/medical/service/CourseMedicalService.java b/src/main/java/com/peanut/modules/medical/service/CourseMedicalService.java new file mode 100644 index 00000000..0ae36a0d --- /dev/null +++ b/src/main/java/com/peanut/modules/medical/service/CourseMedicalService.java @@ -0,0 +1,11 @@ +package com.peanut.modules.medical.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.peanut.modules.common.entity.CourseMedical; + +import java.util.List; + +public interface CourseMedicalService extends IService { + + List getMedicalLabels(Integer id); +} diff --git a/src/main/java/com/peanut/modules/medical/service/CourseService.java b/src/main/java/com/peanut/modules/medical/service/CourseService.java index e9f1f896..f9fec9ac 100644 --- a/src/main/java/com/peanut/modules/medical/service/CourseService.java +++ b/src/main/java/com/peanut/modules/medical/service/CourseService.java @@ -1,4 +1,18 @@ package com.peanut.modules.medical.service; -public interface CourseService { +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.peanut.modules.common.entity.CourseEntity; +import com.peanut.modules.common.to.ParamTo; + +import java.util.List; + +public interface CourseService extends IService { + + Page getMedicalCourseList(ParamTo param); + + Page getMarketCourseList(ParamTo param); + + List getUserLateCourseList(ParamTo param); + } diff --git a/src/main/java/com/peanut/modules/medical/service/ShopProductMedicineLabelService.java b/src/main/java/com/peanut/modules/medical/service/ShopProductMedicineLabelService.java index 6ec7ebda..cf3c041f 100644 --- a/src/main/java/com/peanut/modules/medical/service/ShopProductMedicineLabelService.java +++ b/src/main/java/com/peanut/modules/medical/service/ShopProductMedicineLabelService.java @@ -3,5 +3,9 @@ package com.peanut.modules.medical.service; import com.baomidou.mybatisplus.extension.service.IService; import com.peanut.modules.common.entity.ShopProductMedicineLabel; +import java.util.List; + public interface ShopProductMedicineLabelService extends IService { + + List labelTree(); } diff --git a/src/main/java/com/peanut/modules/medical/service/ShopProductMedicineMarketService.java b/src/main/java/com/peanut/modules/medical/service/ShopProductMedicineMarketService.java index fa96176c..88ea4f30 100644 --- a/src/main/java/com/peanut/modules/medical/service/ShopProductMedicineMarketService.java +++ b/src/main/java/com/peanut/modules/medical/service/ShopProductMedicineMarketService.java @@ -3,5 +3,9 @@ package com.peanut.modules.medical.service; import com.baomidou.mybatisplus.extension.service.IService; import com.peanut.modules.common.entity.ShopProductMedicineMarket; +import java.util.List; + public interface ShopProductMedicineMarketService extends IService { + + List marketTree(); } diff --git a/src/main/java/com/peanut/modules/medical/service/ShopProductService.java b/src/main/java/com/peanut/modules/medical/service/ShopProductService.java new file mode 100644 index 00000000..35784664 --- /dev/null +++ b/src/main/java/com/peanut/modules/medical/service/ShopProductService.java @@ -0,0 +1,7 @@ +package com.peanut.modules.medical.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.peanut.modules.common.entity.ShopProduct; + +public interface ShopProductService extends IService { +} diff --git a/src/main/java/com/peanut/modules/medical/service/impl/CourseMarketServiceImpl.java b/src/main/java/com/peanut/modules/medical/service/impl/CourseMarketServiceImpl.java new file mode 100644 index 00000000..4858baf6 --- /dev/null +++ b/src/main/java/com/peanut/modules/medical/service/impl/CourseMarketServiceImpl.java @@ -0,0 +1,47 @@ +package com.peanut.modules.medical.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.peanut.modules.common.dao.CourseMarketDao; +import com.peanut.modules.common.entity.CourseMarketEntity; +import com.peanut.modules.medical.service.CourseMarketService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.stream.Collectors; + +@Slf4j +@Service("medicalCourseMarketService") +public class CourseMarketServiceImpl extends ServiceImpl implements CourseMarketService { + + @Autowired + private CourseMarketDao courseMarketDao; + + @Override + public List courseMarketTree() { + List markets = courseMarketDao.selectList(new QueryWrapper<>()); + List marketsTree = markets.stream().filter((courseMarketEntity) -> + courseMarketEntity.getPid() == 0 + ).map((market)->{ + market.setChildren(getMarketChildrens(market,markets)); + return market; + }).sorted((sort1,sort2)->{ + return (sort1.getSort() == null? 0 : sort1.getSort()) - (sort2.getSort()==null?0:sort2.getSort()); + }).collect(Collectors.toList()); + return marketsTree; + } + + private List getMarketChildrens(CourseMarketEntity root,List all){ + List children = all.stream().filter(courseMarketEntity -> { + return root.getId().equals(courseMarketEntity.getPid()); + }).map(courseMarketEntity -> { + courseMarketEntity.setChildren(getMarketChildrens(courseMarketEntity, all)); + return courseMarketEntity; + }).sorted((sort1,sort2)->{ + return (sort1.getSort()==null?0:sort1.getSort()) - (sort2.getSort()==null?0:sort2.getSort()); + }).collect(Collectors.toList()); + return children; + } +} diff --git a/src/main/java/com/peanut/modules/medical/service/impl/CourseMedicalServiceImpl.java b/src/main/java/com/peanut/modules/medical/service/impl/CourseMedicalServiceImpl.java new file mode 100644 index 00000000..34f79fb9 --- /dev/null +++ b/src/main/java/com/peanut/modules/medical/service/impl/CourseMedicalServiceImpl.java @@ -0,0 +1,24 @@ +package com.peanut.modules.medical.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.peanut.modules.common.dao.CourseMedicalDao; +import com.peanut.modules.common.entity.CourseMedical; +import com.peanut.modules.medical.service.CourseMedicalService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import java.util.List; + +@Slf4j +@Service("medicineCourseMedicalService") +public class CourseMedicalServiceImpl extends ServiceImpl implements CourseMedicalService { + + @Override + public List getMedicalLabels(Integer id) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(CourseMedical::getPid,id); + wrapper.orderByAsc(CourseMedical::getSort); + List list = this.list(wrapper); + return list; + } +} diff --git a/src/main/java/com/peanut/modules/medical/service/impl/CourseServiceImpl.java b/src/main/java/com/peanut/modules/medical/service/impl/CourseServiceImpl.java new file mode 100644 index 00000000..c4bb4496 --- /dev/null +++ b/src/main/java/com/peanut/modules/medical/service/impl/CourseServiceImpl.java @@ -0,0 +1,54 @@ +package com.peanut.modules.medical.service.impl; + +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.modules.common.dao.CourseDao; +import com.peanut.modules.common.entity.CourseEntity; +import com.peanut.modules.common.entity.CourseToMarketEntity; +import com.peanut.modules.common.entity.CourseToMedical; +import com.peanut.modules.common.entity.UserToCourseEntity; +import com.peanut.modules.common.to.ParamTo; +import com.peanut.modules.medical.service.CourseService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Slf4j +@Service("medicalCourseService") +public class CourseServiceImpl extends ServiceImpl implements CourseService { + + @Override + public Page getMedicalCourseList(ParamTo param) { + MPJLambdaWrapper wrapper = new MPJLambdaWrapper<>(); + wrapper.selectAll(CourseEntity.class); + wrapper.leftJoin(CourseToMedical.class,CourseToMedical::getCourseId,CourseEntity::getId); + wrapper.eq(CourseToMedical::getMedicalId,param.getId()); + Page courseEntityPage = this.getBaseMapper().selectJoinPage(new Page<>(param.getPage(), param.getLimit()),CourseEntity.class, wrapper); + return courseEntityPage; + } + + @Override + public Page getMarketCourseList(ParamTo param) { + MPJLambdaWrapper wrapper = new MPJLambdaWrapper<>(); + wrapper.selectAll(CourseEntity.class); + wrapper.leftJoin(CourseToMarketEntity.class,CourseToMarketEntity::getCourseId,CourseEntity::getId); + wrapper.eq(CourseToMarketEntity::getMarketId,param.getId()); + Page courseEntityPage = this.getBaseMapper().selectJoinPage(new Page<>(param.getPage(), param.getLimit()), CourseEntity.class, wrapper); + return courseEntityPage; + } + + @Override + public List getUserLateCourseList(ParamTo param) { + MPJLambdaWrapper wrapper = new MPJLambdaWrapper<>(); + wrapper.selectAll(CourseEntity.class); + wrapper.rightJoin(CourseToMedical.class,CourseToMedical::getCourseId,CourseEntity::getId); + wrapper.leftJoin(UserToCourseEntity.class,UserToCourseEntity::getCourseId,CourseEntity::getId); + wrapper.eq(UserToCourseEntity::getUserId,param.getId()); + wrapper.orderByDesc(UserToCourseEntity::getUpdateTime); + wrapper.last("Limit 4"); + List courseEntities = this.getBaseMapper().selectJoinList(CourseEntity.class, wrapper); + return courseEntities; + } +} diff --git a/src/main/java/com/peanut/modules/medical/service/impl/ShopProductMedicineLabelServiceImpl.java b/src/main/java/com/peanut/modules/medical/service/impl/ShopProductMedicineLabelServiceImpl.java index bdf11a0d..cb62f0d8 100644 --- a/src/main/java/com/peanut/modules/medical/service/impl/ShopProductMedicineLabelServiceImpl.java +++ b/src/main/java/com/peanut/modules/medical/service/impl/ShopProductMedicineLabelServiceImpl.java @@ -1,13 +1,47 @@ package com.peanut.modules.medical.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.peanut.modules.common.dao.ShopProductMedicineLabelDao; import com.peanut.modules.common.entity.ShopProductMedicineLabel; import com.peanut.modules.medical.service.ShopProductMedicineLabelService; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.List; +import java.util.stream.Collectors; + @Slf4j @Service("medicineShopProductMedicineLabelService") public class ShopProductMedicineLabelServiceImpl extends ServiceImpl implements ShopProductMedicineLabelService { + + @Autowired + private ShopProductMedicineLabelDao labelDao; + + @Override + public List labelTree() { + List labels = labelDao.selectList(new QueryWrapper<>()); + List labelsTree = labels.stream().filter((shopProductMedicineLabel) -> + shopProductMedicineLabel.getPid() == 0 + ).map((label)->{ + label.setChildren(getLabelChildrens(label,labels)); + return label; + }).sorted((label1,label2)->{ + return (label1.getSort() == null? 0 : label1.getSort()) - (label2.getSort()==null?0:label2.getSort()); + }).collect(Collectors.toList()); + return labelsTree; + } + + private List getLabelChildrens(ShopProductMedicineLabel root,List all){ + List children = all.stream().filter(shopProductMedicineLabel -> { + return root.getId().equals(shopProductMedicineLabel.getPid()); + }).map(shopProductMedicineLabel -> { + shopProductMedicineLabel.setChildren(getLabelChildrens(shopProductMedicineLabel, all)); + return shopProductMedicineLabel; + }).sorted((label1,label2)->{ + return (label1.getSort()==null?0:label1.getSort()) - (label2.getSort()==null?0:label2.getSort()); + }).collect(Collectors.toList()); + return children; + } } diff --git a/src/main/java/com/peanut/modules/medical/service/impl/ShopProductMedicineMarketServiceImpl.java b/src/main/java/com/peanut/modules/medical/service/impl/ShopProductMedicineMarketServiceImpl.java index 736afe93..30720806 100644 --- a/src/main/java/com/peanut/modules/medical/service/impl/ShopProductMedicineMarketServiceImpl.java +++ b/src/main/java/com/peanut/modules/medical/service/impl/ShopProductMedicineMarketServiceImpl.java @@ -1,13 +1,47 @@ package com.peanut.modules.medical.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.peanut.modules.common.dao.ShopProductMedicineMarketDao; import com.peanut.modules.common.entity.ShopProductMedicineMarket; import com.peanut.modules.medical.service.ShopProductMedicineMarketService; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.List; +import java.util.stream.Collectors; + @Slf4j @Service("medicineShopProductMedicineMarketService") public class ShopProductMedicineMarketServiceImpl extends ServiceImpl implements ShopProductMedicineMarketService { + + @Autowired + private ShopProductMedicineMarketDao marketDao; + + @Override + public List marketTree() { + List markets = marketDao.selectList(new QueryWrapper<>()); + List marketsTree = markets.stream().filter((shopProductMedicineMarket) -> + shopProductMedicineMarket.getPid() == 0 + ).map((market)->{ + market.setChildren(getMarketChildrens(market,markets)); + return market; + }).sorted((sort1,sort2)->{ + return (sort1.getSort() == null? 0 : sort1.getSort()) - (sort2.getSort()==null?0:sort2.getSort()); + }).collect(Collectors.toList()); + return marketsTree; + } + + private List getMarketChildrens(ShopProductMedicineMarket root,List all){ + List children = all.stream().filter(shopProductMedicineMarket -> { + return root.getId().equals(shopProductMedicineMarket.getPid()); + }).map(shopProductMedicineMarket -> { + shopProductMedicineMarket.setChildren(getMarketChildrens(shopProductMedicineMarket, all)); + return shopProductMedicineMarket; + }).sorted((sort1,sort2)->{ + return (sort1.getSort()==null?0:sort1.getSort()) - (sort2.getSort()==null?0:sort2.getSort()); + }).collect(Collectors.toList()); + return children; + } } diff --git a/src/main/java/com/peanut/modules/medical/service/impl/ShopProductServiceImpl.java b/src/main/java/com/peanut/modules/medical/service/impl/ShopProductServiceImpl.java new file mode 100644 index 00000000..5207ec32 --- /dev/null +++ b/src/main/java/com/peanut/modules/medical/service/impl/ShopProductServiceImpl.java @@ -0,0 +1,13 @@ +package com.peanut.modules.medical.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.peanut.modules.common.dao.ShopProductDao; +import com.peanut.modules.common.entity.ShopProduct; +import com.peanut.modules.medical.service.ShopProductService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +@Slf4j +@Service("medicalShopProductService") +public class ShopProductServiceImpl extends ServiceImpl implements ShopProductService { +}