From 1b1cee0e90f0b8ecfd6ac293b859cb50c4445769 Mon Sep 17 00:00:00 2001 From: wuchunlei Date: Wed, 27 Mar 2024 17:04:16 +0800 Subject: [PATCH 1/7] =?UTF-8?q?=E9=80=9A=E7=94=A8=E6=A8=A1=E5=9D=97-?= =?UTF-8?q?=E5=95=86=E5=93=81=E8=AF=84=E4=BB=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BookLabelAndMarketController.java | 60 ++++++++++++++--- .../ShopProductRecordController.java | 61 +++++++++++++++++ .../common/dao/ShopProductRecordDao.java | 9 +++ .../common/entity/ShopProductRecord.java | 66 +++++++++++++++++++ .../service/ShopProductRecordService.java | 7 ++ .../impl/ShopProductRecordServiceImpl.java | 13 ++++ 6 files changed, 208 insertions(+), 8 deletions(-) create mode 100644 src/main/java/com/peanut/modules/common/controller/ShopProductRecordController.java create mode 100644 src/main/java/com/peanut/modules/common/dao/ShopProductRecordDao.java create mode 100644 src/main/java/com/peanut/modules/common/entity/ShopProductRecord.java create mode 100644 src/main/java/com/peanut/modules/common/service/ShopProductRecordService.java create mode 100644 src/main/java/com/peanut/modules/common/service/impl/ShopProductRecordServiceImpl.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 index 638a392d..0491a8fc 100644 --- a/src/main/java/com/peanut/modules/book/controller/BookLabelAndMarketController.java +++ b/src/main/java/com/peanut/modules/book/controller/BookLabelAndMarketController.java @@ -86,11 +86,33 @@ public class BookLabelAndMarketController { @RequestMapping(path = "/saveOrUpdateLabel") public R saveOrUpdateLabel(@RequestBody ShopProductBookLabel label) { - if (label.getIsLast()==1){ - labelService.saveOrUpdate(label); - return R.ok().put("result",label); + if (label.getId()==null){ + if(label.getPid()==0){ + labelService.save(label); + return R.ok().put("result",label); + }else { + ShopProductBookLabel l = labelService.getById(label.getPid()); + if (l.getIsLast()==1){ + return R.error("请将父标签设置为非最后一集"); + }else { + labelService.save(label); + return R.ok().put("result",label); + } + } }else { - return R.error("父标签非最后一集"); + if (label.getIsLast() == 1){ + List llast = labelService.list(new LambdaQueryWrapper() + .eq(ShopProductBookLabel::getPid,label.getId())); + if (llast.size()>0){ + return R.error("请先删除子集,再设置为最后一集"); + }else { + labelService.saveOrUpdate(label); + return R.ok().put("result",label); + } + }else { + labelService.saveOrUpdate(label); + return R.ok().put("result",label); + } } } @@ -119,11 +141,33 @@ public class BookLabelAndMarketController { @RequestMapping(path = "/saveOrUpdateMarket") public R saveOrUpdateMarket(@RequestBody ShopProductBookMarket market) { - if (market.getIsLast()==1){ - marketService.saveOrUpdate(market); - return R.ok().put("result",market); + if (market.getId()==null){ + if(market.getPid()==0){ + marketService.save(market); + return R.ok().put("result",market); + }else { + ShopProductBookMarket m = marketService.getById(market.getPid()); + if (m.getIsLast()==1){ + return R.error("请将父标签设置为非最后一集"); + }else { + marketService.save(market); + return R.ok().put("result",market); + } + } }else { - return R.error("父标签非最后一集"); + if (market.getIsLast() == 1){ + List mList = marketService.list(new LambdaQueryWrapper() + .eq(ShopProductBookMarket::getPid,market.getId())); + if (mList.size()>0){ + return R.error("请先删除子集,再设置为最后一集"); + }else { + marketService.saveOrUpdate(market); + return R.ok().put("result",market); + } + }else { + marketService.saveOrUpdate(market); + return R.ok().put("result",market); + } } } diff --git a/src/main/java/com/peanut/modules/common/controller/ShopProductRecordController.java b/src/main/java/com/peanut/modules/common/controller/ShopProductRecordController.java new file mode 100644 index 00000000..95186b7b --- /dev/null +++ b/src/main/java/com/peanut/modules/common/controller/ShopProductRecordController.java @@ -0,0 +1,61 @@ +package com.peanut.modules.common.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.ShopProduct; +import com.peanut.modules.common.entity.ShopProductRecord; +import com.peanut.modules.common.service.ShopProductRecordService; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang.StringUtils; +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("commonShopProductRecord") +@RequestMapping("common/shopProductRecord") +public class ShopProductRecordController { + + @Autowired + private ShopProductRecordService recordService; + + @RequestMapping("/listByPage") + public R listByPage(@RequestBody Map params) { + MPJLambdaWrapper wrapper = new MPJLambdaWrapper(); + if (params.containsKey("userId")&&StringUtils.isNotEmpty(params.get("userId").toString())) { + wrapper.eq(ShopProductRecord::getUserId,params.get("userId")); + } + if (params.containsKey("productId")&&StringUtils.isNotEmpty(params.get("productId").toString())) { + wrapper.eq(ShopProductRecord::getProductId,params.get("productId")); + } + if (params.containsKey("state")&&StringUtils.isNotEmpty(params.get("state").toString())) { + wrapper.eq(ShopProductRecord::getState,params.get("state")); + } + wrapper.orderByAsc(ShopProductRecord::getCreateTime); + Page records = recordService.page(new Page<>( + Long.parseLong(params.get("current").toString()), Long.parseLong(params.get("limit").toString())), wrapper); + return R.ok().put("result", records); + } + + @RequestMapping("/saveRecord") + public R saveRecord(@RequestBody ShopProductRecord record) { + record.setState(1); + recordService.saveOrUpdate(record); + return R.ok(); + } + + @RequestMapping("/reSaveRecord") + public R reSaveRecord(@RequestBody ShopProductRecord record) { + recordService.saveOrUpdate(record); + return R.ok(); + } + + +} diff --git a/src/main/java/com/peanut/modules/common/dao/ShopProductRecordDao.java b/src/main/java/com/peanut/modules/common/dao/ShopProductRecordDao.java new file mode 100644 index 00000000..779c949d --- /dev/null +++ b/src/main/java/com/peanut/modules/common/dao/ShopProductRecordDao.java @@ -0,0 +1,9 @@ +package com.peanut.modules.common.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.peanut.modules.common.entity.ShopProductRecord; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface ShopProductRecordDao extends BaseMapper { +} diff --git a/src/main/java/com/peanut/modules/common/entity/ShopProductRecord.java b/src/main/java/com/peanut/modules/common/entity/ShopProductRecord.java new file mode 100644 index 00000000..ee8b87dd --- /dev/null +++ b/src/main/java/com/peanut/modules/common/entity/ShopProductRecord.java @@ -0,0 +1,66 @@ +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.io.Serializable; +import java.util.Date; + +/** + * 商品评价 + */ +@Data +@TableName("shop_product_record") +public class ShopProductRecord implements Serializable { + private static final long serialVersionUID = 1L; + + + @TableId + private Integer id; + /** + * 商品id + */ + private Integer productId; + /** + * 用户id + */ + private Integer userId; + /** + * 评价内容 + */ + private String content; + /** + * 图片 + */ + private String images; + /** + * 追评内容 + */ + private String reContent; + /** + * 追评图片 + */ + private String reImages; + /** + * 创建时间 + */ + private Date createTime; + /** + * 评价时间 + */ + private Date recordTime; + /** + * 追评时间 + */ + private Date reRecordTime; + /** + * 0未评价1已评 + */ + private Integer state; + + @TableLogic + private Integer delFlag; + +} diff --git a/src/main/java/com/peanut/modules/common/service/ShopProductRecordService.java b/src/main/java/com/peanut/modules/common/service/ShopProductRecordService.java new file mode 100644 index 00000000..4cb8e715 --- /dev/null +++ b/src/main/java/com/peanut/modules/common/service/ShopProductRecordService.java @@ -0,0 +1,7 @@ +package com.peanut.modules.common.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.peanut.modules.common.entity.ShopProductRecord; + +public interface ShopProductRecordService extends IService { +} diff --git a/src/main/java/com/peanut/modules/common/service/impl/ShopProductRecordServiceImpl.java b/src/main/java/com/peanut/modules/common/service/impl/ShopProductRecordServiceImpl.java new file mode 100644 index 00000000..a65ba970 --- /dev/null +++ b/src/main/java/com/peanut/modules/common/service/impl/ShopProductRecordServiceImpl.java @@ -0,0 +1,13 @@ +package com.peanut.modules.common.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.peanut.modules.common.dao.ShopProductRecordDao; +import com.peanut.modules.common.entity.ShopProductRecord; +import com.peanut.modules.common.service.ShopProductRecordService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +@Slf4j +@Service("commonShopProductRecordService") +public class ShopProductRecordServiceImpl extends ServiceImpl implements ShopProductRecordService { +} From e92dfa8b13f01d57ac63c17a260b253c12585c43 Mon Sep 17 00:00:00 2001 From: wuchunlei Date: Thu, 28 Mar 2024 10:29:29 +0800 Subject: [PATCH 2/7] =?UTF-8?q?=E9=80=9A=E7=94=A8=E6=A8=A1=E5=9D=97-?= =?UTF-8?q?=E5=95=86=E5=93=81=E8=AF=84=E4=BB=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BookLabelAndMarketController.java | 29 ++++++++++++++----- .../ShopProductRecordController.java | 15 +++++++++- .../common/entity/ShopProductRecord.java | 4 +++ .../peanut/modules/job/task/ExpressTask.java | 15 +++++++--- 4 files changed, 50 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/peanut/modules/book/controller/BookLabelAndMarketController.java b/src/main/java/com/peanut/modules/book/controller/BookLabelAndMarketController.java index 0491a8fc..7ed47c9a 100644 --- a/src/main/java/com/peanut/modules/book/controller/BookLabelAndMarketController.java +++ b/src/main/java/com/peanut/modules/book/controller/BookLabelAndMarketController.java @@ -198,6 +198,9 @@ public class BookLabelAndMarketController { if (params.containsKey("goodsType")&&!"".equals(params.get("goodsType").toString())){ wrapper.eq(ShopProduct::getGoodsType,params.get("goodsType").toString()); } + if (params.containsKey("productName")&&!"".equals(params.get("productName").toString())){ + wrapper.like(ShopProduct::getProductName,params.get("productName").toString()); + } if (params.containsKey("bookLabelId")&&!"".equals(params.get("bookLabelId").toString())){ String sql = "select product_id from shop_product_to_book_label where del_flag = 0 and book_label_id = "+params.get("bookLabelId"); wrapper.notInSql(ShopProduct::getProductId,sql); @@ -311,19 +314,29 @@ public class BookLabelAndMarketController { @RequestMapping(path = "/delToLable") public R delToLable(String lableId,String productId) { - LambdaQueryWrapper wrapper = new LambdaQueryWrapper(); - wrapper.eq(ShopProductToBookLabel::getBookLabelId,lableId); - wrapper.eq(ShopProductToBookLabel::getProductId,productId); - toLabelService.remove(wrapper); + if(StringUtils.isNotEmpty(productId)){ + String[] productIds = productId.split(","); + for(String id : productIds){ + LambdaQueryWrapper wrapper = new LambdaQueryWrapper(); + wrapper.eq(ShopProductToBookLabel::getBookLabelId,lableId); + wrapper.eq(ShopProductToBookLabel::getProductId,id); + toLabelService.remove(wrapper); + } + } return R.ok(); } @RequestMapping(path = "/delToMarket") public R delToMarket(String marketId,String productId) { - LambdaQueryWrapper wrapper = new LambdaQueryWrapper(); - wrapper.eq(ShopProductToBookMarket::getBookMarketId,marketId); - wrapper.eq(ShopProductToBookMarket::getProductId,productId); - toMarketService.remove(wrapper); + if(StringUtils.isNotEmpty(productId)){ + String[] productIds = productId.split(","); + for(String id : productIds){ + LambdaQueryWrapper wrapper = new LambdaQueryWrapper(); + wrapper.eq(ShopProductToBookMarket::getBookMarketId,marketId); + wrapper.eq(ShopProductToBookMarket::getProductId,id); + toMarketService.remove(wrapper); + } + } return R.ok(); } diff --git a/src/main/java/com/peanut/modules/common/controller/ShopProductRecordController.java b/src/main/java/com/peanut/modules/common/controller/ShopProductRecordController.java index 95186b7b..2e9aa2f8 100644 --- a/src/main/java/com/peanut/modules/common/controller/ShopProductRecordController.java +++ b/src/main/java/com/peanut/modules/common/controller/ShopProductRecordController.java @@ -6,13 +6,15 @@ import com.peanut.common.utils.R; import com.peanut.modules.common.entity.ShopProduct; import com.peanut.modules.common.entity.ShopProductRecord; import com.peanut.modules.common.service.ShopProductRecordService; +import com.peanut.modules.master.service.ShopProductService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.StringUtils; 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.Date; +import java.util.List; import java.util.Map; /** @@ -25,6 +27,8 @@ public class ShopProductRecordController { @Autowired private ShopProductRecordService recordService; + @Autowired + private ShopProductService productService; @RequestMapping("/listByPage") public R listByPage(@RequestBody Map params) { @@ -41,11 +45,19 @@ public class ShopProductRecordController { wrapper.orderByAsc(ShopProductRecord::getCreateTime); Page records = recordService.page(new Page<>( Long.parseLong(params.get("current").toString()), Long.parseLong(params.get("limit").toString())), wrapper); + List result = records.getRecords(); + if (result.size() > 0) { + for (ShopProductRecord record:result){ + ShopProduct product = productService.getById(record.getProductId()); + record.setProduct(product); + } + } return R.ok().put("result", records); } @RequestMapping("/saveRecord") public R saveRecord(@RequestBody ShopProductRecord record) { + record.setRecordTime(new Date()); record.setState(1); recordService.saveOrUpdate(record); return R.ok(); @@ -53,6 +65,7 @@ public class ShopProductRecordController { @RequestMapping("/reSaveRecord") public R reSaveRecord(@RequestBody ShopProductRecord record) { + record.setReRecordTime(new Date()); recordService.saveOrUpdate(record); return R.ok(); } diff --git a/src/main/java/com/peanut/modules/common/entity/ShopProductRecord.java b/src/main/java/com/peanut/modules/common/entity/ShopProductRecord.java index ee8b87dd..a588a8ba 100644 --- a/src/main/java/com/peanut/modules/common/entity/ShopProductRecord.java +++ b/src/main/java/com/peanut/modules/common/entity/ShopProductRecord.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; @@ -63,4 +64,7 @@ public class ShopProductRecord implements Serializable { @TableLogic private Integer delFlag; + @TableField(exist = false) + private ShopProduct product; + } diff --git a/src/main/java/com/peanut/modules/job/task/ExpressTask.java b/src/main/java/com/peanut/modules/job/task/ExpressTask.java index 68b31954..c1fad9a2 100644 --- a/src/main/java/com/peanut/modules/job/task/ExpressTask.java +++ b/src/main/java/com/peanut/modules/job/task/ExpressTask.java @@ -2,13 +2,11 @@ package com.peanut.modules.job.task; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.github.yulichang.wrapper.MPJLambdaWrapper; -import com.peanut.modules.common.entity.BuyOrder; -import com.peanut.modules.common.entity.BuyOrderProduct; -import com.peanut.modules.common.entity.ExpressOrder; -import com.peanut.modules.common.entity.ExpressQueryResponse; +import com.peanut.modules.common.entity.*; import com.peanut.modules.book.service.BuyOrderProductService; import com.peanut.modules.book.service.BuyOrderService; import com.peanut.modules.book.service.ExpressOrderService; +import com.peanut.modules.common.service.ShopProductRecordService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.util.List; @@ -23,6 +21,8 @@ public class ExpressTask implements ITask{ private BuyOrderProductService productService; @Autowired private ExpressOrderService expressOrderService; + @Autowired + private ShopProductRecordService recordService; @Override public void run(String params) { @@ -37,6 +37,7 @@ public class ExpressTask implements ITask{ for (BuyOrder buyOrder : list) { MPJLambdaWrapper w = new MPJLambdaWrapper(); w.selectAll(ExpressOrder.class); + w.selectAs(BuyOrderProduct::getProductId,"productId"); w.eq(BuyOrderProduct::getOrderId,buyOrder.getOrderId()); w.leftJoin(ExpressOrder.class,ExpressOrder::getId,BuyOrderProduct::getExpressOrderId); List> plist = productService.listMaps(w); @@ -55,6 +56,12 @@ public class ExpressTask implements ITask{ if (flag){ buyOrder.setOrderStatus("3"); buyOrderService.saveOrUpdate(buyOrder); + for (Map m : plist){ + ShopProductRecord record = new ShopProductRecord(); + record.setProductId(Integer.parseInt(m.get("productId").toString())); + record.setUserId(buyOrder.getUserId()); + recordService.save(record); + } } } From 51049761124ff1ce834de52804fdb92911a65135 Mon Sep 17 00:00:00 2001 From: wuchunlei Date: Thu, 28 Mar 2024 11:03:24 +0800 Subject: [PATCH 3/7] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=95=86=E5=93=81?= =?UTF-8?q?=E6=A0=87=E7=AD=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/BookLabelAndMarketController.java | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/peanut/modules/book/controller/BookLabelAndMarketController.java b/src/main/java/com/peanut/modules/book/controller/BookLabelAndMarketController.java index 7ed47c9a..8f135380 100644 --- a/src/main/java/com/peanut/modules/book/controller/BookLabelAndMarketController.java +++ b/src/main/java/com/peanut/modules/book/controller/BookLabelAndMarketController.java @@ -130,7 +130,13 @@ public class BookLabelAndMarketController { return R.ok(); } }else { - return R.error("请先删除子集,设置成最后一集"); + List labelList = labelService.list(new LambdaQueryWrapper().eq(ShopProductBookLabel::getPid,id)); + if (labelList.size() > 0) { + return R.error("请先删除子集,设置成最后一集"); + }else { + labelService.removeById(id); + return R.ok(); + } } } @@ -185,7 +191,13 @@ public class BookLabelAndMarketController { return R.ok(); } }else { - return R.error("请先删除子集,设置成最后一集"); + List marketList = marketService.list(new LambdaQueryWrapper().eq(ShopProductBookMarket::getPid,id)); + if (marketList.size() > 0) { + return R.error("请先删除子集,设置成最后一集"); + }else { + marketService.removeById(id); + return R.ok(); + } } } From 76fd1b11ef14a1c088fa9037ea2710d274c1a07d Mon Sep 17 00:00:00 2001 From: wuchunlei Date: Thu, 28 Mar 2024 16:12:43 +0800 Subject: [PATCH 4/7] =?UTF-8?q?=E7=AE=A1=E7=90=86=E7=AB=AF=E6=A8=A1?= =?UTF-8?q?=E5=9D=97-=E8=AF=84=E4=BB=B7=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ShopProductRecordController.java | 54 +++++++++++++++++++ .../service/ShopProductRecordService.java | 7 +++ .../impl/ShopProductRecordServiceImpl.java | 14 +++++ 3 files changed, 75 insertions(+) create mode 100644 src/main/java/com/peanut/modules/master/controller/ShopProductRecordController.java create mode 100644 src/main/java/com/peanut/modules/master/service/ShopProductRecordService.java create mode 100644 src/main/java/com/peanut/modules/master/service/impl/ShopProductRecordServiceImpl.java diff --git a/src/main/java/com/peanut/modules/master/controller/ShopProductRecordController.java b/src/main/java/com/peanut/modules/master/controller/ShopProductRecordController.java new file mode 100644 index 00000000..adee83b5 --- /dev/null +++ b/src/main/java/com/peanut/modules/master/controller/ShopProductRecordController.java @@ -0,0 +1,54 @@ +package com.peanut.modules.master.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.ShopProductRecord; +import com.peanut.modules.master.service.ShopProductRecordService; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang.StringUtils; +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.Date; +import java.util.List; +import java.util.Map; + +/** + * 商品评价管理 + */ +@Slf4j +@RestController("masterShopProductRecord") +@RequestMapping("master/shopProductRecord") +public class ShopProductRecordController { + + @Autowired + private ShopProductRecordService recordService; + + @RequestMapping("/listByPage") + public R listByPage(@RequestBody Map params) { + MPJLambdaWrapper wrapper = new MPJLambdaWrapper(); + if (params.containsKey("productId")&&StringUtils.isNotEmpty(params.get("productId").toString())) { + wrapper.eq(ShopProductRecord::getProductId,params.get("productId")); + } + if (params.containsKey("content")&&StringUtils.isNotEmpty(params.get("content").toString())) { + wrapper.like(ShopProductRecord::getContent,params.get("content")); + } + if (params.containsKey("reContent")&&StringUtils.isNotEmpty(params.get("reContent").toString())) { + wrapper.like(ShopProductRecord::getReContent,params.get("reContent")); + } + wrapper.orderByDesc(ShopProductRecord::getRecordTime); + Page records = recordService.page(new Page<>( + Long.parseLong(params.get("current").toString()), Long.parseLong(params.get("limit").toString())), wrapper); + return R.ok().put("result", records); + } + + @RequestMapping("/delRecord") + public R delRecord(String id) { + recordService.removeById(id); + return R.ok(); + } + +} diff --git a/src/main/java/com/peanut/modules/master/service/ShopProductRecordService.java b/src/main/java/com/peanut/modules/master/service/ShopProductRecordService.java new file mode 100644 index 00000000..7768c05e --- /dev/null +++ b/src/main/java/com/peanut/modules/master/service/ShopProductRecordService.java @@ -0,0 +1,7 @@ +package com.peanut.modules.master.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.peanut.modules.common.entity.ShopProductRecord; + +public interface ShopProductRecordService extends IService { +} diff --git a/src/main/java/com/peanut/modules/master/service/impl/ShopProductRecordServiceImpl.java b/src/main/java/com/peanut/modules/master/service/impl/ShopProductRecordServiceImpl.java new file mode 100644 index 00000000..c6746b2a --- /dev/null +++ b/src/main/java/com/peanut/modules/master/service/impl/ShopProductRecordServiceImpl.java @@ -0,0 +1,14 @@ +package com.peanut.modules.master.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.peanut.modules.common.dao.ShopProductRecordDao; +import com.peanut.modules.common.entity.ShopProductRecord; +import com.peanut.modules.master.service.ShopProductRecordService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +@Slf4j +@Service("masterShopProductRecordService") +public class ShopProductRecordServiceImpl extends ServiceImpl implements ShopProductRecordService { +} + From 3e46ee92ba4e694a4172636e6e45b76ff7dd74b8 Mon Sep 17 00:00:00 2001 From: wuchunlei Date: Thu, 28 Mar 2024 17:10:09 +0800 Subject: [PATCH 5/7] =?UTF-8?q?=E7=AE=A1=E7=90=86=E7=AB=AF=E6=A8=A1?= =?UTF-8?q?=E5=9D=97-=E6=B6=88=E6=81=AF=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../peanut/modules/common/dao/MessageDao.java | 9 +++ .../peanut/modules/common/entity/Message.java | 59 +++++++++++++++++ .../master/controller/MessageController.java | 64 +++++++++++++++++++ .../master/service/MessageService.java | 7 ++ .../service/impl/MessageServiceImpl.java | 13 ++++ 5 files changed, 152 insertions(+) create mode 100644 src/main/java/com/peanut/modules/common/dao/MessageDao.java create mode 100644 src/main/java/com/peanut/modules/common/entity/Message.java create mode 100644 src/main/java/com/peanut/modules/master/controller/MessageController.java create mode 100644 src/main/java/com/peanut/modules/master/service/MessageService.java create mode 100644 src/main/java/com/peanut/modules/master/service/impl/MessageServiceImpl.java diff --git a/src/main/java/com/peanut/modules/common/dao/MessageDao.java b/src/main/java/com/peanut/modules/common/dao/MessageDao.java new file mode 100644 index 00000000..807e9d26 --- /dev/null +++ b/src/main/java/com/peanut/modules/common/dao/MessageDao.java @@ -0,0 +1,9 @@ +package com.peanut.modules.common.dao; + +import com.github.yulichang.base.MPJBaseMapper; +import com.peanut.modules.common.entity.Message; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface MessageDao extends MPJBaseMapper { +} diff --git a/src/main/java/com/peanut/modules/common/entity/Message.java b/src/main/java/com/peanut/modules/common/entity/Message.java new file mode 100644 index 00000000..483c4241 --- /dev/null +++ b/src/main/java/com/peanut/modules/common/entity/Message.java @@ -0,0 +1,59 @@ +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("message") +public class Message { + private static final long serialVersionUID = 1L; + + @TableId + private Integer id; + + /** + * 标题 + */ + private String title; + + /** + * 0本地信息1外链 + */ + private Integer type; + + /** + * 本地信息内容 + */ + private String content; + + /** + * 外链地址 + */ + private String url; + + /** + * 是否在疯子读书显示0否1是 + */ + private Integer isBook; + + /** + * 是否在医学视频显示 + */ + private Integer isMedical; + + /** + * 是否在国学显示0否1是 + */ + private Integer isSociology; + + private Date createTime; + + @TableLogic + private Integer delFlag; + + +} diff --git a/src/main/java/com/peanut/modules/master/controller/MessageController.java b/src/main/java/com/peanut/modules/master/controller/MessageController.java new file mode 100644 index 00000000..d9fd6761 --- /dev/null +++ b/src/main/java/com/peanut/modules/master/controller/MessageController.java @@ -0,0 +1,64 @@ +package com.peanut.modules.master.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.common.entity.Message; +import com.peanut.modules.master.service.MessageService; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang.StringUtils; +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("masterMessage") +@RequestMapping("master/message") +public class MessageController { + + @Autowired + private MessageService messageService; + + @RequestMapping("/listByPage") + public R listByPage(@RequestBody Map params) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper(); + if (params.containsKey("title")&& StringUtils.isNotEmpty(params.get("title").toString())) { + wrapper.like(Message::getTitle,params.get("title")); + } + if (params.containsKey("type")&& StringUtils.isNotEmpty(params.get("type").toString())) { + wrapper.eq(Message::getType,params.get("type")); + } + if (params.containsKey("isBook")&& StringUtils.isNotEmpty(params.get("isBook").toString())) { + wrapper.eq(Message::getIsBook,params.get("isBook")); + } + if (params.containsKey("isMedical")&& StringUtils.isNotEmpty(params.get("isMedical").toString())) { + wrapper.eq(Message::getIsBook,params.get("isMedical")); + } + if (params.containsKey("isSociology")&& StringUtils.isNotEmpty(params.get("isSociology").toString())) { + wrapper.eq(Message::getIsBook,params.get("isSociology")); + } + wrapper.orderByDesc(Message::getCreateTime); + Page page = messageService.page(new Page<>( + Long.parseLong(params.get("current").toString()), Long.parseLong(params.get("limit").toString())), wrapper); + return R.ok().put("result", page); + } + + @RequestMapping("/saveOrUpdateMessage") + public R saveOrUpdateMessage(@RequestBody Message message) { + messageService.saveOrUpdate(message); + return R.ok(); + } + + @RequestMapping("/delMessage") + public R delMessage(String id) { + messageService.removeById(id); + return R.ok(); + } + + + +} diff --git a/src/main/java/com/peanut/modules/master/service/MessageService.java b/src/main/java/com/peanut/modules/master/service/MessageService.java new file mode 100644 index 00000000..99a1574c --- /dev/null +++ b/src/main/java/com/peanut/modules/master/service/MessageService.java @@ -0,0 +1,7 @@ +package com.peanut.modules.master.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.peanut.modules.common.entity.Message; + +public interface MessageService extends IService { +} diff --git a/src/main/java/com/peanut/modules/master/service/impl/MessageServiceImpl.java b/src/main/java/com/peanut/modules/master/service/impl/MessageServiceImpl.java new file mode 100644 index 00000000..0c6ae502 --- /dev/null +++ b/src/main/java/com/peanut/modules/master/service/impl/MessageServiceImpl.java @@ -0,0 +1,13 @@ +package com.peanut.modules.master.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.peanut.modules.common.dao.MessageDao; +import com.peanut.modules.common.entity.Message; +import com.peanut.modules.master.service.MessageService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +@Slf4j +@Service("messageService") +public class MessageServiceImpl extends ServiceImpl implements MessageService { +} From ef2e2d38b18ed669d26614e671498a2b68aabb8c Mon Sep 17 00:00:00 2001 From: wuchunlei Date: Thu, 28 Mar 2024 17:25:57 +0800 Subject: [PATCH 6/7] =?UTF-8?q?=E9=80=9A=E7=94=A8=E6=A8=A1=E5=9D=97-?= =?UTF-8?q?=E5=85=AC=E5=85=B1=E6=B6=88=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/controller/MessageController.java | 56 +++++++++++++++++++ .../common/service/MessageService.java | 7 +++ .../service/impl/MessageServiceImpl.java | 13 +++++ .../master/controller/MessageController.java | 10 +++- 4 files changed, 84 insertions(+), 2 deletions(-) create mode 100644 src/main/java/com/peanut/modules/common/controller/MessageController.java create mode 100644 src/main/java/com/peanut/modules/common/service/MessageService.java create mode 100644 src/main/java/com/peanut/modules/common/service/impl/MessageServiceImpl.java diff --git a/src/main/java/com/peanut/modules/common/controller/MessageController.java b/src/main/java/com/peanut/modules/common/controller/MessageController.java new file mode 100644 index 00000000..1336eedd --- /dev/null +++ b/src/main/java/com/peanut/modules/common/controller/MessageController.java @@ -0,0 +1,56 @@ +package com.peanut.modules.common.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.peanut.common.utils.R; +import com.peanut.modules.common.entity.Message; +import com.peanut.modules.common.service.MessageService; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang.StringUtils; +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("commonMessage") +@RequestMapping("common/message") +public class MessageController { + + @Autowired + private MessageService messageService; + + @RequestMapping("/listByPage") + public R listByPage(@RequestBody Map params) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper(); + if (params.containsKey("title")&& StringUtils.isNotEmpty(params.get("title").toString())) { + wrapper.like(Message::getTitle,params.get("title")); + } + if (params.containsKey("type")&& StringUtils.isNotEmpty(params.get("type").toString())) { + wrapper.eq(Message::getType,params.get("type")); + } + if (params.containsKey("isBook")&& StringUtils.isNotEmpty(params.get("isBook").toString())) { + wrapper.eq(Message::getIsBook,params.get("isBook")); + } + if (params.containsKey("isMedical")&& StringUtils.isNotEmpty(params.get("isMedical").toString())) { + wrapper.eq(Message::getIsBook,params.get("isMedical")); + } + if (params.containsKey("isSociology")&& StringUtils.isNotEmpty(params.get("isSociology").toString())) { + wrapper.eq(Message::getIsBook,params.get("isSociology")); + } + wrapper.orderByDesc(Message::getCreateTime); + Page page = messageService.page(new Page<>( + Long.parseLong(params.get("current").toString()), Long.parseLong(params.get("limit").toString())), wrapper); + return R.ok().put("result", page); + } + + @RequestMapping("/getMessageById") + public R getMessageById(String id) { + return R.ok().put("result", messageService.getById(id)); + } + +} diff --git a/src/main/java/com/peanut/modules/common/service/MessageService.java b/src/main/java/com/peanut/modules/common/service/MessageService.java new file mode 100644 index 00000000..a90d7e8e --- /dev/null +++ b/src/main/java/com/peanut/modules/common/service/MessageService.java @@ -0,0 +1,7 @@ +package com.peanut.modules.common.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.peanut.modules.common.entity.Message; + +public interface MessageService extends IService { +} diff --git a/src/main/java/com/peanut/modules/common/service/impl/MessageServiceImpl.java b/src/main/java/com/peanut/modules/common/service/impl/MessageServiceImpl.java new file mode 100644 index 00000000..c063aeb5 --- /dev/null +++ b/src/main/java/com/peanut/modules/common/service/impl/MessageServiceImpl.java @@ -0,0 +1,13 @@ +package com.peanut.modules.common.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.peanut.modules.common.dao.MessageDao; +import com.peanut.modules.common.entity.Message; +import com.peanut.modules.common.service.MessageService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +@Slf4j +@Service("commonMessageService") +public class MessageServiceImpl extends ServiceImpl implements MessageService { +} diff --git a/src/main/java/com/peanut/modules/master/controller/MessageController.java b/src/main/java/com/peanut/modules/master/controller/MessageController.java index d9fd6761..8b2617b8 100644 --- a/src/main/java/com/peanut/modules/master/controller/MessageController.java +++ b/src/main/java/com/peanut/modules/master/controller/MessageController.java @@ -2,7 +2,6 @@ package com.peanut.modules.master.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.common.entity.Message; import com.peanut.modules.master.service.MessageService; @@ -12,9 +11,11 @@ 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("masterMessage") @RequestMapping("master/message") @@ -47,6 +48,11 @@ public class MessageController { return R.ok().put("result", page); } + @RequestMapping("/getMessageById") + public R getMessageById(String id) { + return R.ok().put("result", messageService.getById(id)); + } + @RequestMapping("/saveOrUpdateMessage") public R saveOrUpdateMessage(@RequestBody Message message) { messageService.saveOrUpdate(message); From 322eb453927bf5a12566619269bee9f1cb2a856d Mon Sep 17 00:00:00 2001 From: wuchunlei Date: Fri, 29 Mar 2024 13:10:59 +0800 Subject: [PATCH 7/7] =?UTF-8?q?=E5=8F=91=E8=B4=A7=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E9=94=99=E8=AF=AF=E6=97=B6=E8=BF=94=E5=9B=9E=E5=8E=9F=E5=9B=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../book/controller/BuyOrderController.java | 4 +- .../modules/book/service/BuyOrderService.java | 3 +- .../service/impl/BuyOrderServiceImpl.java | 66 +++++++++---------- 3 files changed, 34 insertions(+), 39 deletions(-) diff --git a/src/main/java/com/peanut/modules/book/controller/BuyOrderController.java b/src/main/java/com/peanut/modules/book/controller/BuyOrderController.java index 94cd1812..19c82de4 100644 --- a/src/main/java/com/peanut/modules/book/controller/BuyOrderController.java +++ b/src/main/java/com/peanut/modules/book/controller/BuyOrderController.java @@ -722,9 +722,7 @@ public class BuyOrderController { @RequestMapping(value = "/delivery", method = RequestMethod.POST) public R delivery(@RequestParam("expressCompanyCode") String expressCompanyCode, @RequestBody List buyOrderProductId) throws Exception { - buyOrderService.delivery(expressCompanyCode, buyOrderProductId); - return R.ok(); - + return buyOrderService.delivery(expressCompanyCode, buyOrderProductId); } @RequestMapping("/mytest") diff --git a/src/main/java/com/peanut/modules/book/service/BuyOrderService.java b/src/main/java/com/peanut/modules/book/service/BuyOrderService.java index 931e0955..7c531139 100644 --- a/src/main/java/com/peanut/modules/book/service/BuyOrderService.java +++ b/src/main/java/com/peanut/modules/book/service/BuyOrderService.java @@ -3,6 +3,7 @@ package com.peanut.modules.book.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.peanut.common.utils.PageUtils; +import com.peanut.common.utils.R; import com.peanut.modules.common.entity.BuyOrder; import com.peanut.modules.book.to.UserOrderDto; import com.peanut.modules.book.vo.UserOrderVo; @@ -49,7 +50,7 @@ public interface BuyOrderService extends IService { * @param expressCompanyCode 快递公司代码 * @param buyOrderDetailId 订单详情 ID 列表 */ - void delivery(String expressCompanyCode, List buyOrderDetailId); + R delivery(String expressCompanyCode, List buyOrderDetailId); Page getUserOrderList(UserOrderDto userOrderDto); diff --git a/src/main/java/com/peanut/modules/book/service/impl/BuyOrderServiceImpl.java b/src/main/java/com/peanut/modules/book/service/impl/BuyOrderServiceImpl.java index 3070495d..a2719688 100644 --- a/src/main/java/com/peanut/modules/book/service/impl/BuyOrderServiceImpl.java +++ b/src/main/java/com/peanut/modules/book/service/impl/BuyOrderServiceImpl.java @@ -12,6 +12,7 @@ import com.github.yulichang.wrapper.MPJLambdaWrapper; import com.peanut.common.utils.ExcludeEmptyQueryWrapper; import com.peanut.common.utils.PageUtils; import com.peanut.common.utils.Query; +import com.peanut.common.utils.R; import com.peanut.config.Constants; import com.peanut.modules.common.dao.BuyOrderDao; import com.peanut.modules.common.dao.BuyOrderProductDao; @@ -490,7 +491,7 @@ public class BuyOrderServiceImpl extends ServiceImpl impl } @Override - public void delivery(String expressCompanyCode, List buyOrderProductId) { + public R delivery(String expressCompanyCode, List buyOrderProductId) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.in("id", buyOrderProductId); List buyOrderProductList = buyOrderProductService.list(queryWrapper); @@ -518,16 +519,9 @@ public class BuyOrderServiceImpl extends ServiceImpl impl commodityList.add(commodity); ln++; } - - - // 获取用户地址 Integer orderId = buyOrderProductList.get(0).getOrderId(); - BuyOrder buyOrder = getById(orderId); - -// System.out.println(buyOrder); - QueryWrapper countyQueryWrapper = new QueryWrapper<>(); countyQueryWrapper.eq("county_name", buyOrder.getDistrict()); List counties = countyService.getBaseMapper().selectList(countyQueryWrapper); @@ -536,11 +530,8 @@ public class BuyOrderServiceImpl extends ServiceImpl impl countyQueryWrapper.eq("city_id",one.getCityId()); } County county = countyService.getOne(countyQueryWrapper); - - // 计算快递费用 BigDecimal expressFee = expressFeeService.calculateExpressFee(expressCompanyCode, totalWeight, county.getRegionCode()); - ExpressOrder expressOrder = new ExpressOrder(); expressOrder.setExpressFee(expressFee); expressOrder.setCreateTime(new Date()); @@ -557,34 +548,39 @@ public class BuyOrderServiceImpl extends ServiceImpl impl expressOrder.setRemark(remark); // 生成快递面单 ExpressOrderResponseVo response = expressOrderService.placeExpressOrder(expressOrder); - String expressOrderSn = response.getOrder().getLogisticCode(); + if(response.isSuccess()){ + String expressOrderSn = response.getOrder().getLogisticCode(); // String printTemplate = response.getPrintTemplate(); - String printTemplate = pushHtmlToOss(response.getPrintTemplate(),expressOrderSn+".html"); + String printTemplate = pushHtmlToOss(response.getPrintTemplate(),expressOrderSn+".html"); - expressOrder.setExpressOrderSn(expressOrderSn); - expressOrder.setPrintTemplate(printTemplate); - expressOrderDao.insert(expressOrder); - int expressOrderId = expressOrder.getId(); - for (BuyOrderProduct buyOrderProduct : buyOrderProductList) { - buyOrderProduct.setExpressOrderId(expressOrderId); - buyOrderProduct.setShipped(1); - } - buyOrderProductService.updateBatchById(buyOrderProductList); - - //更改订单状态 - QueryWrapper buyOrderQueryWrapper = new QueryWrapper<>(); - buyOrderQueryWrapper.in("order_id", buyOrderIdList); - List buyOrderList = list(buyOrderQueryWrapper); - for (BuyOrder buyorder : buyOrderList) { - QueryWrapper buyOrderProductQueryWrapper = new QueryWrapper<>(); - buyOrderProductQueryWrapper.eq("order_id", buyorder.getOrderId()); - buyOrderProductQueryWrapper.eq("express_order_id", 0); - int count = buyOrderProductService.count(buyOrderProductQueryWrapper); - if (count == 0) { - buyorder.setOrderStatus(Constants.ORDER_STATUS_SHIPPED); + expressOrder.setExpressOrderSn(expressOrderSn); + expressOrder.setPrintTemplate(printTemplate); + expressOrderDao.insert(expressOrder); + int expressOrderId = expressOrder.getId(); + for (BuyOrderProduct buyOrderProduct : buyOrderProductList) { + buyOrderProduct.setExpressOrderId(expressOrderId); + buyOrderProduct.setShipped(1); } + buyOrderProductService.updateBatchById(buyOrderProductList); + + //更改订单状态 + QueryWrapper buyOrderQueryWrapper = new QueryWrapper<>(); + buyOrderQueryWrapper.in("order_id", buyOrderIdList); + List buyOrderList = list(buyOrderQueryWrapper); + for (BuyOrder buyorder : buyOrderList) { + QueryWrapper buyOrderProductQueryWrapper = new QueryWrapper<>(); + buyOrderProductQueryWrapper.eq("order_id", buyorder.getOrderId()); + buyOrderProductQueryWrapper.eq("express_order_id", 0); + int count = buyOrderProductService.count(buyOrderProductQueryWrapper); + if (count == 0) { + buyorder.setOrderStatus(Constants.ORDER_STATUS_SHIPPED); + } + } + updateBatchById(buyOrderList); + return R.ok(); + }else { + return R.error(response.getReason()); } - updateBatchById(buyOrderList); } public String mytest() throws IOException {