From b68d7201d6e712554c71447d9331d4f3a9c2d8dc Mon Sep 17 00:00:00 2001 From: wuchunlei Date: Thu, 21 Mar 2024 09:22:27 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9B=BE=E4=B9=A6=E5=92=8C=E8=90=A5=E9=94=80?= =?UTF-8?q?=E6=A0=87=E7=AD=BE=E3=80=81=E5=B0=8F=E5=BA=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BookLabelAndMarketController.java | 234 ++++++++++++++++++ .../book/controller/ShopStoreController.java | 54 ++++ .../book/dao/ShopProductBookLabelDao.java | 9 + .../book/dao/ShopProductBookMarketDao.java | 9 + .../book/dao/ShopProductToBookLabelDao.java | 9 + .../book/dao/ShopProductToBookMarketDao.java | 9 + .../peanut/modules/book/dao/ShopStoreDao.java | 9 + .../book/entity/ShopProductBookLabel.java | 53 ++++ .../book/entity/ShopProductBookMarket.java | 55 ++++ .../book/entity/ShopProductToBookLabel.java | 41 +++ .../book/entity/ShopProductToBookMarket.java | 40 +++ .../peanut/modules/book/entity/ShopStore.java | 34 +++ .../service/ShopProductBookLabelService.java | 11 + .../service/ShopProductBookMarketService.java | 12 + .../ShopProductToBookLabelService.java | 7 + .../ShopProductToBookMarketService.java | 7 + .../book/service/ShopStoreService.java | 7 + .../impl/ShopProductBookLabelServiceImpl.java | 47 ++++ .../ShopProductBookMarketServiceImpl.java | 48 ++++ .../ShopProductToBookLabelServiceImpl.java | 13 + .../ShopProductToBookMarketServiceImpl.java | 13 + .../service/impl/ShopStoreServiceImpl.java | 13 + 22 files changed, 734 insertions(+) create mode 100644 src/main/java/com/peanut/modules/book/controller/BookLabelAndMarketController.java create mode 100644 src/main/java/com/peanut/modules/book/controller/ShopStoreController.java create mode 100644 src/main/java/com/peanut/modules/book/dao/ShopProductBookLabelDao.java create mode 100644 src/main/java/com/peanut/modules/book/dao/ShopProductBookMarketDao.java create mode 100644 src/main/java/com/peanut/modules/book/dao/ShopProductToBookLabelDao.java create mode 100644 src/main/java/com/peanut/modules/book/dao/ShopProductToBookMarketDao.java create mode 100644 src/main/java/com/peanut/modules/book/dao/ShopStoreDao.java create mode 100644 src/main/java/com/peanut/modules/book/entity/ShopProductBookLabel.java create mode 100644 src/main/java/com/peanut/modules/book/entity/ShopProductBookMarket.java create mode 100644 src/main/java/com/peanut/modules/book/entity/ShopProductToBookLabel.java create mode 100644 src/main/java/com/peanut/modules/book/entity/ShopProductToBookMarket.java create mode 100644 src/main/java/com/peanut/modules/book/entity/ShopStore.java create mode 100644 src/main/java/com/peanut/modules/book/service/ShopProductBookLabelService.java create mode 100644 src/main/java/com/peanut/modules/book/service/ShopProductBookMarketService.java create mode 100644 src/main/java/com/peanut/modules/book/service/ShopProductToBookLabelService.java create mode 100644 src/main/java/com/peanut/modules/book/service/ShopProductToBookMarketService.java create mode 100644 src/main/java/com/peanut/modules/book/service/ShopStoreService.java create mode 100644 src/main/java/com/peanut/modules/book/service/impl/ShopProductBookLabelServiceImpl.java create mode 100644 src/main/java/com/peanut/modules/book/service/impl/ShopProductBookMarketServiceImpl.java create mode 100644 src/main/java/com/peanut/modules/book/service/impl/ShopProductToBookLabelServiceImpl.java create mode 100644 src/main/java/com/peanut/modules/book/service/impl/ShopProductToBookMarketServiceImpl.java create mode 100644 src/main/java/com/peanut/modules/book/service/impl/ShopStoreServiceImpl.java diff --git a/src/main/java/com/peanut/modules/book/controller/BookLabelAndMarketController.java b/src/main/java/com/peanut/modules/book/controller/BookLabelAndMarketController.java new file mode 100644 index 00000000..1ce9fbac --- /dev/null +++ b/src/main/java/com/peanut/modules/book/controller/BookLabelAndMarketController.java @@ -0,0 +1,234 @@ +package com.peanut.modules.book.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.github.yulichang.wrapper.MPJLambdaWrapper; +import com.peanut.common.utils.R; +import com.peanut.modules.book.entity.*; +import com.peanut.modules.book.service.*; +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") +public class BookLabelAndMarketController { + + @Autowired + private ShopProductBookLabelService labelService; + @Autowired + private ShopProductBookMarketService marketService; + @Autowired + private ShopProductToBookLabelService toLabelService; + @Autowired + private ShopProductToBookMarketService toMarketService; + @Autowired + private ShopProductService productService; + + /** + * 图书标签树 + */ + @RequestMapping(path = "/labelTree") + public R labelTree() { + List labelsTree = labelService.labelTree(); + return R.ok().put("result", labelsTree); + } + + /** + * 获取图书标签列表 + */ + @RequestMapping(path = "/getLabelListByPid") + public R getLabelListByPid(String pid) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper(); + wrapper.eq(ShopProductBookLabel::getPid,pid); + wrapper.orderByAsc(ShopProductBookLabel::getSort); + wrapper.orderByAsc(ShopProductBookLabel::getCreateTime); + List labelTopList = labelService.list(wrapper); + return R.ok().put("result", labelTopList); + } + + + /** + * 图书营销标签树 + */ + @RequestMapping(path = "/marketTree") + public R marketTree() { + List marketsTree = marketService.marketTree(); + return R.ok().put("result", marketsTree); + } + + /** + * 获取图书营销标签列表 + */ + @RequestMapping(path = "/getMakertListByPid") + public R getMakertListByPid(String pid) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper(); + wrapper.eq(ShopProductBookMarket::getPid,pid); + wrapper.orderByAsc(ShopProductBookMarket::getSort); + wrapper.orderByAsc(ShopProductBookMarket::getCreateTime); + List marketTopList = marketService.list(wrapper); + return R.ok().put("result", marketTopList); + } + + @RequestMapping(path = "/getLabelById") + public R getLabelById(String id) { + return R.ok().put("result",labelService.getById(id)); + } + + @RequestMapping(path = "/saveOrUpdateLabel") + public R saveOrUpdateLabel(@RequestBody ShopProductBookLabel label) { + labelService.saveOrUpdate(label); + return R.ok(); + } + + @RequestMapping(path = "/delLabel") + public R delLabel(String id) { + labelService.removeById(id); + return R.ok(); + } + + @RequestMapping(path = "/getMarketById") + public R getMarketById(String id) { + return R.ok().put("result",marketService.getById(id)); + } + + @RequestMapping(path = "/saveOrUpdateMarket") + public R saveOrUpdateMarket(@RequestBody ShopProductBookMarket market) { + marketService.saveOrUpdate(market); + return R.ok(); + } + + @RequestMapping(path = "/delMarket") + public R delMarket(String id) { + marketService.removeById(id); + return R.ok(); + } + + + + /** + * 获取书标签列表 + */ + @RequestMapping("/getToLabelList") + public R getToLabelList(@RequestBody Map params){ + MPJLambdaWrapper wrapper = new MPJLambdaWrapper(); + wrapper.selectAll(ShopProductToBookLabel.class); + wrapper.leftJoin(ShopProduct.class,ShopProduct::getProductId,ShopProductToBookLabel::getProductId); + if (params.containsKey("productName")&&!"".equals(params.get("productName").toString())){ + wrapper.like(ShopProduct::getProductName,params.get("productName").toString()); + } + if (params.containsKey("productId")&&!"".equals(params.get("productId").toString())){ + wrapper.eq(ShopProductToBookLabel::getProductId,params.get("productId").toString()); + } + if (params.containsKey("bookLabelId")&&!"".equals(params.get("bookLabelId").toString())){ + wrapper.eq(ShopProductToBookLabel::getBookLabelId,params.get("bookLabelId").toString()); + } + Page page = toLabelService.page(new Page<>( + Long.parseLong(params.get("current").toString()), Long.parseLong(params.get("limit").toString())),wrapper); + List res = page.getRecords(); + if (res.size() > 0) { + for (ShopProductToBookLabel item : res) { + item.setProduct(productService.getById(item.getProductId())); + item.setLabel(labelService.getById(item.getBookLabelId())); + } + } + page.setRecords(res); + return R.ok().put("result", page); + } + + /** + * 获取营销标签列表 + */ + @RequestMapping("/getToMarketList") + public R getToMarketList(@RequestBody Map params){ + MPJLambdaWrapper wrapper = new MPJLambdaWrapper(); + wrapper.selectAll(ShopProductToBookMarket.class); + wrapper.leftJoin(ShopProduct.class,ShopProduct::getProductId,ShopProductToBookMarket::getProductId); + if (params.containsKey("productName")&&!"".equals(params.get("productName").toString())){ + wrapper.like(ShopProduct::getProductName,params.get("productName").toString()); + } + if (params.containsKey("productId")&&!"".equals(params.get("productId").toString())){ + wrapper.eq(ShopProductToBookMarket::getProductId,params.get("productId").toString()); + } + if (params.containsKey("bookMarketId")&&!"".equals(params.get("bookMarketId").toString())){ + wrapper.eq(ShopProductToBookMarket::getBookMarketId,params.get("bookMarketId").toString()); + } + Page page = toMarketService.page(new Page<>( + Long.parseLong(params.get("current").toString()), Long.parseLong(params.get("limit").toString())),wrapper); + List res = page.getRecords(); + if (res.size() > 0) { + for (ShopProductToBookMarket item : res) { + item.setProduct(productService.getById(item.getProductId())); + item.setMarket(marketService.getById(item.getBookMarketId())); + } + } + page.setRecords(res); + return R.ok().put("result", page); + } + + @RequestMapping(path = "/getToLabelById") + public R getToLabelById(String id) { + return R.ok().put("result",toLabelService.getById(id)); + } + + @RequestMapping(path = "/saveToLabel") + public R saveToLabel(@RequestBody ShopProductToBookLabel toLabel) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(ShopProductToBookLabel::getBookLabelId,toLabel.getBookLabelId()); + wrapper.eq(ShopProductToBookLabel::getProductId,toLabel.getProductId()); + List list = toLabelService.list(wrapper); + if (list.size() > 0) { + return R.error("已存在"); + }else { + toLabelService.save(toLabel); + return R.ok(); + } + } + + @RequestMapping(path = "/delToLabel") + public R delToLabel(String id) { + toLabelService.removeById(id); + return R.ok(); + } + + @RequestMapping(path = "/getToMarketById") + public R getToMarketById(String id) { + return R.ok().put("result",toMarketService.getById(id)); + } + + @RequestMapping(path = "/saveToMarket") + public R saveToMarket(@RequestBody ShopProductToBookMarket toMarket) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(ShopProductToBookMarket::getBookMarketId,toMarket.getBookMarketId()); + wrapper.eq(ShopProductToBookMarket::getProductId,toMarket.getProductId()); + List list = toMarketService.list(wrapper); + if (list.size() > 0) { + return R.error("已存在"); + }else { + toMarketService.save(toMarket); + return R.ok(); + } + } + + @RequestMapping(path = "/delToMarket") + public R delToMarket(String id) { + toMarketService.removeById(id); + return R.ok(); + } + + + + + + + + +} diff --git a/src/main/java/com/peanut/modules/book/controller/ShopStoreController.java b/src/main/java/com/peanut/modules/book/controller/ShopStoreController.java new file mode 100644 index 00000000..aa39ced6 --- /dev/null +++ b/src/main/java/com/peanut/modules/book/controller/ShopStoreController.java @@ -0,0 +1,54 @@ +package com.peanut.modules.book.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.book.entity.ShopStore; +import com.peanut.modules.book.service.ShopStoreService; +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.Map; + +@Slf4j +@RestController +@RequestMapping("book/shopStore") +public class ShopStoreController { + + @Autowired + private ShopStoreService shopStoreService; + + /** + * 获取小店列表 + */ + @RequestMapping("/getStoreList") + public R getStoreList(@RequestBody Map params){ + MPJLambdaWrapper wrapper = new MPJLambdaWrapper(); + if (params.containsKey("name")&&!"".equals(params.get("name").toString())){ + wrapper.like(ShopStore::getName,params.get("name").toString()); + } + Page page = shopStoreService.page(new Page<>( + Long.parseLong(params.get("current").toString()), Long.parseLong(params.get("limit").toString())),wrapper); + return R.ok().put("result", page); + } + + @RequestMapping(path = "/getStoreById") + public R getStoreById(String id) { + return R.ok().put("result",shopStoreService.getById(id)); + } + + @RequestMapping(path = "/saveOrUpdateStore") + public R saveOrUpdateStore(@RequestBody ShopStore store) { + shopStoreService.saveOrUpdate(store); + return R.ok(); + } + + @RequestMapping(path = "/delStore") + public R delStore(String id) { + shopStoreService.removeById(id); + return R.ok(); + } + +} diff --git a/src/main/java/com/peanut/modules/book/dao/ShopProductBookLabelDao.java b/src/main/java/com/peanut/modules/book/dao/ShopProductBookLabelDao.java new file mode 100644 index 00000000..e8bd12be --- /dev/null +++ b/src/main/java/com/peanut/modules/book/dao/ShopProductBookLabelDao.java @@ -0,0 +1,9 @@ +package com.peanut.modules.book.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.peanut.modules.book.entity.ShopProductBookLabel; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface ShopProductBookLabelDao extends BaseMapper { +} diff --git a/src/main/java/com/peanut/modules/book/dao/ShopProductBookMarketDao.java b/src/main/java/com/peanut/modules/book/dao/ShopProductBookMarketDao.java new file mode 100644 index 00000000..8a000242 --- /dev/null +++ b/src/main/java/com/peanut/modules/book/dao/ShopProductBookMarketDao.java @@ -0,0 +1,9 @@ +package com.peanut.modules.book.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.peanut.modules.book.entity.ShopProductBookMarket; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface ShopProductBookMarketDao extends BaseMapper { +} diff --git a/src/main/java/com/peanut/modules/book/dao/ShopProductToBookLabelDao.java b/src/main/java/com/peanut/modules/book/dao/ShopProductToBookLabelDao.java new file mode 100644 index 00000000..b06ec98f --- /dev/null +++ b/src/main/java/com/peanut/modules/book/dao/ShopProductToBookLabelDao.java @@ -0,0 +1,9 @@ +package com.peanut.modules.book.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.peanut.modules.book.entity.ShopProductToBookLabel; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface ShopProductToBookLabelDao extends BaseMapper { +} diff --git a/src/main/java/com/peanut/modules/book/dao/ShopProductToBookMarketDao.java b/src/main/java/com/peanut/modules/book/dao/ShopProductToBookMarketDao.java new file mode 100644 index 00000000..0e3c9ea0 --- /dev/null +++ b/src/main/java/com/peanut/modules/book/dao/ShopProductToBookMarketDao.java @@ -0,0 +1,9 @@ +package com.peanut.modules.book.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.peanut.modules.book.entity.ShopProductToBookMarket; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface ShopProductToBookMarketDao extends BaseMapper { +} diff --git a/src/main/java/com/peanut/modules/book/dao/ShopStoreDao.java b/src/main/java/com/peanut/modules/book/dao/ShopStoreDao.java new file mode 100644 index 00000000..9b1f228e --- /dev/null +++ b/src/main/java/com/peanut/modules/book/dao/ShopStoreDao.java @@ -0,0 +1,9 @@ +package com.peanut.modules.book.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.peanut.modules.book.entity.ShopStore; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface ShopStoreDao extends BaseMapper { +} diff --git a/src/main/java/com/peanut/modules/book/entity/ShopProductBookLabel.java b/src/main/java/com/peanut/modules/book/entity/ShopProductBookLabel.java new file mode 100644 index 00000000..e52829f1 --- /dev/null +++ b/src/main/java/com/peanut/modules/book/entity/ShopProductBookLabel.java @@ -0,0 +1,53 @@ +package com.peanut.modules.book.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; +import lombok.Data; +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +@Data +@TableName("shop_product_book_label") +public class ShopProductBookLabel implements Serializable { + private static final long serialVersionUID = 1L; + + @TableId + private Integer id; + + /** + * 父id + */ + private Integer pid; + + /** + * 标题 + */ + private String title; + + /** + * 0否1是 + */ + private Integer isLast; + + /** + * 权重 + */ + private Integer sort; + + /** + * 创建时间 + */ + private Date createTime; + + @TableLogic + private Integer delFlag; + + @TableField(exist = false) + private List children; + + + +} diff --git a/src/main/java/com/peanut/modules/book/entity/ShopProductBookMarket.java b/src/main/java/com/peanut/modules/book/entity/ShopProductBookMarket.java new file mode 100644 index 00000000..26918781 --- /dev/null +++ b/src/main/java/com/peanut/modules/book/entity/ShopProductBookMarket.java @@ -0,0 +1,55 @@ +package com.peanut.modules.book.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; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +@Data +@TableName("shop_product_book_market") +public class ShopProductBookMarket implements Serializable { + private static final long serialVersionUID = 1L; + + @TableId + private Integer id; + + /** + * 父id + */ + private Integer pid; + + /** + * 标题 + */ + private String title; + + /** + * 0否1是 + */ + private Integer isLast; + + /** + * 权重 + */ + private Integer sort; + + /** + * 创建时间 + */ + private Date createTime; + + @TableLogic + private Integer delFlag; + + @TableField(exist = false) + private List children; + + + + +} diff --git a/src/main/java/com/peanut/modules/book/entity/ShopProductToBookLabel.java b/src/main/java/com/peanut/modules/book/entity/ShopProductToBookLabel.java new file mode 100644 index 00000000..39d78ecc --- /dev/null +++ b/src/main/java/com/peanut/modules/book/entity/ShopProductToBookLabel.java @@ -0,0 +1,41 @@ +package com.peanut.modules.book.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; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +@Data +@TableName("shop_product_to_book_label") +public class ShopProductToBookLabel implements Serializable { + private static final long serialVersionUID = 1L; + + @TableId + private Integer id; + + private Integer productId; + + private Integer bookLabelId; + + /** + * 创建时间 + */ + private Date createTime; + + @TableLogic + private Integer delFlag; + + @TableField(exist = false) + private ShopProduct product; + @TableField(exist = false) + private ShopProductBookLabel label; + + + + +} diff --git a/src/main/java/com/peanut/modules/book/entity/ShopProductToBookMarket.java b/src/main/java/com/peanut/modules/book/entity/ShopProductToBookMarket.java new file mode 100644 index 00000000..22f007cf --- /dev/null +++ b/src/main/java/com/peanut/modules/book/entity/ShopProductToBookMarket.java @@ -0,0 +1,40 @@ +package com.peanut.modules.book.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; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +@Data +@TableName("shop_product_to_book_market") +public class ShopProductToBookMarket implements Serializable { + private static final long serialVersionUID = 1L; + + @TableId + private Integer id; + + private Integer productId; + + private Integer bookMarketId; + + /** + * 创建时间 + */ + private Date createTime; + + @TableLogic + private Integer delFlag; + + @TableField(exist = false) + private ShopProduct product; + @TableField(exist = false) + private ShopProductBookMarket market; + + + + +} diff --git a/src/main/java/com/peanut/modules/book/entity/ShopStore.java b/src/main/java/com/peanut/modules/book/entity/ShopStore.java new file mode 100644 index 00000000..46db3761 --- /dev/null +++ b/src/main/java/com/peanut/modules/book/entity/ShopStore.java @@ -0,0 +1,34 @@ +package com.peanut.modules.book.entity; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +@Data +@TableName("shop_store") +public class ShopStore implements Serializable { + private static final long serialVersionUID = 1L; + + @TableId + private Integer id; + /** + * 店名 + */ + private String name; + /** + * 介绍图片 + */ + private String images; + /** + * 创建时间 + */ + private Date createTime; + + @TableLogic + private Integer delFlag; + +} diff --git a/src/main/java/com/peanut/modules/book/service/ShopProductBookLabelService.java b/src/main/java/com/peanut/modules/book/service/ShopProductBookLabelService.java new file mode 100644 index 00000000..1f117ffc --- /dev/null +++ b/src/main/java/com/peanut/modules/book/service/ShopProductBookLabelService.java @@ -0,0 +1,11 @@ +package com.peanut.modules.book.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.peanut.modules.book.entity.ShopProductBookLabel; +import java.util.List; + +public interface ShopProductBookLabelService extends IService { + + List labelTree(); + +} diff --git a/src/main/java/com/peanut/modules/book/service/ShopProductBookMarketService.java b/src/main/java/com/peanut/modules/book/service/ShopProductBookMarketService.java new file mode 100644 index 00000000..5e45f258 --- /dev/null +++ b/src/main/java/com/peanut/modules/book/service/ShopProductBookMarketService.java @@ -0,0 +1,12 @@ +package com.peanut.modules.book.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.peanut.modules.book.entity.ShopProductBookMarket; +import java.util.List; + +public interface ShopProductBookMarketService extends IService { + + + List marketTree(); + +} diff --git a/src/main/java/com/peanut/modules/book/service/ShopProductToBookLabelService.java b/src/main/java/com/peanut/modules/book/service/ShopProductToBookLabelService.java new file mode 100644 index 00000000..74c0bdc0 --- /dev/null +++ b/src/main/java/com/peanut/modules/book/service/ShopProductToBookLabelService.java @@ -0,0 +1,7 @@ +package com.peanut.modules.book.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.peanut.modules.book.entity.ShopProductToBookLabel; + +public interface ShopProductToBookLabelService extends IService { +} diff --git a/src/main/java/com/peanut/modules/book/service/ShopProductToBookMarketService.java b/src/main/java/com/peanut/modules/book/service/ShopProductToBookMarketService.java new file mode 100644 index 00000000..bd7a2a80 --- /dev/null +++ b/src/main/java/com/peanut/modules/book/service/ShopProductToBookMarketService.java @@ -0,0 +1,7 @@ +package com.peanut.modules.book.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.peanut.modules.book.entity.ShopProductToBookMarket; + +public interface ShopProductToBookMarketService extends IService { +} diff --git a/src/main/java/com/peanut/modules/book/service/ShopStoreService.java b/src/main/java/com/peanut/modules/book/service/ShopStoreService.java new file mode 100644 index 00000000..96425ed7 --- /dev/null +++ b/src/main/java/com/peanut/modules/book/service/ShopStoreService.java @@ -0,0 +1,7 @@ +package com.peanut.modules.book.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.peanut.modules.book.entity.ShopStore; + +public interface ShopStoreService extends IService { +} diff --git a/src/main/java/com/peanut/modules/book/service/impl/ShopProductBookLabelServiceImpl.java b/src/main/java/com/peanut/modules/book/service/impl/ShopProductBookLabelServiceImpl.java new file mode 100644 index 00000000..2eb19375 --- /dev/null +++ b/src/main/java/com/peanut/modules/book/service/impl/ShopProductBookLabelServiceImpl.java @@ -0,0 +1,47 @@ +package com.peanut.modules.book.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.peanut.modules.book.dao.ShopProductBookLabelDao; +import com.peanut.modules.book.entity.ShopProductBookLabel; +import com.peanut.modules.book.service.ShopProductBookLabelService; +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("shopProductBookLabelService") +public class ShopProductBookLabelServiceImpl extends ServiceImpl implements ShopProductBookLabelService { + + @Autowired + private ShopProductBookLabelDao labelDao; + + @Override + public List labelTree() { + List labels = labelDao.selectList(new QueryWrapper<>()); + List labelsTree = labels.stream().filter((shopProductBookLabel) -> + shopProductBookLabel.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(ShopProductBookLabel root,List all){ + List children = all.stream().filter(shopProductBookLabel -> { + return root.getId().equals(shopProductBookLabel.getPid()); + }).map(shopProductBookLabel -> { + shopProductBookLabel.setChildren(getLabelChildrens(shopProductBookLabel, all)); + return shopProductBookLabel; + }).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/book/service/impl/ShopProductBookMarketServiceImpl.java b/src/main/java/com/peanut/modules/book/service/impl/ShopProductBookMarketServiceImpl.java new file mode 100644 index 00000000..c38cfed3 --- /dev/null +++ b/src/main/java/com/peanut/modules/book/service/impl/ShopProductBookMarketServiceImpl.java @@ -0,0 +1,48 @@ +package com.peanut.modules.book.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.peanut.common.utils.R; +import com.peanut.modules.book.dao.ShopProductBookMarketDao; +import com.peanut.modules.book.entity.ShopProductBookMarket; +import com.peanut.modules.book.service.ShopProductBookMarketService; +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("shopProductBookMarketService") +public class ShopProductBookMarketServiceImpl extends ServiceImpl implements ShopProductBookMarketService { + + @Autowired + private ShopProductBookMarketDao marketDao; + + @Override + public List marketTree() { + List markets = marketDao.selectList(new QueryWrapper<>()); + List marketsTree = markets.stream().filter((shopProductBookMarket) -> + shopProductBookMarket.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(ShopProductBookMarket root,List all){ + List children = all.stream().filter(shopProductBookMarket -> { + return root.getId().equals(shopProductBookMarket.getPid()); + }).map(shopProductBookMarket -> { + shopProductBookMarket.setChildren(getMarketChildrens(shopProductBookMarket, all)); + return shopProductBookMarket; + }).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/book/service/impl/ShopProductToBookLabelServiceImpl.java b/src/main/java/com/peanut/modules/book/service/impl/ShopProductToBookLabelServiceImpl.java new file mode 100644 index 00000000..8214e22c --- /dev/null +++ b/src/main/java/com/peanut/modules/book/service/impl/ShopProductToBookLabelServiceImpl.java @@ -0,0 +1,13 @@ +package com.peanut.modules.book.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.peanut.modules.book.dao.ShopProductToBookLabelDao; +import com.peanut.modules.book.entity.ShopProductToBookLabel; +import com.peanut.modules.book.service.ShopProductToBookLabelService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +@Slf4j +@Service("shopProductToBookLabelService") +public class ShopProductToBookLabelServiceImpl extends ServiceImpl implements ShopProductToBookLabelService { +} diff --git a/src/main/java/com/peanut/modules/book/service/impl/ShopProductToBookMarketServiceImpl.java b/src/main/java/com/peanut/modules/book/service/impl/ShopProductToBookMarketServiceImpl.java new file mode 100644 index 00000000..d2a6c724 --- /dev/null +++ b/src/main/java/com/peanut/modules/book/service/impl/ShopProductToBookMarketServiceImpl.java @@ -0,0 +1,13 @@ +package com.peanut.modules.book.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.peanut.modules.book.dao.ShopProductToBookMarketDao; +import com.peanut.modules.book.entity.ShopProductToBookMarket; +import com.peanut.modules.book.service.ShopProductToBookMarketService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +@Slf4j +@Service("shopProductToBookMarketService") +public class ShopProductToBookMarketServiceImpl extends ServiceImpl implements ShopProductToBookMarketService { +} diff --git a/src/main/java/com/peanut/modules/book/service/impl/ShopStoreServiceImpl.java b/src/main/java/com/peanut/modules/book/service/impl/ShopStoreServiceImpl.java new file mode 100644 index 00000000..dcee05a7 --- /dev/null +++ b/src/main/java/com/peanut/modules/book/service/impl/ShopStoreServiceImpl.java @@ -0,0 +1,13 @@ +package com.peanut.modules.book.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.peanut.modules.book.dao.ShopStoreDao; +import com.peanut.modules.book.entity.ShopStore; +import com.peanut.modules.book.service.ShopStoreService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +@Slf4j +@Service("shopStore") +public class ShopStoreServiceImpl extends ServiceImpl implements ShopStoreService { +}