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/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/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; + } } 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);