From e60b630fd9cbb7f4b9f4a477bd82b75f6ca866d2 Mon Sep 17 00:00:00 2001 From: wuchunlei Date: Fri, 31 May 2024 11:14:11 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=88=97=E8=A1=A8=E7=BB=93=E6=9E=9C?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=88=9D=E7=BA=A7=E5=9F=BA=E7=A1=80=E7=AD=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/peanut/modules/common/entity/CourseEntity.java | 4 ++++ .../peanut/modules/master/service/impl/CourseServiceImpl.java | 2 ++ .../modules/medical/service/impl/CourseServiceImpl.java | 2 ++ 3 files changed, 8 insertions(+) diff --git a/src/main/java/com/peanut/modules/common/entity/CourseEntity.java b/src/main/java/com/peanut/modules/common/entity/CourseEntity.java index 5ca51dba..ea53e2dc 100644 --- a/src/main/java/com/peanut/modules/common/entity/CourseEntity.java +++ b/src/main/java/com/peanut/modules/common/entity/CourseEntity.java @@ -40,4 +40,8 @@ public class CourseEntity { private Date endTime; @TableField(exist = false) private Integer toSociologySort; + @TableField(exist = false) + private Integer level; + @TableField(exist = false) + private Integer selective; } diff --git a/src/main/java/com/peanut/modules/master/service/impl/CourseServiceImpl.java b/src/main/java/com/peanut/modules/master/service/impl/CourseServiceImpl.java index db003056..b8bfa2b3 100644 --- a/src/main/java/com/peanut/modules/master/service/impl/CourseServiceImpl.java +++ b/src/main/java/com/peanut/modules/master/service/impl/CourseServiceImpl.java @@ -129,6 +129,8 @@ public class CourseServiceImpl extends ServiceImpl impl wrapper.selectAll(CourseEntity.class); wrapper.selectAs(CourseToMedicine::getId,"bindId"); wrapper.selectAs(CourseToMedicine::getSort,"toSociologySort"); + wrapper.selectAs(CourseToMedicine::getLevel,"level"); + wrapper.selectAs(CourseToMedicine::getSelective,"selective"); wrapper.leftJoin(CourseEntity.class,CourseEntity::getId, CourseToMedicine::getCourseId); wrapper.eq(CourseToMedicine::getMedicalId,medicalId); wrapper.orderByAsc(CourseToMedicine::getSort); 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 index 6bc11bc7..dac79ba4 100644 --- a/src/main/java/com/peanut/modules/medical/service/impl/CourseServiceImpl.java +++ b/src/main/java/com/peanut/modules/medical/service/impl/CourseServiceImpl.java @@ -23,6 +23,8 @@ public class CourseServiceImpl extends ServiceImpl impl public Page getMedicalCourseList(ParamTo param) { MPJLambdaWrapper wrapper = new MPJLambdaWrapper<>(); wrapper.selectAll(CourseEntity.class); + wrapper.selectAs(CourseToMedicine::getLevel,"level"); + wrapper.selectAs(CourseToMedicine::getSelective,"selective"); wrapper.leftJoin(CourseToMedicine.class, CourseToMedicine::getCourseId,CourseEntity::getId); wrapper.eq(CourseToMedicine::getMedicalId,param.getId()); Page courseEntityPage = this.getBaseMapper().selectJoinPage(new Page<>(param.getPage(), param.getLimit()),CourseEntity.class, wrapper); From 8abb0330147219e7de2f15e5430a028cc400bbd7 Mon Sep 17 00:00:00 2001 From: wuchunlei Date: Fri, 31 May 2024 17:59:42 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E7=94=A8=E6=88=B7=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E5=88=97=E8=A1=A8=20=E7=94=A8=E6=88=B7=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E5=90=84=E7=8A=B6=E6=80=81=E4=B8=8B=E6=95=B0=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/controller/BuyOrderController.java | 16 ++++- .../modules/common/entity/BuyOrder.java | 4 ++ .../common/service/BuyOrderService.java | 6 +- .../service/impl/BuyOrderServiceImpl.java | 67 +++++++++++++++++-- 4 files changed, 84 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/peanut/modules/common/controller/BuyOrderController.java b/src/main/java/com/peanut/modules/common/controller/BuyOrderController.java index d6c69ea2..ff7af9cc 100644 --- a/src/main/java/com/peanut/modules/common/controller/BuyOrderController.java +++ b/src/main/java/com/peanut/modules/common/controller/BuyOrderController.java @@ -1,6 +1,7 @@ package com.peanut.modules.common.controller; import com.peanut.common.utils.R; +import com.peanut.modules.common.entity.BuyOrder; import com.peanut.modules.common.service.BuyOrderService; import com.peanut.modules.common.to.PrepareOrderDto; import lombok.extern.slf4j.Slf4j; @@ -8,7 +9,7 @@ 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 @@ -25,4 +26,17 @@ public class BuyOrderController { return R.ok().put("data",stringObjectMap); } + //用户订单列表 + @RequestMapping("/buyOrderList") + public R buyOrderList(@RequestBody Map params){ + List list = buyOrderService.buyOrderList(params); + return R.ok().put("data",list); + } + + //用户订单各状态下数量 + @RequestMapping("/getBuyOrderNumByStatus") + public R getBuyOrderNumByStatus(@RequestBody Map params){ + List> list = buyOrderService.getBuyOrderNumByStatus(params); + return R.ok().put("data",list); + } } diff --git a/src/main/java/com/peanut/modules/common/entity/BuyOrder.java b/src/main/java/com/peanut/modules/common/entity/BuyOrder.java index 3e58b42a..ff5c0323 100644 --- a/src/main/java/com/peanut/modules/common/entity/BuyOrder.java +++ b/src/main/java/com/peanut/modules/common/entity/BuyOrder.java @@ -65,6 +65,10 @@ public class BuyOrder implements Serializable { * 地址 */ private String address; + /** + * 订单来源,0疯子读书1国学众妙之门2医学吴门医述 + */ + private Integer come; /** * 支付方式 1微信,2支付宝,3ios内购 ,4虚拟币 */ diff --git a/src/main/java/com/peanut/modules/common/service/BuyOrderService.java b/src/main/java/com/peanut/modules/common/service/BuyOrderService.java index 67fe9867..fdc5fd15 100644 --- a/src/main/java/com/peanut/modules/common/service/BuyOrderService.java +++ b/src/main/java/com/peanut/modules/common/service/BuyOrderService.java @@ -3,10 +3,14 @@ package com.peanut.modules.common.service; import com.baomidou.mybatisplus.extension.service.IService; import com.peanut.modules.common.entity.BuyOrder; import com.peanut.modules.common.to.PrepareOrderDto; - +import java.util.List; import java.util.Map; public interface BuyOrderService extends IService { Map initPrepareOrder(PrepareOrderDto prepareOrderDto); + + List buyOrderList(Map params); + + List> getBuyOrderNumByStatus(Map params); } diff --git a/src/main/java/com/peanut/modules/common/service/impl/BuyOrderServiceImpl.java b/src/main/java/com/peanut/modules/common/service/impl/BuyOrderServiceImpl.java index ef828398..fcbdba3b 100644 --- a/src/main/java/com/peanut/modules/common/service/impl/BuyOrderServiceImpl.java +++ b/src/main/java/com/peanut/modules/common/service/impl/BuyOrderServiceImpl.java @@ -1,21 +1,21 @@ package com.peanut.modules.common.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.peanut.modules.common.dao.BuyOrderDao; -import com.peanut.modules.common.dao.MyUserDao; -import com.peanut.modules.common.dao.ShopProductDao; -import com.peanut.modules.common.entity.BuyOrder; -import com.peanut.modules.common.entity.MyUserEntity; -import com.peanut.modules.common.entity.ShopProduct; +import com.github.yulichang.wrapper.MPJLambdaWrapper; +import com.peanut.modules.common.dao.*; +import com.peanut.modules.common.entity.*; import com.peanut.modules.common.service.BuyOrderService; import com.peanut.modules.common.to.PrepareOrderDto; import com.peanut.modules.common.vo.UserBaseVo; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; - import java.util.HashMap; +import java.util.List; import java.util.Map; +import java.util.stream.Collectors; @Slf4j @Service("commonBuyOrderService") @@ -26,7 +26,11 @@ public class BuyOrderServiceImpl extends ServiceImpl impl @Autowired private BuyOrderDao buyOrderDao; @Autowired + private BuyOrderProductDao buyOrderProductDao; + @Autowired private ShopProductDao shopProductDao; + @Autowired + private ExpressOrderDao expressOrderDao; @Override public Map initPrepareOrder(PrepareOrderDto prepareOrderDto) { @@ -52,4 +56,53 @@ public class BuyOrderServiceImpl extends ServiceImpl impl return flag; } + + @Override + public List buyOrderList(Map params) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(BuyOrder::getUserId,params.get("userId")); + wrapper.eq(BuyOrder::getCome,params.get("come")); + if(StringUtils.isEmpty(params.get("orderStatus").toString())){ + Integer[] sts = {0,1,2,3}; + wrapper.in(BuyOrder::getOrderStatus,sts); + }else{ + wrapper.eq(BuyOrder::getOrderStatus,params.get("orderStatus").toString()); + } + wrapper.orderByDesc(BuyOrder::getCreateTime); + List buyOrderList = this.getBaseMapper().selectList(wrapper); + if (buyOrderList.size() > 0){ + for(BuyOrder b : buyOrderList){ + b.setUser(userDao.selectById(b.getUserId())); + //组装商品 + List buyOrderProducts = buyOrderProductDao.selectList( + new LambdaQueryWrapper().eq(BuyOrderProduct::getOrderId, b.getOrderId())); + if (buyOrderProducts.size() > 0) { + for (BuyOrderProduct bb : buyOrderProducts){ + bb.setProduct(shopProductDao.selectById(bb.getProductId())); + } + b.setProductList(buyOrderProducts); + b.setTimestamp(b.getCreateTime().getTime()/1000); + //获取包裹信息 + List collect = buyOrderProductDao.selectList(new LambdaQueryWrapper().eq(BuyOrderProduct::getOrderId, b.getOrderId()).gt(BuyOrderProduct::getExpressOrderId, 0)) + .stream().map(BuyOrderProduct::getExpressOrderId).collect(Collectors.toList()); + if(collect.size()>0){ + List expressOrders = expressOrderDao.selectList(new LambdaQueryWrapper().in(ExpressOrder::getId, collect)); + b.setExpressList(expressOrders); + } + } + } + } + return buyOrderList; + } + + @Override + public List> getBuyOrderNumByStatus(Map params) { + MPJLambdaWrapper wrapper = new MPJLambdaWrapper(); + wrapper.eq(BuyOrder::getUserId,params.get("userId")); + wrapper.select(BuyOrder::getOrderStatus); + wrapper.select("count(1) as num"); + wrapper.groupBy(BuyOrder::getOrderStatus); + List> buyOrder = buyOrderDao.selectMaps(wrapper); + return buyOrder; + } }